Week1项目报告
1. 预测时间
Personal Software Process Stages |
Time(h) |
计划 |
|
· 估计这个任务需要多少时间 |
16.5 |
开发 |
|
· 需求分析 (包括学习新技术) |
4 |
· 生成设计文档 |
1 |
· 设计复审 (和同事审核设计文档) |
0 |
· 代码规范 (为目前的开发制定合适的规范) |
0.5 |
· 具体设计 |
0.5 |
· 具体编码 |
5 |
· 代码复审 |
1 |
· 测试(自我测试,修改代码,提交修改) |
3 |
报告 |
|
· 测试报告 |
1 |
· 计算工作量 |
0 |
· 事后总结, 并提出过程改进计划 |
0.5 |
合计 |
16.5 |
2. 实际用时
Personal Software Process Stages |
Time(h) |
开发 |
|
· 需求分析 (包括学习新技术) |
6 |
· 生成设计文档 |
0.5 |
· 设计复审 (和同事审核设计文档) |
0 |
· 代码规范 (为目前的开发制定合适的规范) |
0.5 |
· 具体设计 |
0.5 |
· 具体编码 |
7 |
· 代码复审 |
1 |
· 测试(自我测试,修改代码,提交修改) |
3 |
报告 |
|
· 测试报告 |
0.5 |
· 计算工作量 |
0 |
· 事后总结, 并提出过程改进计划 |
0.5 |
合计 |
19.5 |
3.性能分析
使用了Visual Studio自带的性能分析工具(性能探查器),查看了CPU使用率
可以看到核心函数GetShortestPath()和GetLeastTransferPath()出花费时间较多,但是并没有找到改进方案
4.测试
测试用例:
1.1号线
2.x号线
3.BeijingSubway.exe -b 沙河 巩华城
4.BeijingSubway.exe -b 沙河 北京西站
5.BeijingSubway.exe -b 沙河 沙河
6.BeijingSubway.exe -b 砂河 北京夕站
7.BeijingSubway.exe -c 北京西站 沙河
8.BeijingSubway.exe -c 苏庄 沙河
9.BeijingSubway.exe -b
10.BeijingSubway.exe -c
这些测试用例里面,既有正常的输入,也有异常/非法的输入;并且对于边界情况(比如出发点和到达点一样)也覆盖到了;
在-c功能中,对于换乘次数都是最少的情况下,程序能够正确地找到经过站点数最少的路径(测试用例7)
因此,以上的测试用例能够说明程序很大程度上运行能给出正确的结果。程序的正确性或许还需要“证明”而不是“测试”
5.收获
完成本次作业的过程中中我收获丰富,有以下几点:
1.要尽早开始完成,把作业放到日程表上提醒自己
2.不要低估学习新技术所需时间(比如这次作业中学习使用github花费的时间比我预期要多不少)
3.具体的,学会了使用visual studio 2015进行性能分析和代码质量评估,学会了使用github进行代码管理
6.博客地址
https://github.com/libaiwen/Software-Engineering