首 页文档资料下载资料维修视频包年699元
请登录  |  免费注册
当前位置:精通维修下载 > 文档资料 > 家电技术 > 单元电路介绍 > 电源电路
基于面向对象程序切片的软件度量
来源:本站整理  作者:佚名  2009-10-20 10:45:41




    程序切片的概念是在考虑各个方法、变量之间的依赖关系并在依赖图的基础上构造的。举一个简单的C++程序对上述公式进行应用,程序如下:


    所定义的类是Cuboid,它有5个变量,2种方法,V_Uion={a,b,c,A,V},M_Uion={Area,Volume }。
    构造面向对象依赖图,利用可达算法得到数据切片如下:


    利用式(1)~(3)进行度量计算,具体过程如下:
    (1)内聚度量值是一个3元组,分从属性之间、方法之间、属性和方法之间3个层面进行内聚度量;
    (2)DataSliee(L,a)∩V_Uion={a};同样,DataSliee(L,b)∩V_Uion={b},DataSlice(L,c)∩V_Uion={c},进行势操作后取值均为1:
    (3)DataSliee(L,V)∩V_Uion={a,b,c},DataSlice(L,A)∩V_Uion={a,b,c},进行势操作后取值均为3;
    (4)DataSliee(L,A)∩DataSlice(L,V)={a,b,c},进行势操作后取值为3;
    (5)根据式(4)计算得到:Cohesion(V_V)=(1+1+3+3)/4×5=2x5;
    (6)DataSlie(L,Area)∩M_Uion={Area};同样,DataSliee(L,Volume)∩M_Uion={Volume},进行势操作后取值均为1。
    计算得出Cohesion(M_M)=(1+1)/2x1=1。两个方法之间不存在调用、继承等关系,它们是独立的,所以内聚度为1;DataSlice(L,Area)∩DataSlice(L,Volume)∩M_Uion进行势操作后取值均为1。
    计算得出Cohesion(M_V)=1/5。所以Cuboid的内聚度为一个3元组Cohesion(Cuboid)={Cohesion(V_V),Cohesion(M_M),Cohesion(M_V)}={2/5,1,1/5}。

5 结束语
    利用程序切片技术,将度量粒度缩小到语句级别。而这里的度量粒度更是小到变量级别,在更小的级别上进行度量。基于程序切片的软件内聚度和耦合度度量从软件的基本粒度一变量出发,跳跃了面向过程和面向对象程序的区别,就其度量方法和公式考虑是没有局限性的,是普适的。
    一个优良的内聚度度量准则应满足Briand的4个性质,即非负性及标准化、最小值和最大值、单调性、模块合并后内聚度不会增大。后续工作就是证明基于面向对象程序切片的内聚度度量方法符合Brland的4个性质。

上一页  [1] [2] [3]  下一页

关键词:

文章评论评论内容只代表网友观点,与本站立场无关!

   评论摘要(共 0 条,得分 0 分,平均 0 分)

推荐阅读

图文阅读

热门阅读

Copyright © 2007-2017 down.gzweix.Com. All Rights Reserved .
页面执行时间:240,925.80000 毫秒