张宁
摘 要:自计算机技术被人们所重视以来,人们对于各类软件的开发也就随之兴起,世界软件产业也在不断发展壮大,并且成为了世界经济发展中一个重要的环节。但是随着人们对于软件技术含量要求的日渐提高,各类软件项目开发中的失败情况也在不断增加,给企业带来损失。本文简要介绍了软件开发项目,介绍软件开发项目风险的特征、种类以及评估方法。
关键词:软件开发项目;项目风险;风险评估
1软件开发项目的概述
软件是计算机系统得以正常运转的必要条件,其主要包括运行程序、数据库以及各类相关文件。软件开发项目本身属于特殊项目开发工作,其与普通项目开发工作在特征上有着一定的差别。首先,软件开发项目是创新的过程中,其所研发的程序是客户指定的,无法利用现有组件对其进行拼接;其次,软件开发项目所加工的对象是一系列抽象化的数据,并不是可以看得见、摸得着的实物;第三,软件开发过程中需要相关开发人员投入大量的脑力劳动,并且这种脑力劳动强度较高,所需知识十分复杂;第四,软件开发项目所研发的商品也不具有具体形态,属于程序代码,是各类抽象化的数据集成体,因此其在开发的过程中能够方便开发人员进行修改和完善。
2软件开放项目风险评估的概述
2.1风险的概述
在市场经济运行过程中,风险是无处不在的,各行各业都需要承担其本身所具备的风险,而一个企业对于风险的预估、评价和规避能力就成为了其是否能够长远发展的重要依据。根据国外研究者对于风险的定义上可以看出,他们认为风险主要就是人类在从事某项已定的活动中时,由于各类不确定因素的影响,对自身造成了经济损失的情况,也就是可能发生的危险因素对当事人或企业造成的损失。
2.2软件开发项目风险的各类特征
软件项目开发本身就是一类具有特殊性质的项目开发性工作,其与普通的项目存在着一定的差别,因此,软件开发项目本身也就具有了自身独有的特征。
(1)客观性
在软件开发的整个过程中,风险是随时相伴的,其发生的时间无法进行准确的确定,对于风险的规避也具有较大的局限性,因此人们只能通过相关手段尽量减少风险带给企业的损失,而无法完全对其进行规避。软件项目开发中的风险也是具有这种客观存在性和普通性质的,并且在软件开发的过程中,其风险发生的几率也远超普通项目开发工作。
(2)不确定性
不确定性是软件项目开发过程中风险的主要特征,根据软件开发团队本身的客观属性、软件开发环境以及客户对于软件功能的要求等的不同,软件项目开发过程中所要面对的风险也就不同。同时由于各类客观条件的不断变化,人们对于软件项目开发过程中所能够发生的各类风险也不能够十分确定,同时在各类风险认知上,各企业或软件研发者的认识都有所不同,就使得风险的不确定性有着更大的变化。
(3)行为的相关性
在软件项目开发的过程中,出于对将风险控制在最低的目的考虑,需要有相关的决策者对各类开发工作过程中的风险进行评估,而此时,软件开发的风险也就随着决策者的行为发生了一定的转变。因为,不同的决策者对于软件项目开发的风险有着不同的认知,并且在采取相应预估和规避策略时其所采取的方法也不相同,但是风险本身却是客观存在的,不同的行为模式能夠导致风险的结果有着不同的变化,这也就是风险的行为相关性,同时也加剧了风险本身的不确定性特征。
(4)多样性
由于软件项目开发工作本身就具有极其多样的技术引入,因此在工作开展的过程中风险也就发生了多样性的转变。由于项目本身的规模、周期、范围以及种类等客观因素也存在着一定的差异,也就使得风险的过程和结果各不相同。另外,在软件项目开发的过程中,相关决策者对于各类风险都会做出预估和规避,并且在开发的各个阶段也会针对于不同的风险给予相应的改进措施,而这样也就使得在整个过程中部分风险得到了有效的降低,但是却使得另一部分风险发生了转变,产生了新的风险,使得软件开发的风险种类越来越多。另外,各类风险在发生时能够互相左右、互相牵制、互相诱发,这也就加大了风险的多样性变化,给风险评估和规避工作带来了一定的麻烦。
(5)对称性
在所有的项目开发过程中,项目本身的风险与项目能够带来的经济收益都是呈现对称性的,风险越高的项目,其能带给双方的经济利益也就越大;但同时,风险性越大,其给双方可能带来的经济损失也就越大,软件的开发也不例外。
2.3软件项目开发中风险的种类
由于软件项目开发本身具有的特殊性,因此其过程中所产生的风险种类也非常多。其中,按照风险的内容进行划分,主要包括管理风险、费用风险、周期风险、技术风险以及商业影响风险等;而按照风险本身的性质可以将其分为3类,分别是开发环境风险、项目特殊化风险以及产品本身风险;按照风险的确定性进行分类,可以将软件项目开发风险分为3大类,分别是已知性风险、可预知性风险以及不可预知性风险。
3软件项目开发风险管理的概述
软件项目开发风险管理工作就是对软件在开发过程中所能够遇到的各类风险进行预估,并对判断出的风险进行有效的规避。这类工作在各行各业运营过程中都需要开展,是保证企业经济收入,减小风险给投资者和开发者带来的经济损失,有效保证企业的稳定收入的主要方法。根据其所采用方法的不同,风险管理所能够起到的作用也不相同,同时对于风险结果的改变也就不相同。
4模糊逻辑下软件开发风险评估的方法
模糊逻辑是一种与人类思维逻辑方式最为接近的分析方法,其主要是对于各类不确定因素、不准确信息进行判断的分析方法。模糊逻辑主要是基于模糊逻辑变量、模糊逻辑函数以及似然推理等方法对软件开发项目中存在的风险进行分析。
4.1模糊逻辑的基础理论
在传统逻辑思维中,其主要是以二值逻辑为基础,也就是说其对于事物的判断主要就基于两个结果,分别是“是”和“非”,这属于对事物的清晰化判断。对于不确定或变化性较大的事物的判断上存在着极大的缺陷,因此也就诞生了模糊逻辑理论。
软件开发过程中,相关开发者在对软件进行设计的过程中需要参考客户所给出的条件,而这些条件本身具有一定的模糊性和不确定性,因此由于开发者理解的不同就会造成软件风险的不同,也就产生了不确定性。对于有模糊数集来说,其研究的对象是模糊的,但所分析的函数本身趋势是精确的,但是由于在分析的过程中,人的主观认知有着一定的偏差,因此这种函数既具有数学的科学性,又具有个人化的主观性。
4.2模糊逻辑下对于软件开发风险的评估方法
模糊逻辑可以说是对软件开发中所产生的风险进行评价的最有效方法之一,由于软件开发项目本身的特殊性,其所产生的风险也就具有特殊性质,而模糊逻辑方法对于这类不确定性极高的事件的评估效果极好。
首先,相关管理者需要对软件开发中所能够产生的各类风险进行归纳,可以借鉴国外的相关研究,并将其归于模糊逻辑数据库中,保证在后期评估过程中能够有据可依。
其次,根据所开发的软件项目的实际情况,对整个风险评估工作设计框架,这是为风险评估工作提供了保障。
第三,根据模糊逻辑计算公式,对各类可能发生的风险情况进行分析和推演,并且建立其完整的模型。这样管理者就能够对各类风险所导致的因素有一个直观的了解。同时也对各类风险所能够带来的结果进行了解,并对其进行相应的改变。
第四,对概率树进行设定,这样就能够了解到在项目开发过程中,每一个风险发生的几率,同时了解各类风险对于现金流的影响情况。同时对于概率树的建立能够有效对风险在发展过程中所产生的变化进行有效的预判,但需要注意的是,这种方法无法为风险管理人员提供准确的风险发生概率和影响情况,还需要管理者基于数据进行判断。
5结语
软件开发的风险在一定程度上制约了软件行业的发展,利用模糊逻辑理论能够有效对未知的风险进行評估,虽然无法得到准确的风险判断,但是可以为相关管理者提供有力的参考数据,帮助其对软件开发流程的安排进行判断。
参考文献
[1] 陈丽蓉.软件开发项目中的风险管理[J]. 海南广播电视大学学报,2008(04).
[2] 曹阳红.软件开发项目风险研究[J]. 电子商务,2010(08).
[3] 骆剑锋.浅析软件开发项目过程中的风险管理[J]. 电脑知识与技术,2009(18).
[4] 尹其磷. 软件开发的风险分析与控制[J]. 武汉理工大学报,2003(05).
[5] 黄一新. 论信息系统软件开发项目的风险管理[J]. 情报探索,2012(12).