过程模型(process models)

一、惯用过程模型

力求达到软件开发的结构和秩序,其活动和任务都是按照过程的特定指引顺序进行的。

二、瀑布模型(经典的生命周期)

提供一个系统的、顺序的软件开发方法:
在这里插入图片描述

瀑布模型的变形为 V 模型:

在这里插入图片描述
瀑布模型中遇到的问题

  1. 实际的项目很少遵守瀑布模型提出的顺序。
  2. 客户通常难以清楚地描述所有的需求。
  3. 客户必须要有耐心。

由于任务之间的依赖性,开发团队的一些成员要等待另一些成员工作完成。
瀑布模型的优点

  • 结构简单,强调软件开发过程的阶段性和顺序性
  • 对软件开发管理严格,文档齐全
  • 容易理解和实施
  • 支持推迟实现的观点,尽可能将编码向后推迟。

瀑布模型的缺点

  • 不适应需求经常发生变更的环境
  • 要求项目开始时就能从用户那里得到准确的需求
  • 会导致工作中发生阻塞状态
  • 早期无法大仙缺陷
  • 对于大的项目,用户要等很长时间才能得到最终产品

三、增量过程模型

增量模型综合了线性过程流和并行过程流的特征。
在这里插入图片描述
增量模型优点

  • 整个产品被分解成若干个构件逐步交付,用户可以不断看到所开发软件的可运行中间版本。
  • 将早期增量作为原型有助于明确后期增量的需求
  • 降低开发风险
  • 重要功能被首先交付,从而使得其得到最多的测试

增量模型局限性

  • 需要软件具备开放式的体系结构
  • 需求难以在增量实现之前详细定义,因此增量与需求的准确映射以及所有增量的有效集成可能会比较困难
  • 容易退化为边做边改方式,使软件过程的控制失去整体性

四、演化过程模型

原型开发

使开发者能够逐步开发出更完整的软件版本。
优点
原型系统提供了定义软件需求的一种机制。在原型系统不断调整以满足各种利益相关者需求的过程中,采用迭代技术,同时也使开发者逐步清楚用户需求。
缺点

  • 利益相关者往往会要求对原型稍加修改变为一个可运行的产品,软件开发管理陷入失效。
  • 为了使原型系统快速运行,往往使用折中的手段(如低效算法),结果造成他们成为系统的组成部分。
五、螺旋模型

结合了原型的迭代性质和瀑布模型的可控性和系统性特点。是开发大型系统和软件的很实际的方法。

六、并发模型

并发建模定义了一系列事件,这些事件将触发软件工程活动、动作或者任务的状态转换。
可用于所有类型的软件开发,能够提供精确的项目当前状态图。

发布了176 篇原创文章 · 获赞 46 · 访问量 3万+

猜你喜欢

转载自blog.csdn.net/weixin_43207025/article/details/105327519