软件工程个人项目
- 耗费的时间。
PSP 2.1
Personal Software Process Stages
Time(Plan)
Time(Actual)
Planning
计划
· Estimate
· 估计这个任务需要多少时间
1min
1min
Development
开发
· Analysis
· 需求分析 (包括学习新技术)
3h
3h
· Design Spec
· 生成设计文档
15min
15min
· Design Review
· 设计复审 (和同事审核设计文档)
0
0
· Coding Standard
· 代码规范 (为目前的开发制定合适的规范)
0
0
· Design
· 具体设计
30min
3h
· Coding
· 具体编码
4h
5h
· Code Review
· 代码复审
2h
2h
· Test
· 测试(自我测试,修改代码,提交修改)
2h
2h
Reporting
报告
· Test Report
· 测试报告
2h
2h
· Size Measurement
· 计算工作量
2h
2h
· Postmortem & Process Improvement Plan
· 事后总结, 并提出过程改进计划
1h
1h
合计
16h
20h
- 程序改进及性能分析
为了对每种询问都达到最高的效率,-b采用纯粹的dfs,效率为O(n);-c将不同线的同一站分开,中间连长度为(1, 0)的边,其他相邻站之间连(0, 1)的边,然后采用dijkstra算法即可,效率为O(nlogn);-a的策略为从当前点出发选择一个没有走过的点,走最短路到达目标点,选点时显然 不应选择当前点与目标点之间还有其他未选点的点,即记当前点为v,目标点为u,则对于任意一个未选点x(x != v && x != u)有dis[v][x] + dis[x][u] > dis[v][u],若按这样的选点方案一定能算出正解但复杂度过高。采用一种近似的优化即选择距当前点最近的未选点,若有多个同样距离的未选点则依次选 择进行bfs。这样完全算完的复杂度依旧较高,于是限制搜索次数,最终的计算结果为:12s:长度为449的环,196s:长度为445的 环,2988s:长度为443的环。于是限制到找到445的环后则结束搜索。
以下为-c的性能分析结果:
- 测试
-b 知春路 王府井
-c 知春路 王府井
-c 2号航站楼 3号航站楼
-b 车公庄 积水潭
-c 育新 回龙观
-b 西直门 鼓楼大街
-c 西直门 鼓楼大街
-b 南邵 亦庄火车站
-c 南邵 亦庄火车站
-a 沙河 - 个人项目中学到了什么
如何使用VS