天津地铁出行线路规划项目需求分析与设计思路分析
天津地铁出行线路规划项目需求分析与设计思路分析
项目概要
以下是天津地铁线路总图,本项目的受众可以通过本软件,获得天津市地铁出行最便捷,最快速的线路推荐。
需求分析
- 实现一个帮助进行地铁出行路线规划的命令行程序。
- 支持地铁线路的更改,站点更改、取消与添加,以及线路的局部封闭。
- 支持查询线路的所有站点。
- 支持查询到某终止站点的途径最少站点的路线。
数据存储结构分析
由于单一的线路表与站点表是无法表示如此复杂的地铁线路情况的。
有多个前驱的站点如:,以及有多个后继的站点如:,这种情况无法只通过这两个表处理,所以引入第三张边表
- 线路表与站点表是一对多的关系
- 线路表与边表是一对多的关系
- 边表与站点表是多对多的关系
主算法分析
- 因为是要查询途径站点最少的线路,所以站与站之间的距离可以都看成是1,那么这样一来就可以忽略站与站之间的物理距离,仅以这处理完的逻辑距离来处理整个地铁线路,那么要求途径站点最少就变成了寻找两个站点之间的最短路了。
- 又因为天津地铁线路总点数不多,是稀疏图,所以使用在稀疏图上表现优秀的spfa算法。
- 关于建图,因为有边表的存在,所以只需要对边表进行建图即可,而且不会导致信息的丢失,且不会存在冗余信息。(同一条边只会出现一次)
- 且由于边表,使更改线路变得十分方便,只要先更改站点表,再修改边表即可。
原始数据输入格式
直接按照每条线路输入途径的每一个站点即可,线路与站点之间用’:‘号隔开,站点与站点之间用’,’隔开,便于批量操作。
如:
一号线:刘园,西横堤.....
二号线:小淀,丰产河.....
项目psp计划
PSP | Personal Software Process Stages | Time |
---|---|---|
Planning | 计划 | |
· Estimate | · 估计这个任务需要多少时间 | 1h |
Development | 开发 | |
· Analysis | · 需求分析(包括学习新技术) | 1h |
· Design Spec | · 生成设计文档 | 2h |
· Design Review | · 设计复审(和同事审核设计文档) | 1h |
· Coding Standard | · 代码规范(为目前的开发制定合适的规范) | 1h |
· Design | · 具体设计 | 1h |
· Coding | · 具体编码 | 2h |
· Code Revieq | · 代码复审 | 1h |
· Test | · 测试(自我测试,修改代码,提交修改) | 1h |
Reporting | 报告 | |
· Test Report | · 测试报告 | 1h |
· Size Measurement | · 计算工作量 | 1h |
· Postmortem & Process Improvement Plan | · 事后总结,并提出过程改进计划 | 1h |
合计 | 14h |