全球专业中文经管百科,由121,994位网友共同编写而成,共计436,047个条目

COCOMO

用手机看条目

出自 MBA智库百科(https://wiki.mbalib.com/)

COCOMO(Constructive Cost Model; 構造性成本模型)

目錄

什麼是COCOMO

  COCOMO英文全稱為Constructive Cost Model,中文為構造性成本模型,是指由巴裡·勃姆Barry Boehm)於 1981 年提出的一種精確、易於使用的,基於模型的軟體成本估算方法。從本質上說是一種參數化的項目估算方法,參數建模是把項目的某些特征作為參數,通過建立一個數字模型預測項目成本的回歸分析公式。

  COCOMO最初發表於1981年巴裡·勃姆《軟體工程經濟學》一書中,做為一種在軟體項中估算工作量、成本以及時間表的模型。它基於對TRW飛機製造公司的63個項目的研究。巴裡·勃姆於1981年在該公司擔任軟體研究與技術總監。這項研究中的項目所包含的代碼量從2000行到10000行,包含的編程語言從彙編語言到PL/I。這些項目採用瀑布模型進行軟體開發,這是在1981年時主流的軟體開發模式。

  通常把上述模型稱作為“COCOMO 81”。1997年,“COCOMO II”開始研發,並最終於2001年發表於《軟體成本估算:COCOMO Ⅱ模型方法》一書中。COCOMO II是COCOMO 81的繼承者,並且更適用於對現代軟體開發項目進行估算。它為現代軟體開發流程提供了更多支持,並提供了一個更新了的資料庫。對於新模型的需求來源於軟體開發技術從基於大型電腦和整晚的批處理到桌面開發、代碼重用以及利用即有軟體模塊的改變。

  COCOMO由三個不斷深入和詳細的層次組成。第一層,“基本COCOMO”,適用對軟體開發進行快速、早期地對重要的方面進行粗略的成本估計,但因其缺少不同的項目屬性(“成本驅動者”)的因素,所以準確性有一定的局限性。“中級COCOMO”中考慮進了這些成本驅動者。“詳細COCOMO”加入了對不同軟體開發階段影響的考量。

COCOMO的分類

COCOMO按照項目類型劃分

  COCOMO模型中,考慮到開發環境的不同,軟體開發項目的類型可以分為3種:

  組織型(organic):相對較小、較簡單的軟體項目。開發人員對開發目標理解比較充分,與軟體系統相關的工作經驗豐富,對軟體的使用環境很熟悉,受硬體的約束較小,程式的規模不是很大(<50000行)。

  嵌入型(embedded):要求在緊密聯繫的硬體、軟體和操作的限制條件下運行,通常與某種複雜的硬體設備緊密結合在一起。對介面、數據結構、演算法的要求很高,軟體規模任意。如大而複雜的事務處理系統,大型/超大型操作系統,航天用控制系統,大型指揮系統等。

  半獨立型(semidetached):介於上述兩種軟體之間。規模和複雜度都屬於中等或更高。最大可達30萬行。

COCOMO按照詳細程度劃分

  COCOMO模型按其詳細程度可以分為三級:基本COCOMO模型,中間COCOMO模型,詳細COCOMO模型。

  基本COCOMO模型是一個靜態單變數模型,它用一個已估算出來的原代碼行數(LOC)為自變數的經驗函數計算軟體開發工作量。

  中級COCOMO模型在基本COCOMO模型的基礎上,再用設計產品、硬體、人員、項目等方面的影響因素調整工作量的估算。

  詳細COCOMO模型包括中間COCOMO模型的所有特性,但更進一步考慮了軟體工程中每一步驟(如分析、設計)的影響。

COCOMO的公式

基本COCOMO模型的公式

  E=aLb

  D=cEb

  其中:E表示工作量,單位是人月(PM)。

  D表示開發時間,單位是月(M)。

  L是項目的代碼行估計值,單位是千行代碼。

  a,b,c,d是常數,取值如下表所示

  對於基本COCOMO模型,通過統計63個歷史項目的歷史數據,得到如下計算公式

總體類型工作量進度
組織型E=10.4×(KLOC)1.05D=10.5(E)0.38
半獨立型E=3.0×(KLOC)1.12D=10.5(E)0.35
嵌入型E=3.0×(KLOC)1.20D=10.5(E)0.32

  例如:某公司開發一個CAD軟體,源代碼行數為目標代碼行數為33.3KLOC。CAD軟體開發屬於中等規模、半獨立型。

  從表中查到

  a=3.0,b=1.12。

  E=3.0×L1.12

   =3.0×33.31.12

   =152人月

  假設每人每月費用為10000元,則總費用為152萬元。

中級COCOMO模型的公式

  中級COCOMO對軟體工作量的估算使用了程度大小以及一組“成本驅動者”,包括對產品、硬體、人員及項目屬性的客觀評價。這種擴展包含了四類“成本驅動者”,每個類又有15個屬性,每一個屬性都會得到一個6點的評估,從“非常低”到“非常高”(重要性或大小)。下表中列出了可用的因數值。所有這些因數的乘積的結果就是“工作量調整因數(EAF)”通常這些因數的值是從0.9到1.4。

成本驅動者評估
非常低正常很高非常高
產品屬性
軟體可靠性需求0.750.881.001.151.40
應用資料庫的大小 0.941.001.081.16
產品複雜度0.700.851.001.151.301.65
硬體屬性
運行時的性能約束 1.001.111.301.66
記憶體約束 1.001.061.211.56
虛擬機穩定性 0.871.001.151.30
回覆時間的需求 0.871.001.071.15
人員屬性
分析能力1.461.191.000.860.71
應用經驗1.421.171.000.860.70
虛擬機的經驗1.12 1.101.000.90
編程語言經驗1.14 1.071.000.95
項目屬性
採用的軟體工具1.24 1.101.000.910.82
採用的軟體工程手段 1.241.10 1.000.910.83
虛擬機穩定性1.23 1.081.001.041.10
回覆時間的需求 0.871.001.071.15

  中級COCOMO的計算公式如下:

  E=aLb

  對於中級COCOMO模型,通過統計63個歷史項目的歷史數據,得到如下計算公式

總體類型工作量
組織型E=3.2×(KLOC)1.05
半獨立型E=3.0×(KLOC)1.12
嵌入型E=2.8×(KLOC)1.20
本條目對我有幫助35
MBA智库APP

扫一扫,下载MBA智库APP

分享到:
  如果您認為本條目還有待完善,需要補充新內容或修改錯誤內容,請編輯條目投訴舉報

本条目由以下用户参与贡献

Tracy,精英学生会,苏青荇,176****0017.

評論(共0條)

提示:評論內容為網友針對條目"COCOMO"展開的討論,與本站觀點立場無關。

發表評論請文明上網,理性發言並遵守有關規定。

打开APP

以上内容根据网友推荐自动排序生成

官方社群
下载APP

闽公网安备 35020302032707号