- 1、本文档共16页,可阅读全部内容。
- 2、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
- 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
生存期模型的特点及选择
结合实际案例分析
主要生存期模型
瀑布(Waterfall)
V模型(V-shaped)
原型(Prototyping)
增量(Incremental)
螺旋式(Spiral)
快速应用开发(RAD)
瀑布模型
模型特点
将软件生命周期划分为软件计划、需求分析和定义、软件设计、软件实现、软件测试、软件运行和维护这几个阶段,规定了它们自上而下、相互衔接的固定次序,如同瀑布流水逐级下落。
瀑布模型
模型优缺点
优点:线性,阶段划分明确。以项目的阶段评审和文档控制为手段有效的对整个开发过程进行指导。
缺点: (1)缺乏灵活性,无法解决需求不明或者不准确的情况; (2)由于开发模型是线性的,用户只有等到末期才能见到开发成果,增加了开发的风险;(3)早期的错误可能要等到开发后期的测试阶段才能发现。
适用项目
需求明确、解决方案明确的项目
V模型
模型特点
是瀑布模型的改进
将测试分级,并且与开发阶段对应,并行执行
V模型
模型优缺点
优点:纠正了人们不重视测试阶段重要性的错误认识,将测试分等级,并和前面的开发阶段对应起来。
缺点: 仍然将测试作为一个独立的阶段,所以并没有提高模型抵抗风险的能力,在V模型的基础上提出了W模型,将测试广义化,增加确认和验证内容,并贯穿整个软件生命周期。
适用项目
与瀑布模型类似,但对性能、安全要求较高的项目
原型方法
模型特点
模拟某种产品的原始模型。软件原型是一个早期可以运行的版本,它反映最终系统的部分重要特性。
原型方法
模型优缺点
优点:有助于增进软件人员和用户对系统服务需求的理解;原型的最终版本可作为最终产品或最终系统的一部分。
缺点:文档容易被忽略 ;建立原型的许多工作会被浪费掉 ;项目难以规划和管理。
适用项目
需求不明确,动态变化的项目(如界面的开发)
增量模型
模型特点
允许客户的需求可以逐步提出来;软件产品被增量式的一块块开发,每一个增量均发布一个可操作产品。
增量模型
模型优缺点
优点: (1)增强了客户使用系统的信心,逐步提出对后续增量的需求;(2)增量从高到低的优先级确定保障了系统重要功能部分的可靠性 ;(3)项目总体失败的风险较低 。
缺点:增量的粒度选择问题;确定所有的基本业务服务比较困难
适用项目
需求大部分明确,系统较为复杂,有一定技术风险。
螺旋式模型
模型特点
采用一种周期性的方法来进行系统开发,结合原型方法和瀑布模型。每一个周期都包括制定计划、风险分析、实施工程和评审4个阶段,进行迭代。
螺旋式模型
模型优缺点
优点:(1)强调风险分析,使得开发人员和用户对每个演化层出现的风险有所了解;(2)客户始终参与,和管理层有效地交互。
缺点:(1)需要具有相当丰富的风险评估经验,在风险较大的项目开发中,如果未能够及时标识风险,势必造成重大损失;(2)过多的迭代次数会增加开发成本,延迟提交时间。
适用项目
庞大、复杂并具有高风险的系统
快速应用开发模型
模型特点
采用构件组装方法进行快速开发,尽可能地再用或重用已有的程序部件,必要时创建新的部件。所有的工作尽可能地使用自动工具来构造软件。
快速应用开发模型
模型优缺点
优点:加快了开发速度,促进了代码复用、小组结构以及分散式系统开发。
缺点:对模块化要求较高;开发人员和客户必须在很短的时间内完成一系列的需求分析。
适用项目
信息系统、高度模块化的项目,不适合技术风险很高的项目。
快速应用开发模型
模型名称
技术特点
适用范围
瀑布模型
简单,分阶段,阶段间存在因果关系, 各个阶段完成后都有评审,允许反馈,不支持 用户参与,要求预先确定需求
需求易于完善定义且不易变更的软件系统
V模型
在瀑布模型上将测试分等级,并和前面的开发阶段对应起来
需求易于完善定义且对安全要求较高软件系统
螺旋模型
结合瀑布模型、快速原型模型和迭代模 型的思想,并引进了风险分析活动
需求难以获取和确定、软件开发风险较大的软件系统
快速原型模型
不要求需求预先完备定义,支持用户参与, 支持需求的渐进式完善和确认,能够适应用户需求的变化
需求复杂、难以确定、动态变化的软件系统
增量模型
软件产品是被增量式地一块块开发的, 允许开发活动并行和重叠
技术较大、用户需求较为稳定的软件系统
RAD
采用构件组装方法进行快速开发;按模块分组
信息系统开发
Thank you!
文档评论(0)