地铁出行规划
Posted wangxvdong
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了地铁出行规划相关的知识,希望对你有一定的参考价值。
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 Analysis工具的分析并消除所有的警告。Code Quality Analysis工具的用法参见:
http://msdn.microsoft.com/en-us/library/dd264897.aspx - 请使用性能分析工具来找出代码中的性能瓶颈并进行改进。
- 写出至少10个测试用例确保你的程序能够正确处理各种情况。
- 使用Github来管理源代码和测试用例。
作业提交
- 在个人博客上发布项目源代码的Github链接,以便培训助教下载,培训助教将会在测试环境中检查程序的正确性。
- 正确的程序会再进行性能测试,根据性能的好坏进行评分;不正确的程序没有性能的分数。
- 撰写一个博客,要求参见博客作业要求。
需求分析
- 实现一个支持显示地铁线路与计算换乘的程序
- 查询指定地铁线经过的站点
- 用户希望能获得以最少的站数从出发点到达目的地的路径
设计思路
存储的读取文件格式
读入的文件后缀为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 |
以上是关于地铁出行规划的主要内容,如果未能解决你的问题,请参考以下文章