层次分析法论文第五篇:Theil指数在软件需求风险评估中层次分析法的运用探析
摘要:软件的需求风险分析对项目的成败起着重要的决定性作用。为了对需求风险进行定性评价、定量评估,首先对软件项目的需求风险影响因素进行识别,建立风险因素的模糊变换矩阵,然后采用层次分析法确定各因素的权重,再使用Theil指数模型综合考察各影响因素权重对最终风险的影响,建立模糊指数组合预测模型,最后依据需求风险数据集进行模型验证。结果显示,基于层次分析法和Theil指数的组合预测模型能准确、可靠地对需求风险进行评估,评估结果为管理者提供了较好的决策依据。
关键词:需求风险;模糊理论;层次分析法; Theil指数;风险评估;
1 概述
随着计算机的广泛应用,软件在人们的生活中发挥着越来越重要的作用。软件项目开发活动主要由需求、设计、实现和测试等组成,需求作为首当其冲的一个重要组成部分,它的成功与否直接影响软件开发的后续活动。而影响需求的因素众多,具有隐含性和风险性,因此对需求风险进行评估,评估结果能较好地指导企业实践,有着重要的现实意义和社会意义。
近年来国内外众多学者对软件项目风险进行了大量的研究。考虑到需求的频繁变更对项目的成败的重要影响,国外学者Bibhash[2]等提出了几种风险管理模型,研究了软件各个阶段的风险管理和策略控制问题。Patrick[3]等人详细考察了需求的实施风险,研究了5个敏捷项目,提出了3种指标来评估和量化需求的风险。Mohd Sadiq[4]等提出使用esrc Tool工具估算软件的风险和成本的系统方法。Sharon[5]等从案例进行分析、研究软件需求变更带来的潜在风险和影响。国内的众多学者也对软件项目风险进行了长期、大量的研究。常见的风险评估方法有灰色聚类法[6]、粗糙集[7]、贝叶斯网络[8]、模糊综合评判法[9]、BP神经网络[10]、UML建模[11]、专家调查和挣值分析法[12]、Kano模型[13]、头脑风暴法和德尔菲法[14]等。很多学者提出了软件项目风险管理模型,但是针对软件需求分析阶段风险控制还很少。有些风险评估模型在对需求风险评估时,评估指标考虑因素不全面;在风险评估方法上,定量与定性知识没有有机结合。因此,预测和研究需求阶段的潜在风险,对项目的开发具有十分重要的显示指导意义。
2 需求风险因素识别
软件需求是直接或间接关系到软件系统功能的期望,因此有很多不同的分类标准。最典型的是IEEE的分类,需求分为功能需求、性能需求、质量属性、对外接口和约束。需求风险时刻伴随着需求的发生。需求风险的影响因素有13种,在每种需求中都有常见的表现形式,分类如图1所示。
图1 软件需求风险影响因素
根据上述分类,对每种风险划分高、较高、普通、较低和低等5种等级,等级对应权值分别为0.9、0.7、0.5、0.3、0.1,权值越小,风险越小。不同的软件项目有对应的风险因素权值。通过查找资料等,可以整理出一部分项目的影响因素情况,形成需求风险数据库,为构建需求风险的样本矩阵提供依据。
3 需求风险评估模型
建立需求风险评估模型主要分为以下5步。
第1步:分析需求风险影响因素体系,根据模糊理论,通过查找大量数据,并咨询相关领域的专家,建立m种需求风险因素的成对比较矩阵Risk=(Rs,t)m×m(s=1,2,…,m;t=1,2,…,m):
其中:Rs,t=1/Rt,s,对角线上的元素值为1。
第2步:风险因素指标权重的确定对风险评估结果起着重要的作用,使用层次分析法(Analytic Hierarchy Process,AHP)确定m种需求风险因素的权值矩阵W,并验证是否满足一致性检验。
第3步:使用Theil指数[15]综合分析总体公平性,运用泰尔指数的可分解性进一步判断造成不公平的主要原因。泰尔指数(Theil Index)是由泰尔(Theil,1967)利用信息理论中的熵概念来计算收入不平等而得名,当前用的需求风险影响因素众多,每种因素对最终风险的影响程度不一,考虑引入Theil指数分析风险因素的权值进行不平衡性验证。
13种需求风险影响因素对应的权值矩阵W=[W1W2…W13],对需求风险因素样本矩阵引入Theil指数:
进一步变换得到
根据公式(3)不平衡指数Ts定义需求风险因素矩阵Risk的权值矩阵W为:
其中:
此类方法综合考虑了指标权和实际权,可以分析各种因素的不平衡性对最终风险的影响。
第4步:根据需求风险因素数据库中的指标值,现将需求风险评估标准分为3类,并给予每一等级取值区间,建立风险水平矩阵集Risk Level=[L M H],如表1所示。
表1 需求风险评估标准对照表
第5步:建立模糊灰色评价矩阵RL,实现需求风险水平数据集的映射,详见公式5。
第6步:Matlab软件上进行计算,进行风险预测。
4 实例应用
本次实验选择需求风险数据库中的20个项目样本[16],每个项目的13种风险指标及对应的风险水平等级均已给出,可以方便地对模型的准确性进行检验,具体数据如表2所示。
表2 需求风险评估标准对照表
按照前面介绍的6步进行实验,使用层次分析法计算得到每种项目影响因素的权值,采用Theil指数分析各因素间的不平衡性以验证层次分析法计算得出的权值的可靠性,依次计算每个项目的风险水平值RL,如表3所示。确定得到的权值矩阵为:
表3 项目影响因素的权值
一致性检验的CR值为:CR=0.0564,表示经分析得到的成对比较矩阵一致性可以接受。
Theil值为:Theil=0.4315,泰尔指数大于等于0,越大说明各影响因素间的差异越大。从计算得到的Theil值可以看出,13种影响因素间的差异较大,其中功能风险和性能风险影响最大,用AHP计算的权值也最高。
如表4所示,结果显示风险预测值通过风险水平等级表能较好地进行映射,基于模糊理论、层次分析法和Theil指数模型的组合预测模型能准确、有效地进行需求风险预测,预测值均在有效的误差范围内。
表4 现有20个项目的风险水平值表
现有某项目的需求风险影响因素值为[0.3,0.5,0.3,0.3,0.5,0.1,0.3,0.3,0.5,0.3,0.1,0.3,0.3],采用预测模型评估后的风险值为0.35,风险等级为L。预测结果得到的量性指标可以为软件管理者提供决策依据。
5 结语
研究对象是软件的需求风险,通过挖掘软件需求风险的影响因素,综合考虑各类需求的影响因素,进行需求风险评估。主要工作有以下几个方面:
(1)利用模糊理论建立需求风险影响因素矩阵。
(2)采用层次分析法构建风险因素权值矩阵,并用Theil指数模型分析各因素权值的不平衡性,减少主观因素确定权值的随机性。
(3)定量评估软件的需求风险,实验结果映射到需求风险水平数据集,分析影响因素的潜在风险,评估结果符合软件需求风险的可信度、稳定性和可操作性评估指标,同时给出相应的应对策略。
由于需求风险数据量少,下一步工作方向可考虑建立更完善的需求风险数据库,对组合预测模型的有效性作更进一步的验证。
参考文献
[1]骆斌.需求工程-软件建模与分析[M] .北京:高等教育出版社, 2015:468:469.
[2] Bibhash Roy,等. Advanced Computing and Systems for Security[M]. Springer India,2015:121-138.
[3] Patrick Rempel,等. Requirements Engineering:Foundation for Software Quality[M] Springer International Publishing,2015:81-97.
[4] Mohd Sadiq. A systematic approach for the estimation of software risk and cost using esrc Tool[J].CSI Transactions on ICT,2013,1(3)-:243-252.
[5] Sharon McGee, Des Greer. Towards an understanding of the causes and ef fects of software requirements change:two case studies[M].Requirements Engineering,2012, 17(2)-133-155.
[6]兰芳基于FISM-ANP-灰色聚类的软件项目开发风险评价研究[D]四川:电子科技大学, 2018.
[7]陈志帅.纡粗糙集的软件需求风险评估的研究[D] .华中科技大学, 2009.
[8]李露.基于贝叶斯网络的软件需求风险评估技术研究[D] .南京理I大学, 2009.
[9]肖魏娜.-种基 于BP神经网络的软件需求扮析风险评估模型的研究[D] .西南大学, 2011.
[10]贺永会.基于BP神经网络模型的软件开发项目风险管理研究[D] .山东大学, 2014.
[11]刘锦行. -种利用UML的软件需求阶段风险评估方法[J] .软件与数据库技术,2014, 41(6):131-135.
[12]舒景波.基纡软件需求扮析的手机软件系统质量度方法研究[D] .中国科学院大学(工程管理与信息技术学院), 2014.
[13]蔡玲. KANO模型在软件项目风险管理中的应用研究[D] .首都经济贸易大学,2014.
[14]金丽肠.信息安全软件项目的风险管理研究[D].北京邮电大学,2018.
[15]吴兴奎.基于云模型和Theil指数的投 资项目风险评估研究[D] .湖南工业大学, 2014.
[16]潘梅森,能齐基于SVM的软件需求分析风险评估模型[J.计算机工程, 2007,(12):78-81.