一. 项目psp计划
PSP 2.1 | Personal Software Process Stages | Time(hour) |
Planning | 计划 | |
· Estimate | · 估计这个任务需要多少时间 | 2 |
Development | 开发 | |
· Analysis | · 需求分析 (包括学习新技术) | 2 |
· Design Spec | · 生成设计文档 | 1 |
· Design Review | · 设计复审 (和同事审核设计文档) | 1 |
· Coding Standard | · 代码规范 (为目前的开发制定合适的规范) | 1 |
· Design | · 具体设计 | 1 |
· Coding | · 具体编码 | 3 |
· Code Review | · 代码复审 | 1 |
· Test | · 测试(自我测试,修改代码,提交修改) | 1 |
Reporting | 报告 | |
· Test Report | · 测试报告 | 1 |
· Size Measurement | · 计算工作量 | 1 |
· Postmortem & Process Improvement Plan | · 事后总结, 并提出过程改进计划 | 1 |
合计 | 16 |
二.文本格式设计
Subway.txt文本格式设计
站名1 所属线路 序号 是否开通 是否换乘站
站名2 所属线路 序号 是否开通 是否换乘站
…
三.简单概要设计
//初始化地铁线路数据,从文本文件中读取地铁站点
InitSubwayData ();
//获取地铁乘车信息, 出发站depart,到达站destination,将最短线路(乘坐站点最少的方案)输出到routine.txt
主函数调用:
GetSubwayLine(string depart, string destination)
{
//初始化
InitSubwayData();
//查询各种换乘路线,算法计算同一线路站点优先原则
QueryAllLine();
//根据查询出来的换乘路线,计算最优通路
ComputerBestLine(int lineNum);
//输出到routine.txt文本
OutputLine();
}
四.简单测试用例设计
单元测试1:测试InitSubwayData();
测试用例1 预期返回 按文本次序输出所有站点及其信息
测试用例2 修改文本文件格式,测试预期报错信息
单元测试2:测试QueryAllLine();
测试用例1:同一线路出发和到达站 预期返回,起点和终点所有站点及其信息
测试用例2:不同线路出发和到达站,需要1次换乘,预期返回,多条起点和终点所有站点及其信息
测试用例3:不同线路出发和到达站,需要2次换乘,预期返回,多条起点和终点所有站点及其信息
测试用例4:不同线路出发和到达站,需要超过2次换乘,预期返回,多条起点和终点所有站点及其信息
测试用例5:无效出发或者到达站点输入,测试预期报错信息
单元测试3:测试ComputerBestLine(int lineNum)
测试用例1:输入合法线路数量,返回最优路径所有站点及其信息
测试用例2:输入非法线路数量,测试预期报错信息
单元测试4:测试OutputLine();
测试用例1:正常场景,输出routine.txt所有站点及其信息
测试用例2:异常场景,同一目录已经存在routine.txt,文件未打开,测试预期报错信息
测试用例3:异常场景,同一目录已经存在routine.txt,文件已打开,测试预期报错信息