第三次作业 彭潇然
作业地址 |
https://edu.cnblogs.com/campus/xnsy/SoftwareEngineeringClass1/homework/2882 |
GIT仓库地址 | https://github.com/pxr000/pxxr/issues/1 |
讨论画面:
1.PSP表格
PSP2.1 |
Personal Software Process Stages |
预估耗时(分钟) |
实际耗时(分钟) |
Planning |
计划 |
20 |
20 |
· Estimate |
· 估计这个任务需要多少时间 |
10 |
10 |
Development |
开发 |
300 |
450 |
· Analysis |
· 需求分析 (包括学习新技术) |
60 |
60 |
· Design Spec |
· 生成设计文档 |
20 |
10 |
· Design Review |
· 设计复审 (和同事审核设计文档) |
40 |
60 |
· Coding Standard |
· 代码规范 (为目前的开发制定合适的规范) |
20 |
30 |
· Design |
· 具体设计 |
60 |
100 |
· Coding |
· 具体编码 |
200 |
300 |
· Code Review |
· 代码复审 |
40 |
60 |
· Test |
· 测试(自我测试,修改代码,提交修改) |
20 |
30 |
Reporting |
报告 |
10 |
20 |
· Test Report |
· 测试报告 |
30 |
40 |
· Size Measurement |
· 计算工作量 |
20 |
20 |
· Postmortem & Process Improvement Plan |
· 事后总结, 并提出过程改进计划 |
10 |
10 |
|
合计 |
860 |
1220 |
2.判断最近开始的字符是否是字母,直到找到最后一个不是字母的字符从而形成一个单词:
定义了许多类,参数为文本的地址。输出分别输出计算文本的字符数,行数,单词数
算法设计思路关键:
1----对于linescount类,判断每行末端的字符是否符合换行类。是则行数加1。
2---charcount类,把每个字符,非空格或换行的字符个数累加。
3---wordcount类,判断起始字符是否为字母,然后循环后面的字符直到找到不是字母的字符,将这一组单词计入单词个数。
3.各个类函数的关系流程图:
4.代码复审过程
在代码复审的过程中,本人和我结对的伙伴发现一些逻辑问题。例如在输出的时候会将相同的单词重复计算, 从而使得单词数相对较高,对于这个逻辑问题我们进行了长时间的讨论,决定在出现过的单词前面加上标识。从而达到计数准确的目前。
5.模块接口的改进:
发现单词计数的时间消耗比较大,跟伙伴讨论了改进方案,他也做出了相应的改变,并且获得不错的效果。
6.计算模块部分单元测试展示。
测试了分别单词数的统计,字符数的统计与行数的统计
构造测试数据的时候针对测试的函数,给出几个常规的数据和特殊的测试数据。
例如 and as ad AND
7.计算模块部分异常处理说明
总结:对于这次作业的经历我觉得两个人虽然说想法比较多更容易想出解决的办法,但是有很多的时候可能会发生一些分歧而导致过程中断,但是两个人的好处也是一个人无法比拟的,相互讨论,相互学习,是一个互补的效果,本人觉得这次的结对编程真的是很有必要,可以提前体验到团队的合作性。而且这次本人主要是参与话题的讨论,虽然未曾触及代码,但也是受益匪浅。