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