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

7.3.3 演化模型(原型模型、螺旋模型)

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

演化模型:一轮又一轮地逼近最终系统

演化模型的共同思想是迭代:每一轮解决一部分问题,获得反馈,再进入下一轮,逐步形成更完整的软件版本。它特别适合对需求缺乏准确认识的情况。

模型演化重点
原型模型通过原型帮助用户明确需求
螺旋模型每轮迭代都进行风险分析,控制大型复杂项目风险

原型模型:需求不清时先让用户“看见”

原型模型通常从沟通开始,快速计划、快速设计、构建原型、交付用户评价,再根据反馈进入下一轮。

text
沟通 -> 快速计划 -> 快速设计 -> 构建原型 -> 用户反馈 -> 修改/下一轮

它的核心不是“做一个漂亮界面”,而是用低成本可见物降低沟通偏差。用户常常一开始说不清需求,但看到界面、按钮、菜单和交互后,能更具体地指出“我还需要什么”“这里不符合我的业务”。

原型分类

分类方式类型含义
是否保留抛弃型原型用来探索需求,后续不进入最终系统
是否保留演化型原型初步原型逐步演进,最终成为系统一部分
用途探索型原型探索用户需求,验证需求有效性
用途实验型原型验证方案、算法或技术可行性
用途演化型原型逐步演进,保留到最终产品中

原型模型一般不用于指导代码优化。考试如果看到“系统原型可用于代码优化”,通常要谨慎,它偏离了原型主要用于需求、界面、方案验证的目标。

螺旋模型:瀑布 + 演化 + 风险分析

螺旋模型把瀑布模型的阶段性与演化模型的迭代性结合起来,并引入风险分析。每一圈都是一轮迭代,每轮通常包括:

阶段作用
制定计划明确目标、方案、约束
风险分析识别、评估和处理风险
实施工程开发和验证当前版本
客户评估让客户评价并决定下一轮方向

只要题干强调风险,无论是项目风险、技术风险还是需求风险,优先考虑螺旋模型。课堂说得很干脆:螺旋模型是唯一适合高风险项目的模型,尤其适合庞大、复杂、高风险系统。

原型和螺旋的区别

对比项原型模型螺旋模型
主要矛盾用户需求不明确项目风险高
核心动作快速构造原型,获取反馈每轮进行风险分析
适合规模中小型、需求模糊项目更常见大型复杂高风险项目
考试关键词快速原型、用户反馈、需求澄清风险驱动、螺旋迭代、客户评估

例题

单选
原型模型最适合的场景是:
单选
大型复杂系统存在较高项目风险,开发模型应优先考虑:
单选
关于系统原型的作用,下列说法中较不恰当的是:

自查要点

  1. 演化模型的“迭代”是什么意思?
  2. 原型模型为什么适合需求不明确?
  3. 抛弃型原型和演化型原型有什么区别?
  4. 螺旋模型每一轮包含哪些活动?
  5. 为什么看到“风险”优先想到螺旋模型?