天津地铁出行线路规划项目需求分析与设计思路分析

 

 天津地铁出行线路规划项目需求分析与设计思路分析

 

项目概要

以下是天津地铁线路总图,本项目的受众可以通过本软件,获得天津市地铁出行最便捷,最快速的线路推荐。

 

 

 

需求分析

  1. 实现一个帮助进行地铁出行路线规划的命令行程序。
  2. 支持地铁线路的更改,站点更改、取消与添加,以及线路的局部封闭。
  3. 支持查询线路的所有站点。
  4. 支持查询到某终止站点的途径最少站点的路线。

数据存储结构分析

由于单一的线路表站点表是无法表示如此复杂的地铁线路情况的。

有多个前驱的站点如:,以及有多个后继的站点如:,这种情况无法只通过这两个表处理,所以引入第三张边表

 

  • 线路表站点表一对多的关系
  • 线路表边表是一对多的关系
  • 边表站点表是多对多的关系

主算法分析

  • 因为是要查询途径站点最少的线路,所以站与站之间的距离可以都看成是1,那么这样一来就可以忽略站与站之间的物理距离,仅以这处理完的逻辑距离来处理整个地铁线路,那么要求途径站点最少就变成了寻找两个站点之间的最短路了。
  • 又因为天津地铁线路总点数不多,是稀疏图,所以使用在稀疏图上表现优秀的spfa算法。
  • 关于建图,因为有边表的存在,所以只需要对边表进行建图即可,而且不会导致信息的丢失,且不会存在冗余信息。(同一条边只会出现一次)
  • 且由于边表,使更改线路变得十分方便,只要先更改站点表,再修改边表即可。

原始数据输入格式

直接按照每条线路输入途径的每一个站点即可,线路与站点之间用’:‘号隔开,站点与站点之间用’,’隔开,便于批量操作。

如:

一号线:刘园,西横堤.....

二号线:小淀,丰产河.....

项目psp计划

PSPPersonal Software Process StagesTime
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
posted @ 2019-09-18 23:48  31701013_罗贤哲  阅读(414)  评论(0编辑  收藏  举报