flowchart LR A[螺旋模型] --> B[瀑布模型] B --> C[增量模型]
原型模型
分类
- 抛弃型
- 演化型
阶段
- 原型开发阶段
- 目标软件开发阶段
瀑布模型
将软件生命周期的各个活动规定为线性顺序链接的若干阶段
特点
严格区分阶段,每个阶段因果关系紧密,只适合需求明确的项目
缺点
软件需求完整性、正确性难确定 严格串行化,很长时间看的结果
增量模型
融合瀑布模型和原型实现的迭代,可以有多个版本的发布,核心功能最先完成。
螺旋模型
特点
快速迭代 + 瀑布模型,引入风险分析。它是由制定计划、风险分析、实施工程、客户评估这一循环组成
V模型和W模型
特点
V模型强调测试贯穿项目始终,而不是集中在测试阶段 W 模型强调测试和开发并行
快速应用开发(RAD)
特点
是瀑布模型的高速变种,强调极短的开发周期
过程
业务建模 - 数据建模 - 过程建模 - 应用生成 - 测试与交付
构件组装模型
优点
- 易扩展
- 易重用
- 降低成本
- 安排任务灵活
缺点
- 设计需要经验丰富架构师
- 设计不好的构件难重用
统一过程
特点
用例驱动、以架构为中、迭代和增量
阶段
- 构思阶段:定义最终产品视图和业务模型
- 细化阶段:设计及确定系统架构
- 构造阶段:开发测试
- 移交阶段
敏捷开发
特点
以人为核心、迭代、循序渐进的开发方法,有小步快跑的思想
极限编程(XP)
- 沟通
- 简单
- 反馈
- 勇气