软工结对项目——地铁

该项目实现了地铁线路查询及遍历功能,采用广度优先搜索算法,支持从A站到B站路径输出及遍历所有地铁站。还提供了GUI图形界面显示路径,包括北京和上海地铁地图。在开发中解决了中文输入输出、cmd控制台输出等问题,并进行了功能测试与错误修复。
摘要由CSDN通过智能技术生成

软工结对项目——地铁

一、项目地址

Github项目地址:https://github.com/gcrth/subway

二、PSP表格

PSP2.1 Personal Software Process Stages 预估耗时(分钟) 实际耗时(分钟)
Planning 计划
· Estimate · 估计这个任务需要多少时间 90 90
Development 开发
· Analysis · 需求分析(包括学习新技术) 100 120
· Design Spec · 生成设计文档 90 100
· Design Review · 设计复审(和同事审核设计文档) 0 0
· Coding Standard · 代码规范(为目前的开发指定合适的规范) 60 50
· Design · 具体设计 120 200
· Coding · 具体编码 4000 5200
· Code Review · 代码复审 120 120
· Test · 测试(自我测试,修改代码,提交修改) 120 200
Reporting 报告
· Test Report · 测试报告 120 120
· Size Measurement · 计算工作量 60 50
· Postmortem &Process Improvement Plan · 事后总结,并提出过程改进计划 60 120
合计 4940 6370

三、解题思路描述

3.1 功能说明

根据题意分析,我们最终决定实现以下功能,详细请见下表。

输入 功能描述
subway.exe /beijing /a 知春路 输出从知春路出发遍历所有地铁站,再回到知春路途中所经过的站数以及站名
subway.exe /beijing /a 知春路 /adv 输出从知春路出发遍历所有地铁站,再回到知春路途中所经过的站名,以及换乘站等价换算后的站数
subway.exe /beijing /b 知春路 中关村 输出从知春路到中关村两站途径的站数以及站名
subway.exe /beijing /b 知春路 中关村 /adv 输出从知春路到中关村两站途径的站名,以及换乘站等价换算后的站数
subway.exe /beijing /c 1号线 输出该线路上所有的地铁站名
subway.exe /beijing /g 知春路 在地图上标出从知春路出发遍历所有地铁站的路径
subway.exe /beijing /g 知春路 /adv 在地图上标出从知春路出发遍历所有地铁站的路径
subway.exe /beijing /k 知春路 中关村 输出从知春路到中关村两站途径的站数以及站名,并在地图上标出路径
subway.exe /beijing /k 知春路 中关村 /adv 输出从知春路到中关村两站途径的站名,以及换乘站等价换算后的站数,并在地图上标出路径
subway.exe /beijing /z test.txt 测试/a参数的输出是否正确

3.2 实现找到两站之间的路径

为了能找到两站之间的路径,我们计划采用广度搜索的算法,详细过程如下。
在这里插入图片描述

3.3 实现遍历所有地铁站

从当前结点开始,寻找最近的未访问的点,转移当前结点位置,再次寻找最近的未访问的点。
寻找最近的未访问的点采用广搜,方法与上面的类似,在此不再过多描述。

3.4 GUI图形界面输出路径

提前准备好地图和坐标,按照输出站的顺序找到对应的地铁站坐标进行标记,两站之间用直线标出路径。

四、设计实现过程

4.1 类的展示以及说明

为了实现以上功能,根据题意,我们从中找到了和抽象出了以下几个重要的类。
在这里插入图片描述

下面的表格是对上述各个类的补充说明。

4.2 输入参数

为了能够实现题目中的功能,我们对于输入的参数做了重新的规定,规定如下:
第一个参数是可执行文件名subway.exe,不可更改,必选项&#x

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值