一、开发环境
IDEA(java)
二、需求分析
-
设计简单UI界面(Java Swing)
-
用户可以自行选择起点、终点的地铁线路和对应的站点
-
用户选择后后台返回一个或多个方案
三、设计思路
-
启动程序读取地铁站点和线路信息文件"subway.txt",并将站点和线路信息储存在有向图中
-
根据用户的选择输入起点终点等参数
-
UI界面提供地铁线路、起始站点和目的站点的选择
-
通过最短路径算法求解最优的出行线路(采用Dijkstra算法或Floyd算法),将结果输出到一个txt文件
-
测试优化
四、项目计划
| 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 所属线路 序号 是否开通 是否换乘站
posted on
浙公网安备 33010602011771号