论文部分内容阅读
[摘要] 软件项目的风险评估对软件项目实施的成功与否具有重要意义,而现有的软件项目风险评估方法在其应用时具有一定的局限性。本文采用基于模糊数学理论的模型,对软件项目的风险评估进行研究,并结合某钢铁公司计量管理信息系统软件开发进行实际的模型验证。结果表明该模型能较好的计算出风险因素对各种后果事件的综合影响,具有较好的客观性、科学性以及适用性。
[关键词] 软件项目风险评估模糊数学
1、概述
软件项目风险是指在软件开发过程中遇到的预算和进度等方面的问题以及这些问题对软件项目的影响。软件项目风险会影响项目计划的实现,其一旦发生,就会增加项目的成本、影响项目的进度甚至使项目不能完成。根据CHAOS在2004年的调查报告[1]:目前正在实施的软件项目中,有53%不能按时交付、超出预算或没有达到预定的功能,有18%的项目最后甚至被迫取消,因而对实施的软件项目进行风险评估就变得具有十分重要的意义。
软件项目风险评估是软件项目风险管理的核心,它包括如何识别和分析项目可能出现的风险及其影响、如何评估项目成功可能性的大小等,从而为实行有效的软件项目管理以及实时监测、控制风险提供依据。目前有关软件风险评估的方法大都是基于概率的方法,而这种方法的一个典型不足之处在于其分析的准确性是建立在大量数据支持的基础之上,因而其在软件项目风险评估中的应用就具有一定的局限性。
模糊理论产生于数学领域,1965年L.A.Zadeh首次提出用“隶属的概念”来处理和刻画模糊现象、描述差异的中间过渡,从而为模糊逻辑的产生奠定了理论基础[2]。模糊逻辑是通过模仿人的思维方式来表示和分析不确定、不精确信息的方法和工具[3-5],具有较强的自然语言处理能力,其在实际中的应用几乎涉及到了农业、林业、气象、环境、军事、医学等与国民经济息息相关的各个领域及部门。本文试图利用模糊数学的理论来对软件项目风险评估进行研究和分析,并结合该方法对某钢铁集团计量管理信息系统软件开发过程中的项目风险进行评估分析,以期为该理论在软件项目风险评估工作中的应用提供一定实际依据。
2、软件项目风险评估模型的构建
基于模糊函数的软件项目风险评估法(Fuzzy theory based software project risk evaluation,FUSPRE)考虑到软件项目中普遍存在的经验数据不足及评估语言的不确定性,故引入模糊学概念,采用隶属函数的描述方法,运用多值逻辑,由专家使用模糊语言对风险发生的可能性及危害进行评估,从而很好地解决了现实评估中的不确定性和模糊问题[6]。基于模糊数学理论的软件项目风险评估模型主要括:风险识别、风险因素权重、模糊评价集、专家信任度、风险评估、风险影响综合评估和语义还原共七部分内容[7]。
2.1 软件项目风险识别
软件项目风险识别是风险管理的基础和重要组成部分[8]。风险识别就是确定何种风险事件可能会影响项目,并整理这些风险的特性。风险识别时项目管理者识别风险来源,确定风险发生条件,描述风险特性并进行评价风险影响的过程,挖掘出潜在的风险,并评估其发生的可能性及危害,以便采取措施以缓解或避免,使风险危害降到最低。本文所采用的判断识别软件项目风险的指标主要有:业主风险因素、能力风险因素、业务风险因素、开发风险因素、技术风险因素。
2.2 软件项目风险因素权重的确定
本文采用向量集来表示各指标的权重,其中n为风险因素个数,为第i类风险因素的相对重要程度。
2.3 模糊评价集
在缺乏项目历史数据的情况下,领域专家将使用“不可能”、“可能”等模糊性语言评价风险发生的概率,即模糊评价集H={极不可能,不可能,中等,可能,很可能},以此来构建风险因素预计调查表。
不同专家成员的评估得到不同模糊语言,最后进行综合来获取某个风险因素发生的模糊可能性。以向量来表示,其中表示第i种风险发生的模糊可能性。同时,考虑软件项目风险对“质量”,“成本”,“进度”三个后果的影响,则定义E={质量、成本、进度}。
不同风险对不同后果影响的大小不尽相同,因而建立风险对后果影响的模糊评价集,如{极低,低,中等,高,极高}。同样通过调查的方法让不同人员就每个风险因素对每个后果造成的影响进行评估,并且该模糊语言仍采用三角模糊数表示。
2.4 专家信任度
专家由于从事研究的领域不同,对软件开发中各种风险危害程度的看法也会有所不同,因此不同的专家在评估不同风险因素时的权威程度也应该是不同的。如项目管理专家在评估项目管理风险、人员风险等方面远比技术专家权威得多。若专家信任度矩阵用W表示,并定义其由m位专家(行),n类风险(列)组成,其中wij表示第i位专家在评估第j个风险时的相对重要程可能性程度。
2.5 风险评估
风险评估即风险发生概率的评估,它是指专家使用模糊评语集构建模糊专家评估矩阵P,以此评价各种风险发生的可能性。本文采用表示n个二级指标的权重,为第i个二级指标下的各个三级指标的权重,因此整体项目发生风险的模糊可能性为
其中为第i个二级指标下第j个三级指标的模糊可能性。
2.6 风险影响的综合评估
风险当量是评估软件风险程度的关键指标,目前的分析方法通常由风险概率与后果的乘积度量出单个风险对各风险后果的危害程度,而多种风险共同造成的损失以及风险对整体后果的影响却无法体现[9,10]。
2.7 评估结果还原
通过计算得到各个指標的权重,同时计算出各位项目组成员对风险因素发生的模糊可能性,并通过对三级指标的加权平均得到二级指标的风险可能性,则可以得出整体的风险评估结果的加权平均。
3、实例应用
下面我们就以某钢铁公司计量管理信息系统软件开发为例,对其开发过程中的风险进行评估。首先,通过计算得到各个指标的权重,各位项目组成员对风险因素发生的模糊可能性进行了评判,其结果如表1和表2所示。
4、结束语
通过以上实例分析,在传统风险控制方法不能有效解决风险评估中的不确定性因素影响的情况下,构建软件项目风险评估模型是必要的。而基于模糊函数的软件项目风险评估模型既可以计算出风险因素对各种后果事件的综合影响,还能使用风险权重度量多种风险的组合影响,因而克服了传统评估中评估数据的缺乏和人为因素的影响,同时其还能还原成自然语言,具有较好的客观性、科学性以及适用性。
参考文献:
[1] 何先波,李志蜀,唐宁九等.面向通信领域的系统监控软件模块的设计与实现[J].计算机应用研究,2007,24(6):259-261.
[2] L.A.Zadeh. Fuzzy sets as a basis for theory of possibility [J].Fuzzy Sets and systems, 1978, (1):3-28.
[3] 刘叙华.模糊逻辑与模糊推理[M]. 成都: 四川人民出版社, 1989.
[4] 李柏年.模糊数学及其应用[M]. 合肥: 合肥工业大学出版社, 2007.
[5] 陈霞.基于模糊逻辑的软件开发项目风险评估研究[D].扬州:扬州大学,2009.
[6] 鲍文胜.基于模糊理论的软件项目风险评估模型的构建[J].青岛理工大学学报,2007,28(4):74-79.
[7] 赵冬梅,吴敬,陈霄凯等.软件项目的模糊风险评估及风险控制[J].河北省科学院学报,2005,22(4):92-94.
[8] 邱苑华.现代项目风险管理方法与实践[M].北京:科学出版社,2003;
[9] 杜栋,庞庆华.现代综合评价方法与案例精选[M].北京:清华大学出版社,2005;
[10] 仲里,刘从越,孙刚.软件项目风险评估实践[J].计算机工程与应用,2008,44(28):88-90.
作者简介:
陈浩(1976-),男,河南南阳人,主要研究方向为软件项目管理。
[关键词] 软件项目风险评估模糊数学
1、概述
软件项目风险是指在软件开发过程中遇到的预算和进度等方面的问题以及这些问题对软件项目的影响。软件项目风险会影响项目计划的实现,其一旦发生,就会增加项目的成本、影响项目的进度甚至使项目不能完成。根据CHAOS在2004年的调查报告[1]:目前正在实施的软件项目中,有53%不能按时交付、超出预算或没有达到预定的功能,有18%的项目最后甚至被迫取消,因而对实施的软件项目进行风险评估就变得具有十分重要的意义。
软件项目风险评估是软件项目风险管理的核心,它包括如何识别和分析项目可能出现的风险及其影响、如何评估项目成功可能性的大小等,从而为实行有效的软件项目管理以及实时监测、控制风险提供依据。目前有关软件风险评估的方法大都是基于概率的方法,而这种方法的一个典型不足之处在于其分析的准确性是建立在大量数据支持的基础之上,因而其在软件项目风险评估中的应用就具有一定的局限性。
模糊理论产生于数学领域,1965年L.A.Zadeh首次提出用“隶属的概念”来处理和刻画模糊现象、描述差异的中间过渡,从而为模糊逻辑的产生奠定了理论基础[2]。模糊逻辑是通过模仿人的思维方式来表示和分析不确定、不精确信息的方法和工具[3-5],具有较强的自然语言处理能力,其在实际中的应用几乎涉及到了农业、林业、气象、环境、军事、医学等与国民经济息息相关的各个领域及部门。本文试图利用模糊数学的理论来对软件项目风险评估进行研究和分析,并结合该方法对某钢铁集团计量管理信息系统软件开发过程中的项目风险进行评估分析,以期为该理论在软件项目风险评估工作中的应用提供一定实际依据。
2、软件项目风险评估模型的构建
基于模糊函数的软件项目风险评估法(Fuzzy theory based software project risk evaluation,FUSPRE)考虑到软件项目中普遍存在的经验数据不足及评估语言的不确定性,故引入模糊学概念,采用隶属函数的描述方法,运用多值逻辑,由专家使用模糊语言对风险发生的可能性及危害进行评估,从而很好地解决了现实评估中的不确定性和模糊问题[6]。基于模糊数学理论的软件项目风险评估模型主要括:风险识别、风险因素权重、模糊评价集、专家信任度、风险评估、风险影响综合评估和语义还原共七部分内容[7]。
2.1 软件项目风险识别
软件项目风险识别是风险管理的基础和重要组成部分[8]。风险识别就是确定何种风险事件可能会影响项目,并整理这些风险的特性。风险识别时项目管理者识别风险来源,确定风险发生条件,描述风险特性并进行评价风险影响的过程,挖掘出潜在的风险,并评估其发生的可能性及危害,以便采取措施以缓解或避免,使风险危害降到最低。本文所采用的判断识别软件项目风险的指标主要有:业主风险因素、能力风险因素、业务风险因素、开发风险因素、技术风险因素。
2.2 软件项目风险因素权重的确定
本文采用向量集来表示各指标的权重,其中n为风险因素个数,为第i类风险因素的相对重要程度。
2.3 模糊评价集
在缺乏项目历史数据的情况下,领域专家将使用“不可能”、“可能”等模糊性语言评价风险发生的概率,即模糊评价集H={极不可能,不可能,中等,可能,很可能},以此来构建风险因素预计调查表。
不同专家成员的评估得到不同模糊语言,最后进行综合来获取某个风险因素发生的模糊可能性。以向量来表示,其中表示第i种风险发生的模糊可能性。同时,考虑软件项目风险对“质量”,“成本”,“进度”三个后果的影响,则定义E={质量、成本、进度}。
不同风险对不同后果影响的大小不尽相同,因而建立风险对后果影响的模糊评价集,如{极低,低,中等,高,极高}。同样通过调查的方法让不同人员就每个风险因素对每个后果造成的影响进行评估,并且该模糊语言仍采用三角模糊数表示。
2.4 专家信任度
专家由于从事研究的领域不同,对软件开发中各种风险危害程度的看法也会有所不同,因此不同的专家在评估不同风险因素时的权威程度也应该是不同的。如项目管理专家在评估项目管理风险、人员风险等方面远比技术专家权威得多。若专家信任度矩阵用W表示,并定义其由m位专家(行),n类风险(列)组成,其中wij表示第i位专家在评估第j个风险时的相对重要程可能性程度。
2.5 风险评估
风险评估即风险发生概率的评估,它是指专家使用模糊评语集构建模糊专家评估矩阵P,以此评价各种风险发生的可能性。本文采用表示n个二级指标的权重,为第i个二级指标下的各个三级指标的权重,因此整体项目发生风险的模糊可能性为
其中为第i个二级指标下第j个三级指标的模糊可能性。
2.6 风险影响的综合评估
风险当量是评估软件风险程度的关键指标,目前的分析方法通常由风险概率与后果的乘积度量出单个风险对各风险后果的危害程度,而多种风险共同造成的损失以及风险对整体后果的影响却无法体现[9,10]。
2.7 评估结果还原
通过计算得到各个指標的权重,同时计算出各位项目组成员对风险因素发生的模糊可能性,并通过对三级指标的加权平均得到二级指标的风险可能性,则可以得出整体的风险评估结果的加权平均。
3、实例应用
下面我们就以某钢铁公司计量管理信息系统软件开发为例,对其开发过程中的风险进行评估。首先,通过计算得到各个指标的权重,各位项目组成员对风险因素发生的模糊可能性进行了评判,其结果如表1和表2所示。
4、结束语
通过以上实例分析,在传统风险控制方法不能有效解决风险评估中的不确定性因素影响的情况下,构建软件项目风险评估模型是必要的。而基于模糊函数的软件项目风险评估模型既可以计算出风险因素对各种后果事件的综合影响,还能使用风险权重度量多种风险的组合影响,因而克服了传统评估中评估数据的缺乏和人为因素的影响,同时其还能还原成自然语言,具有较好的客观性、科学性以及适用性。
参考文献:
[1] 何先波,李志蜀,唐宁九等.面向通信领域的系统监控软件模块的设计与实现[J].计算机应用研究,2007,24(6):259-261.
[2] L.A.Zadeh. Fuzzy sets as a basis for theory of possibility [J].Fuzzy Sets and systems, 1978, (1):3-28.
[3] 刘叙华.模糊逻辑与模糊推理[M]. 成都: 四川人民出版社, 1989.
[4] 李柏年.模糊数学及其应用[M]. 合肥: 合肥工业大学出版社, 2007.
[5] 陈霞.基于模糊逻辑的软件开发项目风险评估研究[D].扬州:扬州大学,2009.
[6] 鲍文胜.基于模糊理论的软件项目风险评估模型的构建[J].青岛理工大学学报,2007,28(4):74-79.
[7] 赵冬梅,吴敬,陈霄凯等.软件项目的模糊风险评估及风险控制[J].河北省科学院学报,2005,22(4):92-94.
[8] 邱苑华.现代项目风险管理方法与实践[M].北京:科学出版社,2003;
[9] 杜栋,庞庆华.现代综合评价方法与案例精选[M].北京:清华大学出版社,2005;
[10] 仲里,刘从越,孙刚.软件项目风险评估实践[J].计算机工程与应用,2008,44(28):88-90.
作者简介:
陈浩(1976-),男,河南南阳人,主要研究方向为软件项目管理。