天天看點

軟體項目估算:COCOMO經驗估算模型

1.COCOMO經驗估算模型

  • Constructive Cost Model,構造性成本模型,用于對軟體開發項目的規模、成本、進度等方面進行估算;
  • COCOMO模型是一個綜合經驗模型,模型中的參數取值來自于經驗值,并且綜合了諸多的因素、比較全面的估算模型;
  • 在歐盟國家應用較為廣泛。

2.COCOMO經驗估算模型層次 - 支援不同的階段

  • 基本COCOMO模型
系統開發的初期,估算整個系統的工作量(包括維護)和軟體開發和維護所需的時間           

複制

  • 中間COCOMO模型
估算各個子系統的工作量和開發時間           

複制

  • 詳細COCOMO模型
估算獨立的軟構件,如各個子系統的各個子產品的工作量和開發時間           

複制

3.COCOMO經驗估算模型——基本模型

  • E = a * (KLOC)^b ;
E是工作量(人月) ,a和b是經驗常數           

複制

  • D = c * E^d ;
D是開發時間(月) ,c和d是經驗常數,其取值見下表:           

複制

軟體項目估算:COCOMO經驗估算模型

4.COCOMO經驗估算模型——中間模型

  • E = a * (KLOC)^b * EAF
  • EAF 影響因子
  • EAF的計算=Fi ( i=1..15)
調節因子及其取值由統計結果和經驗決定,不同的軟體開發組織在不同的時期可能會有不同的取值
其中,E表示工作量(人月),EAF表示工作量調節因子,a,b為經驗常數,其取值見下表:           

複制

軟體項目估算:COCOMO經驗估算模型

5.案例

案例分析:用基本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(人)