传统瀑布模型和实际瀑布模型
传统瀑布模型:
瀑布模型是所有模型的基础框架
特点:
线性的开发流程,不能够应对需求的变化。
必须等前一阶段的工作完成后,才能开始后一阶段的工作
前一阶段的输出文档就是后一阶段的输入文档,因此只有前一阶段的输出文档正确,后一阶段的工作才能获得正确的结果
为了保证所开发的软件的质量,在瀑布模型的每一个阶段都应坚持两个重要做法
每个阶段都必须完成规定的文档,没有交出合格的文档就是没有完成该阶段的任务
每个阶段结束前都要对所完成的文档进行评审,以便尽早发现问题,改正错误
缺陷:
测试被后置(风险往往迟至后期的测试阶段才显露,因而失去及早纠正的机会,有足够的时间预留给测试活动,否则将导致测试不充分,从而把缺陷直接遗留给用户)
瀑布模型的一个最大缺陷在于,可以运行的产品很迟才能被看到.
适用场景:
需求固定的小项目。
需求易于完善定义且不易变更的软件系统
实际瀑布模型
传统的瀑布模型过于理想化,实际的瀑布模型是带"反馈环"的。如图所示(图中实线箭头表示开发过程,虚线箭头表示维护过程),当在后面阶段发现前面阶段的错误时,需要沿图中左侧的反馈线返回前面的阶段,修正前面阶段的产品后再回来继续完成后面阶段的任务
优点:
为项目提供了按阶段划分的检查点
当前一阶段完成后,只需要去关注后续阶段
缺点:
不适合需求模糊或需求经常变动的系统
由于开销的逐步升级问题,它不希望存在早期阶段的反馈
在一个系统完成以前,它无法预测一个新系统引入一个机构的影响
在用户可能需要较长等待时间来获得一个可供使用的系统,也许会给用户的信任程度带来影响和打击
最终产品往往反映用户的初始需求而不是最终需求(这将导致失去市场,别的公司开发的又快有好,用户都被抢走了)
传统瀑布模型和实际瀑布模型相关推荐
- 第二章 软件过程模型-传统软件过程模型之瀑布模型
传统软件过程模型之瀑布模型 瀑布模型 定义与分类 V模型(变种) 特点 优点 缺点 适用场合 瀑布模型 定义与分类 1970年温斯顿.罗伊斯提出了著名的"瀑布模型"(也称经典生命周 ...
- 软件开发传统模型——瀑布模型、原型模型、增量模型、螺旋模型、喷泉模型
软件开发模型: 定义: 软件开发的全部过程.活动和任务的结构框架,通过该模型能清晰.直观地表达软件开发全过程,明确地规定要完成的主要活动和任务,它奠定了软件项目工作的基础. 其中最为代表的就有此五类模 ...
- 软件开发生命周期模型 瀑布模型、增量模型、原型模型、螺旋模型、喷泉模型总结...
在校期间学习过这些模型,现在来复习一下. 瀑布模型/改进的瀑布模型 虽然瀑布模型仍然存在很多的问题有待解决,但瀑布模型仍然是最基本的和最效的一种可供选择的软件开发生命周期模型.瀑布模型要求软件开发严格 ...
- 软件工程 瀑布模型、原型模型、喷泉模型和V模型的优缺点及适用场景
一.瀑布模型 瀑布模型(Waterfall Model)是一个项目开发架构,开发过程是通过设计一系列阶段顺序展开的,从系统需求分析开始直到产品发布和维护,每个阶段都会产生循环反馈,因此,如果有信息未被 ...
- 【中级软考】软件开发生命周期模型 瀑布模型、增量模型、原型模型、螺旋模型、喷泉模型、RUP(Rational Unified Process 统一软件开发过程)、敏捷开发(开发方法,不是周期模型)
文章目录 瀑布模型/改进的瀑布模型(Waterfall Model) 螺旋模型(Spiral Model) 增量和迭代模型(Incremental Model) 原型法(RAPId Prototype ...
- 软件开发生命周期模型 瀑布模型、增量模型、原型模型、螺旋模型、喷泉模型总结
在校期间学习过这些模型,现在来复习一下. 瀑布模型/改进的瀑布模型 虽然瀑布模型仍然存在很多的问题有待解决,但瀑布模型仍然是最基本的和最效的一种可供选择的软件开发生命周期模型.瀑布模型要求软件开发严格 ...
- 软件生命周期模型知识点总结(瀑布模型、演化模型、增量模型、V模型、W模型、螺旋模型、构件组装模型、RAD模型、RUP模型、极限编程模型)
软件生命周期模型 基本概念 --PDCA循环(戴明环) --软件工作过程 --软件生命周期 --软件过程模型 传统软件生命周期模型 --瀑布模型 --演化模型 --增量模型 --喷泉模型 --V模型 ...
- 阿里,腾讯,百度软件测试工程师推荐——软件测试模型之瀑布模型
瀑布模型(Waterfall Model) 是一个项目开发架构,开发过程是通过设计一系列阶段顺序展开的,从系统需求分析开始直到产品发布和维护,每个阶段都会产生循环反馈,因此,如果有信息未被覆盖或者发现 ...
- 构建之法现代软件工程(第五次)
构建之法现代软件工程(第五次) 这周我阅读了<构建之法>第六第七章 敏捷开发的原则: (1)尽早并持续地交付有价值的软件以满足顾客的需求: (2)敏捷流程欢迎需求的变化,并利用这种变化来提 ...
最新文章
- Linux中配置bochs
- nginx 正则匹配优化(一)
- 【Android 事件分发】ItemTouchHelper 实现侧滑删除
- 【一起去大厂系列】针对left join以及limit的两条优化小技巧
- 在哪里查看计算机配置的网络协议簇,tcp/ip协议簇
- springBoot(20):使用Spring Session实现集群-redis
- 新编计算机应用基础项目教程电子书,计算机应用基础新编教程-殷锋社.pdf
- windows 使用qtcreater编译boost 测试
- 2018.12.24-bzoj-2565-最长双回文串
- Android 自定义ScrollView 支持惯性滑动,惯性回弹效果。支持上拉加载更多
- 百度之星作为座位调整java_百度之星程序设计大赛十周年算法合集20052014.PDF
- 科学计算器 java_用Java编写的标准计算器、科学计算器、时间转换。
- Java Web项目源码整合开发大合集
- galaxy s8 android pc,【三星GALAXYS8评测】DeX套件替代PC办公环境_三星 GALAXY S8_手机评测-中关村在线...
- C++ -Pointer指针总结(一)
- 知识图谱导论----相关笔记
- java todo fixme_Java中注释TODO和FIXME的作用
- DOJO API 中文参考手册
- 蓝牙设备删除失败_十代混动雅阁车载蓝牙连接不上怎么办?
- iOS开发常用之博客
热门文章
- C++实现之单链表中删除指定值
- 海贼王漫画完成超七成 最终结局已确定四皇将接连登场
- Java中队列(Queue)用法
- 解决No viable overloaded ‘=‘
- c语言createthread函数用法,C++多线程函数CreateThread如何使用?
- ubuntu root 用户切换到普通用户
- oracle修改连接端口,更改Oracle数据库连接端口
- @Value Cannot find method ‘value‘(lombok冲突)
- swiftUI 自定义返回按钮
- Android Robot介绍