地铁出行路线规划

地铁出行路线规划

地铁出行路线规划_第1张图片

需求分析

  • 使用文本文件保存地铁线路信息
  • 实现一个通过命令行运行使用,并且能显示地铁线路和计算换乘的程序

设计思路

以北京地铁为例。

  • 使用Java开发
  • 以二号线为例,文本文件格式为2,积水潭,鼓楼大街,安定门,雍和宫,东直门,东四十条,朝阳门,建国门,北京站,崇文门,前门,和平门,宣武门,长椿街,复兴门,阜成门,车公庄,西直门,积水潭
    • ,区分站名
    • 每行记录第一项是地铁线路名,接下去是始发站到终点站的依次排序。若始发站名与终点站名相同则说明是环行线路
  • 程序使用两个类来记录线路以及站点
    • 地铁线路(Line.class)包括地铁名,首末站点,站点的list数组
    • 站点(Station.class) 包括站名,前后站点的list数组,线路名数组
    • 以西二旗为例
    • 地铁出行路线规划_第2张图片
    • 是昌平线的终点站,13号线的中间站,它的数据存储情况是
      lineName={"13","昌平线"}
      preStation={"龙泽","生命科学院"}
      postStation={"上地",null}
    • 不同数组的每一项一一对应
  • 用Dijkstra 算法计算最短路径。假设站与站之间的间隔相等,距离为1。

项目时间安排

PSP 2.1 Personal Software Process Stages Time/hours
Planning 计划
· Estimate · 估计这个任务需要多少时间 1
Development 开发
· Analysis · 需求分析 (包括学习新技术) 5
· Design Spec · 生成设计文档 1
· Design Review · 设计复审 (和同事审核设计文档) 1
· Coding Standard · 代码规范 (为目前的开发制定合适的规范) 1
· Design · 具体设计 2
· Coding · 具体编码 10
· Code Review · 代码复审 2
· Test · 测试(自我测试,修改代码,提交修改) 5
Reporting 报告
· Test Report · 测试报告 2
· Size Measurement · 计算工作量 1
· Postmortem & Process Improvement Plan · 事后总结, 并提出过程改进计划 2
合计 33

参考

  • 借助 Dijkstra 算法计算苏州任意两个地铁站的路径https://juejin.im/entry/589049ea0ce4630056dc74d6

你可能感兴趣的:(地铁出行路线规划)