第三次作业
1、库的Github项目地址
git地址https://github.com/FreshFighter/WordCount
打开https://github.com/YuRenDaZ/WordCount克隆到自己仓库
Fork
2、 PSP表格
PSP2.1 |
Personal Software Process Stages |
预估耗时(分钟) |
实际耗时(分钟) |
Planning |
计划 |
40 |
35 |
· Estimate |
· 估计这个任务需要多少时间 |
300 |
400 |
Development |
开发 |
60 |
90 |
· Analysis |
· 需求分析 (包括学习新技术) |
40 |
60 |
· Design Spec |
· 生成设计文档 |
20 |
15 |
· Design Review |
· 设计复审 (和同事审核设计文档) |
20 |
30 |
· Coding Standard |
· 代码规范 (为目前的开发制定合适的规范) |
30 |
15 |
· Design |
· 具体设计 |
30 |
40 |
· Coding |
· 具体编码 |
200 |
280 |
· Code Review |
· 代码复审 |
10 |
10 |
· Test |
· 测试(自我测试,修改代码,提交修改) |
90 |
150 |
Reporting |
报告 |
0 |
0 |
· Test Report |
· 测试报告 |
0 |
0 |
· Size Measurement |
· 计算工作量 |
10 |
20 |
· Postmortem & Process Improvement Plan |
· 事后总结, 并提出过程改进计划 |
15 |
30 |
|
合计 |
400 |
600 |
3、计算模块接口的设计与实现过程
这是讨论照片
刚开始虽然我们学过C#但我们并不会链接文件、统计过多的字符及接口封装等。我们看了以前的C#、C语言、C++及其他相关的C#书,也在网上收搜了如何连接、封装等,看了很久才一步步实现相关功能。
我和罗付强根据作业要求,多次讨论了以后虽意见还有不同但给出了共同点:
1.创建一个类库,里边有三个类,分别是
CountCharacters.cs(统计字符个数的类):有一个带参数构造函数CountCharacters(string s和 一个实现统计字符的函数int Count_character();
CountLines.cs(统计有效行的类):有一个带参数的构造函数CountLines(string s)和一个实现统计有效行的函数int Count_line();
CountWords.cs(统计单词的类):带参数的构造函数CountWords(string s),实现统计单词个数的函数int Count_word(),实现统计频数的函数int Count_word_frequency();
2.主程序,主程序里边除了主函数以外写两个函数,一个用来打开文件,一个用来装各种类和函数的调用。
4、实现基本功能的编码
我的代码能力不是特别强,而且几乎没有注释,只是后来加了些我认为必要的。刚开始我和罗付强的代码有所不同,大致意思一样,但习惯等不同,所以我们讨论后,采用我们稍微有共同能互相理解的方式来写。
5、代码复审过程
我们经常互相观察、讨论及修改,所以复审就用心不大了。
6、初步测试
开始运行还是可行的,只是可能多少都有一些小问题之类的。然后我们再进行了一些需改。
7.单元测试
单元测试这个我不太会,所以是罗富强主要进行的,我只是查看相关资料,协助他完成,顺便再更好的学习怎么进行单元测试。
8.性能测试
9、增加功能
这个是增加功能后的:
10、提交代码
最开始测试
单元测试和效能分析后的
为了更好,有做了第三次
11、个人总结
二人作业我体验到了一些团队合作的感觉。但我还是对我的编程能力感到担忧,感觉知识远远不够,什么都需要查,还不一定能解决问题。那些测试、分析、设计、链接之类的伤了我的头。一个小错或改动都让我焦虑,反复改动让我厌烦。虽然做出来心理有成就感,但还是的保持冷静,因为还有很多未完成。