软件工程结对项目——地铁出行路线规划程序

GitHub链接:https://github.com/2016bits/subway

PSP2.1表格

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

性能分析

软件工程结对项目——地铁出行路线规划程序_第1张图片
我们整体的思路是通过广度优先查询来解决这个问题,上图所示的是/a功能(从北京站开始遍历北京地铁)的性能分析图。

算法优化

我们算法优化主要体现在存储路线信息上。刚开始我们采用地铁路线—地铁站这样的存贮模式,但是我们后来发现这样不易于读取文件信息。于是我们就将格式改为地铁站—地铁站数目信息,这样确实可以减少读取时间,但是在遇到环路信息的时候却没有办法解决。我们又想到了用负数表示环路对应的信息,这样一来就完美解决了信息存储的问题。

我的收获

这一次的结对项目让我们收获了很多。从最开始的审题选题到最后的代码复审,我都和我的队友相互监督,共同发现问题解决问题,最终完成了这次项目的要求。这是我们很难忘的一次编程经历,我们不仅在这一次的编程项目中提高了编程能力,还锻炼了团队沟通以及协作能力。

你可能感兴趣的:(软件工程结对项目——地铁出行路线规划程序)