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

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

项目概要

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

需求分析

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

数据存储结构分析

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

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

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

主算法分析

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

原始数据输入格式

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

如:

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

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

原文地址:https://www.cnblogs.com/Archer-Luo/p/11546387.html

时间: 2024-10-07 12:41:11

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

北京地铁出行线路规划——个人项目

项目地址 详见: 一.基本功能 获取地铁线路图. 以参数 -map 作为标志,来获得对应的自定义地铁线路图信息文件(命名为 Subway.txt).输入格式如: java Subway -map Subway.txt 获取指定地铁线路. 以参数 -a 作为标志,并输入指定地铁线路,输出的文件以参数 -o 来指定.从线路的起始站点开始,依次输出该地铁线经过的所有站点,直到终点站.输入格式如: java Subway -a 1号线 -map Subway.txt -o Station.txt 输入起

地铁出行线路规划

地铁出行线路规划 github: 31701022 需求分析 1.确定地铁站信息存储的文件格式 2.设计文件的读取与写入命令行 3.能够输出从起点到终点的所有站点 4.能够找出经过最少站数的路径 5.通过用例测试和性能检查 设计思路 本次设计主要是两个要点,一是确定文件格式,二是找出最优路径,即经过最少站数的路径. 首先为了输入方便采用简单的文件输入方式,输入格式上按照每一条线路上的每一个站点排序,可换乘的站点添加标注: 一号线:刘圆,西横堤,...,西站(6),... 二号线:曹庄,卞兴,..

北京地铁出行线路规划——代码实现

项目概述 根据输入的出发站和终点站推荐最短路线,显示搭乘线路及经过站点 采用Dijkstra算法,采用HashMap作为主要数据存取结构 运行结果:       代码分析  txt文件用空格分隔,先存储在LinkedHashSet中 public class Data { public static LinkedHashSet<List<Station>> lineSet = new LinkedHashSet<>();//List<Station>集合 p

地铁出行线路规划项目设计

一.项目理解 1.设计需求:地铁出行下路规划的命令行程序(最短路径) 2.设计工具:JAVA Eclipse编译器 3.数据处理:数据写入文本导入程序,将陷入储存于不同文本文件 4.程序测试:足够的测试样例(10条)来保证程序的正确运行 5.程序输入:需要输入1.进站 2.出站 6:设计语言:java 二.文本格式设计        1.文本的输入将采用json格式 1 { 2 "line1": [ 3 { 4 "station1": "苹果园站"

天津地铁出行路线规划

需求 1.采用合适的方式将地铁线路信息(线路名称.站点名称.车站换乘信息)保存,并能通过应用程序读取信息: 2.应用程序能够查询相关信息:如某线路从起始站到终点站的距离.站点数量 3.能够查询任意两个站点之间的最短路线,输出经过站点个数和路径 4.写出至少10个测试用例 5.进行正常情况测试和错误情况测试 设计思路 1.采用.txt形式存储地铁线路信息,假定每个站点之间的距离为1,格式如下: 1号线:刘园,西横堤,果酒厂,本溪路,勤俭道,洪湖里,西站#6... '#'表示可以在此处换乘到另一条线

北京地铁出行线路规划

参考 https://www.cnblogs.com/myp123/p/11669391.html https://www.cnblogs.com/xupppp/p/11663525.html 项目介绍 规划 https://www.cnblogs.com/RittLiii/p/11570168.html Github 实现语言 java 主要算法 Dijkstra 类 Main 程序入口,进行输入操作,判断输入 Station model类,储存站点信息 Routine model类,储存地铁

个人项目-地铁出行线路规划程序

PSP表格 PSP 2.1 Personal Software Process Stages Planning Time(H) Used Time(H) Planning 计划 0.5 0.25 · Estimate · 估计这个任务需要多少时间 0.5 0.25 Development 开发 25.5 45.9 · Analysis · 需求分析 (包括学习新技术) 10 13 · Design Spec · 生成设计文档 2 3 · Design Review · 设计复审 (和同事审核设计

结对项目—地铁出行路线规划

结对项目—地铁出行路线规划 我的搭档:陈鸿超 14061216 https://github.com/ChengFR/PairProgramming_SubwayRoute- 会在十一期间发布新版本 结对编程体会: 结对编程的优点: 站在软件开发的角度,两个人共同面对同一台电脑进行开发,无论是效率还是软件质量都要超过一个人进行开发的情况. 对于还处于学习阶段的年轻软件开发者来说,结对编程是一个很好的互相学习的机会 结对编程时动力.责任感更强 结对编程的缺点: 对于我们来说,寻找两个人共同的时间进

北京地铁最短线路规划

一.项目需求 设计一个能进行北京地铁最短线路规划的程序. 二.文件存储 用一个名为data.txt的文件来存储所有北京地铁线路及站点信息,如下所示. 三.算法代码 本次项目的设计用到的语言是java语言,主要的规划最短路径的算法采用dijkstra算法 public class PathControl { private static List<Station> analysisList = new ArrayList<>(); private static HashMap<