瀑布模型
特点
- 阶段具有顺序性和依赖性
- 推迟实现观点
- 质量保证观点
优点
提高软件质量, 降低维护成本, 缓解软件危机
缺点
模型缺乏灵活性, 无法解决需求不明确的问题。用户不经过实践提出完整准确需求不切实际
快速原型模型
快速建立反映用户主要需求的原型系统,反复由用户评价修正需求,开发出最终产品。
优点
- 确定需求上优于瀑布模型(通过原型与用户交互);
- 提供学习手段,通过开发模型和演示原型对开发者和使用者了解系统都有积极作用;
- 有的软件原型可以成为最终产品的一部分。
缺点
- 快速建立的系统结构加连续修改可能导致产品质量低下
- 原型系统的内部结构可能不好
增量模型
又称渐增模型,开发软件时将软件产品作一系列增量构件设计、编码、集成和测试。
区别于瀑布和快速原型模型:
- 瀑布和快速原型模型是一次把满足所有需求产品提交给用户。
- 增量模型是分批向用户提交产品
优点
- 较短时间向用户提交可完成有用工作产品;
- 用户有充裕时间学习适应产品
- 软件结构必须开放,方便向现有产品加入新构件
螺旋模型
加入风险分析,常指导大型软件项目
- 软件风险:
- 超期、超预算、行业竞争等
笛卡尔坐标四象限表达四方面活动:
- 制定计划
- 风险分析
- 实施工程
- 客户评估
螺线自内向外每旋转一圈开发出更完善新版本。
优点
:
大型软件开发项目有较好的风险控制
缺点
:
- 需要风险评估的经验
- 契约开发通常需要事先指定过程模型和发布产品
- 普及不如前述模型
喷泉模型
面向对象声明周期模型,体现迭代和无缝特性。
迭代
:
求精,系统某部分常被重复工作多次,相关功能在每次迭代中逐渐加入演进系统。
优点
:
无缝,可同步开发,提高开发效率,节省开发时间,适应面向对象软件。
缺点
:
可能随时加各种信息、需求与资料,需严格管理文档,审核的难度加大。
Rational统一过程模型
该过程强调以迭代和渐增方式开发软件。
Rational统一过程是一个二维声明周期模型。
Rational统一过程是一个二维声明周期模型。
RUP有九个核心工作流,包括6个核心过程工作流和3个核心支持工作流.
RUP有4个连续阶段,每个阶段有明确目标,通过一次或多次迭代完成.
优点
:
- 不断的版本发布成为一种团队日常工作的真正驱动力
- 将发现问题、制定方案和解决过程集成到下一次迭代
- 迭代开发, 降低风险
- 更好地安排产品开发地辅助过程