軟體工程/質量/指標簡介
外觀
軟體指標是對軟體或其規範的某些屬性的度量。由於定量測量在所有科學中都是必不可少的,因此計算機科學從業人員和理論家一直在不斷努力將類似的方法引入軟體開發。目標是獲得客觀、可重複和可量化的測量結果,這些測量結果在進度和預算計劃、成本估算、質量保證測試、軟體除錯、軟體效能最佳化以及最佳人員任務分配方面可能具有許多有價值的應用。
常見的軟體度量包括
- 平衡計分卡
- 每行程式碼的錯誤數
- COCOMO
- 程式碼覆蓋率
- 內聚性
- 註釋密度[1]
- 可識別的軟體元件
- 耦合
- 圈複雜度
- 功能點分析
- 霍爾斯特德複雜度
- 指令路徑長度
- 類和介面的數量
- 程式碼行數
- 客戶需求行數
- 程式執行時間
- 程式載入時間
- 二進位制檔案 | 程式大小(二進位制)
- 羅伯特·C·馬丁的軟體包指標
- 加權微功能點
由於軟體開發是一個複雜的過程,在方法和目標方面差異很大,因此很難定義或衡量軟體質量和數量,並確定有效的併發測量指標,尤其是在進行此類預測之前進行詳細設計。另一個困難和爭論的來源是確定哪些指標很重要以及它們意味著什麼。[2][3] 因此,軟體測量的實際效用僅限於狹窄的領域,其中它們包括
- 時間表
- 大小/複雜度
- 成本
- 質量
常見的測量目標可能是針對上述一個或多個方面,或它們之間的平衡作為團隊動機或專案績效的指標。
一些軟體開發從業人員指出,簡單的測量結果可能弊大於利。[4] 其他人指出,指標已成為軟體開發過程不可或缺的一部分。[2] 測量對程式設計師心理的影響引起了人們對由於壓力、績效焦慮以及試圖欺騙指標而導致的負面績效影響的擔憂,而另一些人發現它對開發人員對自身工作的價值觀產生了積極的影響,並防止他們被低估。[5] 有人認為,許多測量方法的定義並不精確,因此通常不清楚計算它們的工具是如何得出特定結果的,[6] 而另一些人則認為,不完美的量化總比沒有好(“你無法控制你無法衡量的東西。”)[7]。證據表明,軟體指標被政府機構、美國軍方、NASA[8]、IT 諮詢師、學術機構[9]以及商業和學術開發估計軟體廣泛使用。
- ↑ "描述資訊 (DI) 度量閾值". 陸地軟體工程中心. 檢索於 2010 年 10 月 19 日.
- ↑ a b Binstock, Andrew. "整合觀察:有效使用指標". SD Times. BZ Media. 檢索於 2010 年 10 月 19 日.
- ↑ Kolawa, Adam. "何時、為何以及如何:程式碼分析". 程式碼專案. 檢索於 2010 年 10 月 19 日.
- ↑ Kaner, Dr. Cem, 軟體工程師指標:它們測量什麼以及我們如何知道?
- ↑ ProjectCodeMeter (2010) "ProjectCodeMeter 使用者手冊" 第 65 頁 [1]
- ↑ Lincke, Rüdiger; Lundberg, Jonas; Löwe, Welf (2008), "Comparing software metrics tools" (PDF), International Symposium on Software Testing and Analysis 2008, pp. 131–142
- ↑ DeMarco, Tom. Controlling Software Projects: Management, Measurement and Estimation. ISBN 0-13-171711-1.
- ↑ NASA Metrics Planning and Reporting Working Group (MPARWG) [2]
- ↑ USC Center for Systems and Software Engineering [3]
- "最小必要軟體質量指標" 由 Vijayan Reddy 撰寫。涵蓋了成功產品交付的最小必要指標集。
- .NET 中軟體指標的定義
- 國際功能點使用者組
- 什麼是 FPA 在 Nesma 網站
- 使用用例點進行估算 由 Mike Cohn 撰寫。描述了使用用例對用 UML 建模的應用程式的大小進行度量的過程。
- 面向物件和敏捷度量資源 - 包括關於遊戲度量的研討會材料,以改進其設計。
- 進一步定義了軟體度量一詞,並舉例說明。
- 軟體工程度量:它們衡量什麼以及我們如何知道 - 對軟體工程度量的智力嚴格處理