一、概念
瀑布模型(Waterfall Model) 是一个软件生命周期模型,开发过程是通过设计一系列阶段顺序展开的,项目开发进程从一个阶段“流动”到下一个阶段,这也是瀑布模型名称的由来。
1.1、经典瀑布模型
起点是需求分析:经典的六阶段模型(需求→设计→实现→测试→部署→维护)隐含了一个前提,即项目已经决定要做了。它主要关注如何正确地构建一个已被批准的系统。
1.2、扩展瀑布模型
在实际中,任何正式项目在投入大量资源进行详细需求分析之前,都必须进行前期论证。因此,业界普遍采用一个扩展的瀑布模型,即在经典阶段之前增加一个可行性研究/立项阶段。
二、核心思想
瀑布模型核心思想是按工序将问题化简,将功能的实现与设计分开,便于分工协作,即采用结构化的分析与设计方法将逻辑实现与物理实现分开。将软件生命周期划分为制定计划、需求分析、软件设计、编码、测试和运行维护等六个基本活动,并且规定了它们自上而下、相互衔接的固定次序,如同瀑布流水,逐级下落。
三、阶段及产出
| 阶段 | 主要产出物(交付件) |
|---|---|
| 可行性研究 / 立项 | 项目建议书、可行性研究报告、立项申请书 |
| 需求分析 | 需求规格说明书(SRS)、需求评审记录 |
| 软件设计 | 概要设计说明书(总体设计说明书)、详细设计说明书 |
| 编码 | 源代码、单元测试用例、单元测试报告 |
| 测试 | 集成测试报告、系统测试报告 |
| 交付与运维 | 用户手册、安装部署说明、运维手册 |

四、优缺点
4.1、优点
可强迫开发人员采用规范的方法(如结构化技术);严格地规定了每个阶段必须提交的文档;要求每个阶段交出的所有产品都必须经过质量保证小组的仔细验证。
4.2、缺点
瀑布模型是由文档驱动,在可运行的软件产品交付给用户之前,用户只能通过文档来了解产品是什么样的。瀑布模型几乎完全依赖于书面的规格说明,很可能导致最终开发出的软件产品不能真正满足用户的需要。也不适合需求模糊的系统。
&spm=1001.2101.3001.5002&articleId=156200134&d=1&t=3&u=719c129528b94ae1af32ea671c2ed434)
1655

被折叠的 条评论
为什么被折叠?



