实验四 软件工程结对项目
项目 |
内容 |
软件工程 |
代祖华老师博客主页 |
作业要求 |
结对项目要求 |
本次实验我的GitHub地址 |
点击进入 |
本次实验结对方的GitHub地址 |
点击进入 |
课程学习目标 |
熟悉软件开发整体流程,提升自身能力 |
本次作业在哪个具体方面帮助我们实现目标 |
第一次体验一个完整的工程 |
任务1:对结对方的实验二评价
该同学总体来说完成的整体性较好,对作业完成的较认真,虽然过程艰辛,但还是克服了自身的困难,完成了本次的实验。相信对个人的项目开发有了更深入的了解,对以后的项目开发会有更大的帮助。
但在实验过程中也有些不足和遗憾:
1、博文的结构有些主次颠倒,文字是主体,配图只是为了补充、说明,但该同学博文的图片占了大量的篇幅,显得整篇博文显得很空旷;
2、该同学的对于项目的技术性说明没有,而是直接贴了图片,让读者读起来摸不着头脑;
3、总结部分的内容太过空乏,篇幅不够,没有总结出该有的内容,总结不深刻;
4、在PSP模型里反映出前期的规划和后期的施行时间差别较大,说明对PSP模型的认识不够深刻,没有意识到PSP的重要性。
任务2:采用两人合作方式,设计开发一个英文文本统计分析软件
一、需求分析
1. 打开一个文本,查询各单词出现的总次数;
2. 单词频数可视化柱状图要求样式:横坐标显示单词,纵坐标显示单词出现的次数;
3. 统计该文本行数及字符数;
4. 各种统计功能均提供计时功能,显示程序统计所消耗时间(单位:m);
5. 可处理任意用户导入的任意英文文本;
6. 人机交互界面要求GUI界面(WEB页面、APP页面都可);
7. 统计文本中除冠词、代词、介词之外的高频词;
8. 统计前10个两个单词组成的词组频率。
二、软件设计
这是整个项目的类图

三、核心功能代码展示
该图是上传文档和下载文档的程序代码

该图是进行文本的词汇统计和统计后显示柱状图的程序代码

四、程序运行
该图是结对项目打开的主程序程序代码,点击上传进行读取文件进行词频统计的功能

该图是读取文件后的词频统计的程序代码,显示频数最高的10个单词

该图是读取文件后的词频统计的程序代码

五、描述结对的过程
这张图时我们在代码复审时的情景,由我指出需要修改的部分代码,共同讨论修改的方向和修改的结果

六、项目的PSP
PSP2.1 |
任务内容 |
计划共完成需要的时间(min) |
实际完成需要的时间(min) |
Planning |
计划 |
8 |
10 |
Estimate |
估计这个任务需要多少时间,并规划大致工作步骤 |
200 |
300 |
Development |
开发 |
80 |
100 |
Analysis |
需求分析 (包括学习新技术) |
30 |
35 |
Design Spec |
生成设计文档 |
5 |
8 |
Design Review |
设计复审 (和同事审核设计文档) |
5 |
10 |
Coding Standard |
代码规范 (为目前的开发制定合适的规范) |
5 |
5 |
Design |
具体设计 |
10 |
15 |
Coding |
具体编码 |
100 |
150 |
Code Review |
代码复审 |
10 |
10 |
Test |
测试(自我测试,修改代码,提交修改) |
15 |
20 |
Reporting |
报告 |
10 |
15 |
Test Report |
测试报告 |
5 |
5 |
Size Measurement |
计算工作量 |
5 |
3 |
Postmortem & Process Improvement Plan |
事后总结 ,并提出过程改进计划 |
5 |
10 |
七、总结
我们这个项目是以实验的代码为原型进行补充和修改的,所以说有些类似。最先对比了我们两个人的实验二项目,取比较好的部分进行整合再开始这个项目。新增了四个功且补全了实验二没有实现柱状图,在一起我们查阅资料、共同学习,最终用Idea实现了柱形图的功能,并且显示了词频数最高的10个单词,遗憾的是目前还没有实现筛出介词、副词等,找出我们真正想要的名词,有些遗憾,但我们两个还在查阅和学习中。由于很久不接触gui等人机交互页面设计,所以很生疏,但好在用web的形式实现了项目的运行,达到了老师所要求的目标,在下次的实验中争取做的更加的美观和大方,这次实验对于我们来说,我们最大的收获是1+1>2,尤其是我们的柱状图,让我们体验颇深,若不是结对,我们面对困难时的耐心会更加的少一些,解决问题的时间会更加的多一些。然而,结对就是很难好可以解决这一问题的办法。