Skip to content
难度重点
建议时长45分钟

7.3.4 增量模型

本课核心知识点整理
本课核心知识点手绘流程图(SVG)

增量模型:先交付核心,再逐步扩展

增量模型把整个系统划分成多个增量,每个增量都有自己的分析、设计、编码和测试过程。它既有瀑布模型的阶段思想,也有演化模型的迭代思想。

课堂强调一个关键点:通常把核心产品作为第一个增量来开发。后续每一轮都在已有核心增量基础上增加新功能。

核心增量为什么重要

原因解释
用户最早使用第一个增量完成后就能交付可使用版本
接受最多测试后续每一轮迭代都会继续使用和验证核心增量
满足二八原则用户最常用的 20% 功能通常决定主要体验
稳定性最高核心功能被反复使用、反馈和修正

这就是增量模型相对一次性交付的优势:用户不必等完整系统全部完成,就能先用上最重要的部分。

增量模型的过程

text
核心增量 -> 可交付版本 1
核心增量 + 新增量 A -> 可交付版本 2
核心增量 + 新增量 A + 新增量 B -> 可交付版本 3
...
最终形成完整系统

每一轮都产生可交付、可运行的版本,这是增量模型的题眼。

优点和难点

优点说明
较早交付可用系统第一个增量完成后用户就能使用
便于获得反馈用户使用早期版本后可帮助发现后续需求
核心功能更稳定核心增量经历最多使用和测试
风险分散不必把所有功能压到最后一次交付
难点说明
增量划分困难哪些功能属于核心、哪些放后续,需要准确判断
模块划分困难功能依赖关系不清会导致后续集成复杂
架构要有扩展性早期核心若设计不稳,会拖累后续增量

课堂题中特别提到:“增量模型有利于进行好的模块划分”这种说法不恰当,因为增量模型的难点恰恰在模块和增量划分。

增量、原型、敏捷的边界

概念核心目的
原型模型澄清需求,让用户看见和反馈
增量模型分批交付可用功能,核心功能先上线
敏捷方法小步快跑、客户协作、持续响应变化

三者都可能迭代,但考点不同:原型看需求,增量看交付,敏捷看协作与变化。

例题

单选
先交付核心功能,以后每轮增加新的可用功能,属于:
单选
关于增量模型,下列说法中较不恰当的是:

自查要点

  1. 增量模型为什么说结合了瀑布和演化思想?
  2. 核心增量为什么应先开发?
  3. 增量模型每一轮是否应产生可交付版本?
  4. 增量模型最难的划分工作是什么?
  5. 增量模型和原型模型最关键的区别是什么?