瀑布模型(Waterfall)

一、瀑布模型

1.1定义

瀑布模型对应的英文术语为Waterfall,是软件开发生命周期(SDLC)中的一种传统开发方法,强调线性顺序执行,各阶段(需求分析、设计、开发、测试、部署等)严格按顺序推进,前阶段完成后才能进入下一阶段。

1.2核心思想

严格按顺序推进:需求→设计→开发→测试→部署→维护,阶段间有明确的 “检查点”。 微信图片_20250317150519.png

文档驱动:每个阶段必须产出完整文档(如需求说明书、设计图纸),作为下一阶段的依据。

二、瀑布模型的阶段详解

(用建房子类比)

阶段 任务 输出 类比
需求分析 明确用户需求(如 “建一栋 3 层小楼,带花园”) 《需求规格说明书》 房主告诉设计师需求
设计 规划整体结构(画图纸、选材料) 《系统设计文档》 设计师出建筑蓝图
开发 按图纸施工(打地基、砌墙、安装水电) 可运行的软件版本 施工队按图盖楼
测试 检查质量(如测试电路是否正常、墙面是否平整) 《测试报告》《缺陷清单》 监理验收房屋质量
部署 交付用户使用(如房主搬入新房) 正式上线的软件 房子交付给房主
维护 长期支持(如维修漏水、加装新家具) 软件补丁、升级版本 物业定期维护房屋

三、瀑布模型的优缺点

3.1优点

流程清晰:阶段明确,适合新手理解和管理。

文档齐全:方便后期维护和知识传承(比如换团队也能看懂图纸)。

风险可控:前一阶段问题解决后再进入下一阶段,避免后期颠覆性修改。

3.2缺点

灵活性差:需求一旦确定,后期修改成本极高(比如房子盖到一半要改户型,几乎要推倒重来)。

周期长:用户需等待数月甚至数年才能看到成果,可能错过市场时机。

依赖文档质量:若需求文档描述模糊,后续阶段容易出错(如设计师误解房主需求)。

四、适用场景

需求明确且稳定:例如政府项目、银行系统(需求变更少,稳定性要求高)。

低风险项目:简单项目(如小型企业官网),需求变化可能性小。

传统行业:适合习惯按部就班推进的团队。

五、常见误区

误区:“瀑布模型已经过时,应该用敏捷模型”
纠正:瀑布模型仍适用于需求明确、对稳定性要求高的项目(如医疗设备软件)。

误区:“瀑布模型完全不允许迭代”
纠正:理论上阶段不可逆,但实际中可能通过 “阶段回流”(如测试发现需求错误,需回到需求分析阶段)调整。

总结:瀑布模型是“先规划后执行”的软件开发模式,适合需求清晰、追求稳定性的项目,但对变化的适应性较差。