SDLC - 瀑布模型
瀑布模型是一种经典的SDLC模型,被广泛了解、理解和普遍使用。它由 Royce 于 1970 年引入,至今仍被业界各个组织作为软件开发的通用方法而沿用。
在瀑布模型中,每个生命周期阶段只有在较早的生命周期阶段完成后才能开始。因此,它是一个没有反馈回路的线性模型。
瀑布模型——优点
瀑布模型的优点是 -
- 易于理解,易于使用。
- 为缺乏经验的开发团队提供结构。
- 里程碑很好理解。
- 设定要求稳定性。
- 非常适合管理控制(规划、监控、报告)。
- 当质量比成本或进度更重要时,效果很好。
瀑布模型 – 缺点
瀑布模型的弱点或缺点是 -
理想化 - 与现实不太相符。
不切实际 - 无法在项目早期期望准确的需求。
不反映更常见的探索性开发的迭代性质。
做出改变既困难又昂贵。
软件仅在项目结束时交付。因此 -
延迟严重缺陷的发现。
交付过时需求的可能性。
大量的管理开销,对于小型团队和项目来说可能成本高昂。
每个阶段都需要经验丰富的资源——分析师、设计师、开发人员、测试人员。
测试仅在开发完成后开始,并且测试人员不参与任何早期阶段。
跨职能团队的专业知识不会共享,因为每个阶段都是在孤岛中执行的。
何时使用瀑布模型?
您可以使用瀑布模型,如果 -
要求是众所周知的。
产品定义稳定。
技术很好理解。
现有产品的新版本。
将现有产品移植到新平台。
具有结构化跨职能团队的大型组织。
组织内部以及与客户之间也建立了良好的沟通渠道。
进化原型模型
在使用演化原型模型的软件开发中,开发人员在需求阶段构建原型。然后最终用户评估原型并提供反馈。反馈可以是对原型或附加功能的更正。根据反馈,开发人员进一步完善原型。
因此,产品通过原型→反馈→细化原型循环进行演变,因此被称为进化原型。当用户对产品的功能和工作感到满意时,原型代码就会达到最终产品交付所需的标准。
进化原型模型——优点
进化原型模型的优势或优点是 -
客户/最终用户可以在查看原型时直观地了解系统需求。
开发人员向客户学习,因此对于领域或生产环境没有任何歧义。
允许灵活的设计和开发。
与原型的交互激发了对额外所需功能的认识。
可以轻松满足意外的需求和需求变化。
出现了稳定且明显的进步迹象。
交付准确且可维护的最终产品。
进化原型模型——弱点
进化原型模型的弱点或缺点如下 -
在代码修复开发中倾向于放弃结构化开发,尽管这不是模型所规定的。
该模型因其快速而肮脏的方法而名声不佳。
整体可维护性可能会被忽视。
客户可能会要求交付原型作为最终产品,而不给开发人员执行最后步骤(即最终产品标准化)的机会。
项目可以永远继续下去(范围不断扩大),但管理层可能不会意识到这一点。
何时使用进化原型模型?
您可以使用进化原型模型 -
- 当需求不稳定或需要澄清时
- 作为瀑布模型的需求澄清阶段
- 开发用户界面
- 对于短暂的示威
- 用于新的或原创的开发
- 为了实施新技术