地铁出行规划

Posted wangxvdong

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了地铁出行规划相关的知识,希望对你有一定的参考价值。


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

以上是关于地铁出行规划的主要内容,如果未能解决你的问题,请参考以下文章

地铁出行线路规划

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

地铁出行路线规划

地铁出行路线规划

地铁出行路线规划

地铁出行路线规划程序