環(huán)形復(fù)雜度是一種為程序邏輯復(fù)雜性提供定量測度的軟件度量,將該度量用于計算程序的基本的獨立路徑數(shù)目,為確保所有語句至少執(zhí)行一次的測度數(shù)量的上界。
環(huán)形復(fù)雜度的計算方法
* 可以用下列任何一種方法計算環(huán)形復(fù)雜度
1、流圖中的區(qū)域數(shù)等于環(huán)形復(fù)雜度
2、流圖G的環(huán)形復(fù)雜度V(G)=E-N+2,其中,E是流圖中邊的條數(shù),N是結(jié)點數(shù)。
3、流圖G的環(huán)形復(fù)雜度V(G)=P+1,其中,P是流圖中判定結(jié)點的數(shù)目。
環(huán)行復(fù)雜度的用途
* 程序的環(huán)形復(fù)雜度取決于程序控制流的復(fù)雜程度,也即是取決于程序結(jié)構(gòu)的復(fù)雜程度。當(dāng)程序內(nèi)分支數(shù)或循環(huán)個數(shù)增加時,環(huán)形復(fù)雜度也隨之增加,因此它是對測試難度的一種定量度量,也能對軟件最終的可靠性給出某種預(yù)測。
* 實踐表明,模塊規(guī)模以V(G)≤10為宜,也就是說,V(G)≤10是模塊規(guī)模的一個更科學(xué)更精確的上限。
它的計算方法很簡單:
計算公式1:V(G)=e-n+2p。其中,e表示控制流圖中邊的數(shù)量,n表示控制流圖中節(jié)點的數(shù)量,p圖的連接組件數(shù)目(圖的組件數(shù)是相連節(jié)點的最大集合)。因為控制流圖都是連通的,所以p為1.
計算公式2:V(G)=區(qū)域數(shù)=判定節(jié)點數(shù)+1。其實,圈復(fù)雜度的計算還有更直觀的方法,因為圈復(fù)雜度所反映的是“判定條件”的數(shù)量,所以圈復(fù)雜度實際上就是等于判定節(jié)點的數(shù)量再加上1,也即控制流圖的區(qū)域數(shù)。
對于多分支的CASE結(jié)構(gòu)或IF-ELSEIF-ELSE結(jié)構(gòu),統(tǒng)計判定節(jié)點的個數(shù)時需要特別注意一點,要求必須統(tǒng)計全部實際的判定節(jié)點數(shù),也即每個ELSEIF語句,以及每個CASE語句,都應(yīng)該算為一個判定節(jié)點。
計算公式3:V(G)=R。其中R代表平面被控制流圖劃分成的區(qū)域數(shù)。
針對程序的控制流圖計算圈復(fù)雜度V(G)時,最好還是采用第一個公式,也即V(G)=e-n+2;而針對模塊的控制流圖時,可以直接統(tǒng)計判定節(jié)點數(shù),這樣更為簡單;針對復(fù)雜的控制流圖是,使用區(qū)域計算公式V(G)=R更為簡單。
環(huán)形復(fù)雜性是定量測量軟件度量一個程序的邏輯的復(fù)雜性,該措施的基本計算程序的獨立路徑的數(shù)目,以確保所有的語句至少執(zhí)行一次的上界的數(shù)量的量度。
圈復(fù)雜度的計算方法
環(huán)復(fù)雜
1,一些地區(qū)在流程圖中可以使用以下方法等于計算的復(fù)雜的環(huán)
2,流圖G環(huán)復(fù)合V(G)= EN 2,其中,E是流圖中的邊緣的數(shù)目,N是節(jié)點的數(shù)目。
3的流圖G環(huán)形復(fù)雜V(G)= P +1,其中,P是的流程圖確定的節(jié)點的數(shù)目。
復(fù)雜的環(huán)使用
*程序環(huán)形的復(fù)雜性依賴于程序的控制流的復(fù)雜性,并依賴于該程序的結(jié)構(gòu)的復(fù)雜性。環(huán)形的復(fù)雜性也增加,當(dāng)程序或循環(huán)次數(shù)的增加分行的數(shù)目,所以它是一種定量測量的測試難度,最終的軟件可靠性也可以得到一定的預(yù)測。
*實踐表明,模塊的大小為V(G)≤10是適當(dāng)?shù)?,即,V(G)≤10是一種更科學(xué)模塊規(guī)模的精確的上限。
聲明:本網(wǎng)站尊重并保護(hù)知識產(chǎn)權(quán),根據(jù)《信息網(wǎng)絡(luò)傳播權(quán)保護(hù)條例》,如果我們轉(zhuǎn)載的作品侵犯了您的權(quán)利,請在一個月內(nèi)通知我們,我們會及時刪除。
蜀ICP備2020033479號-4 Copyright ? 2016 學(xué)習(xí)鳥. 頁面生成時間:2.598秒