SDLC - 瀑布模型


瀑布模型是一种经典的SDLC模型,被广泛了解、理解和普遍使用。它由 Royce 于 1970 年引入,至今仍被业界各个组织作为软件开发的通用方法而沿用。

在瀑布模型中,每个生命周期阶段只有在较早的生命周期阶段完成后才能开始。因此,它是一个没有反馈回路的线性模型。

瀑布生命周期

瀑布模型——优点

瀑布模型的优点是 -

  • 易于理解,易于使用。
  • 为缺乏经验的开发团队提供结构。
  • 里程碑很好理解。
  • 设定要求稳定性。
  • 非常适合管理控制(规划、监控、报告)。
  • 当质量比成本或进度更重要时,效果很好。

瀑布模型 – 缺点

瀑布模型的弱点或缺点是 -

  • 理想化 - 与现实不太相符。

  • 不切实际 - 无法在项目早期期望准确的需求。

  • 不反映更常见的探索性开发的迭代性质。

  • 做出改变既困难又昂贵。

  • 软件仅在项目结束时交付。因此 -

    • 延迟严重缺陷的发现。

    • 交付过时需求的可能性。

  • 大量的管理开销,对于小型团队和项目来说可能成本高昂。

  • 每个阶段都需要经验丰富的资源——分析师、设计师、开发人员、测试人员。

  • 测试仅在开发完成后开始,并且测试人员不参与任何早期阶段。

  • 跨职能团队的专业知识不会共享,因为每个阶段都是在孤岛中执行的。

何时使用瀑布模型?

您可以使用瀑布模型,如果 -

  • 要求是众所周知的。

  • 产品定义稳定。

  • 技术很好理解。

  • 现有产品的新版本。

  • 将现有产品移植到新平台。

  • 具有结构化跨职能团队的大型组织。

  • 组织内部以及与客户之间也建立了良好的沟通渠道。

进化原型模型

在使用演化原型模型的软件开发中,开发人员在需求阶段构建原型。然后最终用户评估原型并提供反馈。反馈可以是对原型或附加功能的更正。根据反馈,开发人员进一步完善原型。

因此,产品通过原型→反馈→细化原型循环进行演变,因此被称为进化原型。当用户对产品的功能和工作感到满意时,原型代码就会达到最终产品交付所需的标准。

最终产品交付

进化原型模型——优点

进化原型模型的优势或优点是 -

  • 客户/最终用户可以在查看原型时直观地了解系统需求。

  • 开发人员向客户学习,因此对于领域或生产环境没有任何歧义。

  • 允许灵活的设计和开发。

  • 与原型的交互激发了对额外所需功能的认识。

  • 可以轻松满足意外的需求和需求变化。

  • 出现了稳定且明显的进步迹象。

  • 交付准确且可维护的最终产品。

进化原型模型——弱点

进化原型模型的弱点或缺点如下 -

  • 在代码修复开发中倾向于放弃结构化开发,尽管这不是模型所规定的。

  • 该模型因其快速而肮脏的方法而名声不佳。

  • 整体可维护性可能会被忽视。

  • 客户可能会要求交付原型作为最终产品,而不给开发人员执行最后步骤(即最终产品标准化)的机会。

  • 项目可以永远继续下去(范围不断扩大),但管理层可能不会意识到这一点。

何时使用进化原型模型?

您可以使用进化原型模型 -

  • 当需求不稳定或需要澄清时
  • 作为瀑布模型的需求澄清阶段
  • 开发用户界面
  • 对于短暂的示威
  • 用于新的或原创的开发
  • 为了实施新技术