地铁出行路线规划设计

地铁出行路线规划设计

1.任务

实现一个帮助进行地铁出行路线规划的命令行程序。该程序具有线路查询、最短线路查询等功能。

2.具体实现

1.语言:Java
2.数据结构:
3.算法:Dijkstra最短路径算法
4.前端界面:Swing
5.数据格式

//subway.txt
1 站点1 站点2 站点3 ...
2 站点1 站点2 站点3 ...
3.站点1 站点2 站点3 ...

6.具体思路

  • 创建地铁站点类、地铁线路类,将数据从txt文件中读入程序中
  • 将各个站点抽象为无向图的一个节点,线路之间用路径表示
  • 输出线路时只需输出地铁线路类的某个实例
  • 利用Dijkstra算法进行最短路径查找

3.需求分析

1.利用 -map 参数来获得对应的自定义地铁文件(命名为 subway.txt)

java subway -map subway.txt

2.支持一个新的命令行参数 -a进行地铁线路查询,并通过命令参数-o进行输出

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

3.利用参数-b查询两个站点之间最短(经过的站点数最少)路线,并输出

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

4.项目计划表

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

5.总结

该项目主要是利用已学的java和数据结构知识来对实际问题进行抽象和解决。该项目主要的难点在于Java对本地文件的读取和数据的识别、最短路径算法的使用以及图这一数据结构的使用。

posted @ 2019-09-20 19:07  clx1999  阅读(101)  评论(0编辑  收藏  举报