20173106249 何旭东 第三次作业
一、
作业地址:https://edu.cnblogs.com/campus/xnsy/SoftwareEngineeringClass2/homework/2879
Git地址:https://github.com/hexd-1998
结对伙伴地址:https://www.cnblogs.com/dong-he/
二、PSP表格
PSP2.1 |
Personal Software Process Stages |
预估耗时(分钟) |
实际耗时(分钟) |
Planning |
计划 |
30 |
30 |
· Estimate |
· 估计这个任务需要多少时间 |
|
|
Development |
开发 |
200 |
190 |
· Analysis |
· 需求分析 (包括学习新技术) |
30 |
60 |
· Design Spec |
· 生成设计文档 |
20 |
10 |
· Design Review |
· 设计复审 (和同事审核设计文档) |
10 |
10 |
· Coding Standard |
· 代码规范 (为目前的开发制定合适的规范) |
30 |
20 |
· Design |
· 具体设计 |
60 |
60 |
· Coding |
· 具体编码 |
300 |
300 |
· Code Review |
· 代码复审 |
60 |
60 |
· Test |
· 测试(自我测试,修改代码,提交修改) |
30 |
30 |
Reporting |
报告 |
10 |
10 |
· Test Report |
· 测试报告 |
|
|
· Size Measurement |
· 计算工作量 |
|
|
· Postmortem & Process Improvement Plan |
· 事后总结, 并提出过程改进计划 |
20 |
20 |
|
合计 |
900 |
800 |
三、计算模块接口的设计与实现过程
首先我们做了一个流程图,将各大功能分开编写;之后我们定义了一个接口,这其中用字典进行单词排序是其中的核心,也是难点。(本来开始也想用hashtable实现),但字典从来没试过就选择尝试一下。过程中遇到很多问题,网上查阅了很多有关字典的用法,最终还是实现了功能。
性能分析:
流程图:
四、代码复审阶段
做完上面的工作之后,代码我们两个互相检查、修正,对一些写法不规范的代码进行了改正,修改了一些不专业的函数名,删掉了一些不必要的代码。
五、主要代码展示
代码主要由我编写,碰到一点问题百度一下学习就差不多了,测试是董和在做,单元测试没毛病。
六、计算模块部分异常处理说明
感觉没什么问题,多试一下就好了。
七、运行结果
最后实现结果这里,我们将结果输出到文本文件中,到命令行执行代码也能成功。
八、描述结对的过程
就耍得好一个寝室,然后就一起结对了。然后他主要负责代码编写,我负责后期的一些工作,就感觉到结对编程是一种新鲜的感觉。
九、代码上传截图