软件生存周期模型之迭代模型

什么是迭代模型

迭代式模型是是RUP(Rational Unified Process,统一软件开发过程,统一软件过程)推荐的周期模型。在RUP中,迭代被定义为:迭代包括产生产品发布(稳定、可执行的产品版本)的全部开发活动和要使用该发布必需的所有其他外围元素。所以,在某种程度上,开发迭代是一次完整地经过所有工作流程的过程:(至少包括)需求工作流程、分析设计工作流程、实施工作流程和测试工作流程。实质上,它类似小型的瀑布式项目。RUP认为,所有的阶段(需求及其它)都可以细分为迭代。每一次的迭代都会产生一个可以发布的产品,这个产品是最终产品的一个子集。迭代的思想如图所示:

迭代和瀑布的区别

迭代模型同瀑布模型一样,项目也会遵循需求->分析->设计->开发->测试->发布的流程,但不同的是,在前期需求分析阶段,会将所有的需求按照核心功能点-模块-关联模块进行拆分并分期实现,然后以迭代的形式逐步完善功能,在每一次迭代完成后系统都是可以交付的原型,往往第一次迭代都是产品最核心的功能。

迭代和瀑布的最大的差别就在于风险的暴露时间上。“任何项目都会涉及到一定的风险。如果能在生命周期中尽早确保避免了风险,那么您的计划自然会更趋精确。有许多风险直到已准备集成系统时才被发现。不管开发团队经验如何,都绝不可能预知所有的风险。”  由于瀑布模型的特点(文档是主体),很多的问题在最后才会暴露出来,为了解决这些问题的风险是巨大的。"在迭代式生命周期中,您需要根据主要风险列表选择要在迭代中开发的新的增量内容。每次迭代完成时都会生成一个经过测试的可执行文件,这样就可以核实是否已经降低了目标风险。"

迭代模型周期主要阶段

优缺点

优点:
1)在需求分析阶段就给出了相对完成的架构设计方案,便于后面迭代的扩展和完善;
2)第一阶段核心功能交互用户后,可以及早获取反馈结果,对后期的迭代起到指导作用;
3)人员分配灵活,前期不用投入很多人力;
4)在前期能够很好的控制风险,并且解决难度系数较低,影响范围也较小。
缺点:
1)对项目需求明晰度要求很高;
2)对整个项目周期要求较宽裕,政治任务需排除。

原文地址:https://www.cnblogs.com/yilang/p/12248622.html

时间: 2024-11-05 20:38:41

软件生存周期模型之迭代模型的相关文章

软件生存周期模型

软件生存周期模型是描述软件开发过程中各种活动如何执行的模型.软件生存周期模型确立了软件开发和演绎中各阶段的次序限制以及各阶段或机动的准则,确立开 发过程所遵守的规定和限制,便于各种活动的协调,便于各种人员的有效通信,有利于活动重用,有利于活动管理.常见的软件生存周期模型有瀑布模型.演化模型.螺旋模型.喷泉模型等. 1)瀑布模型(waterfall model) 瀑布模型核心思想是按工序将问题化简,将功能的实现与设计分开,便于分工协作,即采用结构化的分析与设计方法将逻辑实现与物理实现分开.将软件生

什么是软件生存周期模型

软件生存周期模型的定义 软件生命周期模型是指人们为开发更好的软件而归纳总结的软件生命周期的典型实践参考. IEEE把一个软件生存周期模型描述为:一个包括软件产品开发.运行和维护中有关过程.活动和任务的框架,覆盖了从该系统的需求定义到系统的使用终止. 中国计算机科学与技术百科全书称软件生存周期模型为"软件开发模型",并把它定义为:软件过程.活动.任务的结构框架. 它是描述软件开发过程中各种活动如何执行的模型.软件生存周期模型确立了软件开发和演绎中各阶段的次序限制以及各阶段或机动的准则,确

软件生存周期模型之瀑布模型

什么是瀑布模型 又称作为是传统模型.严格按照需求->分析->设计->开发->测试的阶段进行,每个阶段执行时都会进行必要的约束保证质量,并有明确的文档产出.验收完成后才可进入到下一个阶段. 瀑布模型核心思想是按工序将问题化简,将功能的实现与设计分开,便于分工协作,即采用结构化的分析与设计方法将逻辑实现与物理实现分开.将软件生命周期划分为制定计划.需求分析.软件设计.程序编写.软件测试和运行维护等六个基本活动,并且规定了它们自上而下.相互衔接的固定次序,如同瀑布流水,逐级下落. 从本质

软件生存周期模型之V模型

什么是V模型 RAD(Rapid Application Development,快速应用开发)模型是软件开发过程中的一个重要模型,通过开发和测试同时进行的方式来缩短开发周期,提高开发效率.其形状像一个字母V,故称为V模型.又称软件测试的V模型. V模型是一个著名的.以测试为驱动的开发模型,该模型强调开发过程中测试贯穿始终,是瀑布模型的一个变体.V模型描述了质量保证活动和沟通.建模相关活动以及早期构键相关的活动之间的关系.随着软件团队工作沿着V模型左侧步骤向下推进,基本问题需求逐步细化,形成问题

软件开发生命周期模型 瀑布模型、增量模型、原型模型、螺旋模型、喷泉模型总结

在校期间学习过这些模型,现在来复习一下. 瀑布模型/改进的瀑布模型 虽然瀑布模型仍然存在很多的问题有待解决,但瀑布模型仍然是最基本的和最效的一种可供选择的软件开发生命周期模型.瀑布模型要求软件开发严格按照需求 ->分析->设计->编码->测试的阶段进行,每一个阶段都可以定义明确的产出物和验证准则.瀑布模型在每一个阶段完成后都可以 组织相关的评审和验证,只有在评审通过后才能够进入到下一个阶段. 由于需要对每一个阶段进行验证,瀑布模型要求每一个阶段都有明确的文档产出,对于严格的瀑布模型

瀑布模型、迭代模型---张子芳

瀑布模型:  瀑布模型核心思想是按工序将问题化简,将功能的实现与设计分开,便于分工协作,即采用结构化的分析与设计方法将逻辑实现与物理实现分开.将软件生命周期划分为制定计划.需求分析.软件设计.程序编写.软件测试和运行维护等六个基本活动,并且规定了它们自上而下.相互衔接的固定次序,如同瀑布流水,逐级下落.  简单的说就是先定好需求和相关文档,然后构建框架,然后写代码,然后测试,最后发布个产品 一旦文档需求确定,开发人员就按文档开发,直到产品开发完后,才会拿出来给客户.不过这种方式基本不适应现今快速

软件设计师10-系统开发模型

开发模型 开发模型是软件工程中指导开发的开发思想.开发体系. 经典模型-瀑布模型 最初始的模型,上个世纪七十年代提出,盛极一时,全球百分之九十的项目都用瀑布模型. 软件计划.需求分析.软件设计.程序编码.软件测试.运行维护.每个阶段都会有输出产物,是一个很经典的模式.但是每个阶段都依赖于上一阶段,不能应对客户需求变更. 瀑布模型总结:只能适应于需求明确的项目,需求不明确的项目千万不能用瀑布模型. 其他经典模型 原型模型 定位于需求不明确的项目.在项目初期会构造一个简易系统(可以是界面无后台功能,

0730------Linux网络编程----------服务器端模型(迭代,多进程,多线程,select,poll,epoll 等)

1.迭代服务器模型 1.1 迭代服务器是处理多个请求时一种最简单直接的思路,即使用while循环,它不具有并发能力,即必须一个一个的处理客户的请求. 1.2 程序示例. #include "def.h" int listenfd_init(); //返回一个处于监听状态的套接字描述符 void do_service(int peerfd); // 处理客户端的请求 int main(int argc, const char *argv[]) { if(signal(SIGPIPE, S

软件生命周期以及开发模型

一.软件生命周期: 可行性研究,需求分析(这两步是软件定义) 概要设计.详细设计.实现.集成测试.确认测试:属于软件开发 使用与维护.退役:维护. 二.软件开发模型: 1.以软件需求可完全确定为前提的瀑布模型 2.在软件开发初期只能提供基本需求所采用的渐进式开发模型如:原型模型.螺旋模型. 3.以形式化开发方法为基础的变换模型. 三.瀑布模型 1.主要思想:a.软件开发过程与软件生命周期一致 b.相邻二阶段之间存在因果关系 c.需对阶段性产品进行评审. 2.不足:a.缺乏灵活性 b.到最后阶段才