測量軟體結構



測量軟體的結構屬性對於估算開發工作量以及維護產品至關重要。需求、設計和程式碼的結構有助於理解將一個產品轉換為另一個產品、測試產品或根據早期內部產品度量預測外部軟體屬性時遇到的困難。

結構度量的型別

軟體的結構包含三個部分。它們是:

  • 控制流結構 - 指程式中指令執行的順序。

  • 資料流結構 - 指資料與其互動的程式之間的行為。

  • 資料結構 - 指資料元素以列表、佇列、棧或其他定義良好的結構形式組織,以及建立、修改或刪除它們的演算法。

測量控制流結構

控制流度量通常使用有向圖建模,其中每個節點或點對應於程式語句,每條弧或有向邊表示從一個語句到另一個語句的控制流。這些圖稱為控制流圖或有向圖。

如果'm'是根據流圖模型定義的結構度量,並且如果程式A的結構比程式B更復雜,則度量m(A)應該大於m(B)

測量資料流結構

資料流或資訊流可以是模組間的(模組內資訊流)或模組內的(單個模組與系統其餘部分之間資訊流)。

根據資料在系統中移動的方式,可以將其分類如下:

  • 區域性直接流 - 如果一個模組呼叫第二個模組並將資訊傳遞給它,或者被呼叫模組將結果返回給呼叫者。

  • 區域性間接流 - 如果被呼叫模組返回的資訊隨後傳遞給第二個被呼叫模組。

  • 全域性流 - 如果資訊透過全域性資料結構從一個模組流向另一個模組。

根據 Henry 和 Kafura 的說法,資訊流複雜度可以表示為:

資訊流複雜度 (M) = 長度 (M) × 扇入 (M) × (扇出 (M))2

其中:

  • 扇入 (M) - 終止於 M 的區域性流數 + M 檢索資訊的數 據結構數。

  • 扇出 (M) - 發源於 M 的區域性流數 + M 更新的資料結構數。

測量資料結構

資料結構可以是區域性的也可以是全域性的。

區域性地,將測量每個資料項中的結構量。可以使用圖論方法來分析和測量單個數據結構的屬性。在該方法中,將簡單的基本資料型別(如整數、字元和布林值)視為素數,並將使我們能夠構建更復雜資料結構的各種操作視為運算。然後可以根據素數的值和與各種操作相關聯的值來分層定義資料結構度量。

全域性地,將測量使用者定義變數的總數。

廣告

© . All rights reserved.