8.5. 基於經驗的軟件估算
基於回歸分析的經驗估算模型
通過對以往軟件項目中搜集的數據進行回歸分析而導出
COCOMO經驗估算模型
- Constructive Cost Model,構造性成本模型,用於對軟件開發項目的規模、成本、進度等方面進行估算
- COCOMO模型是一個綜合經驗模型,模型中的參數取值來自於經驗值,並且綜合了諸多的因素、比較全面的估算模型
- 在歐盟國家應用較為廣泛
COCOMO經驗估算模型層次 - 支持不同的階段
- 基本COCOMO模型
- 系統開發的初期,估算整個系統的工作量(包括維護)和軟件開發和維護所需的時間
- 中間COCOMO模型
- 估算各個子系統的工作量和開發時間
- 詳細COCOMO模型
- 估算獨立的軟構件,如各個子系統的各個模塊的工作量和開發時間
COCOMO經驗估算模型——基本模型
- E = a * (KLOC)^b ;
- E是工作量(人月) ,a和b是經驗常數
- D = c * E^d ;
- D是開發時間(月) ,c和d是經驗常數,其取值見下表
COCOMO經驗估算模型——中間模型
-
E = a * (KLOC)^b * EAF
- EAF 影響因子
- EAF的計算=Fi ( i=1..15)
- 調節因子及其取值由統計結果和經驗決定,不同的軟件開發組織在不同的時期可能會有不同的取值
-
其中,E表示工作量(人月),EAF表示工作量調節因子,a,b為經驗常數,其取值見下表
案例
-
案例分析:用基本COCOMO模型估算項目的工作量、開發時間和參加項目開發的人數
-
CAD軟件:目標代碼行33.2KLOC,屬於中等規模,半獨立型,因而a = 3.0, b = 1.12, c = 2.5, d = 0.35
-
E = 3.0*(33.2)^1.12 =152 PM
-
D = 2.5*(152)0.35 = 14.5 (月)
-
參加項目人數N = E/D = 152/14.5 = 11(人)