赞
踩
软件的生命周期是指从软件产品的设想开始到软件不在使用而结束的时间。
软件的生命周期分为6个阶段,即需求分析、计划、设计、编码、测试、运行维护。
瀑布模型是最早出现的软件开发模型,是所有其他软件开发模型的基础框架。与软件的生命周期不同的是,它缺少了软件运行维护阶段。
描述: 每个阶段都只执行一次,因此是线性顺序的软件开发模型。
正是由于每个阶段只执行一次,所以前面的需求分析和设计尤为重要。
优点:
缺点:
适用项目: 需求比较明确且变更很少的项目。
一般在软件开发初期阶段需求不是很明确时,采用渐进式的开发模型。螺旋模型是渐进式开发模型的代表之一。
描述: 以原型为基础沿螺线旋转、每转一圈都经过计划/风险分析/实施/评估等过程且得到相应新版本、经过若干次螺旋上升得到最终版本。
螺旋模型沿着螺旋线进行若干次迭代,图中的四个象限代表了一下活动:
(1)制定计划:确定软件目标,选定实施方案,弄清项目开发的限制条件;
(2)风险分析:分析评估所选方案,考虑如何识别和清楚风险;
(3)实施工程:实施软件开发和验证;
(4)客户评估:评价开发工作,提出修正建议,制定下一步计划。
迭代开发的模式给软件测试带来了新的要求,它不允许有一段独立的测试时间和阶段,测试必须跟着开发的迭代而迭代,所以回归测试的很重要。
优点:
缺点:
适用项目: 对新近开发,需求不明确的情况下,适合用螺旋模型进行开发,便于风险控制和需求变更。
开发迭代是一次完整地经过所有工作流程的过程:(至少包括)需求工作流程、分析设计工作流程、实施工作流程和测试工作流程。实质上,迭代模型是类似小型的瀑布式项目。
每一个迭代都会产生一个可以发布的产品,这个产品是最终产品的一个子集。
描述:
4. 一次迭代过程包括了所有软件开发流程。
5. 每一次迭代均产生一个可发布的产品。
6. 该产品为最终产品的一个子集。
适用项目: 适合于事先不能完整定义产品的所有需求,计划多期开发的项目。
描述:
优点: 开始时不用投入大量人力资源,可以事先推出核心产品以稳定用户,可以有计划的管理技术风险。
缺点: 需要开放式体系结构,可能会产生设计效果差、开发效率低的情况。
适合项目: 需求经常发生改变的软件开发过程。
增量和迭代模型的区别:
增量是逐块建造的概念,例如:画一幅人物画,我们可以先画人的头部,再画身体,再画手脚……。
迭代是反复求精的概念,例如:同样是画人物画,我们可以先画整体轮廓,在勾勒出基本雏形,再细化、着色……。
描述: 敏捷模型是一种轻量、高效、低风险、更强调团队协作和沟通的开发方式,适合于中小型开发团队,客户需求模糊或多变。
特点:
Copyright © 2003-2013 www.wpsshop.cn 版权所有,并保留所有权利。