软件工程复习-开发模型(1)

我只是一个虾纸丫 提交于 2020-02-28 15:23:29

瀑布模型

瀑布模型
特点:线性结构,由前至后,互相连接,逐级下落。
优点:易于理解,阶段清晰,便于管理跟踪控制。
不足:早期阶段要求用户需求明确完整,开发过程可逆性差,开发过程中的问题容易累积扩散。各个阶段的划分是完全固定的,因此需要大量的文档(也有一种说法,该模型是由文档来驱动的),工作量大。
适用范围

  1. 开发过程中需求变化小或者无变化。
  2. 开发环境稳定。
  3. 低风险项目。

快速原型模型

原型模型
特点:快速构建可执行版本,实现用户部分需求,在用户进行试用后,根据该版本来提出修改意见或者变更需求,根据新的需求再进行开发。
优点:容易适应需求的变化,降低开发风险。
不足:在该模型中,每次开发的版本一旦确定了用户需求,该版本往往会被抛弃不用,因此快速开发原型软件是开发的重点。
适用范围

  1. 需求不明确。
  2. 用户容易变更需求。

增量模型

在这里插入图片描述
特点:以线性开发的方式完成第一构件(增量),在第一增量中,完成软件最核心的功能,并进行测试交付,完成第一构件后,再在原软件基础上,根据需求进行改进开发,交付下一版本(下一增量)。在该模型的开发过程中,要特别注意接口的定义,以便后续版本对此进行更改拓展。
优点

  1. 短时间内可以向客户交付具有核心功能的产品。
  2. 在后续增量中可以逐步增加功能来完善产品交付客户,降低了开发风险。
  3. 开放性的结构可维护性更好。

不足:

  1. 容易退化为边做边改模型,软件控制过程失去整体性。(即软件结构越改越糟)
  2. 在增量中,可能会出现和之前相交部分,从而出现冲突或者冗余。

适用范围

  1. 系统易于拆分
  2. 开发人员少
  3. 比较适用于商业软件

螺旋模型

螺旋模型
特点:重视风险分析,渐进式开发,开发过程分为几个螺旋周期,每个周期与呈线性结构,分为4个工作步骤:

  1. 制定计划。分析需求,确定目标,明确开发限制条件。
  2. 风险分析。分析方案的风险,并消除风险。
  3. 实施工程。进行软件开发。
  4. 用户评估。用户对现阶段开发工作进行评价,提出修改建议,并建立下一周期的开发计划。

优点:该模型开发过程以风险驱动,强调风险分析。且设计上较于瀑布模型更加灵活,可以在项目的各个阶段进行更改。客户参与每个阶段开发的评估,使项目开发过程的可控性更强。
不足

  1. 建设周期长,可能会出现开发完成后,与当前技术水平相差较大的情况。
  2. 这种模式强调风险风险,而要求多数客户相信风险风险并作出相关反应并不容易。
  3. 对开发人员寻找风险和分析解决风险的要求高。

适用范围: 庞大,复杂且高风险系统的开发。


喷泉模型

喷泉模型
特点:以用户需求为动力,对象为驱动的模型,在该模式中,因为是以对象为主体,因此各个活动没有明显的便捷,软件的某个部分常常被重复工作多次,相关对象在每次迭代中最值加入渐进的软件成分。
优点:各个阶段之间没有明显的界限,因此开发可以同步进行,提高开发效率,节省开发时间。
不足:开发过程中人员需求量大,不便于项目管理,文档管理严格,审核难度加大。
适用范围:面向对象的软件开发过程。

易学教程内所有资源均来自网络或用户发布的内容,如有违反法律规定的内容欢迎反馈
该文章没有解决你所遇到的问题?点击提问,说说你的问题,让更多的人一起探讨吧!