fbpx
维基百科

軟體度量

軟體度量software metric)是一個對於軟體性質及其規格的量測。軟體度量的目的是獲得客觀、可以複製及量化的量測結果,依軟體度量性質及特性的不同,可以分別應用在軟體開發的時程及預算規劃、成本估算、品質保證測試、軟體偵錯、軟體性能最佳化或專案人員配置的最佳化等領域。

舉例 编辑

源代碼行數簡稱SLOC,是最簡單的一種軟體度量,以下以包括注釋的實體源代碼行數(LOC)為準,說明軟體度量的特性及一些限制。

以下的C程式碼只有一行,其LOC為1:

for (i = 0; i < 10; i += 1) printf("hello"); /* How many lines of code is this? */ 

但程式碼在重新排版為以下的程式碼時,其LOC就從1改變為5,但實際的程式機能沒有改變:

/* Now how many lines of code is this? */ for (i = 0; i < 10; i += 1) {  printf("hello"); } 

若不使用迴圈的架構,直接呼叫10次printf,一般不建議以這種方式撰寫程式,但其LOC為11,比上述二個程式的LOC都大:

/* It is not a good code style */ printf("hello"); printf("hello"); printf("hello"); printf("hello"); printf("hello"); printf("hello"); printf("hello"); printf("hello"); printf("hello"); printf("hello"); 

不同的軟體度量可量測的軟體性質也隨之不同,像源代碼行數適合量測軟體的大小,但無法量測軟體的模組化程度,而且此度量方式是要量測原代碼的長度,不適合作為軟體規劃階段進行度量。

常見的軟體度量 编辑

以下是一些常見的軟體度量:

限制 编辑

軟體的開發過程相當複雜,其方法論及目標都有高度的變異性,因此很難定義軟體質或是量的數據,並確定一個有效的和及時的計量方式,尤其要在軟體的細部設計前進行相關的預估,更加困難。另一個困難、常產生爭議的是度量的定義,以及各度量之間的重要性[2][3]。 實務上的軟體度量常常縮減為以下幾個因素的組合:

度量的目標可能會針對是上述的一項因素或是多項因素。

評論 编辑

軟體開發者指出過於簡化的軟體度量可能弊大於利[4]。有些軟體開發者也注意到軟體度量已成為軟體開發過程中的一部份[2]。有些軟體開發者注意到軟體度量可能造成程式設計者的壓力及焦慮,或是設法製造不實的度量,不過也有些軟體開發者認為軟體度量對程式設計者有正面影響,可以肯定自身工作的價值[5]

有些軟體開發者認為許多軟體度量的定義不夠精確,而在實務上也很難預估當軟體完成時,其對應的軟體度量的目標值為何[6],不過也有些軟體開發者認為不精確的量測至少比沒有量測要好「若對一個事物無法測量,也就無法控制這個事物。」[7]

軟體度量已廣為政府機關、美國軍方、美国国家航空航天局(NASA)[8]、資訊科技諮詢機構、學術機構所使用[9],也有許多商用或學術使用的軟體開發預估軟體英语Comparison of development estimation software

相關條目 编辑

  • 计算机科学
  • GQM法英语GQM
  • Ohloh英语Ohloh
  • 程式複雜度英语Programming complexity
  • 软件危机
  • 軟體開發工作量預估
  • 软件工程
  • 軟體包裝度量英语Software package metrics
  • 正交缺陷分類英语Orthogonal Defect Classification
  • 软件质量
  • 開發預測軟體比較英语Comparison of development estimation software
  • 靜態代碼分析工具列表英语List of tools for static code analysis

注释 编辑

  1. ^ Descriptive Information (DI) Metric Thresholds. Land Software Engineering Centre. [19 October 2010]. (原始内容存档于2011-07-06). 
  2. ^ 2.0 2.1 Binstock, Andrew. Integration Watch: Using metrics effectively. SD Times. BZ Media. [19 October 2010]. (原始内容于2012-09-13). 
  3. ^ Kolawa, Adam. When, Why, and How: Code Analysis. The Code Project. [19 October 2010]. (原始内容于2011-11-14). 
  4. ^ Kaner, Dr. Cem, Software Engineer Metrics: What do they measure and how do we know?, [2012-04-16], (原始内容于2020-04-26) 
  5. ^ ProjectCodeMeter (2010) "ProjectCodeMeter Users Manual" page 65 (PDF). [2012-04-16]. (原始内容 (PDF)于2017-03-24). 
  6. ^ Lincke, Rüdiger; Lundberg, Jonas; Löwe, Welf, Comparing software metrics tools (PDF), International Symposium on Software Testing and Analysis 2008, 2008: 131–142 [2012-04-16], (原始内容 (PDF)于2018-04-17) 
  7. ^ DeMarco, Tom year =. Controlling Software Projects: Management, Measurement and Estimation. ISBN 0-13-171711-1. 
  8. ^ NASA Metrics Planning and Reporting Working Group (MPARWG) 互联网档案馆的,存档日期2011-10-22.
  9. ^ . [2012-04-16]. (原始内容存档于2017-12-11). 

参考文献 编辑

  • DeMarco, Tom. Controlling Software Projects: Management, Measurement and Estimation. 1982. ISBN 0-13-171711-1. 

軟體度量, software, metric, 是一個對於軟體性質及其規格的量測, 的目的是獲得客觀, 可以複製及量化的量測結果, 依性質及特性的不同, 可以分別應用在軟體開發的時程及預算規劃, 成本估算, 品質保證測試, 軟體偵錯, 軟體性能最佳化或專案人員配置的最佳化等領域, 目录, 舉例, 常見的, 限制, 評論, 相關條目, 注释, 参考文献舉例, 编辑源代碼行數簡稱sloc, 是最簡單的一種, 以下以包括注釋的實體源代碼行數, 為準, 說明的特性及一些限制, 以下的c程式碼只有一行, 其loc為1, pr. 軟體度量 software metric 是一個對於軟體性質及其規格的量測 軟體度量的目的是獲得客觀 可以複製及量化的量測結果 依軟體度量性質及特性的不同 可以分別應用在軟體開發的時程及預算規劃 成本估算 品質保證測試 軟體偵錯 軟體性能最佳化或專案人員配置的最佳化等領域 目录 1 舉例 2 常見的軟體度量 3 限制 4 評論 5 相關條目 6 注释 7 参考文献舉例 编辑源代碼行數簡稱SLOC 是最簡單的一種軟體度量 以下以包括注釋的實體源代碼行數 LOC 為準 說明軟體度量的特性及一些限制 以下的C程式碼只有一行 其LOC為1 for i 0 i lt 10 i 1 printf hello How many lines of code is this 但程式碼在重新排版為以下的程式碼時 其LOC就從1改變為5 但實際的程式機能沒有改變 Now how many lines of code is this for i 0 i lt 10 i 1 printf hello 若不使用迴圈的架構 直接呼叫10次printf 一般不建議以這種方式撰寫程式 但其LOC為11 比上述二個程式的LOC都大 It is not a good code style printf hello printf hello printf hello printf hello printf hello printf hello printf hello printf hello printf hello printf hello 不同的軟體度量可量測的軟體性質也隨之不同 像源代碼行數適合量測軟體的大小 但無法量測軟體的模組化程度 而且此度量方式是要量測原代碼的長度 不適合作為軟體規劃階段進行度量 常見的軟體度量 编辑以下是一些常見的軟體度量 平衡計分卡 每行程式的程式錯誤比率 COCOMO 構造性成本模型 代碼覆蓋率 内聚力 註解密度 1 同步變化的軟體元件 英语 Connascent software components 耦合力 循環複雜度 DSQI 設計結構品質指標 機能點分析 英语 Function point analysis 霍爾斯特德複雜度量測 指令路徑長度 英语 Instruction path length 類別及介面的數量 源代碼行數 客戶需求行數 程式執行時間 程式載入時間 二進制檔案長度 軟體包裝度量 英语 Software package metrics 加權微機能點 英语 Weighted Micro Function Points 限制 编辑軟體的開發過程相當複雜 其方法論及目標都有高度的變異性 因此很難定義軟體質或是量的數據 並確定一個有效的和及時的計量方式 尤其要在軟體的細部設計前進行相關的預估 更加困難 另一個困難 常產生爭議的是度量的定義 以及各度量之間的重要性 2 3 實務上的軟體度量常常縮減為以下幾個因素的組合 時程 大小或是複雜度 成本 品質度量的目標可能會針對是上述的一項因素或是多項因素 評論 编辑軟體開發者指出過於簡化的軟體度量可能弊大於利 4 有些軟體開發者也注意到軟體度量已成為軟體開發過程中的一部份 2 有些軟體開發者注意到軟體度量可能造成程式設計者的壓力及焦慮 或是設法製造不實的度量 不過也有些軟體開發者認為軟體度量對程式設計者有正面影響 可以肯定自身工作的價值 5 有些軟體開發者認為許多軟體度量的定義不夠精確 而在實務上也很難預估當軟體完成時 其對應的軟體度量的目標值為何 6 不過也有些軟體開發者認為不精確的量測至少比沒有量測要好 若對一個事物無法測量 也就無法控制這個事物 7 軟體度量已廣為政府機關 美國軍方 美国国家航空航天局 NASA 8 資訊科技諮詢機構 學術機構所使用 9 也有許多商用或學術使用的軟體開發預估軟體 英语 Comparison of development estimation software 相關條目 编辑计算机科学 GQM法 英语 GQM Ohloh 英语 Ohloh 程式複雜度 英语 Programming complexity 软件危机 軟體開發工作量預估 软件工程 軟體包裝度量 英语 Software package metrics 正交缺陷分類 英语 Orthogonal Defect Classification 软件质量 開發預測軟體比較 英语 Comparison of development estimation software 靜態代碼分析工具列表 英语 List of tools for static code analysis 注释 编辑 Descriptive Information DI Metric Thresholds Land Software Engineering Centre 19 October 2010 原始内容存档于2011 07 06 2 0 2 1 Binstock Andrew Integration Watch Using metrics effectively SD Times BZ Media 19 October 2010 原始内容存档于2012 09 13 Kolawa Adam When Why and How Code Analysis The Code Project 19 October 2010 原始内容存档于2011 11 14 Kaner Dr Cem Software Engineer Metrics What do they measure and how do we know 2012 04 16 原始内容存档于2020 04 26 ProjectCodeMeter 2010 ProjectCodeMeter Users Manual page 65 PDF 2012 04 16 原始内容存档 PDF 于2017 03 24 Lincke Rudiger Lundberg Jonas Lowe Welf Comparing software metrics tools PDF International Symposium on Software Testing and Analysis 2008 2008 131 142 2012 04 16 原始内容存档 PDF 于2018 04 17 DeMarco Tom year Controlling Software Projects Management Measurement and Estimation ISBN 0 13 171711 1 NASA Metrics Planning and Reporting Working Group MPARWG 互联网档案馆的存檔 存档日期2011 10 22 USC Center for Systems and Software Engineering 2012 04 16 原始内容存档于2017 12 11 参考文献 编辑DeMarco Tom Controlling Software Projects Management Measurement and Estimation 1982 ISBN 0 13 171711 1 取自 https zh wikipedia org w index php title 軟體度量 amp oldid 78989141, 维基百科,wiki,书籍,书籍,图书馆,

文章

,阅读,下载,免费,免费下载,mp3,视频,mp4,3gp, jpg,jpeg,gif,png,图片,音乐,歌曲,电影,书籍,游戏,游戏。