瀑布模型 |
线性顺序、文档驱动、阶段严格隔离 |
需求分析 → 系统设计 → 编码实现 → 测试验证 → 部署维护 |
需求冻结、设计评审、阶段验收 |
需求稳定(>90%)、合规严格领域(军工/医疗) |
前期架构冻结(BDUF),变更成本指数增长 |
V模型 |
验证-确认双向强化、测试层级化 |
用户需求 ⇄ 验收测试 系统设计 ⇄ 系统测试 详细设计 ⇄ 集成测试 编码 ⇄ 单元测试 |
需求追踪矩阵、测试用例早期设计 |
安全关键系统(汽车电子EN 50128/航天DO-178C) |
架构可测试性设计,需求-实现双向追溯 |
增量模型 |
分批次交付、模块化开发 |
核心架构设计 → 增量1开发 → 增量1交付 → 增量2开发 → 完整系统 |
功能模块划分、接口标准化、增量集成测试 |
可模块化系统(电商/银行核心) |
松耦合架构设计(微内核模式),接口契约优先 |
螺旋模型 |
风险驱动、四象限迭代 |
目标设定 → 风险评估 → 开发验证 → 计划评审 → 下一循环 |
风险原型(POC)、可行性分析、风险缓解策略 |
高风险创新项目(区块链/航天控制) |
架构风险早期验证,容错设计强化 |
迭代模型 |
渐进式逼近、反馈驱动 |
初始版本构建 → 用户反馈 → 架构调整 → 增强版本开发 → 最终交付 |
快速原型、用户验证、架构重构 |
需求模糊领域(AI平台/创新产品) |
架构持续演进,防腐层设计 |
Scrum |
时间盒迭代、自组织团队 |
产品待办列表梳理 → Sprint计划 → 每日站会 → Sprint评审 → 回顾改进 |
故事点估算、任务板管理、增量演示 |
需求快速变化(互联网应用) |
演进式架构,持续重构机制 |
极限编程(XP) |
工程实践极致化、反馈高频化 |
用户故事 → TDD开发 → 结对编程 → CI集成 → 小版本发布 → 客户验收 |
测试驱动开发、持续集成、代码集体所有权 |
高质量要求的SaaS产品 |
简单设计(YAGNI原则),自动化测试覆盖 |
统一过程(RUP) |
用例驱动、架构中心、阶段精细化 |
初始(愿景)→ 细化(架构基线)→ 构建(增量开发)→ 移交(部署优化) |
架构原型、用例建模、迭代计划 |
大型企业系统(金融核心/ERP) |
架构基线早期固化,4+1视图规范 |
基于构件(CBD) |
复用优先、接口标准化 |
领域分析 → 构件识别 → 构件开发/采购 → 系统组装 → 集成测试 |
构件库管理、接口契约定义、组装测试 |
企业级软件(电信计费/政务系统) |
面向服务架构(SOA),构件粒度设计 |
DevOps |
开发运维一体化、自动化流水线 |
代码提交 → CI构建 → 自动化测试 → 安全扫描 → CD部署 → 生产监控 → 反馈优化 |
基础设施即代码(IaC)、蓝绿部署、日志分析 |
云原生微服务系统(容器化应用) |
不可变基础设施,流水线即产品 |
GitOps |
声明式配置、版本控制驱动 |
Git提交变更 → CI验证 → 集群自动同步 → 漂移检测 → 审计追溯 |
环境即代码、配置漂移修复、版本回滚 |
Kubernetes环境(云平台管理) |
架构配置版本化,环境一致性保障 |
混合模型 |
定制化组合、取长补短 |
例:RUP阶段框架 + Scrum迭代管理 + DevOps自动化流水线 |
过程裁剪、工具链集成、度量统一 |
复杂企业系统(金融科技平台) |
架构决策与过程模型动态适配 |