详细讲解瀑布模型,因为它包含SLC中的所有一般阶段。
1970年温斯顿·罗伊斯(Winston Royce)提出了著名的“瀑布模型”,直到上世纪80年代早期,它一直是唯一被广泛采用的软件开发模型。直至今日,该模型仍然具有强大的生命力。
定义:
瀑布模型(Waterfall Model)又称流水式过程模型,它是模仿旅游景点的人工阶梯瀑布,流水由上向下一个阶梯一个阶梯地倾泻下来,最后进入一个风平浪尽的大湖,这个大湖就是软件企业的产品库。
模型的本意:
根据软件生存周期是由可行性分析、需求分析、系统设计、编程、测试、部署、维护等阶段所组成的,该模型就把每个阶段当作瀑布中的一个台阶,把软件过程比喻成瀑布中的流水,软件过程顺着这些台阶由上向下地奔流。开发人员按照阶段开发,管理人员按照阶段管理。
早期的面向过程的结构化分析、结构化设计、结构化编程、结构化测试、结构化维护方法,很适合于瀑布模型。或者说,瀑布模型适合于结构化方法,即面向过程的软件开发方法。
模型的特点:
(1)成果物驱动
前一阶段成果物的完成作为下一阶段的开始的前提。
(2)过程逆转性很差或者说不可逆转
因为由于上游的错误会在下游进行发散性传播的原理,所以逆转将会延误工期、增加成本,从而造成重大损失。
选择该模型的条件:
不是任何软件都适合采用瀑布模型的。软件项目或产品选择瀑布模型,需要满足下列条件:
- 在开发周期内需求没有或很少变化。
- 分析设计人员对应用领域很熟悉。
- 低风险项目(对目标、环境很熟悉)。
- 用户使用环境很稳定。
- 用户除提出需求以外,很少参与开发工作。
尽管上述条件比较苛刻,但是,软件企业在开发新产品或新项目时,往往还是采用瀑布模型。系统软件和工具软件的开发,也常常采用瀑布模型。
模型的优点 :
开发阶段清晰,便于评审、审计、跟踪、管理和控制。
模型的缺点:
- 传统的项目组织方法是按顺序完成每个工作流程,即瀑布式生命周期。瀑布只能一个个台阶地往下流,不可能倒着往上流,这就是它致命的缺点。
- 瀑布式生命周期通常会导致在项目后期,出现“问题堆积”,更可怕的是,错误的传递会采取发散扩大的方式。
图中实线箭头表示开发过程,虚线箭头表示维护过程。当在后面阶段发现前面阶段的错误时,需要沿图中左侧的反馈线返回前面的阶段,修正前面阶段的成果物之后再回来继续完成后面阶段的任务。
瀑布模型变种:V模型
该模型是对瀑布模型的修正,强调了验证活动。
V模型的特点
- V模型体现的主要思想是开发和测试同等重要,左侧代表的是开发活动,而右侧代表的是测试活动;
- V模型针对每个开发阶段,都有一个测试级别与之相对应;
- 测试依旧是开发生命周期中的阶段,与瀑布模型不同的是,有多个测试级别与开发阶段对应;
- V模型适用于需求明确和需求变更不频繁的情形。
V模型适合的项目
- 项目的需求在项目开始前很明确
- 解决方案在项目开始前也很明确
- 对系统的性能安全很严格的项目
- 类似的项目如:航天飞机等,公司的财务系统
今天的文章瀑布模型及其变种分享到此就结束了,感谢您的阅读。
版权声明:本文内容由互联网用户自发贡献,该文观点仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 举报,一经查实,本站将立刻删除。
如需转载请保留出处:https://bianchenghao.cn/9571.html