跳轉到內容

軟體工程/質量/指標2 簡介

來自華夏公益教科書,開放的書籍,為開放的世界

本文介紹了各種軟體包指標。 它們由 Robert Cecil Martin 在他的《敏捷軟體開發:原則、模式與實踐》一書(2002 年)中提到。

術語“軟體包”,正如這裡所使用的那樣,指的是一組相關的類(在面向物件程式設計領域)。

  • 類和介面數量:軟體包中具體類和抽象類(以及介面)的數量是軟體包可擴充套件性的指標。
  • 傳入耦合(Ca):依賴於軟體包中類的其他軟體包的數量是軟體包責任的指標。
  • 傳出耦合(Ce):軟體包中的類依賴的其他軟體包的數量是軟體包獨立性的指標。
  • 抽象性 (A):分析軟體包中抽象類(以及介面)數量與分析軟體包中類總數之比。此指標的範圍為 0 到 1,其中 A=0 表示完全具體的軟體包,A=1 表示完全抽象的軟體包。
  • 不穩定性 (I):傳出耦合 (Ce) 與總耦合 (Ce + Ca) 之比,使得 I = Ce / (Ce + Ca)。此指標是軟體包對變化的彈性的指標。此指標的範圍為 0 到 1,其中 I=0 表示完全穩定的軟體包,I=1 表示完全不穩定的軟體包。
  • 與主序列的距離 (D):軟體包從理想化線 A + I = 1 的垂直距離。此指標是軟體包在抽象性和穩定性之間平衡的指標。位於主序列上的軟體包在其抽象性和穩定性方面具有最佳平衡。理想的軟體包要麼完全抽象且穩定 (x=0, y=1),要麼完全具體且不穩定 (x=1, y=0)。此指標的範圍為 0 到 1,其中 D=0 表示與主序列重合的軟體包,D=1 表示與主序列儘可能遠的軟體包。
  • 軟體包依賴迴圈:軟體包依賴迴圈以及參與軟體包依賴迴圈的軟體包的層次路徑將被報告。

參考資料

[編輯 | 編輯原始碼]
  • Robert Cecil Martin (2002). 敏捷軟體開發:原則、模式與實踐. Pearson Education. ISBN 0-13-597444-5.
[編輯 | 編輯原始碼]
  • OO 指標教程用示例解釋了軟體包指標
  • JHawk - Java 指標工具,所有最重要的程式碼指標。Eclipse、獨立和命令列版本
  • Lattix - 支援各種架構指標(包括軟體包依賴指標)的架構工具。
  • NDepend - 支援軟體包依賴指標的 .NET 應用程式。
  • CppDepend - 支援所有最重要的程式碼指標的 C++ 指標工具。
  • JDepend - 支援軟體包依賴指標的 Java 應用程式。
  • STAN - Java 結構分析。Eclipse 整合和獨立的視覺化依賴分析、質量指標和報告。
  • SourceMonitor - 一些用於 C++、C、C#、VB.NET、Java、Delphi、Visual Basic (VB6)
  • PHP Depend - 支援軟體包依賴指標的 JDepend 的 PHP 版本。
華夏公益教科書