研究文章|开放获取
童毅,春芳, "面向对象软件复杂性度量的新方法",国际数字多媒体广播杂志, 卷。2018, 文章的ID7624768, 9 页面, 2018. https://doi.org/10.1155/2018/7624768
面向对象软件复杂性度量的新方法
摘要
随着多媒体技术的快速发展和广泛应用,许多行业对多媒体软件实际开发的需求越来越大。如何衡量和提高多媒体软件的质量是一个亟待解决的重要问题。为了计算软件质量的复杂情况和模糊性,采用模糊物元分析方法,结合TOPSIS方法和贴近度,提出了一种基于模糊物元的软件质量评价模型。与现有的典型软件测量方法进行比较,结果与典型软件测量结果基本一致。然后,利用Pearson简单相关系数分析现有四种测量方法与实践经验度量的相关性,结果表明基于模糊物元的软件质量测量结果更符合实践经验。同时,该方法的测量结果比其他测量方法的测量结果更精确。
1.介绍
目前,随着多媒体技术的兴起和应用,为多媒体软件的发展提供更可靠的技术支持和强大的技术支持,这是一个巨大的挑战。与此同时,面向对象的技术已成为当前软件开发的主流,这适用于开发多媒体软件,例如,使用由C ++开发的图像处理软件Adobe Photoshop,使用动作脚本开发动画处理软件闪存,并使用C ++进行JEDI生存和英雄联盟游戏。
必须指出,多媒体软件是一个典型的复杂系统;因此,如何科学地度量多媒体软件的复杂性,对于开发高质量的多媒体软件有着至关重要的作用。软件度量已经成为软件工程中一个重要的、长期关注的研究领域,也是评估和预测软件开发活动的一种重要而有效的方法。软件度量研究的目的是为开发高质量的软件提供指导[1].
由于首先由Rubey R. J.和Hartwick R. D.提出了软件测量的概念。1968年[2]的研究、开发和应用已经进行了五十多年。通过文献综述,本文发现以往的研究主要从内部属性、外部属性等方面对软件质量度量进行研究。近年来,许多学者对软件质量度量进行了广泛而深入的研究,更倾向于从软件本身的内部要素中寻找关键或重要的软件质量度量因素。直接或间接地测量或计算这些因素,构建相应的度量模型。结构化程序的早期指标主要集中于代码行(LOC) [3.],mccabe着色图方法[4]、功能点分析(FPA) [5)等。
1994年,Chidamber S.和Kemerer C.提出了面向对象软件质量度量研究的CK度量集。集合中包括每个类的加权方法(WMC)、子类数(NOC)、继承深度(DIT)、对象之间的耦合(CBO)、内聚不足(LCOM)和类的响应(RFC),是面向对象软件质量度量的基础。Padhy N.等人提出了基于CK度量集并结合WMC、RFC、CBO、DIT的三个度量。及NOC共同[6].此外,Misra S.和Adewumi a .等人提出了一个用于评估面向对象软件项目的认知复杂性度量集[7,包括方法复杂度、消息复杂度、属性复杂度、加权类复杂度和代码复杂度。Gupta D. L.等根据软件测量经验,提出了测量验证中可能存在的假设情况,并设计了14个测量元素,包括WMC、CBO和RFC。Gupta D. L.等以开源软件代码为数据源,使用SPSS软件进行logistic回归分析。研究结果表明,这些方法可以预测软件质量度量中的类设计缺陷,并开发了基于面向对象度量的软件缺陷预测方法[8].Wang j和Wang q发现依赖关系是软件复杂性的一个重要原因。依赖关系可以反映软件元素之间的内聚和耦合。同时,内聚性和耦合性被认为是衡量软件质量的重要指标。此外,通过实验研究证明软件依赖关系是软件缺陷预测的重要因素。它可以预测软件集成错误,并在早期阶段为软件质量度量提供帮助[9].上述面向对象软件度量方法都属于基于软件内部属性的软件质量度量的研究。
然而,在基于软件质量外部属性的软件质量度量研究过程中,开发人员和研究人员关注的是广泛的软件质量特征。这些特征包括狭义的ISO/IEC 25010软件质量模型的软件质量特征以及与软件开发和应用相关的其他软件质量特征。Gosain A.和Sharma G.定义了动态软件质量特征,包括健壮的、明确的、动态的、有区别的和机器独立的。然后用Java软件对案例进行评估,通过Pearson相关分析和主成分分析发现动态软件质量特征与可维护性显著正相关[10].同样,胡旭、左杰等从GB/T16260系列标准中选择了6个软件质量特性。6个软件质量特征包括能力、可靠性、可用性、效率、可维护性和可移植性。然后建立层次评价模型,研究和分析软件质量的外部属性[11].
类图是一个非常重要的软件模型图,它描述了系统中的类及其相互关系。它们可以科学地构建,不管它是否对软件的复杂性有重大影响。目前,对类复杂度的度量方法还比较少见。Marchesi m [12]使用7个指标从不同角度衡量类图的复杂性。但是,该方法只考虑类与继承之间的关系,不考虑其他关系,如关联关系和聚合关系。在Marchesi M.研究的基础上,Genero M. [13]采用14个指标进一步区分类与类之间的关系,即相对复杂性测度与绝对复杂性测度的结合。张勇博士的理论[14在P. [15Gosain A. [10[参考译文]8和Padhy N. [6]类似于Genero M,它使用一组指示器来评估类图的复杂性。它的优点是可以从不同的角度分析类图的复杂性,但是它的缺点是很难比较两个或两个类图。Zhou y博士将UML类图转换为加权依赖关系。然后他使用信息熵来定义UML类图的复杂性[16,取得了良好的测量结果。Yi T.博士在Zhou Y.博士的基础上进行了改进,综合考虑了方法的类间关系、类属性和类复杂性。他提出了一种基于依赖分析的UML类图复杂性度量方法[17,18].
在本文中,上述研究工作是现有国内和国际研究工作的一部分,但毫无疑问,UML类图模型的研究结果还不够。一个重要原因是由对象管理组(OMG)发出的UML标准只提供了各种建模元素中的语义概念层面的描述,这导致研究人员经常使用类图模型使用不同的加权指示符.这意味着研究人员没有统一标准,导致同一类图表的不同度量。同时,由于软件质量测量系统的全面,模糊和复杂性,软件质量测量是多个指标决策的过程;本文介绍了模糊物质元素理论。为了克服文献中两个类之间的类关系的重量精度的限制[16- - - - - -18],本文从模糊物元理论出发,引入关联度的概念,利用熵值法计算各指标的权重;建立了基于熵权的模糊物元软件质量度量模型,并将TOPSIS方法应用于UML类图度量。首先,UML类图的元素指标组成物元复合模糊矩阵,然后通过无量纲化得到隶属度最优的物元模糊矩阵,利用熵值法计算各元素指标的权重,最后,通过TOPSIS方法和欧几里得接近度的概念,得到了各个UML类图的综合属性值。本文希望仅用一个综合的复杂性值来评估UML类图的复杂性,从而真正预测软件质量的复杂性。
2.一种新的软件质量复杂性度量方法
2.1.建立评价软件质量的复合模糊物元
物质要素分析[19是一门研究解决不相容问题的规律和方法的新学科。它是思维科学、系统科学和数学交叉的边缘学科。物元分析本身不是数学的一个分支。它是在经典数学和模糊数学的基础上发展起来的一门新的学科,不同于经典数学和模糊数学。这门新学科,物元分析,由中国学者蔡文在1994年创立,是专门为解决不相容问题而设计的。模糊物元将模糊集理论和物元分析理论相结合,既能解决测量指标的模糊性,又能解决测量结果的不兼容性问题。由于其计算方法简单、评价结果可靠、实用性强,该理论在物流科学与技术中得到了广泛的应用[20.,机电21),建筑(22]和其他领域。
问题要素 为评价本文构建的软件质量,其中表示待评估的软件类图,C为评价指标,为为评价指标对应的大小。如果X有歧义,称为模糊物元。如果T已n评价指标 对应的大小是多少 ,R据说是n-维模糊物元[23].的 -将待评价软件图的量纲物元组合起来,形成待评价软件图的量纲物元 -尺寸复合模糊物质元素的M个软件图进行评估。定义如下:
在公式(1),代表了我(我= 1, 2,…米)软件类图,是j(j= 1,2,…,n)软件类图的评估指标,以及表示软件类图I的j个评价指标对应的大小。
2.2.评价指标无量纲化
在对软件类图的评估中,有许多评估指标涉及。如果指标中没有统一指标,则难以执行评估过程。为了将不同的尺寸指标与相比进行比较,这些评估指标的大小必须是无量纲[23].无量纲过程是通过数学方法去除尺寸对物理值的影响。通常有两种类型的指标用于定量处理结果,其中一些是更大且更好的指标,即正指示剂;其他人是较小的,更好的指标,即消极指标。根据实际情况,本文选择了软件质量评估中较小且更好的指标。
在公式(4),uij无量纲的结果是j的评价指标我软件类图。马克斯j的最大值是j软件类图的评价指标,最小值j最小值是j软件类图的评价指标。
对公式(1)通过公式(4)、公式(5),即隶属度最优的模糊物元权矩阵 .
2.3.基于熵权法的评价指标权重确定
在软件质量评价过程中,一个指标的权重反映了该指标在整个评价过程中的相对重要性。因此,重量的确定是非常重要的。常用的权重确定方法有熵权法、专家评分法和层次分析法。本文采用熵权法计算权重,实现了权重的主客观统一。熵值法是根据每个指标所包含信息的程度的差异,即信息的效用值来确定指标的权重。它是一种客观赋权方法。
综合评价中信息熵和权重函数的计算公式如下:对于所研究的软件质量评价模型,若存在初始数据矩阵在要评估的M软件类图的N评估指标中,每个指示器在尺寸下显着差异,幅度阶数和指标的优点。因此,初始数据必须标准化:
根据公式获取第j-Th评估指标的信息熵(7):
式中的常数k (7)与样品,m和的样本数量有关。 常了。因为信息熵可以用来衡量信息的效用价值吗jth评价指标。当样品完全无序时,= 1;同时,信息价值为零,表示综合评价的效用价值。因此,评价指标的信息效用值由1与信息熵的差值决定评价指标;也就是说,
采用熵值法估计评价指标的权重。其实质是用信息效用价值的评价指标来衡量。当的区别hj越高,评价的重要性就越大,那么权重呢j-th评估指标是
隶属度最优的模糊物元权矩阵为
2.4.质量特性评价的模糊复合物元
是采用加权模糊复合物元评价质量特征,然后有
在公式(11), 的计算值j的评价指标我表示软件类图。
2.5.软件质量综合评价的计算
TOPSIS(基于理想解相似度的顺序偏好技术)[24]是一种多目标决策方法。基本思想是定义决策问题的理想解决方案和负面理想解决方案。假设理想的解决方案是最佳程序,负面理想解决方案是最糟糕的程序。如果在可行的评估计划中有评估计划,则评估计划是最接近理想的,虽然远离负面理想解决方案,我们称该计划是最佳的程序。
进一步确定理想解向量和负的理想解向量的矩阵 :
理想解与负理想解之间的距离有几种计算方法,如欧几里得距离、曼哈顿距离、切比雪夫距离等。其中,欧几里得距离是一种简单易懂的距离计算方法,它是由欧几里得几何中两点之间的距离公式推导出来的。本文采用欧几里得距离,其计算公式如下[23]:
本文综合评价软件质量采用熵方法考虑。来源有和 .二元熵函数可用于计算待评估类图与理想解之间的欧氏距离的权重。
类似地,利用二元熵函数计算待评估的各类图的欧氏距离和负理想解的权重;也就是说,
根据紧密程度的概念[23],结合理想解和负理想解的不确定性,模糊物元软件质量度量通过以下不确定性加权融合方法来度量软件质量。计算公式如下:
在公式(18),取值在0到1之间。该值越接近0,评价对象复杂度越小,越接近最优理想水平。
3.案例分析
3.1.数据源
为了验证本文提出的测量方法,我们将进行实验以估计度量值。凭借Genero M的许可,我们选择了二十六个UML类图[13以银行信息系统为实验对象。为了更好的表示,NDep表示依赖,NAssoc表示正常关联,NAgg表示聚合,NGen表示泛化,NM表示类方法,NA表示类属性,NC表示类个数。具体指标和数据详见表1.
|
||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
|
注:表中为Genero M.实验的Genero度量值1. |
||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
3.2.模型建立
根据上述理论和评价指标体系,建立模糊物元评价模型的步骤如下:
步骤1。根据表构建物元复合模糊矩阵1.
步骤2。计算最佳成员的程度。根据第一步中确定的复合模糊物元素矩阵,使用公式计算最佳成员资格程度(4),获得最佳隶属度的模糊物元素矩阵。
步骤3。基于模糊物元矩阵的最优隶属度 ,根据公式(6)、公式(7)、公式(8)、公式(9)、公式(10)和公式(11),得到各指标权重,构成隶属度最优的模糊物元权重矩阵 ,
步骤4。得到由公式(11).
第5步。本文模糊物元软件质量测度值由公式(12)、公式(13)、公式(14)、公式(15)、公式(16)、公式(17)和公式(18).
3.3.数据分析
3.3.1。比较四种度量方法的实验结果
为了验证本文提出的测量方法的有效性和实用性,本文拟与Zhou Y.博士提出的方法进行比较。[16]及易田博士提出的方法[17,18可理解性、可分析性和可维护性。为了便于讨论,周瑜博士的方法和易天博士的方法统称为周度量[16度量[17]和Yi18度量[18];本文提出的测量方法称为Z.我如表所示2.
|
||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
对比上述四种软件质量度量模型的实验结果,如图所示1,并将它们与实际经验得到的类图的可理解性、可分析性和可维护性进行比较,发现四个度量结果是相似的。但也发现了一些有趣的结果。
(1)对于类图4,Zhou测量值具有更高的计算类图4复杂度,Yi15度量和YI18度量具有较低的类图4的值,以及类图4的复杂性。实际经验获得的价值较低。使用本文中的模糊物质元素模型计算的类图4的复杂性低,这与实际经验一致。
(2)类图9,周度规和Yi18度量值计算类图9复杂性较低,Yi15度量具有较高值类图9的复杂性,和类图9的复杂性,实际经验取得了有较低的值。本文采用模糊物元模型计算的类图9复杂度较低,与实际经验一致。
(3)类图16日周度量值较低的计算复杂性类图16,Yi15度量和Yi18度量值更高的复杂性类图,类图16的复杂性,实际经验取得了更高的价值。本文采用模糊物元模型计算的类图16复杂度较高,与实际经验相符。
(4)对于类图19,类图19复杂度的Yi18度量值低于类图18,计算类图19复杂度的周度量和Yi15度量值较高,而实际经验所获得的类图19的复杂性值比类图18低。本文采用模糊物元模型计算的类图19的复杂性与实际经验一致。
(5)对于类图25和类图26,周度量显示第26类图复杂度高于第25类图复杂度,Yi15度量和Yi18度量方法显示第26类图复杂度低于它。通过实际经验得到的类图25和26的复杂性与周度量值相反,这与本文采用模糊物元模型计算的类图的复杂性是一致的。
3.3.2。Pearson简单相关系数检验
为了进一步讨论现有的复杂性度量的结果之间的相关性和可理解性的价值,analysability的价值,和可维护性的价值,我们建议简单皮尔逊相关系数测试复杂性度量方法是否与实际经验一致。Pearson简单相关系数计算如下:
两个变量之间的相关强度是指表3..
|
||||||||||||||||||||
采用知名统计软件SPSS进行相关分析,相关分析结果如表所示4.
|
||||||||||||||||||||||||||||||||||||||||
|
注意:表示双侧测试中0.01级的显着相关性。 |
||||||||||||||||||||||||||||||||||||||||
通过表中的对比和数据分析4,我们可以发现本文的UML类图度量与可理解性、可分析性和可维护性的实践经验是一致的。UML类图复杂性的值度量Z我采用模糊物元模型计算,并与实际经验进行了比较。Z之间的皮尔逊简单相关系数我实践经验的可理解性值为0.959。Z之间的皮尔逊简单相关系数我实际经验的可分析性值为0.956。Z之间的皮尔逊简单相关系数我实践经验的可维护性值为0.962。周度量与实践经验的类图显著相关。而模糊物元模型度量、Yi15度量、Yi18度量与实际经验的类图高度相关。因此,本文的复杂性测度方法从平均值的角度与实际经验是一致的。
3.3.3。测量结果的可视化分析
为了更直观地比较上述四种度量方法,本文的分类结果如图所示2.为了更好的表示,U表示可理解性,A表示可分析性,M表示可维护性。
从图2,我们可以发现,本文的结果更接近1.它表明模糊物元素模型计算的类图复杂性与通过与其他指标相比一致的实践价值。此方法可以快速计算软件类图的综合属性值。同时,本研究的结果可以更准确地反映软件复杂性。所以本文提出的测量模型相对较好。
4.结论
本文运用物元分析的基本理论和方法,结合模糊集理论和TOPSIS方法,建立了基于熵权和TOPSIS方法的模糊物元模型。将其应用于软件类图的评价中,同时将熵值的差值作为权重,充分利用了原始数据中的信息,在一定程度上降低了权重确定的主观性;评价结果与实际情况吻合较好,说明该方法是合理可行的。
数据可用性
支持本研究结果的数据由M. Genero授权提供。西班牙Castilla-La Mancha大学计算机科学系的M. Genero允许作者引用27个与银行信息系统相关的UML类图和相应的度量值。参考:m . Genero。概念模型的定义与验证[D], Castilla-La Mancha大学,2002。
的利益冲突
作者声明本文的发表不存在利益冲突。
致谢
本研究得到江西省教育厅科技基金(项目名称:基于多属性决策的软件复杂性度量研究)的资助。
参考
- x周,X.-K。陈,js。太阳,F.-Q。Yang,“面向对象系统中基于软件度量的可重用组件提取”Acta Electronica Sinica.第31卷第1期5,页649-653,2003。视图:谷歌学者
- R. J. Rubey和R. D. Hartwick,《程序质量的定量测量》,全国计算机会议,第23卷,671-677页,1968年。视图:出版商的网站|谷歌学者
- B. Hardekopf和C. Lin,《蚂蚁和蚱蜢:对数百万行代码的快速和准确的指针分析》,ACM SIGPLAN通知,第42卷,第2期6,页290-299,2007。视图:出版商的网站|谷歌学者
- t·j·麦凯布的《复杂性度量》IEEE软件工程汇刊, vol. SE-2, no. 14,第308-320页,1976。视图:出版商的网站|谷歌学者|Mathscinet.
- N. Choursiya和R. Yadav,“用于软件规模估计的增强功能点分析(FPA)方法”,国际计算机科学与信息技术杂志,第6卷,第2期3, pp. 2797-2799, 2015。视图:谷歌学者
- N. Padhy, S. Satapathy,和R. P. Singh,“面向对象的可重用性度量和评估复杂性的效用”,印度科学技术杂志,第10卷,第5期。3,第1-9页,2017。视图:谷歌学者
- S. Misra, A. Adewumi, L. Fernandez-Sanz,和R. Damasevicius,“一套面向对象的认知复杂性度量”,IEEE访问,第6卷,8782-8796页,2018。视图:出版商的网站|谷歌学者
- D. L. Gupta和K. Saxena,“使用面向对象指标的软件错误预测”,年代ādhanā,第42卷,第2期5, pp. 655-669, 2017。视图:谷歌学者
- J. Wang和Q. Wang,“使用网络分析对需求依赖网络的网络分析分析和预测软件集成错误”需求工程第21卷第2期2, pp. 161-184, 2016。视图:出版商的网站|谷歌学者
- A. Gosain和G. Sharma,“面向对象软件的动态尺寸度量”国际系统保证工程与管理期刊, vol. 8, pp. 1209-1221, 2017。视图:出版商的网站|谷歌学者
- “基于ahp的软件质量量化研究”,计算机应用与软件,第30卷,第2期11, pp. 138-141, 2013。视图:谷歌学者
- M. Marchesi,“统一建模语言的OOA度量”第2英镑软件维护和再造会议的诉讼程序,CSMR 1998, 67-73页,意大利,1998年3月。视图:谷歌学者
- M. Genero, M. Piattini,和M. Chaudron,“UML模型的质量”,资讯及软件科技,卷。51,没有。12,pp。1629-1630,2009。视图:出版商的网站|谷歌学者
- “基于UML的类复杂性度量套件”,张勇,陶杰,钱磊,“基于UML的类复杂性度量套件”,计算机科学,第29卷,第2期10,页128 - 132,2002。视图:谷歌学者
- P. In, S. Kim,和M. Barry,“用于架构复杂性分析的基于uml的面向对象度量”航空航天公司地面系统架构研讨会论文集, 2003年3月。视图:谷歌学者
- H. Lu, Y. Zhou, B. Xu, H. Leung, L. Chen,“面向对象度量方法预测变更倾向的能力:元分析,”经验软件工程,第十七卷,第二期3,页200-242,2012。视图:出版商的网站|谷歌学者
- 易涛,“基于信息熵的多属性决策在UML类图度量中的应用”,国际U型和电子服务,科学技术杂志,第8卷,第2期6, pp. 105-116, 2015。视图:出版商的网站|谷歌学者
- T. Yi和C. Fang,“面向对象软件的复杂性度量”,国际计算机与应用杂志,第1-6页,2018。视图:出版商的网站|谷歌学者
- 耿飞、阮旭东,“基于模糊层次分析法和物元模型的校园网信息安全风险评估”,《中国科学院院刊》智能计算方法, vol. 10363, pp. 298-306, 2017。视图:谷歌学者
- 胡颖,“基于模糊物元分析的多指标面板数据综合评价”,统计与决策,没有。第14页,32-35页,2016。视图:谷歌学者
- 张骞,“基于云物质元模型的风力发电质量评价方法研究”,电力系统技术第38卷第2期1, pp. 205-210, 2014。视图:谷歌学者
- W. J. You,Z. S. Xu和D. L. Luu,基于此问题元素分析的古建筑物的火灾风险评估,“安全与环境学报,第十七卷,第二期3,第873-878页,2017。视图:谷歌学者
- 庞强,王华,徐志伟,“多属性群体决策中的概率语言项集”,信息科学, vol. 369, pp. 128-143, 2016。视图:出版商的网站|谷歌学者
- 刘婷婷,“基于改进熵TOPSIS的服务排序方法”,计算机系统学报第38卷第2期6、pp. 1221-1226, 2017。视图:谷歌学者
版权
版权所有©2018童毅与春芳。这是一篇发布在知识共享署名许可协议,允许在任何媒介上不受限制地使用、传播和复制,但必须正确引用原作。