地铁线路项目设计与分析

#地铁线路项目设计与分析
##一、项目介绍
#####实现一个帮助进行地铁出行路线规划的命令行程序

##二、项目计划表
| PSP2.1 | Personal Software Process Stages | Time |
| --- | --- | --- |
| Planning | 计划 |
| · Estimate | · 估计这个任务需要多少时间 | 2h
| Development | 开发|
| · Analysis | · 需求分析 (包括学习新技术) | 6h
| · Design Spec | · 生成设计文档 | 3h
| · Design Review | · 设计复审 (和同事审核设计文档)| 3h
| · Coding Standard | · 代码规范 (为目前的开发制定合适的规范)| 3h
| · Design | · 具体设计| 3h
| · Coding | · 具体编码| 6h
| · Code Review | · 代码复审| 2h
| · Test |· 测试(自我测试,修改代码,提交修改)| 5h
| Reporting | 报告 |
| · Test Report | · 测试报告 | 2h
| · Size Measurement| · 计算工作量| 2h
| · Postmortem & Process Improvement Plan| · 事后总结, 并提出过程改进计划|3h
| | 合计 | 40h

##三、项目需求分析
###1、实现地铁线路信息的获取

  • 设计一个存储线路信息的文件,例如subway.txt
  • 支持采用参数 -map 作为标志,来获取对应的自定义地铁文件,例如:

    java subway -map subway.txt

###2、实现基础查询功能,查询指定地铁线路经过的站点

  • 支持采用参数 -a 来指定地铁线路,采用参数 -o 来输出到指定文件station.txt,例如:

    java subway -a 1号线 -map subway.txt -o station.txt

###3、实现出发地到目的地最短路径的查询

  • 支持采用参数 -b 来指定出发地与目的地,例如:

    java subway -b 洪湖里 复兴路 -map subway.txt -o routine.txt

##四、设计思路
###1、采用语言:Java
###2、存储的txt文件格式设计:

  • subway.txt文件格式:
		1号线 站点1 站点2 ...
		2号线 站点1 站点2 ...
		3号线 站点1 站点2 ...
		...
  • routine.txt文件格式:
		3
		洪湖里
		西站
		6号线
		复兴路

###3、程序主功能设计:

  • 数据结构设计:采用图,每个站点作为一个结点
  • 采用算法:Dijkstra算法求得最短路径
  • 主要功能模块:
    模块名称 主要功能
    主模块 流程控制
    参数模块 解析输入的命令行参数
    输入输出模块 读出和写入txt文件数据
    核心算法模块 实现Dijkstra算法

##五、测试分析
###设计测试用例,主要进行以下两类测试:

  1. 测试参数解析模块的正确性与健壮性,参数测试是否解析正确
  2. 测试输入数据对程序的影响
  3. 测试输出数据对程序的影响
  4. 测试程序的核心功能,是否能正确规划出两点的最短路径

####通过测试,进一步检查所设计程序的不足,并进行改正。

原文地址:https://www.cnblogs.com/xingslin/p/11557957.html

时间: 2024-10-08 09:48:08

地铁线路项目设计与分析的相关文章

天津地铁线路项目设计与分析

天津地铁线路项目设计与分析 项目需求分析:1.设计地铁线路的信息存储文件,如subway.txt 2.实现基础的查询操作(实现指定地铁线经过的站点的查询等) 3.实现最短路径计算,可以查询出发站与目标站的最短路径 设计思路: 1.采用java语言编程 2.地铁线路数据格式: 1号线:站点1 站点2 ... 2号线:站点1 站点2 ... 3号线:站点1 站点2 .........采用subway.txt文件格式进行存储输出等操作 3 洪湖里 西站 6号线 复兴路采用routine.txt文件格式

个人项目1(地铁线路最短路径的程序)初步分析

1.需求分析 根据个人项目简介,软件的需求有以下三个: 需求1: 实现一个支持显示地铁线路与计算换乘的程序.之后,用户可以通过命令行启动这个程序.程序在启动时,会读取不同命令对应的命令行参数.对于地铁线路信息图,我们约定它采用参数 -map 作为标志.程序启动时需要通过读取 -map 参数来获得对应的自定义地铁文件(命名为 subway.txt),从而得到地铁线路图的信息. 需求2: 实现基础的查询操作.比如说,用户希望查询指定地铁线经过的站点.这样,在应用程序需要支持一个新的命令行参数 -a,

地铁线路问题分析

一.任务: 实现一个帮助进行地铁出行路线规划的命令行程序,能处理正确输入的命令行的计算地铁线路最短路径. 二.设计: 输入格式:选择json格式来输入,便于阅读. 需求1:显示地铁线路信息 将地铁线路信息等用一个文本文件以 subway.txt的形式保存起来,应保存的信息应包括地铁线路名称.各个地铁站点的名称以及车站换乘信息,使得应用程序可以通过读取这个文件,就能掌握关于北京地铁线路的所有信息. java subway -map subway.txt 需求2:查询指定路线经过的站点 查询指定地铁

北京地铁线路规划程序

程序说明: 这个项目是记录地铁线路并且加以计算,所以储存线路是其中的关键部分. 经过慎重的思考以及选择,最后决定采用链表的形式储存整个地图,因为地图的站点分布不均匀,采用邻接矩阵很不合适无法对齐,这样的方式也比邻接链表要方便. 最终的储存结构中,每个站点都有一个单独的station对象,并且储存了相关的信息,站与站之间按照线路排列,每一条线路的起点被专门放在一个数组里面方便访问. 问题地址:http://www.cnblogs.com/jiel/p/5852591.html 输入文件说明: 保存

地铁线路项目-结对编程

地铁线路项目-结对编程 2019.7.25 完成了模块开发:填写PSP实际完成时间:完成了模块设计:进行单元测试.黑盒测试. PSP表记录: PSP2.1 Personal Software Process Stages Time Real Time Planning 计划 1h 1h ??·?Estimate ?? ·?估计这个任务需要多少时间 1h 1h Development 开发 21h 20.5h ??·?Analysis ?? ·?需求分析?(包括学习新技术) 2h 1.5h ??·

天津地铁线路最短路径计算项目规划

天津地铁线路路径查询项目规划 一.项目介绍 实现一个帮助进行地铁出行路线规划的命令行程序. 二.项目完成预估表 PSP 2.1 Personal Software Process Stages Time Time Planning 计划 · Estimate · 估计这个任务需要多少时间 1day Development 开发 · Analysis · 需求分析 (包括学习新技术) 3day · Design Spec · 生成设计文档 1day · Design Review · 设计复审 (

地铁线路最短路径问题

项目介绍 主要功能 提供一副地铁线路图,计算指定两站之间最短(最少经过站数)乘车路线:输出指定地铁线路的所有站点.以北京地铁为例,地铁线路信息保存在data.txt中,格式如下: 地铁线路总数 线路名1 站名1 站名2 站名3 ... 线路名2 站名1 站名2 站名3 ... 线路名3 站名1 站名2 站名3 ... ... github https://github.com/xupppp/subwayAssistant 实现语言 java 主要算法 迪杰斯特拉(dijkstra) 类职责划分

个人项目——地铁线路规划

个人项目-地铁线路规划系统 GitHub项目地址:https://github.com/ye1014239226/Subway1.git 问题描述 1.输入地铁线路的名字,显示该线路上的站点信息 2.输入起末站的站点名字,输出最优的换乘路线(经过站点数量最少) 解决思路 1.收集北京地铁的线路信息,存入txt文件中,并导入到设计的数据存储方式中去 2.读入数据并且构建地铁线路图的数据结构 3.使用迪杰斯特拉算法求最短的换乘路径 4.测试 解决过程 1.数据存储 txt的存储形式如下 线路名 站点

地铁线路查询算法

有天晚上还没睡着的时候,突然想起以前做课程设计时,有同学搞那个公交线路查询,老师上课时还提过什么只能查出换乘两次的线路,我不知道是那程序限制了换乘的次数还是那个算法查不出换乘两次以上的线路了,如果是后者,那个算法就有点糟糕.后来就想,如果给我做的话怎么做呢,别人写公交查询,我这个列车迷就写个地铁线路查询,其实感觉地铁的比公交的简单多了. 这样的线路查询,说白了其实也是图的遍历问题,大二学数据结构的时候,在课上老师有说到图的遍历算法能解决线路查询问题,也说到某些物体移动的动画,图能搞出来.后者我完