美文网首页
产品开发方法学习笔记(3)——瀑布模型法

产品开发方法学习笔记(3)——瀑布模型法

作者: Leung_ManWah | 来源:发表于2023-04-15 21:46 被阅读0次

一、简介

瀑布模型(Waterfall Model)是最早出现的软件开发模型,是传统软件开发方法的代表。在软件工程中占有重要的地位,它提供了软件开发的基本框架。最早于20世纪70年代由温斯顿·罗伊斯(Winston Royce)提出,而在当时软件开发技术水平和经济大背景下,并不像我们所熟知的当下,技术发展这么成熟。创建瀑布模型的早期,其核心思想很明确,按工序(线性)排列将问题简化,把功能实现与设计分开,目的是方便于分工协作,即采用结构化的分析与设计方法将逻辑实现与物理实现分开。作为软件开发领域常用的生命周期方法,其各项活动按照固定的工序线性推进,形如瀑布流水,因此得名。

瀑布模型强调各工作之间的顺序性和依赖性,前一阶段工作的结束即是后一阶段工作的开始,因此特别关注需求分析的预先定义,整个开发流程按照顺序逐一进行。瀑布模型最主要的优点在于重视阶段管理,确保阶段成果的质量。

瀑布模型式是最典型的预见性的方法,严格遵循预先计划的需求、分析、设计、编码、测试的步骤顺序进行。

1.1 瀑布模型

瀑布模型包含五步工序

  • 需求(Requirement):了解产品所需的功能、用途,获取用户需求。
  • 设计(Design):确定达成项目成功所需的软件、硬件要求,并将这些要求(需求)转化为物理设计。
  • 实施(Impementation):根据设计规划,编写代码。
  • 验证(Verification)::测试调优,确保产品符合客户期望。
  • 维护(Maintenance)::持续为客户提供修复等服务。

二、瀑布模型的特点和逻辑

2.1 瀑布模型的特点

  • 特点:
    瀑布模型将软件生命周期划分为 制定计划、需求分析、软件设计、程序编写、软件测试和运行维护 等六个基本活动,并且规定了它们 自上而下、相互衔接的固定次序 ,如同瀑布流水,逐级下落。其严格强调文档,前一个阶段的输出就是下一个阶段的输入,文档是个阶段衔接的唯一信息。所以很多开发人员好象是在开发文档,而不是开发软件,因为要到开发的后期,才可以看到软件的“模样”。
  • 优点:
  1. 结构化清晰,为项目提供了按阶段划分的检查点。
  2. 当前一阶段完成后,开发团队只需要关注后续的阶段即可。
  3. 可在迭代模型中应用瀑布模型。(增量迭代应用于瀑布模型。迭代1解决最大的问题。每次迭代产生一个可运行的版本,同时增加更多的功能。每次迭代必须经过质量和集成测试。)
  4. 它提供了一个模板,这个模板使得分析、设计、编码、测试和支持的方法可以在该模板下有一个共同的指导。
  • 缺点:
  1. 各个阶段的划分完全固定,阶段与阶段之间极少有反馈,所以对客户需求的理解程度高低不等,开发人员更像是定义为流水线上的工人。阶段之间产生大量的文档,极大地增加了工作量。
  2. 由于开发模型是线性的,用户只有等到整个过程的末期才能见到开发成果,从而增加了开发风险。早期的错误可能要等到开发后期的测试阶段才能发现,进而带来严重的后果。
  3. 通过过多的强制性时间约束或里程碑来跟踪项目的每个阶段。
  4. 线性阶段自上而下,不可逆,不适应用户需求的变化,对客户不友好。
  • 适用场景:
    对于需求相对稳定的大项目,如果正确使用,可以节省大量的时间和金钱。所以是否使用这一模型主要取决于您是否能理解客户的需求以及在项目的进程中这些需求的变化程度,对于经常变化的项目而言,瀑布模型毫无价值,对于这种情况,您可以考虑其他的架构来进行项目管理,比如名为螺旋模型(spiral model)的方法。

2.2 瀑布模型背后的逻辑

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


• 由 Leung 写于 2023 年 4 月 16 日

• 参考:NPDP学习心得系列三十二:新产品开发流程——瀑布模型
    常见开发模型-敏捷开发与瀑布开发模型详解

相关文章

  • 软件工程(上)

    软件开发方法 软件开发模型 开发模型说明瀑布模型迭代模型/迭代开发方法演化模型快速应用开发增量模型构建组件模型/基...

  • 瀑布与敏捷

    瀑布模型 瀑布模型是典型的软/硬件开发模型,包括需求、设计、编码、测试、运行与维护几个阶段。产品流经“正向”开发是...

  • 系分第三次作业

    一、瀑布模型、增量模型、螺旋模型(含原型方法) 瀑布模型 瀑布模型的开发过程是通过设计一系列阶段顺序展开的,从系统...

  • 四种软件开发模式(瀑布、迭代、螺旋、敏捷),对比分析

    瀑布模型是由W.W.Royce在1970年最初提出的软件开发模型,瀑布式开发是一种老旧的计算机软件开发方法。瀑布模...

  • 系统分析与设计作业(2)

    简答题 简述瀑布模型、增量模型、螺旋模型(含原型方法)的优缺点。 瀑布模型优点: 1.降低软件开发的复杂程度,提高...

  • 项目组与敏捷开发

    项目过程组每个阶段包括 预测方法(瀑布模型)与敏捷开发方法的对比

  • 软件测试基础1

    一、开发模型—瀑布模型1、优点:开发阶段,各个阶段比较清晰;强调早期计划及需求调查;适合稳定需求的产品开发。2、改...

  • 测试介绍

    开发模型--瀑布模型优点:开发阶段,各个阶段比较清晰;强调早早期计划及需求调查;适合稳定需求的产品开发改良:每个阶...

  • 测试介绍

    开发模型--瀑布模型优点:开发阶段,各个阶段比较清晰;强调早早期计划及需求调查;适合稳定需求的产品开发改良:每个阶...

  • (一)测试流程与理论

    1.软件开发流程与项目管理 软件开发流程的演变 传统瀑布模型->敏捷开发模型->DevOps开发模型 瀑布模型 瀑...

网友评论

      本文标题:产品开发方法学习笔记(3)——瀑布模型法

      本文链接:https://www.haomeiwen.com/subject/ddwxjdtx.html