PSP2.1 |
任务内容 |
计划完成需要的时间(min) |
实际完成需要的时间(min) |
Planning |
计划 |
45 |
40 |
Estimate |
估计这个任务需要多少时间,并规划大致工作步骤 |
30 |
20 |
Development |
开发 |
1000 |
1300 |
Analysis |
需求分析 (包括学习新技术) |
60 |
90 |
Design Spec |
生成设计文档 |
30 |
- |
Design Review |
设计复审 (和同事审核设计文档) |
10 |
- |
Coding Standard |
代码规范 (为目前的开发制定合适的规范) |
40 |
40 |
Design |
具体设计 |
60 |
80 |
Coding |
具体编码 |
400 |
500 |
Code Review |
代码复审 |
30 |
30 |
est |
测试(自我测试,修改代码,提交修改) |
350 |
500 |
Reporting |
报告 |
420 |
480 |
Test Report |
测试报告 |
360 |
370 |
Size Measurement |
计算工作量 |
30 |
- |
Postmortem & Process Improvement Plan |
事后总结 ,并提出过程改进计划 |
60 |
80 |
Summary |
合计 |
1465 |
1820 |
- 项目完成后才把最终版的PSP表格放出来,好的做法应该是先贴出来然后实时更新(一天更新一次)
- 在实践过程中发现计划和需求分析(包含新技术的学习)非常重要,尤其是需求分析,因为新技术的学习很有可能可以使你起到事半功倍的效果。拿这次个人项目举例,如果提前调研一下C++的相关技术(STL),可以使代码的简洁程度和效率都提升很多。因为使用c语言编写,很多与字符串有关的处理函数需要自己编写(比如字符串分割等),而且C++中有现成的STL(MAP)可以调用,C的话则需要自己编写树的相关实现函数。
- 总而言之,很有必要认真学习一下C++