天津地铁线路最短路径计算项目规划

天津地铁线路路径查询项目规划

一、项目介绍

实现一个帮助进行地铁出行路线规划的命令行程序。

二、项目完成预估表

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

三、项目需求分析

需求1:实现一个支持显示地铁线路与计算换乘的程序
对于地铁路线的数据,将使用subway.txt文件来存储。
对于地铁线路信息图,采用参数 -map 作为标志,例如:

java subway -map subway.txt

需求2:实现地铁线路查询功能
对于地铁线路信息图,采用-a 来指定地铁路线,采用参数 -o 来输出到指定文件station.txt,例如:

java subway -a 1号线 -map subway.txt -o station.txt

需求3:实现最短路径查询
-b 参数加两个地铁站点名称分别作为出发与目的,将结果写入 routine.txt,例如:

subway.exe -b 洪湖里 复兴路 -map subway.txt -o routine.txt

四、设计思路

使用语言

java

存储数据格式

  • subway.txt文件数据格式:

1号线 站点1 站点2 站点3 ……
2号线 站点1 站点2 站点3 ……
3号线 站点1 站点2 站点3 ……
4号线 站点1 站点2 站点3 ……
5号线 站点1 站点2 站点3 ……
……

  • station.txt文件数据格式:

站点1
站点2
站点3
站点4
站点5
……

  • routine.txt 文件数据格式:

3
洪湖里
西站
6号线
复兴路

程序功能部分

使用邻接表存储图,顶结点为站点,边结点为各个相邻站点。
利用BFS算法,实现指定起点-终点的最短路径查找。BFS算法利用队列实现按层次遍历图。在层次遍历中,记录路径及最短路径。

五、 程序分析与优化

单元测试

对每个单元进行测试。
根据各个函数功能,测试输入与输出。
主要采用白盒测试方法,包括语句覆盖、判定覆盖、条件覆盖、判定条件覆盖、条件组合、路径覆盖等方法,对代码的逻辑路径进行覆盖测试。

posted @ 2019-09-20 21:22  TutuLei  阅读(305)  评论(0编辑  收藏  举报