201671010437+王小倩+《英文文本统计分析》结对项目报告


一:实验名称:软件工程结对项目--英文文本统计

项目内容
这个作业属于哪个课程http://www.cnblogs.com/nwnu-daizh/
这个作业的要求在哪里https://www.cnblogs.com/nwnu-daizh/p/10569690.html
课程学习目标熟悉软件开发整体流程,提升自身能力
本次作业在哪个具体方面帮助我们实现目标第一次体验一个完整的工程

二:实验目的与要求

(1)体验软件项目开发中的两人合作,练习结对编程(Pair programming)。

(2)掌握Github上增量发布软件的操作方法。


三:实验步骤

任务1: 两两自由结对,对结对方的《实验二 软件工程个人项目》的项目成果进行评价,具体要求如下:
     (1)对项目博文作业进行阅读并进行评论,评论要点包括:博文结构、博文内容、博文结构与PSP中“任务内容”列的关系、PSP中“计划共完成需要的时间”与“实际完成需要的时间”两列数据的差异化分析与原因探究。
     (2)克隆结对方项目源码到本地机器,阅读并测试运行代码,结合运行结果评论程序代码,评论要点包括:软件结构、代码规范、功能实现、人机交互等。
     (3)尝试利用github中的Fork、Clone、Push、Pull request、Merge pull request对结对方仓库中的源码进行合作修改。
杜娣-实验二
点评内容: 读完你的博文,发现你写的博文结构清晰,内容标题醒目,使人一目了然。从博文内容上来看,需求分析很全面,写出了该系统的基本功能,也使后续的工作过程清晰,功能明确。
  但也有一些不足之处,比如:
引用
功能实现
1、主要实现的功能:从磁盘中读取英文文本,对文本进行处理,统计单词的个数,最后按个数排序
引用
设计实现
1、在本地磁盘创建一个文本文件
2、通过map集合,以键值对的方式去存储单词和出现的词数
3、定义一个文件字节,去读取磁盘中的文件
4、创建一个spilt数组,用来分割字符串,通过调用map的key值获取value,进行单词统计
5、利用treemap实现comparator接口,对map集合进行排序
这两部分内容写的不是很具体,在功能实现方面,只表述了统计单词个数以及排序,但没有写出指定单词和高频单词的统计,以及最后将文本的所有单词输出到文件等功能,功能设计应该按照需求分析来展开写。在设计实现方面,应该写出创建了几个类,这些类分别负责什么功能和类之间的关系等,详细内容可以参考老师的作业要求。对比PSP中的时间比例发现,有些时间规划不是很合理,所以希望你能下次改进,加油!
点评心得: 读完同伴的博文,发现了有很多亮点值得自己去学习,比如博文结构顺序清晰,内容标题醒目,使人一目了然。从博文内容上来看,项目需求分析很全面,写出了该系统的基本功能,也使后续的工作过程清晰,功能明确。
任务2:采用两人合作方式,设计开发一个英文文本统计分析软件。

四:实验内容

1. 需求分析

(1)实验2要求的功能;

(2)单词频数可视化柱状图要求是以下样式:

(3)统计该文本行数及字符数;

(4)各种统计功能均提供计时功能,显示程序统计所消耗时间(单位:ms);

(5)可处理任意用户导入的任意英文文本;

(6)人机交互界面要求GUI界面(WEB页面、APP页面都可);

(7)附加分功能:统计文本中除冠词、代词、介词之外的高频词;

(8)附加分功能:统计前10个两个单词组成的词组频率。

2. 功能设计
该程序主要实现的功能是进行英文文本的统计,基于实验二进行,实现统计该文本行数及字符数;各种统计功能均提供计时功能,显示程序统计所消耗时间,可处理任意用户导入的任意英文文本。
3. 设计实现(展示核心功能代码)

(1)统计单词数量并输出

1614552-20190403000950367-1361581754.jpg


(2)绘制柱状图

1614552-20190403001317346-680930289.jpg


(3)显示用户需要查询的单词词频数

1614552-20190403001344251-1740215207.jpg

4. 测试运行(各个功能实现界面截图)

1614552-20190403001737869-1675911704.jpg



1614552-20190403001855126-1316455275.jpg

1614552-20190403001907921-797443820.jpg

1614552-20190403001916828-1367103490.jpg

5. 结对过程(两人在讨论、细化和编程时的结对照片)

1614552-20190403001240178-1310071421.jpg

6. 小结感受:两人合作真的能够带来1+1>2的效果吗?

通过实验二的个人项目和此次的结对项目,我们不难发现,耗时最多的就是编程过程和修改bug。如果是个人项目,难免会因为个人的疏忽,输入的错误,以及设计思路的偏差,往往会让我们的程序无法顺利进行下去,而结对编程的好处就在于,在编写代码时,一旦出现输入错误,就会有人及时的提醒。还有在设计代码时,有个同伴可以一起讨论,融合两个人不同的见解和观点,我们往往可以得出更加准确且更加高效的设计思路,这大大提高了我们编程的效率,而且我们二人一起讨论出来的编程思路,也使得我们的代码功能更全面,效率更高,所以我认为1+1肯定>2。

7. 展示PSP
PSP2.1任务内容计划共完成需要的时间(min)实际完成需要的时间(min)
Planning计划4080
· Esitimate估计这个任务需要多少时间,并规划大致工作步骤1520
· Development开发400800
· Analysis需求分析(包括学习新技术)6060
· Design Spec生成设计文档2030
· Design Review设计复审(和同事审核设计文档)1515
· Coing Standard代码规范(为目前开发制定合适的规范)2020
· Design具体设计3060
· Coding具体编码400600
· Code Review代码复审1010
· Test测试(自我测试,修改代码,提交修改)2025
· Reporting报告1015
· Test Report测试报告1525
· Size Measurement计算工作量53
· Postmortem&Process Improvement Plan事后总结,并提出过程改进计划515

项目源代码请点击这里查看...

转载于:https://www.cnblogs.com/Pretend/p/10612703.html

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值