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

 

posted @ 2016-09-22 22:26  黎柏文  阅读(190)  评论(1编辑  收藏  举报