软件过程与管理课程总结——从PSP到CMMI——大三博客系列(五)
软件过程与管理课程总结——从PSP到CMMI——大三博客系列(五)
课程概览
这学期修了《软件过程与管理》,20个PPT啃下来,覆盖了从个人级到组织级的软件过程改进方法论。这篇博客做一次系统性梳理。
知识体系图谱
PSP(个人软件过程)
面向个人的过程改进框架,核心是度量驱动: - 时间记录:计划时间 vs 实际时间 - 缺陷记录:引入阶段、修复阶段、缺陷类型 - 规模估算:PROBE方法(Proxy Based Estimating)
TSP(团队软件过程)
PSP的团队级延伸,强调: - 团队角色分工(组长、计划经理、质量经理等) - 团队启动过程(TSP Launch) - 团队质量管理和沟通计划
RUP(Rational统一过程)
用例驱动、架构为中心、迭代和增量的商业过程框架: - 4个阶段:初始→细化→构造→移交 - 9个核心工作流(6个工程+3个支持) - 核心思想:迭代开发 + 持续集成 + 风险管理
CMM/CMMI(能力成熟度模型集成)
组织级过程改进模型,5个成熟度等级: 1. 初始级:过程无序,成功依赖个人英雄 2. 已管理级:项目级过程管理,有计划和跟踪 3. 已定义级:组织级标准过程,裁剪使用 4. 定量管理级:过程度量+统计控制,可预测 5. 优化级:持续改进,缺陷预防,技术革新
CMMI关键过程域(PA)举例: - 需求管理(REQM) - 项目策划(PP) - 配置管理(CM) - 过程与产品质量保证(PPQA)
敏捷开发
对比传统重型过程,强调: - 个体和互动 > 过程和工具 - 工作软件 > 详尽文档 - 客户合作 > 合同谈判 - 响应变化 > 遵循计划
Scrum三角色(PO/SM/Team)、四个会议(计划会/站会/评审会/回顾会)、三个制品(Product Backlog/Sprint Backlog/增量)。
关键模型
COCOMO II 估算模型
Effort = A × (Size)^B × Π(EM_i)
- Size:代码规模(KSLOC)
- B:规模指数因子(含5个比例因子)
- EM_i:17个工作量乘数(产品/平台/人员/项目四类)
- 三个层次:应用组装 → 早期设计 → 后体系结构
白盒测试方法
| 方法 | 覆盖标准 | 示例 |
|---|---|---|
| 语句覆盖 | 每条语句至少执行一次 | 最基本 |
| 判定覆盖 | 每个判定的True/False都执行 | 比语句覆盖强 |
| 条件覆盖 | 每个条件的True/False都执行 | 关注原子条件 |
| 路径覆盖 | 每条可能路径都执行 | 最强但组合爆炸 |
项目进度管理
关键路径法(CPM): - 计算最早开始(ES)/最早完成(EF)/最晚开始(LS)/最晚完成(LF) - 总时差 = LS - ES,总时差为0的活动构成关键路径 - PERT三点估算:期望工期 = (乐观+4×最可能+悲观)/6
个人体会
这门课最有价值的不是记住CMMI的5个等级或者Scrum的3个角色,而是建立了一种工程化思维:
- 度量意识:没有数据就没有管理,先度量再改进
- 过程思维:结果不好先看过程,别只盯着人
- 迭代心态:先交付能用的,再持续打磨
- 风险意识:软件工程的本质是管理复杂性带来的不确定性
实际做ERP项目和LiteMall测试时,这些概念就不再是课本上的抽象名词了——比如功能测试阶段不自觉就按PSP习惯记录了缺陷数据,ERP开发的迭代过程也暗合了RUP的演进式开发理念。
大三博客系列完结。

浙公网安备 33010602011771号