地铁出行线路规划——基本理解与设计思路

地铁出行线路规划——基本理解与设计思路_第1张图片

基本理解

要实现一个能够计算最短路线、查询地铁线站点等信息的规划地铁出行线路的程序。

一、需求分析

  • 获得地铁线路图的信息。

对于地铁线路信息图,采用参数 -map 作为标志。程序启动时需要通过读取 -map 参数来获得对应的自定义地铁文件(命名为 subway.txt)。一个调用应用程序的示例如下:

subway.exe -map subway.txt
  • 能够查询指定地铁线经过的站点。

在给定地铁线路时,从线路的起始站点开始, 依次输出该地铁线经过的所有站点,直到终点站。在应用程序需要支持一个新的命令行参数 -a 指定用户希望查询的地铁线路。输出的文件使用 -o 命令行参数来指定。一个调用应用程序的示例如下:

subway.exe -a 1号线 -map subway.txt -o station.txt
  • 能够查询起始站点与目的地间的最短路线,并输出经过的站点的个数和路径(包括起始站点与目的站点),如果需要换乘,则在换乘站的下一行输出换乘的线路。

在命令行中以 -b 参数加两个地铁站点名称分别作为出发与目的,比如用户希望知道 洪湖里 到复兴路 之间的最短路线是怎样的,他就可以使用如下命令让程序将结果写入 routine.txt 中。

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

设计思路

一、存储设计

地铁信息的存储格式需要方便程序读取,简洁易懂,并可以灵活拓展。

  • 地铁线路信息图——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站点……
  • 起始站点与目的地间的最短路线——routine.txt
1
1站点
2站点
3站点
……
2号线(换乘)
1站点 
2站点
3站点
……

二、程序设计

  • 通过无向图保存地铁各站点,用最短路径——Dijkstra算法或Floyd算法等实现计算出起始站点与目的站点间的最短路线。

  • 能获取地铁线路图,并在输入地铁线后输出相应站点、在输入起始站点与目的站点后按照规范输出相应最短路线。

  • 做出异常处理,当输入出错时给出提示。

三、个人计划

好好加油吧!Fighting!

地铁出行线路规划——基本理解与设计思路_第2张图片

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

你可能感兴趣的:(地铁出行线路规划——基本理解与设计思路)