地铁路线规划的简要分析

地铁路线规划的简要分析

github

blog

需求分析

  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

时间: 2024-10-29 19:38:04

地铁路线规划的简要分析的相关文章

个人项目-地铁出行路线规划的简要分析

guthub repositories 个人博客园主页 支持环境: windows7,10,macOS,Linux 需求分析: 读取自定义地铁文件: 程序需要能够成功地解析并载入不同的地铁系统,实现数据与程序的解耦 查看地铁线路: 实现地铁系统的详情查询操作 最短线路: 帮助用户推算出最优乘坐路线 实现思路: 所有数据文件都采用.csv的格式储存 站点名称, 所属线路及坐标, 是否开通 刘园, (1号线,0), 是 西横堤, (1号线,1), 是 果酒厂, (1号线,2), 是 西站, (2号线

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

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

个人项目——地铁最短路径简要分析

github 个人博客 一.项目计划: 实现一个帮助进行地铁出行路线规划的命令行程序. 二.项目需求: 1.该程序能够准确地读出.txt文件中的数据,文件格式简洁易懂.可灵活扩展 2.在某号线路上,能够查询各个站点的信息,输出该号线路上所有站点信息 3.在出发站与目的站之间输出一个最短路径 4.用PSP记录在程序的各个模块上实际花费的时间. PSP表如下: PSP 2.1 Personal Software Process Stages Time Planning 计划 1d   · Estim

地铁出行规划项目分析

地铁出行规划项目分析 基本理解 本次个人项目是实现一个帮助进行地铁出行线路规划的命令行程序,在程序开始需要导入地铁线路图,然后有查询相关线路信息和经过最少站点到达目的地的功能,由于在本项目中可以忽略站点间距离所以可以将所有站点间距离设为一. 设计思路 1.线路信息存放格式 “线路名称 站点名称 能否换乘”,三者以空格分开,每个站点占一行,线路之间以换行符区分,并且以每条线路站点的相应顺序存放.若一个站点有换乘路线则“能否换乘”为所有可换乘线路名称,并以逗号分隔所有线路:若一个站点没有换乘路线则“

地铁出行规划

layout: post title: "软件工程 地铁出行规划" date: 2019-09-18 8:41 comments: false tags: 软工 申明:本题取自博客园 题目重述 本题任务 实现一个帮助进行地铁出行路线规划的命令行程序. 题目要求 使用Visual Studio Community 2019 或 IDEA 进行开发,采用C++, C# 或 Java 语言实现,运行环境为64-bit Windows 10. 提交的代码要求经过Code Quality Ana

Android学习笔记之使用百度地图实现路线规划+公交信息检索

PS:装了个deepin,感觉真的很高大上. 学习内容: 1.公交信息检索 2.路线规划   关于百度地图的开发也就这么多了.重要的部分也就那么些.原本打算搞到poi搜索就算了,不过看到了这两个方面还是忍不住去涉猎一下.其实实现的模式和poi搜索没有什么太多的区别.只要将数据信息发送给百度地图的服务器,我们对服务器的返回数据进行处理就可以了. 1.公交信息检索   公交信息检索,顾名思义就是搜索大巴和地铁.实现的过程和poi搜索没什么两样,一般都是现实例化对象,然后设置检索的参数和检索数据的监听

百度地图开发(五)之公交信息检索 + 路线规划

转载请注明出处: 在上一篇blog中介绍过POI检索的使用,本篇blog主要介绍公交信息检索和线路规划的内容. 公交信息检索 实际上,公交信息检索与POI检索.在线建议检索非常相似,也是把你需要检索的信息发送给百度地图服务器,然后解析得到的结果. 一般步骤: 1. 设置检索参数 2. 添加检索结果监听器 3. 发起检索 4. 解析返回结果 打开程序包com.baidu.mapapi.search.busline     在BusLineSearchOption这个类中,我们看到一个参数是城市,另

地图开发之批量加载点自定义标注 路线规划 批量点 快速定位

首先声明一下  我是新手菜鸟  这些经验是我自己在学习的过程中遇到的一些东西 归纳总结的时候按照我自己觉得总要或者是难点来做的  大家不喜勿喷啊 之前做了一个地图开发的功  能没有很深入也只是局部现在整理一下首先要说的是地图的功能是非常好做的大家不要别吓到了不会做的东西你看官方的api你可以从不懂到精通,我现在觉得api是最好的老是 然后要是遇到不懂得你可以找博客文章或者百度来辅助. 首先百度地图是一个第三方的东西  基本上面应用第三方的都是都是通过接口或者js来调用的[个人暂时遇到的]所以在做

个人项目--北京地铁线路规划(已完成)

一.任务: 实现一个帮助进行北京地铁出行路线规划的命令行程序. 二.需求分析及实现 需求1 在程序启动时,自动获取到地图信息 需要实现一个支持自动加载subway.txt 文件的程序 需求2 查询指定地铁线经过的站点 在应用程序上,需要支持一个新的命令行参数  -a ,指定用户希望查询的地铁线路. 在给定地铁线路时,程序需要从线路的起始站点开始,依次输出该地铁线经过的所有站点,直到终点站.输出的文件使用-o参数来指定. 一个调用应用程序的示例如下: java subway -a 1号线 -map