軟件度量的方法體系 軟件度量
關鍵字:項目度量
項目度量
項目度量是針對軟件開發項目的特定度量,目的在于度量項目規模、項目成本、項目進度、顧客滿意度等,輔助項目管理進行項目控制。
規模度量
軟件開發項目規模度量(size measurement)是估算軟件項目工作量、編制成本預算、策劃合理項目進度的基礎。規模度量是軟件項目失敗的重要原因之一。一個好的規模度量模型可以解決這一問題。有效的軟件規模度量是成功項目的核心要素:基于有效的軟件規模度量可以策劃合理的項目計劃,合理的項目計劃有助于有效地管理項目。規模度量的要點在于:由開發現場的項目成員進行估算;靈活運用實際開發作業數據;杜絕盲目迎合顧客需求的“交期逆推法”。
軟件規模度量有助于軟件開發團隊準確把握開發時間、費用分布以及缺陷密度等等。軟件規模的估算方法有很多種,如:功能點分析(FPA:function points analysis)、代碼行(LOC:lines of code)、德爾菲法(Delphi technique)、COCOMO模型、特征點(feature point)、對象點(object point)、3-D功能點(3-D function points)、Bang度量(DeMarco’s bang metric)、模糊邏輯(fuzzy logic)、標準構件法(standard component)等,這些方法不斷細化為更多具體的方法。
1. 功能點分析法
(1) 功能點分析法概述
功能點分析法(FPA:function point analysis)是在需求分析階段基于系統功能的一種規模估算方法,是基于應用軟件的外部、內部特性以及軟件性能的一種間接的規模測量。FPA法由IBM的工程師艾倫·艾爾布策(Allan Albrech)于20世紀70年代提出,隨后被國際功能點用戶協會(IFPUG:The International Function Point Users’ Group)提出的IFPUG方法繼承,從系統的復雜性和系統的特性這兩個角度來度量系統的規模,其特征是:“在外部式樣確定的情況下可以度量系統的規!,“可以對從用戶角度把握的系統規模進行度量”。功能點可以用于“需求文檔”、“設計文檔”、“源代碼”、“測試用例”度量,根據具體方法和編程語言的不同,功能點可以轉換為代碼行。經由ISO組織已經有多種功能點估算方法成為國際標準,如:①加拿大人艾倫·艾布恩(Alain Abran)等人提出的全面功能點法(full function points);②英國軟件度量協會(UKSMA:United Kingdom Software Metrics Association)提出的IFPUG 功能點法(IFPUG function points);③英國軟件度量協會提出的Mark II FPA功能點法(Mark II function points);④荷蘭功能點用戶協會(NEFPUG:Netherlands Function Point Users Group)提出的NESMA 功能點法,以及軟件度量共同協會(COSMIC:the COmmon Software Metrics Consortium)提出的COSMIC-FFP方法,這些方法都屬于艾爾布策功能點方法的發展和細化。
(2) 功能點分析法的基本計數
功能點分析的基本計數就是依據標準計算出的系統(或模塊)中所含每一種元素的數目:①外部輸入數(EI:external input):計算每個用戶輸入,它們向軟件提供面向應用的數據。輸入應該與查詢區分開來,分別計算。②外部輸出數(EO:external output):計算每個用戶輸出,它們向軟件提供面向應用的信息。這里,輸出是指報表、屏幕、出錯信息,等等。一個報表中的單個數據項不單獨計算。③外部查詢數(EQ:external query):一個查詢被定義為一次聯機輸入,它導致軟件以聯機輸出的方式產生實時的響應。每一個不同的查詢都要計算。④內部邏輯文件(ILF:internal logical file):計算每個邏輯的主文件,如數據的一個邏輯組合,它可能是某個大型數據庫的一部分或是一個獨立的文件。⑤外部接口文件(EIF:external interface file):計算所有機器可讀的接口,如磁帶或磁盤上的數據文件,利用這些接口可以將信息從一個系統傳送到另一個系統。
(3) 功能點分析的主要步驟
功能點分析可以按照如圖5-6所示步驟進行:

圖5-6 功能點分析的主要步驟
文章來源于領測軟件測試網 http://www.kjueaiud.com/