地铁出行规划



layout: post
title: "软件工程 地铁出行规划"
date: 2019-09-18 8:41
comments: false
tags:

  • 软工


申明:本题取自博客园

题目重述

本题任务

实现一个帮助进行地铁出行路线规划的命令行程序。

题目要求

  1. 使用Visual Studio Community 2019 或 IDEA 进行开发,采用C++, C# 或 Java 语言实现,运行环境为64-bit Windows 10。
  2. 提交的代码要求经过Code Quality Analysis工具的分析并消除所有的警告。Code Quality Analysis工具的用法参见:
    http://msdn.microsoft.com/en-us/library/dd264897.aspx
  3. 请使用性能分析工具来找出代码中的性能瓶颈并进行改进。
  4. 写出至少10个测试用例确保你的程序能够正确处理各种情况。
  5. 使用Github来管理源代码和测试用例。

作业提交

  • 在个人博客上发布项目源代码的Github链接,以便培训助教下载,培训助教将会在测试环境中检查程序的正确性。
  • 正确的程序会再进行性能测试,根据性能的好坏进行评分;不正确的程序没有性能的分数。
  • 撰写一个博客,要求参见博客作业要求。

需求分析

  1. 实现一个支持显示地铁线路与计算换乘的程序
  2. 查询指定地铁线经过的站点
  3. 用户希望能获得以最少的站数从出发点到达目的地的路径

设计思路

存储的读取文件格式

读入的文件后缀为txt或csv(PS:大致格式如下,为了观察方便,就做成表格样子了)

subway.txt

线路 站点1 站点2 站点n
一号线 苹果园站 古城站 ...
二号线 西直门 车公庄 ...
... ... ... ...

routine.txt

3
洪湖里
西站
6号线
复兴路
...

使用语言

java

程序设计

首先我们可以将地铁的线路抽象为线,将地铁的站点抽象为点,然后构建出一个无向图,就可以将问题3转化为求最短路径的问题。求解最短路径的算法有很多,就比如dfs,bfs,dijsktra等。在这里我觉得为了更好的模拟一个人的真实运动的路线,用bfs算法更加合适一点,虽然复杂度高一点点。

计划详情

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

原文地址:https://www.cnblogs.com/wangxvdong/p/11565350.html

时间: 2024-08-14 23:52:40

地铁出行规划的相关文章

地铁出行规划项目分析

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

北京地铁出行规划

一.Github代码链接     repo 二.程序基本功能描述 1.获得北京地铁单条线路所有站点信息 java SubwayStart -a 线路名称 -map 地铁线路文件.txt-o 输出文件.txt 或者 java SubwayStart -a 线路名称(直接显示) -map 地铁线路文件.txt 2.获得两个站点间最短线路 java SubwayStart -b 起始站点 目的站点 -map 地铁线路文件.txt -o 输出文件.txt 或者 java SubwayStart -b 起

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

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

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

天津地铁出行线路规划项目需求分析与设计思路分析 项目概要 以下是天津地铁线路总图,本项目的受众可以通过本软件,获得天津市地铁出行最便捷,最快速的线路推荐. 需求分析 实现一个帮助进行地铁出行路线规划的命令行程序. 支持地铁线路的更改,站点更改.取消与添加,以及线路的局部封闭. 支持查询线路的所有站点. 支持查询到某终止站点的途径最少站点的路线. 数据存储结构分析 由于单一的线路表与站点表是无法表示如此复杂的地铁线路情况的. 有多个前驱的站点如:,以及有多个后继的站点如:,这种情况无法只通过这两个

地铁出行线路规划

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

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

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

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

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

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

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

地铁出行路线规划程序

工程:实现一个帮助进行地铁出行路线规划的命令行程序. 使用PSP表格记录预估将在程序的各个模块的开发上耗费的时间. PSP 2.1 Personal Software Process Stages Time Planning 计划 · Estimate · 估计这个任务需要多少时间 10h Development 开发 · Analysis · 需求分析 (包括学习新技术) 30min · Design Spec · 生成设计文档 无 · Design Review · 设计复审 (和同事审核设