软件开发模型之迭代模型
转自:http://baike.baidu.com/view/1380740.htm
早在20世纪50年代末期,软件领域中就出现了迭代模型。最早的迭代过程可能被描述为“分段模型(stagewise model)”。迭代模型是RUP推荐的周期模型。被定义为:迭代包括产生产品发布(稳定、可执行的产品版本)的全部开发活动和要使用该发布必需的所有其他外围元素。在某种程度上,开发迭代是一次完整地经过所有工作流程的过程:需求、分析设计、实施和测试工作流程。实质上,它类似小型的瀑布式项目。RUP认为,所有的阶段都可以细分为迭代。每一次的迭代都会产生一个可以发布的产品,这个产品是最终产品的一个子集。
什么是迭代模型
在现代过程方法XP(eXtreme Programming,极限编程)、RUP无一例外地都推荐、主张采用能显著减少风险的迭代模型。美国国防部原本提倡瀑布过程和观点,在发现那么多采用了瀑布模型的失败的项目之后,不但放弃了对它的要求,而且从1994年的报告开始,积极地鼓励采用更加现代化的迭代模型来取代瀑布模型做法。同时,中国中科院也提倡选用迭代模型。
迭代模型的选择
对众多的开发模型和过程方法,及权威机构的看法,企业应选择什么样的开发模型,应慎重对从以下几方面进行考虑:
1、RUP虽然内容极其丰富,定义了选起、精化、构建、产品化4个阶段和业务建模、需求、分析设计、实现、测试、部署等9个工种,提供了一大堆的文档模板,但极易让人误解是重型的过程,实施推广有一定难度。
2、再次,在质量管理方面:以实现系统架构、核心功能目标的迭代产品生的工作成果作为质量控制重点。每次迭代进行系统集成、系统测试,达到对软件质量的持续验证。每次系统测试,需要回归测试前一次迭代遗留发现的问题。每次迭代发布的小版本组织客户(包括内部客户、外部客户)进行评价,通过演示操作等方式,评价该次迭代是否达到预定的目标,并以此为依据来制定下一次迭代的目标。
3、最后,在其他方面:每次迭代成果须进行配置管理,版本控制很重要。在整个迭代过程中风险无处不在,建议每周作一次风险跟踪。同时通过重点关注进度、工作量、满意度、缺陷等数据收集,关注每次迭代情况。
总之,选择一个合适的生命周期模型,并应用正确的方法,对于任何软件项目的成功是至关重要。企业在选择开发模型应从项目时间要求、需求明确程度、风险状况等选择合适的生命周期模型。
迭代模型的使用条件
1、在项目开发早期需求可能有所变化。
2、分析设计人员对应用领域很熟悉。
3、高风险项目。
4、用户可不同程度地参与整个项目的开发过程。
5、使用面向对象的语言或统一建模语言(Unified Modeling Language,UML)。
6、使用CASE(Computer Aided Software Engineering,计算机辅助软件工程)工具,如Rose(Rose是非常受欢迎的物件软体开发工具。)。
7、具有高素质的项目管理者和软件研发团队。
迭代模型的优点
与传统的瀑布模型相比较,迭代过程具有以下优点:
1)降低了在一个增量上的开支风险。如果开发人员重复某个迭代,那么损失只是这一个开发有误的迭代的花费。
2)降低了产品无法按照既定进度进入市场的风险。通过在开发早期就确定风险,可以尽早来解决而不至于在开发后期匆匆忙忙。
3)加快了整个开发工作的进度。因为开发人员清楚问题的焦点所在,他们的工作会更有效率。
4)由于用户的需求并不能在一开始就作出完全的界定,它们通常是在后续阶段中不断细化的。因此,迭代过程这种模式使适应需求的变化会更容易些。
转载于:https://www.cnblogs.com/colder/archive/2012/02/23/2365294.html
软件开发模型之迭代模型相关推荐
- 软件测试常见概念(软件生命周期、软件开发模型、软件质量模型、软件缺陷管理、软件测试概述、软件测试分类、软件测试与软件开发、软件测试原则、黑盒测试方法、白盒测试方法、性能测试)
文章目录 1. 软件概述 1.1 软件生命周期 1.2 软件开发模型 1.2.1 瀑布模型 1.2.2 快速原型模型 1.2.3 迭代模型(增量模型或演化模型) 1.2.4 螺旋模型 1.2.5 敏捷 ...
- 【软件测试基础理论知识】1.2.常见的软件开发模型之———增量模型(渐增模型)、螺旋模型
增量模型(渐增模型).螺旋模型 一. 增量模型 1.1 增量模型的基本思想 1.2 增量模型的特点 1.3 增量模型的优点 1.3 增量模型的缺点 1.4 增量模型的适用范围 二. 螺旋模型 2.1 ...
- 系统架构设计师-软件开发模型(增量模型)
演化模型的另一种形式是增量模型.在系统的技术架构成熟.风险较低的时候,可以采用增量的方式进行系统开发,这样可以提前进行集成测试和系统测试,缩短初始版本的发布周期,提高用户对系统的可见度. 对于增量模型 ...
- 什么是软件测试、生命周期、软件开发模型、测试模型
目录 1.
- 软件开发模型总结归纳(瀑布模型、螺旋模型、迭代模型、增量模型、敏捷模型)
文章目录 0. 软件的生命周期 1. 瀑布模型 2. 螺旋模型 3. 迭代模型 4. 增量模型 5. 敏捷模型 0. 软件的生命周期 软件的生命周期是指从软件产品的设想开始到软件不在使用而结束的时 ...
- 软件开发模型-瀑布模型、V形模型、原型模型、增量模型、快速开发、敏捷模型
文章目录 0x01 边做边改模型 0x02 瀑布模型 0x03 V形模型 0x04 原型模型 0x05 增量模型 0x06 螺旋模型 0x07 快速应用程序开发模型 (RAD) 0x08 敏捷模型 0 ...
- 软件开发模型/原型法/瀑布模型/螺旋模型
软件开发模型(Software Development Model)是指软件开发全部过程.活动和任务的结构框架.软件开发包括需求.设计.编码和测试等阶段,有时也包括维护阶段. 软件开发模型能清晰.直观 ...
- 软件开发模型(瀑布模型、敏捷模型)和软件测试模型(V模型、W模型、 H模型、X模型)
软件开发模型和软件测试模型 软件开发模型 边写边改模型 瀑布模型 快速原型模型 螺旋模型 软件测试模型 V模型 W模型 H模型 X模型 测试阶段 1.单元测试 2.集成测试 3.系统测试(system ...
- 软件开发模型 - 瀑布模型 快速原型模型 增量模型 螺旋模型 及优缺点详解
一.软件开发过程模型 软件开发模型(Software Development Model)是指软件开发全部过程.活动和任务的结构框架.软件开发包括需求.设计.编码和测试等阶段,有时也包括维护阶段. 软 ...
最新文章
- 面试官:我把数据库部署在Docker容器内,你觉得如何?
- burp suite java_Burpsuite插件自动二手开发
- 一個简单的okhttp访问网络的例子
- toad dba suite for oracle 12.1,Toad for Oracle 12.1下载地址
- Int,Long比较重使用equal替换==
- Palindrome(插入字符变成回文字符串)
- mysql第三方工具binlog_mysql 开发进阶篇系列 33 工具篇(mysqlbinlog日志管理工具)
- NVIDIA助力SiemensPLMSoftware“工业4.0创新实验室”,携手推进中国制造创新之路
- Linux内核协议栈分析之网卡初始化——tcp/ip通信并不神秘(1)
- 执行mvn 报错 source-1.5 中不支持 diamond运算符
- 博图导入的程序用step7读出_博图软件TIA STEP7 V16 上载程序方法
- 倒F印刷天线设计与实战
- 基于C++和AStar算法求解八数码问题的方案
- CREO:CREO软件之工程图【注释】之尺寸、注解、表面粗糙度、符号、几何公差的简介及其使用方法(图文教程)之详细攻略
- 东芝固态硬盘升级工具下载(软件+DMG)
- 美版iphone更新系统无服务器,iPhone 升级系统提示无法检查更新如何解决?
- 7-55 查询水果价格
- STM32 Bootloader开发记录 3 固件签名校验
- java.sql.SQLException: The connection property ‘zeroDateTimeBehavior‘ acceptable values are: ‘CONVER
- 钉钉导航栏分享按钮的显示/隐藏
热门文章
- C语言的良好编程习惯
- 1058. 选择题(20)-PAT乙级真题
- Java se官方中文API下载链接
- 西门子200系列PLC通信编程指令讲解
- 10个H5页面制作工具
- Android:一篇就够!全面详细解析APN(涉及内容:GGSN,authtype,MVNO,pdp,Apns-conf,supl,hipri,dun)
- 让Python程序自动玩数独游戏,秒变最强大脑!
- mysql populate_BeanUtils.populate 的作用
- 11月赠书活动获奖读者
- 推荐学习!通过五轮面试斩获offer阿里实习生亲述,深度解析,值得收藏