ARTICLE · 1277335
02-软件开发模型(瀑布 原型 螺旋)
02-软件开发模型(瀑布 原型 螺旋)大家好!今天我们继续细说软考高级架构知识点。本节来讲解软件开发模型(瀑布原型 螺旋)的内容 
线性顺序开发,阶段严格串行,上一个阶段全部完成、评审通过,才进入下一个阶段;阶段之间单向流动,像瀑布一样。阶段一般:可行性研究 → 需求分析 → 概要设计 → 详细设计 → 编码实现 → 测试 → 部署交付 → 维护。 核心假设:需求前期稳定、明确,后期不会频繁变更。 
需求不清楚时,先快速搭建一个简易原型,让用户直观看到效果、反馈意见,不断修正需求;基于原型迭代,最终形成正式系统。原型只是用来确认需求、验证交互,不一定是最终产品。 5.两种路线: a)抛弃式原型:原型只用来确认需求,确认后扔掉,重新开发正式系统(主流) b)演化式原型:原型不断打磨、增量改造,直接成长为最终产品 
迭代 + 风险驱动。把项目分成多轮螺旋迭代,每一轮螺旋都包含:制定计划 → 风险分析 → 开发验证 → 用户评审;优先识别、处理高风险点。融合了瀑布的规范、原型的迭代,风险分析是螺旋模型最核心特色。 一轮螺旋 4 个步骤:
非常感谢大家一直以来的支持与陪伴!如果这期内容对你有收获、有帮助,欢迎点赞、关注,持续解锁更多IT架构干货,我们下期再见! 03.软件工程-开发模型上 04.软件工程生命周期开发模型--中篇
1. 瀑布模型(Waterfall Model)
核心思想

实现方法
完整完成当前阶段产出物(需求规格说明书、设计文档等); 组织评审,评审通过、基线固化; 文档作为阶段交付物,传递给下一阶段; 后期发现问题,回溯到前面阶段成本很高。
✅ 优点
结构简单清晰,流程规范,便于管理、计划和跟踪; 文档驱动,每个阶段都有完整产出,可审计; 适合分工,不同角色(需求、设计、开发、测试)各司其职; 基线明确,版本可控。
❌ 缺点
无法适应需求变更,需求改动代价巨大; 用户要等到项目末期才能看到可运行软件,前期无法验证; 风险集中在后期,前期隐藏的缺陷最后才暴露; 迭代能力差,不适合模糊、探索型项目。
使用场景
需求非常明确、稳定,变更极少; 安全、合规要求高,需要严格文档审计:军工、航空、医疗嵌入式、政府大型涉密项目; 短周期、需求确认充分的小型项目。 ❌ 不适合:互联网产品、需求不确定、需要快速试错的项目。
2. 原型模型(Prototype Model)
核心思想

实现方法
和用户沟通,提炼核心疑问点; 使用快速工具(低代码、mock、简易 demo)快速构建原型; 用户评审原型,提出修改意见; 反复修改原型,直到需求达成共识;
✅ 优点
需求模糊场景下,用户可以提前体验、快速反馈; 减少需求理解偏差,避免后期大规模返工; 降低需求风险,沟通更直观; 适合 UI 交互、业务流程不确定的系统。
❌ 缺点
如果管控不好,原型容易直接被当成正式系统交付,代码质量差; 用户容易对原型性能、稳定性产生过高预期; 原型开发容易陷入无休止的需求变更、范围蔓延; 需要额外投入原型开发时间。
使用场景
用户说不清需求、业务流程不明确; 侧重交互界面、业务流程类系统(后台管理、C 端产品、信息化系统); 新产品预研、验证业务可行性。
3. 螺旋模型(Spiral Model)
核心思想

实现方法
计划:确定本轮目标、需求、约束; 风险分析:识别风险、评估风险、制定风险应对方案;风险高就先做原型验证; 开发与验证:开发产品片段(原型 / 版本),测试; 评审:客户、干系人评审,决定是否进入下一轮螺旋。 循环多轮,逐步完善产品,直到交付。
✅ 优点
以风险为核心,高风险项目非常友好,风险提前暴露、提前控制; 支持迭代,允许需求逐步明确; 结合原型验证风险,兼顾规范和灵活性; 适合大型、复杂、高风险项目。
❌ 缺点
复杂度高,要求团队具备很强的风险分析能力; 周期长、成本高; 风险评估本身依赖经验,评估不到位会失效; 管理难度大,小项目用它过重、浪费。
使用场景
大型、复杂、高风险项目; 软件需求、技术方案有很多不确定因素; 大型系统、新项目技术预研 + 开发一体; ❌ 不适合:小型、低风险、需求稳定的简单项目。
对比汇总表
核心驱动 | 核心特点 | 优点 | 缺点 | 适用场景 | |
瀑布模型 | 文档、阶段顺序 | 线性串行,阶段评审,文档基线 | 流程清晰、易管控、文档齐全 | 拒绝变更、后期才看到软件、缺陷发现晚 | 需求稳定、高合规审计、军工 / 航空 |
原型模型 | 需求确认 | 快速造原型,用户反馈迭代,分抛弃 / 演化原型 | 直观确认需求,减少理解偏差 | 容易范围蔓延、原型代码不可用 | 需求模糊、界面交互类产品、业务预研 |
螺旋模型 | 风险驱动 | 多轮循环迭代,每轮都做风险分析 | 优先管控风险,兼顾迭代和规范 | 成本高、管理复杂、依赖风险评估能力 | 大型复杂、高风险、技术不确定项目 |















































































