SDLC - 瀑布模型
瀑布模型是一个经典的 SDLC 模型,它广为人知、易于理解且常用。它由 Royce 于 1970 年提出,至今仍被作为软件开发的常用方法,在业界各种组织中被广泛采用。
在瀑布模型中,每个生命周期阶段只有在之前的生命周期阶段完成后才能开始。因此,它是一个没有反馈循环的线性模型。
瀑布模型 – 优点
瀑布模型的优点如下:
- 易于理解,易于使用。
- 为缺乏经验的开发团队提供结构。
- 里程碑易于理解。
- 设定需求稳定性。
- 非常适合管理控制(计划、监控、报告)。
- 当质量比成本或进度更重要时,它非常有效。
瀑布模型 – 缺点
瀑布模型的缺点或不足之处如下:
理想化 - 它与现实并不完全匹配。
不切实际 - 无法期望在项目早期获得准确的需求。
没有反映探索性开发的迭代性质,而探索性开发更为常见。
难以且成本高昂地进行更改。
软件仅在项目结束时交付。因此 -
延迟发现严重缺陷。
可能交付过时的需求。
管理开销很大,对于小型团队和项目来说可能成本很高。
每个阶段都需要经验丰富的资源 - 分析师、设计师、开发人员、测试人员。
测试仅在开发完成后开始,测试人员不参与任何早期阶段。
跨职能团队的专业知识未得到共享,因为每个阶段都是独立执行的。
何时使用瀑布模型?
如果您满足以下条件,可以使用瀑布模型:
需求非常明确。
产品定义稳定。
技术充分理解。
现有产品的更新版本。
将现有产品移植到新平台。
大型组织,拥有结构化的跨职能团队。
组织内部以及与客户之间的沟通渠道已建立。
演化原型模型
在使用演化原型模型进行软件开发时,开发人员在需求阶段构建原型。然后,最终用户评估原型并提供反馈。反馈可以是原型更正或附加功能。根据反馈,开发人员进一步完善原型。
因此,产品通过原型→反馈→改进原型循环演化,因此得名演化原型。当用户对产品的功能和工作方式感到满意时,原型代码将提升至最终产品交付所需的标准。
演化原型模型 – 优点
演化原型模型的优点或优势如下:
客户/最终用户可以通过查看原型来直观地了解系统需求。
开发人员从客户那里学习,因此在领域或生产环境方面没有歧义。
允许灵活的设计和开发。
与原型的交互激发了对额外所需功能的认识。
意外需求和需求变更很容易适应。
产生稳定且可见的进度迹象。
交付准确且可维护的最终产品。
演化原型模型 – 缺点
演化原型模型的缺点或不足之处如下:
倾向于在代码和修复开发中放弃结构化开发,尽管这并非模型规定的内容。
该模型因其快速且简便的方法而声誉不佳。
整体可维护性可能会被忽略。
客户可能会要求将原型作为最终产品交付,而没有给开发人员机会执行最后一步,即最终产品的标准化。
项目可能会无限期地持续(随着范围蔓延),管理层可能不会对此表示赞赏。
何时使用演化原型模型?
您可以使用演化原型模型 -
- 当需求不稳定或需要澄清时
- 作为瀑布模型的需求澄清阶段
- 开发用户界面
- 用于短期演示
- 用于新的或原始开发
- 用于实施新技术