<meter id="pryje"><nav id="pryje"><delect id="pryje"></delect></nav></meter>
          <label id="pryje"></label>

          新聞中心

          EEPW首頁 > 電源與新能源 > 設計應用 > 基于面向對象程序切片的軟件度量

          基于面向對象程序切片的軟件度量

          作者: 時間:2009-10-20 來源:網(wǎng)絡 收藏

          的概念是在考慮各個方法、變量之間的依賴關系并在依賴圖的基礎上構造的。舉一個簡單的C++對上述公式進行應用,如下:

          本文引用地址:http://www.ex-cimer.com/article/181197.htm


          所定義的類是Cuboid,它有5個變量,2種方法,V_Uion={a,b,c,A,V},M_Uion={Area,Volume }。
          構造依賴圖,利用可達算法得到數(shù)據(jù)如下:


          利用式(1)~(3)進行計算,具體過程如下:
          (1)內聚值是一個3元組,分從屬性之間、方法之間、屬性和方法之間3個層面進行內聚;
          (2)DataSliee(L,a)∩V_Uion={a};同樣,DataSliee(L,b)∩V_Uion=,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)根據(jù)式(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 結束語
          利用程序技術,將度量粒度縮小到語句級別。而這里的度量粒度更是小到變量級別,在更小的級別上進行度量。程序切片的內聚度和耦合度度量從的基本粒度一變量出發(fā),跳躍了過程和程序的區(qū)別,就其度量方法和公式考慮是沒有局限性的,是普適的。
          一個優(yōu)良的內聚度度量準則應滿足Briand的4個性質,即非負性及標準化、最小值和最大值、單調性、模塊合并后內聚度不會增大。后續(xù)工作就是證明面向程序切片的內聚度度量方法符合Brland的4個性質。


          上一頁 1 2 3 下一頁

          評論


          相關推薦

          技術專區(qū)

          關閉
          看屁屁www成人影院,亚洲人妻成人图片,亚洲精品成人午夜在线,日韩在线 欧美成人 (function(){ var bp = document.createElement('script'); var curProtocol = window.location.protocol.split(':')[0]; if (curProtocol === 'https') { bp.src = 'https://zz.bdstatic.com/linksubmit/push.js'; } else { bp.src = 'http://push.zhanzhang.baidu.com/push.js'; } var s = document.getElementsByTagName("script")[0]; s.parentNode.insertBefore(bp, s); })();