合做者:201731062301 201731062304(学号)html
本次做业连接:https://edu.cnblogs.com/campus/xnsy/SoftwareEngineeringClass1/homework/2882git
先找好结对的小伙伴,阅读做业内容及要求,再进行商讨、作好分工以及填写 PSP表格中的预估耗时部分。本人负责实现基础功能,结对伙伴在本人的基础上负责实现新功能。完成后进行代码复审、单元测试、效能分析。github
下图为两人结对编程照片:正则表达式
PSP2.1 |
Personal Software Process Stages |
预估耗时(分钟) |
实际耗时(分钟) |
Planning |
计划 | 45 |
45 |
· Estimate | · 估计这个任务须要多少时间 | 45 | 45 |
Development |
开发 | 910 |
1295 |
· Analysis | · 需求分析 (包括学习新技术) | 45 | 60 |
· Design Spec | · 生成设计文档 | 30 | 45 |
· Design Review | · 设计复审 (和同事审核设计文档) | 20 | 60 |
· Coding Standard | · 代码规范 (为目前的开发制定合适的规范) | 30 | 30 |
· Design | · 具体设计 | 45 | 60 |
· Coding | · 具体编码 | 600 | 800 |
· Code Review | · 代码复审 | 60 | 90 |
· Test | · 测试(自我测试,修改代码,提交修改) | 80 | 150 |
Reporting |
报告 | 90 |
115 |
· Test Report | · 测试报告 | 30 | 45 |
· Size Measuremen | · 计算工做量 | 25 | 25 |
· Postmortem & Process Improvement Plan | · 过后总结, 并提出过程改进计划 | 35 | 45 |
合计 | 1045 |
1455 |
总结分析:在本次项目完成后,发现预估时间和实际时间相差很大,主要表如今开发阶段,其中又主要集中在具体编码和测试、修改中。在具体编码过程当中困难重重,好比统计单词总数和‘!’、‘?’等字符须要用到正则表达式。因而上网查资料并对正则表达式的使用进行了学习,又如,统计词频并按频率由高到低、字母表顺序输出,须要用到Dictionary。在后期的代码复审以及修改也花了较多时间。编程
项目要求:统计文件字符数、单词总数、有效行数以及统计词频并按照频率由高到低、字母表顺序输出。单元测试
(1)统计字符:即统计整个字符串的长度;学习
(2)统计行数:将文件字符一行行传入来统计行数;测试
(3)统计单词总数:采用正则表达式进行判断单词是否符合要求,若符合,则用列表存储;编码
(4)统计词频并按照频率由高到低、字母表顺序输出:用Dictionary。spa
在本次结对编程过程,发现1+1>2,开发效率明显提升。在知识方面学习到不少,在结对伙伴的身上也学到不少。
1.编程方面:好比,在统计单词总数时,一块儿查资料,学习正则表达式的使用;
2.单元测试:本人学会了写单元测试;
3.对GitHub的push操做更加的熟练;
4.对本身的要求更高了。