LabVIEW环境下基于声卡的虚拟示波器软件设计图文

. .. .

一个类型实现的接口过多,表明该类型被赋予的职责过多,需要考虑对其拆分。 4泛化/继承耦合(GC 定义5 GC=|GS|

GS是系统中类型(类/接口t所泛化(继承的所有类型(类/接口的集合。 GS={x|x∈TS∧?Generalizati on(x,t}

其中,TS是系统中定义的所有类型(类/接口的集合。 观点:

(1当某个类型同时泛化(继承多个类型时,由父类型继承而来的属性和操作相互影响的可能性也越大。通常多重泛化(继承是应当避免的。事实上,一些面向对象语言,如Java,根本不支持多重泛化(继承。

4 数据分析

Ecli p se对度量信息的获取提供了很好的支持。它支持将Java文件建模成抽象语法分析树(AST,并提供了丰富的接口方便地遍历AST。

在Frank Sauer开发的Ecli p se度量计算插件的基础上,我们实现了OC MOOD的自动计算。

JUnit是由Kent Beck和Erich Ga mma合作开发的一个开源小工具。Kent Beck和Erick Ga mma都是公认的面向对象领域的专家。JUnit3.8.1在3.7的基础上进行了多次重构。功能和软件质量都有了提高。JUnit3.7和Junit3.8.1的OC MOOD计算结果见表1和表2。

表 1

JUnit3.7AC DC GC RC

.. .. .. ..

. .. .

最大值5711 最小值0000

平均值0.314 1.0200.2350.255 标准差0.874 1.4750.4240.436 表 2

JUnit3.8.1AC DC GC RC 最大值5611 最小值0000

平均值0.309 1.0180.2180.255 标准差0.850 1.4210.4130.436

从度量结果看,JUnit3.8.1AC,DC,GC,RC的均值都比JUnit3.7低,这也说明JUnit3.8.

.. .. .. ..

. .. .

1较3.7

.. .. .. ..

. .. .

有更好的质量。图1和图2分别是这两个指标计算值拟合后对比图。 从图1可以看出,两个版本的AC度量值均小于5,并且在[0,2.5]区间

上,JUnit3.8.1的度量曲线位于3.7度量曲线的上方,(2.5,5]区间上位于3.7度量曲线下方,这说明JUnit3.8.1的关联耦合度较3.7要小。

图 1图 2

从DC度量结果上,可以看出,两条DC度量曲线在度量值为2处有一个交点,在[0,2]区间上,JUnit3.8.1的曲线位于JUnit3.7的上方,这说明JUnit3.8.1DC耦合度低于2的类比JUnit3.7要多,可见,JUnit3.7的依赖耦合度比JUnit3.8.1要高。

由于Java中不允许多继承,所以GC度量值始终为1,又因为所选JUnit样本的特殊性,所有的RC度量值也为1。所以在此不对这两个度量的拟合曲线进行讨论。

通过上述讨论,我们得到在软件规模大致相近的情况下,质量好的软件的OC MOOD度量值比质量差的要低,反之亦然。从而对OC MOOD的有效性进行了验证。

5 总结和将来的工作

本文分析了C BO的不足,提出了一组新的面向对象耦合度量OC MOOD,并验证了它的有效性。

由于面向对象编程中继承,多态等技术的应用,只依靠软件的静态特征已经很难准确度量软件的实际质量。通过捕获软件的运行期特征来实现软件的动态耦合度量,是我们将来的工作目标。

参考文献

[1]Chidamber,S.R.,and Ke merer,C.F.,A metrics suite for object orien2

.. .. .. ..

. .. .

ted design,C I SR Working Paper No.249,M I T Sl oan School ofManage2 ment,Ca mbridge,MA,1993.

[2]Huang Heyuan,Zhang Shensheng,Cao J ian,Duan Yonghong,A Practi2 cal Pattern Recovery App r oach Based on Both Structural and Behavi or2

al Analysis,Journal of System s and Soft w are,2004,Accep ted. [3]H itz.M and Montazeri,B.,Measure Coup ling and Cohesi on in Object2

O riented Syste m s.Pr oceedings of I nternati onal Sy mposium on App lied

Cor porate Computing(I S AACπ95,Oct ober1995.

[4]黄鹤远,“基于设计模式的面向对象系统再工程”,[博士学位论 文],交通大学,2004.

.. .. .. ..

联系客服:779662525#qq.com(#替换为@) 苏ICP备20003344号-4