軟件開發(fā)成本估算主要指軟件開發(fā)過(guò)程中所花費(fèi)的工作量及相應(yīng)的代價(jià)。 不同與傳統(tǒng)的工業(yè)產(chǎn)品,軟件的成本不包括原材料和能源的消耗,主要是人的勞動(dòng)的消耗。另外,軟件也沒有一個(gè)明顯的制造過(guò)程,它的開發(fā)成本是以一次性開發(fā)過(guò)程所花費(fèi)的代價(jià)來(lái)計(jì)算的。因此,軟件開發(fā)成本的估算,應(yīng)是從軟件計(jì)劃、需求分析、設(shè)計(jì)、編碼、單元測(cè)試、集成測(cè)試到認(rèn)證測(cè)試,整個(gè)開發(fā)過(guò)程所花費(fèi)的代價(jià)作為依據(jù)的。
軟件開發(fā)成本估算的經(jīng)驗(yàn)?zāi)P?
Putnam 模型
1978年P(guān)utnam提出的,一種動(dòng)態(tài)多變量模型。
L = Ck * K1/3 * td4/3
其中: L-----------源代碼行數(shù)(以LOC計(jì))
K-----------整個(gè)開發(fā)過(guò)程所花費(fèi)的工作量(以人年計(jì))
td-----------開發(fā)持續(xù)時(shí)間(以年計(jì))
Ck----------技術(shù)狀態(tài)常數(shù),它反映“妨礙開發(fā)進(jìn)展的限制”,取值因開發(fā)環(huán)境而異
Ck的典型值 開發(fā)環(huán)境 開發(fā)環(huán)境舉例
2000 差 沒有系統(tǒng)的開發(fā)方法,缺乏文檔和復(fù)審
8000 好 有合適的系統(tǒng)的開發(fā)方法,有充分的文檔和復(fù)審
11000 優(yōu) 有自動(dòng)的開發(fā)工具和技術(shù)
從上述方程加以變換,可以得到估算工作量的公式: K = L3/(Ck3*td4)
還可以估算開發(fā)時(shí)間: td = [L3/(Ck3*K)]1/4
COCOMO模型(constructive cost model)
這是由TRW公司開發(fā),Boehm提出的結(jié)構(gòu)化成本估算模型。是一種精確的、易于使用的成本估算方法。
COCOMO模型中用到以下變量:
DSI-------源指令條數(shù)。不包括注釋。1KDSI = 1000DSI。
MM-------開發(fā)工作量(以人月計(jì)) 1MM = 19 人日 = 152 人時(shí) =1/12 人年
TDEV-----開發(fā)進(jìn)度。(以月計(jì))
COCOMO模型中,考慮開發(fā)環(huán)境,軟件開發(fā)項(xiàng)目的類型可以分為3種:
組織型(organic): 相對(duì)較小、較簡(jiǎn)單的軟件項(xiàng)目。開發(fā)人員對(duì)開發(fā)目標(biāo)理解比較充分,與軟件系統(tǒng)相關(guān)的工作經(jīng)驗(yàn)豐富,對(duì)軟件的使用環(huán)境很熟悉,受硬件的約束較小,程序的規(guī)模不是很大(<50000行)
嵌入型(embedded): 要求在緊密聯(lián)系的硬件、軟件和操作的限制條件下運(yùn)行,通常與某種復(fù)雜的硬件設(shè)備緊密結(jié)合在一起。對(duì)接口,數(shù)據(jù)結(jié)構(gòu),算法的要求高。軟件規(guī)模任意。如大而復(fù)雜的事務(wù)處理系統(tǒng),大型/超大型操作系統(tǒng),航天用控制系統(tǒng),大型指揮系統(tǒng)等。
半獨(dú)立型(semidetached): 介于上述兩種軟件之間。規(guī)模和復(fù)雜度都屬于中等或更高。最大可達(dá)30萬(wàn)行。
估算公式:
基本COCOMO模型估算工作量和進(jìn)度的公式如下
工作量: MM = r*(KDSI)c
進(jìn)度: TDKV = a(MM)b
其中經(jīng)驗(yàn)常數(shù) r, c, a, b 取決于項(xiàng)目的總體類型。
COCOMO模型按其詳細(xì)程度可以分為三級(jí):基本COCOMO模型,中間COCOMO模型,詳細(xì)COCOMO模型。其中基本COCOMO模型是是一個(gè)靜態(tài)單變量模型,它用一個(gè)以已估算出來(lái)的原代碼行數(shù)(LOC)為自變量的經(jīng)驗(yàn)函數(shù)計(jì)算軟件開發(fā)工作量。 中級(jí)COCOMO模型在基本COCOMO模型的基礎(chǔ)上,再用涉及產(chǎn)品、硬件、人員、項(xiàng)目等方面的影響因素調(diào)整工作量的估算。詳細(xì)COCOMO模型包括中間COCOMO模型的所有特性,但更進(jìn)一步考慮了軟件工程中每一步驟(如分析、設(shè)計(jì))的影響。
基本COCOMO模型
通過(guò)統(tǒng)計(jì)63個(gè)歷史項(xiàng)目的歷史數(shù)據(jù),得到如下計(jì)算公式。
總體類型 工作量 進(jìn)度
組織型 MM = 10.4*(KDSI)1.05 TDKV = 10.5
項(xiàng)目經(jīng)理勝任力免費(fèi)測(cè)評(píng)PMQ上線啦!快來(lái)測(cè)測(cè)你排多少名吧~
http://m.opto-elec.com.cn/pmqhd/index.html