欢迎来到天天文库
浏览记录
ID:21934413
大小:70.00 KB
页数:14页
时间:2018-10-25
《基于风险管理的软件开发过程模型及其复合实物》由会员上传分享,免费在线阅读,更多相关内容在工程资料-天天文库。
1、基于风险管理的软件开发过程模型及其复合实物0引言随着软件项目的日益复杂和庞大,软件生产与管理也曰益复杂,软件风险性也随之增大。软件项目的风险特征表现如下:(1)随机性,表现为风险发生的时间、持续时间及风险后果的随机性;(2)复杂性,软件项目风险发生环节多、涉及面广、风险类型复杂且各种风险之间关联性较强;(3)不完全性,表现为发生风险信息的不完全和模糊性;(4)动态性,风险变化快且具有传递效应,风险的影响效应可能会在传递过程中不断积累和放大,进而对整个软件开发过程产生致命的重大影响。因此,近些年来人们开始重视软件风险的研究,把软件风
2、险纳入软件工程的一个重要研究范畴。研究的目的就是探索软件风险的概念、特性,风险处理的策略、方法,以降低或克服软件风险的危害性,从而提高软件产品的质置4]。Pressman指出:为了实现软件工程化的管理,必须针对该项目的开发环境和及应用特征,为各项开发活动的流程确定选择一种合适的框架,称之为Soft指出[叭在软件开发过程模型中评估和控制风险是最有效率的风险管理方式。Chapman认为在项目生命周期的各阶段都应该有正式的风险管理过程(RMP)7]。IEEE首次以技术规范书的形式,提出了在软件项目管理中进行风险管理的重要性,并对软件项目
3、中的风险的影响提出了风险识别,风险分析与风险分级的分析方法。对于风险计划的编制,风险的监测和风险的持续管理进行了论述。CaUahan和SaboMi[8]对于软件开发提出了一个VV的识别方法,即对软件项目要进行VerificationandValidation即双V验证,其主要观点是对软件开发的全过程要进行风险的管理,对于每一个软件开发项目中可能发生的风险,用验证和证实的双重方法去观察可能发生的风险,要对项目中已经出现的风险根据其对项目的影响程度来分级处理。然而,大多数针对软件开发过程中的风险管理的研究还停留在经验层面,软件开发实践
4、中的许多方法还缺乏相应的理论基础。本文从软件开发过程的概念出发,研究并探索了在软件项目开发过程融入风险分析及风险管理的方法。在螺旋模型的基础上提出了集成风险管理的软件项目开发过程模型,并运用实物期权理论框架解释和证明了该过程模型的优势。以期权的观点来看,螺旋模型的主要优势来自于迭代开发过程中包含的决策灵活性。在每一阶段对任务和风险进行重新评估,给予了开发者是否继续下一轮开发的期权选择,这些选择的权利帮助决策者充分把握有利的机会,并在技术变化或竞争加剧等不利情况下具备退出的权利,以更大的灵活性应对软件开发过程中的风险。本文使用变波动
5、率多期复合实物期权模型量化了螺旋开发过程模型中决策灵活性的价值,从理论上证明了在不确定环境中应用该过程模型的优势。1软件开发过程与软件风险软件开发有4大要素:人员、项目、产品和过程。软件开发过程就是将用户需求转化为产品所需要的完整活动的集合,是建造高质量软件产品的框架。一个软件开发过程定义了软件开发中采用的方法、模型等,是对软件项目进行控制和管理的基础[9]。软件开发过程与软件风险有紧密的联系,历史上曾经出现过许多软件开发过程模型,以下简单讨论一些有代表性的主要过程模型及其与软件风险的关系。1.1瀑布模型与软件风险瀑布模型是通过一
6、系列单向开发流程:定义、需求、分析、设计、实现、测试和维护等来完成产品的研制,强调详细的分析与设计,并严格按照规定的步骤开发软件,以保证软件的质量和可维护性,是一种计划驱动的开发方式然而,由于用户往往在最后才能看到产品,问题在测试与集成阶段才能发现,因而在需求变化的情况下风险性极大。12原型模型与软件风险快速原型法是一种快速,灵活,交互式的软件开发方法。快速原型法的核心是用交互的,快速建立起来的原型取代了形式的、呆板的详细文档。通过建立软件原型使在系统开发早期就可以看到产品,用户通过在计算机上实际运行和试用原型而向开发者提供真实的
7、反馈意见。该方法较适应于需求变化较大的情况,但缺乏严格的分析、设计和系统性,易造成低质量的软件系统,维护困难。13演化软件过程模型与软件风险它的主要原理是:软件产品是经过多次过程而演化出来的,是一种迭代的方法,通过版本的渐进、完善而逐步形成产品。演化过程模型有有增量模型、螺旋模型、构件组装模型和并行开发模型等主要类型。增量模型是线性顺序的多次迭代,一次只产生一个增量产品。螺旋模型是演化软件过程的模型,开发过程呈螺旋式递增,也是一种多次迭代的过程,它将瀑布模型中严密的系统分析设计与迭代模型的灵活性进行了综合,把风险管理作为软件过程的
8、一个必要环节,在降低大型的复杂软件系统的开发风险方面具有独特的优势。1.4面向对象方法与软件风险面向对象方法是目前的主流开发方法。它从对象及对象间关系出发,试图使问题空间与解空间达到尽可能一致,从而寻找出一种良好的软件过程模型。面向对象方法的优点是
此文档下载收益归作者所有