7.3.4 增量模型
本课核心知识点整理
增量模型:先交付核心,再逐步扩展
增量模型把整个系统划分成多个增量,每个增量都有自己的分析、设计、编码和测试过程。它既有瀑布模型的阶段思想,也有演化模型的迭代思想。
课堂强调一个关键点:通常把核心产品作为第一个增量来开发。后续每一轮都在已有核心增量基础上增加新功能。
核心增量为什么重要
| 原因 | 解释 |
|---|---|
| 用户最早使用 | 第一个增量完成后就能交付可使用版本 |
| 接受最多测试 | 后续每一轮迭代都会继续使用和验证核心增量 |
| 满足二八原则 | 用户最常用的 20% 功能通常决定主要体验 |
| 稳定性最高 | 核心功能被反复使用、反馈和修正 |
这就是增量模型相对一次性交付的优势:用户不必等完整系统全部完成,就能先用上最重要的部分。
增量模型的过程
text
核心增量 -> 可交付版本 1
核心增量 + 新增量 A -> 可交付版本 2
核心增量 + 新增量 A + 新增量 B -> 可交付版本 3
...
最终形成完整系统每一轮都产生可交付、可运行的版本,这是增量模型的题眼。
优点和难点
| 优点 | 说明 |
|---|---|
| 较早交付可用系统 | 第一个增量完成后用户就能使用 |
| 便于获得反馈 | 用户使用早期版本后可帮助发现后续需求 |
| 核心功能更稳定 | 核心增量经历最多使用和测试 |
| 风险分散 | 不必把所有功能压到最后一次交付 |
| 难点 | 说明 |
|---|---|
| 增量划分困难 | 哪些功能属于核心、哪些放后续,需要准确判断 |
| 模块划分困难 | 功能依赖关系不清会导致后续集成复杂 |
| 架构要有扩展性 | 早期核心若设计不稳,会拖累后续增量 |
课堂题中特别提到:“增量模型有利于进行好的模块划分”这种说法不恰当,因为增量模型的难点恰恰在模块和增量划分。
增量、原型、敏捷的边界
| 概念 | 核心目的 |
|---|---|
| 原型模型 | 澄清需求,让用户看见和反馈 |
| 增量模型 | 分批交付可用功能,核心功能先上线 |
| 敏捷方法 | 小步快跑、客户协作、持续响应变化 |
三者都可能迭代,但考点不同:原型看需求,增量看交付,敏捷看协作与变化。
例题
先交付核心功能,以后每轮增加新的可用功能,属于:
关于增量模型,下列说法中较不恰当的是:
自查要点
- 增量模型为什么说结合了瀑布和演化思想?
- 核心增量为什么应先开发?
- 增量模型每一轮是否应产生可交付版本?
- 增量模型最难的划分工作是什么?
- 增量模型和原型模型最关键的区别是什么?