地铁路线规划的简要分析
需求分析
1.设计地铁线路的文件存储格式
2.设计一个支持显示地铁线路与计算换乘的程序
3.设计可以通过命令行启动这个程序
4.设计一条路线的查询功能
5.设计支持查询的一个命令行
6.设计两个站点间最短路径的查询功能
7.设计让程序将结果写入文本文件的命令行
8.性能测试
9.PSP表格记录各模块花费时间
PSP 2.1 | Personal Software Process Stages | Time |
---|---|---|
Planning | 计划 | |
· Estimate | · 估计这个任务需要多少时间 | |
Development | 开发 | |
· Analysis | · 需求分析 (包括学习新技术) | |
· Design Spec | · 生成设计文档 | |
· Design Review | · 设计复审 (和同事审核设计文档) | |
· Coding Standard | · 代码规范 (为目前的开发制定合适的规范) | |
· Design | · 具体设计 | |
· Coding | · 具体编码 | |
· Code Review | · 代码复审 | |
· Test | · 测试(自我测试,修改代码,提交修改) | |
Reporting | 报告 | |
· Test Report | · 测试报告 | |
· Size Measurement | · 计算工作量 | |
· Postmortem & Process Improvement Plan | · 事后总结, 并提出过程改进计划 | |
合计 |
实现思路
1.该项目最重要的两个实体是:路线和站点,而且两者为一对多的关系,所以各功能设计都要环绕这两个实体来进行。
2.文本格式可以设计为:
序号 站名1 所属线路 是否开通 是否为换乘站
序号 站名2 所属线路 是否开通 是否为换乘站
。。。。。。
3.启动程序命令行格式为:
java subway -map subway.txt
4.路线查询功能命令行格式为:
java subway -map subway.txt
5.将结果写入文本文件的命令行格式为:
subway.exe -b 洪湖里 复兴路 -map subway.txt -o routine.txt
6.输出文本文件格式为:
3 洪湖里 西站 6号线 复兴路
程序将计算从出发到目的站点之间的最短路线,并输出经过的站点的个数和路径。如果需要换乘,在换乘站的下一行输出换乘的线路。
7.初步设想的几个测试案例
测试用例1:同一线路出发和到达站 预期返回,起点和终点所有站点及其信息
测试用例2:不同线路出发和到达站,需要1次换乘,预期返回,多条起点和终点所有站点及其信息
测试用例3:不同线路出发和到达站,需要2次换乘,预期返回,多条起点和终点所有站点及其信息
测试用例4:不同线路出发和到达站,需要超过2次换乘,预期返回,多条起点和终点所有站点及其信息
相关想法
本项目最主要的还是最短路径的设计,只要找出两个站点的最短路径,输入输出就比较简单。需要注意的还有各个细节上的处理,比如转站站点的处理,这里可能需要多张表来进行处理,因为两张表格无法完成运算的需求。再有比如,仔细观察发现五号线和六号线之间有三个连续的重合站点,所以在这三个站点进行换线的话,从水上公园东路或者体育中心来的最好要在肿瘤医院换线,从西南楼或者乐园道来的最好在文化中心换线,当然也要考虑特殊情况等等,具体细节在编程时展示。
原文地址:https://www.cnblogs.com/wetrack/p/11558803.html