软工个人项目——地铁最短路径分析

一、开发环境

IDEA(java)

二、需求分析

  1. 设计简单UI界面(Java Swing)
  2. 用户可以自行选择起点、终点的地铁线路和对应的站点
  3. 用户选择后后台返回一个或多个方案

三、设计思路

  1. 启动程序读取地铁站点和线路信息文件"subway.txt",并将站点和线路信息储存在有向图中
  2. 根据用户的选择输入起点终点等参数
  3. UI界面提供地铁线路、起始站点和目的站点的选择
  4. 通过最短路径算法求解最优的出行线路(采用Dijkstra算法或Floyd算法),将结果输出到一个txt文件
  5. 测试优化

四、项目计划

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

总结

  本次个人项目的主要难点在数据的存储和导入并且把它转化为有向无权图,核心是最短路径算法的实现,设计中要尽可能实现界面简单和操作便捷。可以适当增加筛选标准,例如根据不同站点的人流量来筛选出更好的方案。

subway.txt文档格式规范

站名1 所属线路 序号 是否开通 是否换乘站

站名2 所属线路 序号 是否开通 是否换乘站

原文地址:https://www.cnblogs.com/31701014syc/p/11564513.html

时间: 2024-10-08 03:00:41

软工个人项目——地铁最短路径分析的相关文章

【软工个人项目-地铁出行路线规划程序】

---恢复内容开始--- 1.源代码地址:https://github.com/qiao1406/BeijingSubway 2.使用的语言:C++ 编程环境:Visual Studio 2015/Windows 8 64-bit 虚拟机(ps:自己的电脑上死活装不成功世界上最好的IDE,只好装在虚拟机上了 3.PSP表格-计划时间与实际花费时间 3.测试样例 具体详见GitHub,这里贴几个帮助我改正了bug的样例 3.1 -b 苹果园 土桥 1号线和八通线的换乘模式是[双换乘]即:四惠和四惠

软工团队项目个人总结

经过了一个学期的软工课程学习,以及长期的团队开发,收获有下. 用户:创新就是极致的用户体验.在开发我们的这款游戏的开始阶段,我们与校内很多同学交流了一下他们对这款游戏的看法,并与他们在线下对游戏进行试玩,然后他们也对我们提出了很多意见,包括有些时候觉得我们某些地方设置的太傻了,随机性太大,博弈性不够等问题.而且有时候交流还会出现一些问题,但总的来说,我们还是从中挖掘了很多可以改进的点,分析了用户的需要,改进了挺多地方的规则的.然后,秉承着从软工课程上学到的,能让用户少点一下,绝不多点一下的类似的

软工2019_MucMuc项目个人总结

MucMuc项目个人总结 1.相关链接 原型界面设计链接 UML设计链接 github项目链接 2.项目个人分工 项目总体的部分设计 后端项目总体构建, 代码实现, 以及测试 阿里云后端服务器的配置和项目部署 3.开发过程 开始 在项目最初的阶段, 整个组对于要做怎样的工作并没有清晰的想法. 不知道如何开始工作, 从何做起, 开发工具为何, 是面临的最大难题. 因为没有任何有对于web开发有经验的成员. 从前后端开发工具的选择上, 到前后端通信的具体流程, 都没有一个较好的认知. 这也直接导致了

软工个人项目WC(Python实现)

一.github地址:https://github.com/1371272989/WC.exe 实现功能: 1.-c:统计字符数: 2.-w:统计单词数: 3.-l:统计行数: 4.-a:统计复杂数据(空行.代码行和注释行): 5.-s:递归处理目录下符合条件的文件: 通配符没有全面,只能辨别后缀. 6.-x:通过图形界面选择文件: 可以通过图形界面选择文件,但输出还是在cmd上显示. 二.PSP PSP Personal Software Process Stages 预估耗时(分钟) 实际耗

软工实践项目课程的自我目标

对实践项目完成后学习到的能力的预期 组长说,攻坚安卓方向,那就希望首先懂得安卓这门语言吧 然后就是了解安卓应用的开发过程吧 对项目课程的期望 但愿难度不要太大,虽然越难越锻炼人,但我还是不希望难 有一定的补救机会就更好了 对项目的愿景规划 不懂,好好学习,天天向上!

软工团队项目之项目选择

项目基础:考试练习系统APP 项目扩展:能让客户坚持每天做题的APP 需求分析:首先,用户会选择这个APP,那么必然有做题的必要和需求,也许是为了即将来临的考试也可能是真的为了做题给自己填补漏洞,那么不管是哪种情况,大量的刷题是免不了的,那么我们这个APP就有了市场需求. 对市面上已有的类似的APP分析:其实在市场上已经有了很多成熟的类似的APP,那么我们所要制作的就必须有我们的特色.传统的考试系统或是练习系统,基本上都是能从数据库中抽取一定量的题,组合成一套试卷,来供用户使用,而在用户提交答案

2017BUAA软工个人项目之数独

1.项目GitHub地址:https://github.com/ZiJiaW/Soduko (由于一开始把sudoku看成了soduko,于是名字建错了,读起来可能有点奇怪-) 2.项目PSP表格如下: PSP2.1 Personal Software Process Stages 预估耗时 实际耗时 Planning 计划 0.5h 0.5h .Estimate .估计这个任务需要多少时间 0.5h 0.5h Development 开发 20.5h 21.5 .Analysis .需求分析(

二、软工个人项目:文本信息统计器

本软件的代码:https://github.com/amekao/SE_work1 界面: 一.需求分析阶段: 需求分析: 总需求:需要用户在cmd运行程序,根据所输入的参数提供对应的计算模式 基本功能: -c -w -l 显示字符数,词数,行数 拓展功能:-a 显示具体行数, -s 可以递归遍历指定目录下的文件 高级功能: -x 弹出界面让用户选择要统计的文本,显示所有的信息 二.设计阶段: 考虑到python语言对文本操作提供了较好的接口,而且文件编码也比较丰富,因此决定使用python来完

软工个人项目(Java实现)

一. Github地址: https://github.com/RuiBingo/PersonalWork 二.个人PSP表格: PSP2.1 PSP阶段 预估耗时(分钟) 实际耗时(分钟) Planning 计划 60 20 · Estimate · 估计这个任务需要多少时间 60 20 Development 开发 1200  1080 · Analysis · 需求分析  120  100 · Design Spec · 生成设计文档  30  30 · Design Review · 设