SDLC - 瀑布模型

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

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

瀑布生命周期

瀑布模型 - 优势

瀑布模型的优点是 −

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

瀑布模型 - 弱点

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

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

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

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

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

  • 软件仅在项目结束时交付。 由此 −

    • 延迟严重缺陷的发现。

    • 可以交付过时的需求。

  • 管理开销巨大,对于小型团队和项目来说可能代价高昂。

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

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

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

何时使用瀑布模型?

如果满足以下条件,您可以使用瀑布模型 −

  • 要求是众所周知的。

  • 产品定义稳定。

  • 技术很好理解。

  • 现有产品的新版本。

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

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

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

进化原型模型

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

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

最终产品交付

进化原型模型 - 优势

进化原型模型的优点是 −

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

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

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

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

  • 可以轻松满足意外要求和要求变更。

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

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

进化原型模型 - 弱点

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

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

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

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

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

  • 项目可以永远持续下去(范围不断扩大),但管理层可能不会欣赏它。

何时使用进化原型模型?

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

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