日韩性视频-久久久蜜桃-www中文字幕-在线中文字幕av-亚洲欧美一区二区三区四区-撸久久-香蕉视频一区-久久无码精品丰满人妻-国产高潮av-激情福利社-日韩av网址大全-国产精品久久999-日本五十路在线-性欧美在线-久久99精品波多结衣一区-男女午夜免费视频-黑人极品ⅴideos精品欧美棵-人人妻人人澡人人爽精品欧美一区-日韩一区在线看-欧美a级在线免费观看

歡迎訪問 生活随笔!

生活随笔

當前位置: 首頁 > 编程资源 > 编程问答 >内容正文

编程问答

(软件工程复习核心重点)第五章详细设计-第五节:程序复杂度的定量度量

發布時間:2025/3/15 编程问答 38 豆豆
生活随笔 收集整理的這篇文章主要介紹了 (软件工程复习核心重点)第五章详细设计-第五节:程序复杂度的定量度量 小編覺得挺不錯的,現在分享給大家,幫大家做個參考.

文章目錄

  • 一:價值(了解)
  • 二:McCabe方法
    • (1)流圖
      • A:定義
      • B:把程序流程圖映射為流圖
      • C:PDL翻譯為流圖
    • (2)環形復雜度
      • A:定義
      • B:計算方法
  • 三:Halstead方法(了解)
    • (1)定義
    • (2)方法

一:價值(了解)

  • 把程序的復雜程度乘以適當數可估算出軟件中錯誤的數量以及開發需要的工作量
  • 定量度量的結果可以用來比較兩個不同的設計或兩個不同算法的優劣
  • 程序的定量的復雜程度可以作為模塊規模的精確限度

二:McCabe方法

(1)流圖

A:定義

流圖實質上是“退化了的”程序流程圖,它僅僅描繪程序的控制流程,完全不表現對數據具體操作以及分支或循環的具體條件,流圖通常被用來突出表示程序的控制流

B:把程序流程圖映射為流圖

①:對于順序結構,一個順序處理和下一個選擇可以映射為一個結點

②:對于選擇語句,開始/結束語句映射為一個結點,兩條分支至少各映射成一個結點


③:開始語句和結束語句各映射成一個結點


  • 流圖中用圓表示結點一個圓代表一條或多條語句(比如4、5)。程序流程圖中的一個順序的處理框序列和一個菱形判定框,可以映射成流圖中的一個結點(比如2,3)
  • 流圖中的箭頭線稱為,代表控制流流圖中一條邊必須終止于一個結點(比如9必須為一個結點),即使這個結點并不代表任何語句
  • 由邊和結點圍成的面積稱為區域,計算區域數時應包括圖外部未被圍起來的區域

C:PDL翻譯為流圖

(2)環形復雜度

A:定義

McCabe方法根據程序控制流的復雜程度定量度量程序的復雜程度,這樣度量出的結果稱為程序的環形復雜度

B:計算方法

環形復雜度定量度量程序的邏輯復雜度,可以用下述3種方法中的任何一種來計算環形復雜度:

  • 流圖中的區域數等于環形復雜度

  • 流圖G的環形復雜度V(G)=E-N+2,E是流圖中邊的條數,N是結點數

  • 流圖G的環形復雜度V(G)=P+1,其中,P是流圖中判定結點的數目。V(G)小于等于10比較科學

三:Halstead方法(了解)

(1)定義

Halstead方法是根據程序中運算符操作數的總數來度量程序的復雜程度

(2)方法

1.程序長度NNN定義,其中N1N_{1}N1?是程序中運算符出現總次數,N2N_{2}N2?是程序中操作數出現總次數

N=N1+N2N=N_{1}+N_{2}N=N1?+N2?

2.預測程序長度的公式,使用的不同運算符的個數為n1n_{1}n1?,不同操作數的個數為n2n_{2}n2?

H=n1log2n1+n2log2n2H=n_{1}log_{2}n_{1}+n_{2}log_{2}n_{2}H=n1?log2?n1?+n2?log2?n2?

3.預測程序中包含錯誤的個數的公式
E=N?log2(n1+n2)/3000E=N*log_{2}(n_{1}+n_{2})/3000E=N?log2?(n1?+n2?)/3000

總結

以上是生活随笔為你收集整理的(软件工程复习核心重点)第五章详细设计-第五节:程序复杂度的定量度量的全部內容,希望文章能夠幫你解決所遇到的問題。

如果覺得生活随笔網站內容還不錯,歡迎將生活随笔推薦給好友。