地铁出行路线规划
需求分析
- 使用文本文件保存地铁线路信息
- 实现一个通过命令行运行使用,并且能显示地铁线路和计算换乘的程序
设计思路
以北京地铁为例。
- 使用Java开发
- 以二号线为例,文本文件格式为
2,积水潭,鼓楼大街,安定门,雍和宫,东直门,东四十条,朝阳门,建国门,北京站,崇文门,前门,和平门,宣武门,长椿街,复兴门,阜成门,车公庄,西直门,积水潭
- 用
,
区分站名 - 每行记录第一项是地铁线路名,接下去是始发站到终点站的依次排序。若始发站名与终点站名相同则说明是环行线路
- 用
- 程序使用两个类来记录线路以及站点
- 地铁线路(Line.class)包括地铁名,首末站点,站点的list数组
- 站点(Station.class) 包括站名,前后站点的list数组
- 用Dijkstra 算法计算最短路径。假设站与站之间的间隔相等,距离为1。
项目时间安排
Planning | 计划 | |
· Estimate | · 估计这个任务需要多少时间 | 1 |
Development | 开发 | |
· Analysis | · 需求分析 (包括学习新技术) | 10 |
· Design Spec | · 生成设计文档 | 1 |
· Design Review | · 设计复审 (和同事审核设计文档) | 1 |
· Coding Standard | · 代码规范 (为目前的开发制定合适的规范) | 1 |
· Design | · 具体设计 | 2 |
· Coding | · 具体编码 | 20 |
· Code Review | · 代码复审 | 2 |
· Test | · 测试(自我测试,修改代码,提交修改) | 10 |
Reporting | 报告 | |
· Test Report | · 测试报告 | 2 |
· Size Measurement | · 计算工作量 | 1 |
· Postmortem & Process Improvement Plan | · 事后总结, 并提出过程改进计划 | 2 |
合计 | 53 |
参考
- 借助 Dijkstra 算法计算苏州任意两个地铁站的路径https://juejin.im/entry/589049ea0ce4630056dc74d6