“敏捷开发、迭代开发、瀑布开发”的简单介绍

来源:互联网 发布:优酷显示网络请求出错 编辑:程序博客网 时间:2024/05/22 16:42

一、敏捷开发
原理

敏捷开发以用户的需求进化为核心,采用迭代、循序渐进的方法进行软件开发。在敏捷开发中,软件项目在构建初期被切分成多个子项目,各个子项目的成果都经过测试,具备可视、可集成和可运行使用的特征。换言之,就是把一个大项目分为多个相互联系,但也可独立运行的小项目,并分别完成,在此过程中软件一直处于可使用状态。
开发宣言

1、个体和交互 胜过 过程和工具。
2、可以工作的软件 胜过 面面俱到的文档。
3、客户合作 胜过 合同谈判。
4、响应变化 胜过 遵循计划。
5、虽然右项也有价值,但是我们认为左项具有更大的价值。

二、迭代开发
原理

在迭代式开发方法中,整个开发工作被组织为一系列的短小的、固定长度(如3周)的小项目,被称为一系列的迭代。每一次迭代都包括了定义、需求分析、设计、实现与测试。采用这种方法,开发工作可以在需求被完整地确定之前启动,并在一次迭代中完成系统的一部分功能或业务逻辑的开发工作。再通过客户的反馈来细化需求,并开始新一轮的迭代。
优点
1、降低风险,在进行大规模的投资之前就解决了关键的风险分析。
2、得到早期用户反馈,使得早期的用户反馈在初始迭代中就能出现。
3、持续的测试和集成,对各个目标里程碑提供了短期的焦点(阶段性的中心)。
4、使用变更,对过程的测量是通过对实现的评定(而不仅仅是文档)来进行的。
5、提高复用性,可以对局部的实现进行部署。

三、瀑布开发
原理

瀑布模型(Waterfall Model) 是一个项目开发架构,开发过程是通过设计一系列阶段顺序展开的,从系统需求分析开始直到产品发布和维护,每个阶段都会产生循环反馈,因此,如果有信息未被覆盖或者发现了问题,那么最好 “返回”上一个阶段并进行适当的修改,项目开发进程从一个阶段“流动”到下一个阶段,这也是瀑布模型名称的由来。包括软件工程开发、企业项目开发、产品生产以及市场销售等构造瀑布模型。
优点
1、为项目提供了按阶段划分的检查点。
2、当前一阶段完成后,您只需要去关注后续阶段。
3、可在迭代模型中应用瀑布模型。
4、它提供了一个模板,这个模板使得分析、设计、编码、测试和支持的方法可以在该模板下有一个共同的指导。
缺点
1、各个阶段的划分完全固定,阶段之间产生大量的文档,极大地增加了工作量。
2、由于开发模型是线性的,用户只有等到整个过程的末期才能见到开发成果,从而增加了开发风险。
3、通过过多的强制完成日期和里程碑来跟踪各个项目阶段。
4、瀑布模型的突出缺点是不适应用户需求的变化。

阅读全文
1 0
原创粉丝点击