第四周小组作业:Wordcount优化
本次项目的github地址为:https://github.com/Fish2333333/WordCountPro
PSP表格
|
PSP2.1 |
PSP阶段 |
预估耗时 (分钟) |
实际耗时 (分钟) |
|
Planning |
计划 |
20 | 20 |
|
· Estimate |
· 估计这个任务需要多少时间 |
20 | 20 |
|
Development |
开发 |
380 | 420 |
|
· Analysis |
· 需求分析 (包括学习新技术) |
60 | 60 |
|
· Design Spec |
· 生成设计文档 |
30 | 30 |
|
· Design Review |
· 设计复审 (和同事审核设计文档) |
40 | 40 |
|
· Coding Standard |
· 代码规范 (为目前的开发制定合适的规范) |
30 | 30 |
|
· Design |
· 具体设计 |
30 | 30 |
|
· Coding |
· 具体编码 |
100 | 100 |
|
· Code Review |
· 代码复审 |
30 | 30 |
|
· Test |
· 测试(自我测试,修改代码,提交修改) |
60 | 100 |
|
Reporting |
报告 |
100 | 100 |
|
· Test Report |
· 测试报告 |
75 | 80 |
|
· Size Measurement |
· 计算工作量 |
15 | 10 |
|
· Postmortem & Process Improvement Plan |
· 事后总结, 并提出过程改进计划 |
10 | 10 |
|
合计 |
500 | 540 |
模块编写和测试
我负责了输出模块,实现过程是通过遍历已经排好序的map的list数组,获得每个元素的value和key,整合成一个字符串,最后将字符串输出到“log.txt文件”,
其主要部分代码如下:
PrintStream ps = new PrintStream("E:/log.txt");
for(int i = 0; i<list.size(); i++)
{
System.setOut(ps);//把创建的打印输出流赋给系统。即系统下次向 ps输出
System.out.println(list.get(i).getKey()+ ": " +list.get(i).getValue());
}
模块设计
首先对输入参数进行获取识别,判断其是否有效,并以此来获取文件路径
测试用例设计
针对该模块进行测试用例设计,主要存在两个功能:输入控制和输出结果。测试用例如下:

扩展任务
1. 代码规范说明
代码规范参考了Google的C++风格指南。也参考了邹欣老师在讲义“现代软件工程讲义 3 代码规范与代码复审”中提到的规范其中对于类定义,变量名,注释等等部分的说明。
2. 同组代码评审
我分析了同组成员的代码,运行结果正确,程序稳定性很好,较好地遵守了设计规范。
但也有以下问题:
1.循环的局部变量使用了一些简单字母,不容易看出变量的含义;
2.注释不够详细,比如没有注释解释一些循环的作用,一些变量的意义。
3. 静态代码扫描
我所使用得是myEclipse开发环境的代码静态检查机制。
小组评价得分
0.20,我做的工作较其他成员比较轻松简单,因此分数0.20比较合适。
小结
通过本次测试实验,我个人收获了许多。对编写代码的规范,软件测试的基本原理都有更深入的理解和认识。
同时由于其他课程任务也较多,完成此次作业时也比较仓促,所以还有不少漏洞和不足没有及时发现,
现在时间较紧,因此先提交作业,待之后时间充裕时,对此任务做更加深入细致的改进和优化。
希望以后合理安排时间,更加及时完成任务。

浙公网安备 33010602011771号