代碼行LOC;周期:月;工作量: 人月;費(fèi)用元。
理由:
圖2-2 Delphi法規(guī)模估計(jì)迭代表樣例
方法二:類比法
類比法適合評(píng)估一些與歷史項(xiàng)目在應(yīng)用領(lǐng)域、環(huán)境和復(fù)雜度相似的項(xiàng)目,通過新項(xiàng)目與歷史項(xiàng)目的比較得到規(guī)模估計(jì)。類比法估計(jì)結(jié)果的精確度取決于歷史項(xiàng)目數(shù)據(jù)的完整性和準(zhǔn)確度,因此,用好類比法的前提條件之一是組織建立起較好的項(xiàng)目后評(píng)價(jià)與分析機(jī)制,對(duì)歷史項(xiàng)目的數(shù)據(jù)分析是可信賴的。
其基本步驟是:
(1) 整理出項(xiàng)目功能列表和實(shí)現(xiàn)每個(gè)功能的代碼行;
(2) 標(biāo)識(shí)出每個(gè)功能列表與歷史項(xiàng)目的相同點(diǎn)和不同點(diǎn),特別要注意歷史項(xiàng)目做得不夠的地方;
(3) 通過步驟(1)和(2)得出各個(gè)功能的估計(jì)值;
(4) 產(chǎn)生規(guī)模估計(jì)。
軟件項(xiàng)目中用類比法,往往還要解決可重用代碼的估算問題。估計(jì)可重用代碼量的最好辦法就是由程序員或系統(tǒng)分析員詳細(xì)地考查已存在的代碼,估算出新項(xiàng)目可重用的代碼中需重新設(shè)計(jì)的代碼百分比、需重新編碼或修改的代碼百分比以及需重新測(cè)試的代碼百分比。根據(jù)這三個(gè)百分比,可用下面的計(jì)算公式來計(jì)算等價(jià)新代碼行:
等價(jià)代碼行 = [(重新設(shè)計(jì)% +重新編碼% +重新測(cè)試%)/3]× 已有代碼行
例如,有10 000行代碼,假定30%需要重新設(shè)計(jì),50%需要重新編碼,70%需要重新測(cè)試,那么其等價(jià)的代碼行可以計(jì)算為:
[ (30% + 50% + 70%)/3 ]× 10 000 = 5 000 等價(jià)代碼行
也就是說,重用這10 000代碼相當(dāng)于編寫5 000代碼行的工作量。
方法三:功能點(diǎn)估計(jì)法
功能點(diǎn)測(cè)量是在需求分析階段基于系統(tǒng)功能的一種規(guī)模估計(jì)方法。通過研究初始應(yīng)用需求來確定各種輸入、輸出、計(jì)算和數(shù)據(jù)庫需求的數(shù)量和特性。通常的步驟如下:
(1) 計(jì)算輸入、輸出、查詢、主控文件和接口需求的數(shù)目。
(2) 將這些數(shù)據(jù)進(jìn)行加權(quán)相乘。如表2-1所示就是一個(gè)典型的權(quán)值表。
表2-1 權(quán)值表舉例
功 能 類 型權(quán)值
輸入4
輸出5
查詢4
主控文件10
接口10
(3) 估計(jì)者根據(jù)對(duì)復(fù)雜度的判斷,總數(shù)可以用+25%、0、或 25%調(diào)整。
統(tǒng)計(jì)發(fā)現(xiàn),對(duì)一個(gè)軟件產(chǎn)品的開發(fā),功能點(diǎn)對(duì)項(xiàng)目早期的規(guī)模估計(jì)很有幫助。然而,在了解產(chǎn)品越多后,功能點(diǎn)可以轉(zhuǎn)換為軟件規(guī)模測(cè)量更常用的LOC方法。