李英梅,付 伟,邢 恺
(哈尔滨师范大学)
构件的质量和可复用性度量模型*
李英梅,付 伟,邢 恺
(哈尔滨师范大学)
讨论了构件质量模型的度量,从而提出了专门针对软件构件质量模型的可操作的可复用性度量模型.度量模型和方法可作为构件用户在管理及使用构件时对构件进行评价.
构件;可复用性;度量模型
软件复用(Software Reuse)的概念早在1968年的NATO软件工程会议上就已经提出可复用库的思想.软件复用是利用事先建立好的软部件创建新软件系统的过程.系统地开发可复用的软部件,系统地使用这些软部件作为构筑模块,来建立新的系统.软件复用度量是软件复用技术中不可分割的一部分,在软件复用开发中占据重要地位.软件复用开发与传统的软件开发方式不同,从而影响到软件度量,因此需要新的软件复用度量方法,软件复用度量的研究已经引起学术界的广泛重视.随着软件复用实践的深入,可复用构件数量不断增加,构件库规模也不断扩大.构件的质量和可复用度将影响到最终的软件质量,但是目前缺乏对构件质量和可复用性有效的评价模型.
就是为了提高构件质量和可复用性,对软件构件质量及构件的可复用性的度量模型进行研究,试图给出科学的、精确的评测标准.
对于软件构件的度量是构件技术不可分割的一部分,在基于构件的软件开发中的应用具有以下的作用:
(1)定量理解系统的体系结构和详细设计,利用度量反馈信息以构造出更好的系统;
(2)提供构件项目开发成本,是估算和进度预计的良好基础;
(3)可以系统的将生产率、可维护性和可复用性等定量化来评估构件技术在软件开发中的应用.
构件的度量主要有3个内容:
(1)构件的质量和可复用性度量(quality and reusability metrics)
构件的质量和可复用性度量包括前期度量和后期度量.前期度量在构件的开发期进行,主要基于静态程序度量,考察构件的内部属性;而后期度量则在构件已被复用后进行,主要基于复用用户的反馈信息,考察构件的外部属性,构件度量模型可以是建立外部属性和内部属性之间合理联系的一个间接度量方法模型.前期度量所得的内部属性值可以根据这个模型推导出外部属性值,这些数值和后期度量得到的外部属性值可以进行比较.通过计算反馈信息和估算信息的差值来评价模型的准确度,而且还可以进一步指导调整度量模型的权值以提高模型的准确性.
(2)复用度量(reusemetrics)
一套对采用复用技术开发的项目级和机构级复用效果进行评价的复用度量.复用度量的指标包括:为软件增加可复用性带来的附加成本、可复用构件的复用次数、各种可复用构件(分析、设计、代码、测试可复用构件)的构成比例、可复用构件被修改后复用的次数、复用对于项目进度的影响等,这些度量有助于使软件复用的成本合理化,并为估计下一个项目的进度和成本提供经验.
(3)对构件所需的相关信息的度量
例如,对可复用构件的使用、问题报告、失败的查询和其他构件配置管理所需的数据的度量,为构件进行配置管理和维护提供依据.
构件作为一种软件产品,应该考虑软件的质量要素,同时由于构件是软件复用的一个基本单元,开发时运用了面向对象技术,所以需要参考面向对象度量方法.对构件质量模型的度量将讨论构件可复用性的相关特性、子特性的具体度量.
根据上述原则并以要素准则度量模型为基础,参考《ISO/IEC9126 软件工程产品质量》[7]对软件产品质量进行全面的规定说明和评价,构件的质量模型包括以下六个特性:功能性、可靠性、易用性、效率、维护性、可移植性(见表1).
表1 构件的质量模型
对于构件质量模型所提出的度量,必须客观、准确、有效,并且通用,适用于各种类型构件.
构件库的构件质量模型包括功能性、可靠性、易用性、效率、维护性和可移植性特性,度量方法可以参照ISO/IEC9126软件质量度量,可复用性是构件区别于软件的最大特性.
文献[4]中指出了可复用性详细的子特性特征,表2是可复用性的度量表,对其说明如下:
表2 可复用性相关子特性度量表
(1)每个度量元都有其度量方法和类型.使用3种度量类型,分别是P(Presence布尔值,是/否),I(Integer整型,数字),R(Ratio比).
(2)度量的影响是指该度量所得值对于评价准则来说所产生的影响,例如,有特殊硬件依赖,构件的环境独立性就低.但是这个影响并不是某一个方面的,在影响一方面的属性时也会影响到另一方面的属性.比如说构件字节数很大,构件规模就大,可移植性就差;但同时构件的复杂性就可能较小,其易理解性就好.所以,这里的影响仅仅针对于其所对应的子特性.
(3)表中的度量值都可以从代码和构件使用说明书中得到.一些度量值可以直接得到,如,NOB等,一些需要经过计算间接得到,如COI.
(4)构件的可复用性的度量结果就可通过下式算得:
其中,ωRi(i=1,…,5)是权值,可以根据实际情况而定,Fi(i=1,2,……)代表互操作性、可定制性、成熟度、易理解性、复杂性、环境独立性、构件规模等子特性.
与此类似的,进一步可以得到质量的度量公式:
其中,ωk(k=1,…,6)是权值,Pi(i=1,2,……)代表质量、功能性、可靠性、易用性、效率、维护性、可移植性.通过上式的计算,就可以得到构件的质量度量结果.故此,这个质量模型及度量方法可以较好地评价构件质量信息.
随着软件复用实践的深入,可复用构件数量不断增加,构件库规模也不断扩大.构件的质量和可复用度将影响到最终的软件质量,但是目前缺乏对构件质量和可复用度有效的评价模型.
分析了构件的度量,包括构件度量的作用,构件开发的特点对其度量的影响及构件度量的内容.并重点讨论了构件质量模型的度量,从而提出了一个构件质量和可复用性度量模型.该模型是专门针对软件构件质量模型的可操作的度量方法,重点描述了构件可复用性的度量,但仍需要进一步量化及实践检验.
[1]杨芙清,朱冰,梅宏.软件复用.软件学报,1995(9):525-533.
[2]桑大勇.基于部件的软件重用技术研究.西安电子科技大学博士学位论文,1998.
[3]钱乐秋,张涌.软件复用度量综述.计算机应用与软件,2002(4):1-3.
[4]毛国蓓,李雪静,等.基于软件构件质量模型的度量及应用.计算机应用与软件,2005(5):1-4.
[5]梅宏,谢涛,等.青鸟构件库的构建度量.软件学报,2000(11):634-641.
[6]王欣,杨根兴,朱三元.构件软件的质量和度量.华东理工大学学报,2000(10):543-546.
[7]王世安.软件构件的可复用性量化评价模型研究.计算机工程与设计,2008,10(29):2576 -2580.
[8]Erich Gamma,Richard Helm,Ralph Johnson,John Vlissides.Element of reuseable software[M].Addison - Wesley,1995.
[9]Weber H.Uniformity and invariance in support of reuse.IEEE Trans.on SE,1993,18(7):2 -7.
[10]Krueger C W.Sofware reuse.ACM Computer Surveys,1992.
[11]Frakes W,Terry C.Software Reuse:Metrics and Models.ACM Computing Surveys,1996,28(2):415 ~435.
The Model of Component Quality and Reusability Measurement
Li Yingmei,Fu Wei,Xing Kai
(Harbin Normal University)
In this article,the metrics model of the component quality is discussed,thus a reusability metrics model is proposed,as well a set of quality attributes and associated metrics which focus on component reusability are difined.The model and method are references for the users.
Component;Reusability;Metrics model
2010-10-25
*黑龙江省教育厅科研基金项目(11531245)
(责任编辑:李佳云)