瀑布模型也称软件生存周期模型。
优点:
它在软件工程中占有重要地位,它提供了软件开发的基本框架,这比依靠“个人技艺”开发软件好得多。
它有利于大型软件开发过程中人员的组织、管理,有利于软件开发方法和工具的研究与使用,从而提高了大型软件项目开发的质量和效率。
缺点:
阶段的划分完全固定,阶段之间产生大量的文档,极大地增加了工作量;
由于开发模型是线性的用户只有等到整个过程的末期才能见到开发成果,从而卡增加了开发的风险;
早期的错误可能要等到开发后期的测试阶段才能发现,进而带来严重后果。
适用范围
(1)在开发时间内需求没有或很少变化;
(2)分析设计人员应对应用领域很熟悉;
(3)低风险项目(对目标、环境很熟悉);
(4)用户使用环境很稳定;用户除提出需求以外,很少参与开发工作。

快速原型模型
优点:
可以得到比较良好的需求定义,容易适应需求的变化;
有利于开发与培训的同步;
开发费用低、开发周期短且对用户更友好。
缺点:
客户与开发者对原型理解不同;
准确的原型设计比较困难;
不利于开发人员的创新。
使用范围:
对所开发的领域比较熟悉而且有快速的原型开发工具;
项目招投标时,可以以原型模型作为软件的开发模型;
进行产品移植或升级时,或对已有产品原型进行客户化工作时,原型模型是非常适合的。

增量模型
优点:
采用增量模型的优点是人员分配灵活,刚开始不用投入大量人力资源;
如果核心产品很受欢迎,则可增加人力实现下一个增量;
可先发布部分功能给客户,对客户起到镇静剂的作用。
缺点:
并行开发构件有可能遇到不能集成的风险,软件必须具备开放式的体系结构;
增量模型的灵活性可以使其适应这种变化的能力大大优于瀑布模型和快速原型模型,但也很容易退化为边做边改模型,从而是软件过程的控制失去整体性。
使用范围:
进行已有产品升级或新版本开发,增量模型是非常适合的;
对完成期限严格要求的产品,可以使用增量模型;
对所开发的领域比较熟悉而且已有原型系统,增量模型也是非常适合的。

螺旋模型
优点:
设计上的灵活性,可以在项目的各个阶段进行变更;
以小的分段来构建大型系统,使成本计算变得简单容易;
客户始终参与每个阶段的开发,保证了项目不偏离正确方向以及项目的可控性;
随着项目推进,客户始终掌握项目的最新信息 , 从而他或她能够和管理层有效地交互。
缺点:
采用螺旋模型需要具有相当丰富的风险评估经验和专门知识,在风险较大的项目开发中,如果未能够及时标识风险,势必造成重大损失;
过多的迭代次数会增加开发成本,延迟提交时间。
使用范围:
螺旋模型只适合于大规模的软件项目。

软件开发模型优缺点及其适用范围相关推荐

  1. 软件开发模型(瀑布模型、敏捷模型)和软件测试模型(V模型、W模型、 H模型、X模型)

    软件开发模型和软件测试模型 软件开发模型 边写边改模型 瀑布模型 快速原型模型 螺旋模型 软件测试模型 V模型 W模型 H模型 X模型 测试阶段 1.单元测试 2.集成测试 3.系统测试(system ...

  2. 软件开发模型 - 瀑布模型 快速原型模型 增量模型 螺旋模型 及优缺点详解

    一.软件开发过程模型 软件开发模型(Software Development Model)是指软件开发全部过程.活动和任务的结构框架.软件开发包括需求.设计.编码和测试等阶段,有时也包括维护阶段. 软 ...

  3. 各种软件过程模型的优缺点、适用范围和各模型显著特点

    过程模型总分为五大类: 1.惯例过程模型 2.瀑布模型(又叫作生命周期模型) 3.增量过程模型: 包括增量模型.RAD模型 4.演化过程模型: 包括 原型开发模型.螺旋模型.协同开发模型 5.专用过程 ...

  4. 软件开发模型/原型法/瀑布模型/螺旋模型

    软件开发模型(Software Development Model)是指软件开发全部过程.活动和任务的结构框架.软件开发包括需求.设计.编码和测试等阶段,有时也包括维护阶段. 软件开发模型能清晰.直观 ...

  5. 软件开发模型介绍、总结归纳

    软件开发模型(SoftwareDevelopmentModel)是指软件开发全部过程.活动和任务的结构框架.软件开发包括需求.设计.编码和测试等阶段,有时也包括维护阶段. 软件开发模型能清晰.直观地表 ...

  6. 软件开发模型-瀑布模型、V形模型、原型模型、增量模型、快速开发、敏捷模型

    文章目录 0x01 边做边改模型 0x02 瀑布模型 0x03 V形模型 0x04 原型模型 0x05 增量模型 0x06 螺旋模型 0x07 快速应用程序开发模型 (RAD) 0x08 敏捷模型 0 ...

  7. 一、软件/软件工程/软件开发模型概述

    文章目录 一.软件 1.软件的定义 2.软件的分类 3.软件危机 3.1软件危机的主要问题 3.2软件危机产生原因(6点) 二.软件工程 1.软件工程定义 2.软件工程目标(6点) 3.软件工程研究的 ...

  8. 软件工程与软件开发模型、软件开发方法

    什么是软件工程? 软件工程一直以来都缺乏一个统一的定义. IEEE给出的定义是:软件工程是:1.将系统化的.严格约束的.可质量化的方法应用于软件的开发.运行和维护,即将工程化应用于软件:2.在1中所述 ...

  9. 2022年下半年 系统架构师,论文-软件开发模型(Software Development Model)

    软件开发模型(Software Development Model)是指软件开发全部过程.活动和任务的结构框架,软件开发过程包括需求.设计.编码和测试等阶段,有时也包括维护阶段.软件开发模型能清晰.直 ...

  10. 软件开发模型、软件设计模式、软件架构风格

    一. 软件开发模型 1. 瀑布模型: 结构化方法.开发阶段性. 需求明确.文档齐全. 风险控制弱 .前一步的错误会延申到后一步: 2. 原型开发模型: 迭代方法. 有两种开发方式,分别是原先开发和目标 ...

最新文章

  1. NSDictionary
  2. 从屌丝毕业生到三次优秀员工(腾讯三年工作感悟)
  3. 信息系统项目管理知识--企业信息化
  4. 软件设计模式—控制反转
  5. 净迁移人口预测程序python_高质量深度学习模型, 一键模型预测,迁移学习很简单...
  6. 实例65:python
  7. 信息学奥赛一本通 1125:矩阵乘法 | OpenJudge NOI 1.8 08
  8. hdu 4430 Yukari's Birthday(二分)
  9. oracle函数总结
  10. php 字符ascii转中文,PHP ASCII码与字符串相互转换的方法
  11. 除了人工智能,霍金还担心“游牧外星人”会摧毁人类
  12. QQ配置文件解密(转)
  13. 游侠小秘书基本智能框架完成!!!
  14. SSM框架学习(四),简单小项目---客户管理系统
  15. 14家互联网公司裁员(1-2月裁员清单)
  16. 26 分解质因子 容斥 数学公式
  17. 计算机如何添加gust用户,win7系统如何创建安全的Guest账户
  18. php的解析别名,浅谈laravel aliases别名的原理
  19. Windows屏幕工具(屏幕截图、贴图/屏幕取色/截图文字、表格识别/截图翻译、GIF录屏、GIF压缩)
  20. 【数理几何】幂函数、三角函数与椭圆方程的神奇组合

热门文章

  1. 16代表啥_16代表的爱情恋爱含义16代表什么爱情含义
  2. 如何写好一份 30 K offer 的简历(建议收藏)
  3. 职称英语职称计算机如何折算为学时,发表论文算继续教育多少学时
  4. 启发式算法(Heuristic)概述
  5. JDK的可视化工具——Java监视与管理控制台(JConsole)。
  6. windows远程ubuntu键盘无法输入
  7. performSelector一系列方法调用和延时调用导致的内存泄露
  8. react-router v6替换history.goBack()和goForward()
  9. 2.2、云计算FusionCompute计算虚拟化
  10. Revel框架快速入门教程