第3章生存期模型

第3章 生存期模型

软件生存期模型特征

  1. 描述了开发的主要阶段
  2. 定义了每一个阶段要完成的主要过程和活动
  3. 规范了每个阶段的输入输出

传统生存期模型

  1. 瀑布
  2. V模型
  3. 原型
  4. 增量模型
  5. 渐进式阶段模型

敏捷生存期模型

应对需求变化的挑战,迭代渐进,快速用户反馈

核心价值观

敏捷宣言

  1. 个体和交互胜过过程和工具
  2. 可以工作的软件胜过面面俱到的文档
  3. 客户合作胜过合同谈判
  4. 响应变化胜过遵循计划

模型

  1. Scrum
  2. XP

瀑布模型

  1. 需求分析
  2. 设计
  3. 实施
  4. 测试
  5. 维护

适合的项目

项目的需求和解决方案明确,不能变更,如短期项目

V模型

适合的项目

项目的需求和解决方案明确,不能变更,对系统的性能,安全有严格要求

原型模型

  1. 需求分析
  2. 原型设计
  3. 原型评价
  4. 最终系统设计
  5. 最终系统评价

适合项目

  1. 项目需求不明确

增量模型

不是一次明确需求,而是分增量开发

适合项目

也即:变化市场复杂

渐进式阶段模型(渐进式迭代模型)

特点: 渐进式前进,阶段式提交

举例:微软操作系统版本

RUP阶段模型

特点

  1. 阶段式提交一个可运行的产品
  2. 关键的功能更早出现
  3. 早期预警问题,避免软件缺陷不知不觉的增长
  4. 减少报告负担
  5. 阶段性完成可以降低估计失误
  6. 阶段性完成均衡了弹性与效率

适合项目

可以适合任何规模的项目,主要是中型或大型项目,希望随时看到未来的项目

Scrum

一个冲刺订单对应一个迭代(2-4周),对每个任务要详细计算 每个迭代完成后一定有可运行的产品

四个会议

  1. 每日站立会议
    1. 每天都要产生燃尽图,目前还剩余的任务
  2. 冲刺规划会议
  3. 冲刺复审会议
  4. 冲刺回顾会议

XP 极限编程

应对需求和开发一致性

提出了十三个实践,分三个层次

  1. 整体实践,4个
  2. 开发团队实践,5个
  3. 开发者实践,4个

原则

  1. 快速反馈
  2. 假设简单
  3. 包容变化

选择生存期模型的步骤

  1. 熟悉各种生存期模型
  2. 评审、分析项目的特性
  3. 选择适合项目的生存期模型
  4. 标识生存期模型与项目不一致地方,并进行裁减