文章目录

  • 瀑布模型(Waterfall Model)
    • 模型概述:
    • 核心思想:
    • 模型特点:
    • 优点:
    • 缺点:
  • 分类:
    • 1.传统瀑布模型:
    • 2.加入迭代的瀑布模型:
  • 原型模型:
    • 优点:
    • 缺点:

瀑布模型(Waterfall Model)

模型概述:

瀑布模型:是一个软件生命周期模型,开发过程是通过设计一系列阶段顺序展开的,从系统需求分析开始直到产品发布和维护,项目开发进程从一个阶段“流动”到下一个阶段,这也是瀑布模型名称的由来。

核心思想:

瀑布模型核心思想是:按工序将问题化简,将功能的实现与设计分开,便于分工协作,即采用结构化的分析与设计方法将逻辑实现与物理实现分开。
将软件生命周期划分为制定计划、需求分析、软件设计、程序编写、软件测试和运行维护等六个基本活动,并且规定了它们自上而下、相互衔接的固定次序,如同瀑布流水,逐级下落。

模型特点:

  1. 从上一项开发活动接受其成果作为本次活动的输入。
  2. 用这一输入,实施本次活动应完成的工作内容。
  3. 给出本次活动的工作成果,作为输出传给下一项开发活动。
  4. 对本次活动的实施工作成果进行评审。若其工作成果得到确认,则继续进行下一项开发活动;否则返回前一项,甚至更前项的活动。尽量减少多个阶段间的反复。以相对来说较小的费用来开发软件。

优点:

  1. 开发的各个阶段比较清晰。
  2. 强调早期计划及需求调查。
  3. 适合需求稳定的产品开发。

缺点:

  1. 依赖于早期的需求调查,不适应需求的变化。
  2. 风险往往延至后期才显露,失去及早纠正的机会。
  3. 问题在项目后期才开始暴露。
  4. 前面未发现的错误会传递并扩散到后面的阶段,可能导致项目失败

分类:

1.传统瀑布模型:


特点:

(1) 阶段间具有顺序性和依赖性

必须等前一阶段的工作完成之后,才能开始后一阶段的工作。前一阶段的输出文档就是后一阶段的输入文档。

(2) 推迟实现的观点

清楚的区分逻辑设计与物理设计,尽可能推程序的物理实现,是因为编码之前阶段的工作没做或做得不扎实,过早地考虑进行程序实现,往往导致大量返工,有时甚至发生无法弥补的问题,带来灾难性的后果。实践也表明,对于规模较大的软件项目来说,往往编码开始得越早最终完成开发工作所需要的时间反而越长。

(3) 质量保证的观点

每个阶段都必须完成规定的文档,没有交出合格的文档就是没有完成该阶段的任务。每个阶段结束前都要对所完成的文档进行评审,以便尽早发现问题,改正错误。

2.加入迭代的瀑布模型:


原因:
传统的瀑布模型过于理想化,人在工作过程中不可能不犯错误。
特点:
当后面阶段发现前面阶段的错误时,需要沿图中左侧的反馈线返回前面的阶段,修正前面阶段的产品之后再回来继续完成后面阶段的任务。

原型模型:

实现一个基本原型,让用户对原型进行评价,逐步调整,使其满足用户最终需求。

优点:

适合不能确定需求的软件;

缺点:

不适合开发大型系统。

软件生命周期模型 -------- 瀑布模型 和 原型模型相关推荐

  1. 软件开发模型1:边做边改模型/瀑布模型/快速原型模型

    文章目录 1 边做边改模型(即兴模型)(Build-and-Fix Model) 1.1 优点: 1.2 缺点: 2 瀑布模型(Waterfall Model) 2.1 优点 2.2 缺点 3 快速原 ...

  2. 软件开发传统模型——瀑布模型、原型模型、增量模型、螺旋模型、喷泉模型

    软件开发模型: 定义: 软件开发的全部过程.活动和任务的结构框架,通过该模型能清晰.直观地表达软件开发全过程,明确地规定要完成的主要活动和任务,它奠定了软件项目工作的基础. 其中最为代表的就有此五类模 ...

  3. 软件项目管理习题——软件生命周期

    1(单选题) 项目基本特点中,"项目的临时性"是指(B). A. 项目的工期短 B. 每个项目都具有明确的开始和结来时间或标志 C. 项目未来完成时间未定 D. 项目可以随时取消 ...

  4. 什么是软件生命周期模型?试比较瀑布模型、快速原型模型、增量模型和螺旋模型的优缺点,说明每种模型的使用范围。

    软件生命周期模型是跨越整个生存期的系统开发.运作和维护所实施的全部过程.活动和任务的结构框架. 瀑布模型  优点:它提供了一个模板,这个模板使得分析.设计.编码.测试和支持的方法可以在该模板下有一个共 ...

  5. 1.7 什么是软件生命周期模型?试比较瀑布模型,快速原型模型,增量模型和螺旋模型的优缺点,说明每种模型的适用范围

    软件生命周期模型:是从一个特定角度提出的对软件过程的简化描述,是对软件开发实际过程的抽象,它包括构成软件过程的各种活动.软件工件以及参与角色等. 瀑布模型的优点: 有利于大型软件开发过程中人员的组织. ...

  6. 【软件工程】软件生命周期模型 --- 瀑布模型、快速原型模型、增量模型、螺旋模型及喷泉模型

    软件生命周期模型是跨越整个生存期的系统开发.运作和维护所实施的全部过程.活动和任务的结构框架. 下面介绍几种常见的软件生命周期模型: 瀑布模型 瀑布模型是将软件生存周期的各项活动规定为按固定顺序而连接 ...

  7. 【中级软考】软件开发生命周期模型 瀑布模型、增量模型、原型模型、螺旋模型、喷泉模型、RUP(Rational Unified Process 统一软件开发过程)、敏捷开发(开发方法,不是周期模型)

    文章目录 瀑布模型/改进的瀑布模型(Waterfall Model) 螺旋模型(Spiral Model) 增量和迭代模型(Incremental Model) 原型法(RAPId Prototype ...

  8. 什么是软件生命周期模型?试比较瀑布模型、快速原型模型、增量模型和螺旋模型的优缺点,说明每种模型的适用范围

    什么是软件生命周期模型?试比较瀑布模型.快速原型模型.增量模型和螺旋模型的优缺点,说明每种模型的适用范围 答:软件生命周期模型是软件开发的全部过程.活动和任务的结构框 架. 软件生命周期模型能清晰.直 ...

  9. 软件生命周期模型知识点总结(瀑布模型、演化模型、增量模型、V模型、W模型、螺旋模型、构件组装模型、RAD模型、RUP模型、极限编程模型)

    软件生命周期模型 基本概念 --PDCA循环(戴明环) --软件工作过程 --软件生命周期 --软件过程模型 传统软件生命周期模型 --瀑布模型 --演化模型 --增量模型 --喷泉模型 --V模型 ...

最新文章

  1. pip install skimage安装skimage库出错的解决办法
  2. spoj453 Sums in a Triangle (tutorial) 动态规划
  3. uwsgi的log日志中出现错误uWSGI listen queue of socket 4 full。
  4. python手机端自动点赞_python自动点赞功能的实现思路
  5. git merge用法_Git 基本命令 merge 和 rebase,你真的了解吗?
  6. java知识点3(null、引用相关知识(自己理解))
  7. MOSS中代码运行的权限提升(半摘)
  8. Python群机器人发送城市天气情况
  9. 域名与DNS(域名解析服务器)
  10. 关于在Ubuntu安装JLink驱动的最简便方法
  11. 对皮尔逊相关系数进行假设检验
  12. centos系统降级
  13. html 宽度单位,长度单位有哪些?
  14. python extractor_Python Extractor for Python Editor 1.2
  15. 移动端架构师学习路线
  16. dva介绍和官网案例
  17. 比 Navicat 还要好用,功能还很强大的数据库管理工具!
  18. Python机器学习:一元回归
  19. ElementUI的表格换行符失效、不换行
  20. linux grub 编辑器,KGRUBEditor: 可视化的 GRUB 编辑器

热门文章

  1. Redis系列-主从复制配置
  2. 【MyBatis框架】mapper配置文件-foreach标签
  3. 数据库性能怎么提升?
  4. SpringBoot邮件服务
  5. 匿名内部类使用外部变量为什么必须是final修饰的
  6. Spring Security:基于MySQL数据库的身份认证
  7. AI+社交,快手商业化落地之道
  8. ASP.NET Core和Angular 2双剑合璧
  9. PHPCMS修改目录
  10. 在iPhone程序上读取PDF文件