第3章 生存期模型
软件生存期模型特征
- 描述了开发的主要阶段
- 定义了每一个阶段要完成的主要过程和活动
- 规范了每个阶段的输入输出
传统生存期模型
- 瀑布
- V模型
- 原型
- 增量模型
- 渐进式阶段模型
敏捷生存期模型
应对需求变化的挑战,迭代渐进,快速用户反馈
核心价值观
敏捷宣言
- 个体和交互胜过过程和工具
- 可以工作的软件胜过面面俱到的文档
- 客户合作胜过合同谈判
- 响应变化胜过遵循计划
模型
- Scrum
- XP
瀑布模型
- 需求分析
- 设计
- 实施
- 测试
- 维护
适合的项目
项目的需求和解决方案明确,不能变更,如短期项目
V模型
- 瀑布模型的变种,单方向执行
- 强调了测试等对应关系
适合的项目
项目的需求和解决方案明确,不能变更,对系统的性能,安全有严格要求
原型模型
- 需求分析
- 原型设计
- 原型评价
- 最终系统设计
- 最终系统评价
适合项目
- 项目需求不明确
增量模型
不是一次明确需求,而是分增量开发
适合项目
- 明确了需求的大部分,但需求可能会发生变化
- 对于市场和用户把握不是很准,需要逐步了解
- 对于有庞大和复杂功能的系统进行功能改进,就需要一步一步实施的
也即:变化市场复杂
渐进式阶段模型(渐进式迭代模型)
特点: 渐进式前进,阶段式提交
举例:微软操作系统版本
RUP阶段模型
特点
- 阶段式提交一个可运行的产品
- 关键的功能更早出现
- 早期预警问题,避免软件缺陷不知不觉的增长
- 减少报告负担
- 阶段性完成可以降低估计失误
- 阶段性完成均衡了弹性与效率
适合项目
可以适合任何规模的项目,主要是中型或大型项目,希望随时看到未来的项目
Scrum
- 双层计划(远期计划+近期),远粗近细
一个冲刺订单对应一个迭代(2-4周),对每个任务要详细计算 每个迭代完成后一定有可运行的产品
四个会议
- 每日站立会议
- 每天都要产生燃尽图,目前还剩余的任务
- 冲刺规划会议
- 冲刺复审会议
- 冲刺回顾会议
XP 极限编程
应对需求和开发一致性
提出了十三个实践,分三个层次
- 整体实践,4个
- 开发团队实践,5个
- 开发者实践,4个
原则
- 快速反馈
- 假设简单
- 包容变化
选择生存期模型的步骤
- 熟悉各种生存期模型
- 评审、分析项目的特性
- 选择适合项目的生存期模型
- 标识生存期模型与项目不一致地方,并进行裁减