常用软件过程模型

38 阅读3分钟

瀑布模型

在这里插入图片描述

特点

  1. 阶段具有顺序性和依赖性
  2. 推迟实现观点
  3. 质量保证观点

优点

提高软件质量, 降低维护成本, 缓解软件危机

缺点

模型缺乏灵活性, 无法解决需求不明确的问题。用户不经过实践提出完整准确需求不切实际

快速原型模型

快速建立反映用户主要需求的原型系统,反复由用户评价修正需求,开发出最终产品。 在这里插入图片描述

优点

  1. 确定需求上优于瀑布模型(通过原型与用户交互);
  2. 提供学习手段,通过开发模型和演示原型对开发者和使用者了解系统都有积极作用;
  3. 有的软件原型可以成为最终产品的一部分。

缺点

  1. 快速建立的系统结构加连续修改可能导致产品质量低下
  2. 原型系统的内部结构可能不好

增量模型

又称渐增模型,开发软件时将软件产品作一系列增量构件设计、编码、集成和测试。 在这里插入图片描述

区别于瀑布和快速原型模型:

  1. 瀑布和快速原型模型是一次把满足所有需求产品提交给用户。
  2. 增量模型是分批向用户提交产品

优点

  1. 较短时间向用户提交可完成有用工作产品;
  2. 用户有充裕时间学习适应产品
  3. 软件结构必须开放,方便向现有产品加入新构件

螺旋模型

加入风险分析,常指导大型软件项目

  • 软件风险:
  • 超期、超预算、行业竞争等

笛卡尔坐标四象限表达四方面活动:

  • 制定计划
  • 风险分析
  • 实施工程
  • 客户评估 螺线自内向外每旋转一圈开发出更完善新版本。 在这里插入图片描述

优点: 大型软件开发项目有较好的风险控制

缺点:

  1. 需要风险评估的经验
  2. 契约开发通常需要事先指定过程模型和发布产品
  3. 普及不如前述模型

喷泉模型

面向对象声明周期模型,体现迭代和无缝特性。

迭代: 求精,系统某部分常被重复工作多次,相关功能在每次迭代中逐渐加入演进系统。 在这里插入图片描述

优点: 无缝,可同步开发,提高开发效率,节省开发时间,适应面向对象软件。

缺点: 可能随时加各种信息、需求与资料,需严格管理文档,审核的难度加大。

Rational统一过程模型

该过程强调以迭代和渐增方式开发软件。

Rational统一过程是一个二维声明周期模型。

在这里插入图片描述

Rational统一过程是一个二维声明周期模型。

RUP有九个核心工作流,包括6个核心过程工作流和3个核心支持工作流.

RUP有4个连续阶段,每个阶段有明确目标,通过一次或多次迭代完成.

优点:

  1. 不断的版本发布成为一种团队日常工作的真正驱动力
  2. 将发现问题、制定方案和解决过程集成到下一次迭代
  3. 迭代开发, 降低风险
  4. 更好地安排产品开发地辅助过程