工程:实现一个帮助进行地铁出行路线规划的命令行程序。
1.使用PSP表格记录预估将在程序的各个模块的开发上耗费的时间。
PSP 2.1 | Personal Software Process Stages | Time |
Planning | 计划 |
|
· Estimate | · 估计这个任务需要多少时间 | 10h |
Development | 开发 |
|
· Analysis | · 需求分析 (包括学习新技术) | 30min |
· Design Spec | · 生成设计文档 | 无 |
· Design Review | · 设计复审 (和同事审核设计文档) | 无 |
· Coding Standard | · 代码规范 (为目前的开发制定合适的规范) | 无 |
· Design | · 具体设计 | 10min |
· Coding | · 具体编码 | 4h |
· Code Review | · 代码复审 | 30min |
· Test | · 测试(自我测试,修改代码,提交修改) | 2h |
Reporting | 报告 |
|
· Test Report | · 测试报告 | 1h |
· Size Measurement | · 计算工作量 | 无 |
· Postmortem & Process Improvement Plan | · 事后总结, 并提出过程改进计划 | 30min |
合计 | 8h40min |
2.性能分析图
3.十组测试样例
subway
subway -b 回龙观 马泉营
subway -b 六里桥东 枣园
subway -b 建国门 大郊亭
subway -b 苹果园 2号航站楼
subway -c 惠新西街南口 奥林匹克公园
subway -c 2号航站楼 苹果园
subway -c 大望路 双桥
subway -c 奥体中心 良乡南关
subway -c 呼家楼 知春
4.我通过这次的个人项目训练,学到了如何更好地编写自己的代码,并且意识到自己的水平还不够,希望通过进一步的学习增加自己的知识水平。
5.程序内部使用宽度优先搜索计算最短路,我通过大量实际数据测试证明,程序是正确的。
6.文件存储样式,先用字符“L”或“C”表示接下来一个名字为地铁线路名,“L”表示此线路为非环路,“C”表示此线路为环路。