項目成本估算方法

IT項目開發成本的估算方法

對於一個大型的IT軟體項目,由於項目的複雜性及IT項目的獨特性,開發成本的估算不是一件容易的事情,它需要進行一系列的估算處理,因些,主要依靠分析和類比推理的手段進行,最基本的估算方法有以下幾種:
● 成本建模技術
根據項目特徵,用數學模型來預測項目的成本。一般採用歷史成本信息(這些信息與項目成本的一些軟體度量標準相關)來建立估算模型,並通過這個模型預測工作量和成本。
● 專家判定技術
也稱為Delphi法,聘請一個或多個領域專家和軟體開發技術人員,由他們分別對項目成本進行估計,並最後達成一致而獲得最終的成本。
● 類比評估技術
根據以前類似項目的實際成本作為當前項目的估算依據。
● Parkson法則
Parkson法則表示工作能夠由需要的時間來反映。在軟體成本估計中,這意味著成本是由可獲得的資源而不是由目標評價決定的。如果一個軟體需要在12個月內由5個人來完成,那么工作量就是12 X 5 = 60個人月(PM)。
自頂向下估算法
成本的估算,主要依據工作分解結構、產品的功能以及實現該功能的子功能組成形式逐層分配成本。
● 自下而上估算法
首先估計每個組成單元的成本,然後根據工作分解結構,通過累加方式得到最終的成本估計
● 贏利定價法
軟體的成本通過估計用戶願意在該項目上的投資來計算,成本的預算依靠客戶的預算而不是軟體的功能。
上面這些估算法都有它們的優勢和不足,不能簡單評價某種方法和好壞。在一個大型的IT項目中,通常要同時採用幾種估算方法並且比較它們估算的結果,如果採用不同方法估算的結果大相逕庭,就說明沒有收集到足夠的成本信息,應該繼續設法獲取更多的成本信息,重新進行成本估算,直到幾種方法估算的結果基本一致為止。
成本預算是在確定總體成本後的分解過程。分解主要是作兩個方面的工作:一是按工作分解結構和工作任務(工作包)分攤成本,這樣可以對照檢查每項工作的成本,出現偏差時可以確定是哪項工作出了問題;二是按工期時段分攤成本,將預算成本分攤到項目工期的各個時段,這樣,可以確定在未來某個時段累計應該花費的成本,並檢查偏差,評價成本績效
目前最常用且最好用的度量方法主要用3種:面向規模(LOC)、面向功能點(FP)及COCOMO模型的度量方法。

面向規模(LOC)的度量

面向規模的軟體度量通過規範化質量和生產率測量的方法得到,這種測量是基於所生產軟體的規模(Size)確定的。為了與其他項目中的同類度量相比較,選擇代碼行作為規範化,這樣,就可以為每個項目產生一組簡單的、面向規模的度量標準:
●每千行代碼(KLOC)的錯誤數。
●每千行代碼行(KLOC)的缺陷數。
●每千行代碼行(KLOC)的成本。
●每千行代碼行(KLOC)的文檔頁數。
●每人月錯誤數。
●每頁文檔的成本。
面向規模的軟體度量,通常並不被認為是軟體開發過程中最優的方法,因為有很多因素直接影響代碼的行數。例如,代碼行數依靠軟體和硬體的選擇,套用商業資料庫管理系統就不用再編寫有關資料庫管理部分的代碼。而用ADA語言就比用FORTRAN語言的代碼行要多等。因此,在1979年Albercht提出面向功能點(FP)軟體度量。

面向功能點(FP)的度量

面向功能點法是由Albrecht最先提出的,並且在1983年由Albrecht和Gaffney進行了改進。功能點可由以下4個參數計算出來:
● 外部輸入和輸出數
● 外部接口數
● 用戶互動數
● 系統要用的檔案數
每個參數都可以根據複雜性進行評估,一般它們的權理為3~15.功能點是通過完成如圖所示的功能點度量計算出來的。其中,FP計數等於數量與加權因子之積,加權因子根據功能點的複雜程度取不同的值。
功能點法是通過建立一個標準來確定某個特定的測量參數(簡單、平均或複雜)的功能點數,但權重的確定多少帶有一定的主觀性。
一般,可以採用下面的方工計算功能點:
FP = 總計數值*[0.65+0.01*SUM(Fi)]
其中總計數值是上表中所得到的所有條目的總和。Fi(i=1,2,3,...14)是對以下14個問題回答的結果而得出的權重調整值(0~5)。等式中的常數和參數的加權因子是根據經驗確定的。
序號 問題
1 系統是否需要可靠的備份和恢復
2 是否需要數據通信
3 是否有分布處理功能
4 系統是否很關鍵
5 系統是否在一個已有的、很實用的操作環境中運行
6 系統是否需要在線上處理
7 在線上數據項是否需要在多螢幕或多操作之間切換以完成操作
8 是否需要在線上更新主檔案
9 輸入、輸出及檔案查詢是否很複雜
10 內部處理是否複雜
11 代碼是否需要設計成可復用的
12 設計中是否需要包括轉換及安裝
13 系統的設計是否支持不同組織的多次安裝
14 套用的設計是否方便用戶修改及使用
問題的答案及相應權重如下表所示

Fi的取值

0

1

2

3

4

5

沒有影響

偶有影響

輕微影響

平均影響

較大影響

嚴重影響

一旦計算出功能點,就可以採用類似面向規模的方法來使用,以便規範軟體生產率、質量及其他屬性的測量:
● 每個功能點(FP)的錯誤數。
● 每個功能點(FP)的缺陷數。
● 每個功能點(FP)的成本。
● 每個功能點(FP)的文檔頁數。
● 每人月完成的功能點(FP)數。
面向功能點(FP)和面向規模(LOC)兩種度量方法之間的關係為:LOC=AVC*功能點的數量,其中AVC是指該語言在實現一個功能點時所要用的平均代碼行數。

COCOMO模型

COCOMO模型是目前普及程度比較高的一種自頂向下項目成本估算模型,是比較精確,易於使用的成本估算方法。該模型的項目成本估算公式為:
E=A(KDSI)
其中:E為開發成本:DSI為項目原始碼行數,但不包括注釋行數,DSI以千行為一個基本單位,即1KDSI=1024DSI:A、b為兩個常數,具體值由項目的種類而定。
在COCOMO模中,根據開發環境及項目規模等因素,可把項目分為以下3種:
● 組織模式:指規模較小的、簡單的軟體項目;
● 半分離模式:指在南側模和複雜性上處於中等程度的軟體項目;
● 嵌入模式:指必須要求在一組緊密聯繫的硬體、軟體及操作約束下開發的軟體項目。
相應的,COCOMO模型的層次也包括3種基本形式,即初級COCOMO模型、中級COCOMO模型和高級COCOMO模型。

相關詞條

熱門詞條

聯絡我們