一, 需求分析:
输入北京地铁信息, 然后构建一个图, 当用户输入起始站和目的站后, 输出最短的参考线路, 并给出所需的换乘信息.
二, 设计思路:
1. 选择地铁信息的存储格式, 能让程序更方便地识别路线信息
2. 编辑器选择: IDEA; 语言: java
3. 编写主题程序
4. 算法选择: Dijkstra 或者 Floyd
5. 界面设计: 暂定 Java Swing
6. 测试程序的正确性
三, 相关实现:
(1) 线路信息存储格式:
站点名称 | 线路 | 坐标 | 是否能换乘(1 为是,0 为否) | 是否开通(1 为是,0 为否) |
---|---|---|---|---|
站点 1 | 1 | (1,2) | 1 | 1 |
四, 时间规划:
PSP 2.1 | Personal Software Process Stages | Time(day) |
---|---|---|
Planning | 计划 | |
· Estimate | · 估计这个任务需要多少时间 | 10 |
Development | 开发 | |
· Analysis | · 需求分析 (包括学习新技术) | |
· Design Spec | · 生成设计文档 | |
· Design Review | · 设计复审 (和同事审核设计文档) | |
· Coding Standard | · 代码规范 (为目前的开发制定合适的规范) | |
· Design | · 具体设计 | |
· Coding | · 具体编码 | |
· Code Review | · 代码复审 | |
· Test | · 测试(自我测试,修改代码,提交修改) | |
Reporting | 报告 | |
· Test Report | · 测试报告 | |
· Size Measurement | · 计算工作量 | |
· Postmortem & Process Improvement Plan | · 事后总结, 并提出过程改进计划 | |
合计 |
五, 总结:
这次的个人项目所要实现的方法并不多, 主要难点在数据的存储和导入并且把它转化为有向无权图, 还有算法的实现. 要是时间多的话, 可以新增一些功能, 如: 创建管理员实体, 管理员可以管理地铁站点的开通与否.
来源: http://www.bubuko.com/infodetail-3207220.html