您的位置:軟件測試 > 軟件項目管理 > 成本管理 >
軟件項目的規(guī)模、工作量和成本是如何進行估算的
作者:網(wǎng)絡轉(zhuǎn)載 發(fā)布時間:[ 2013/6/5 13:51:40 ] 推薦標簽:

1. 基于代碼行和功能點的估算

軟件項目的規(guī)模是影響軟件項目成本和工作量的主要因素。在基于代碼行(loc,line of code)和功能點(function point)的估算方法中,利用代碼行和功能點來表示軟件系統(tǒng)的規(guī)模,并通過對軟件項目規(guī)模的估算進而來估算軟件項目的成本和工作量。

顯然,一個軟件項目的代碼行數(shù)目越多,它的規(guī)模也越大。軟件代碼行的數(shù)目易于度量,許多軟件開發(fā)組織和項目組都保留有以往軟件項目代碼行數(shù)目的記錄,這有助于在以往類似軟件項目代碼行記錄的基礎上對當前軟件項目的規(guī)模進行估算。

用代碼行的數(shù)目來表示軟件項目的規(guī)模簡單易行,自然、直觀且易于度量。但是其缺點也非常明顯。在軟件開發(fā)初期很難估算出終軟件系統(tǒng)的代碼行數(shù);軟件項目代碼行的數(shù)目通常依賴于程序設計語言的功能和表達能力;采用代碼行的估算方法會對那些設計精巧的軟件項目產(chǎn)生不利的影響;該方法只適合于過程式程序設計語言,不適合于非過程式程序設計語言(如函數(shù)式或者邏輯語言)。

針對上述問題,人們提出用軟件系統(tǒng)的功能數(shù)目來表示軟件系統(tǒng)的規(guī)模。1979年ibm的albrecht提出了計算功能點的方法。該方法需要對軟件系統(tǒng)的二個方面進行評估,即評估軟件系統(tǒng)所需的內(nèi)部基本功能和外部基本功能,然后根據(jù)技術(shù)復雜度因子對這二個方面的評估結(jié)果進行加權(quán)量化,產(chǎn)生軟件系統(tǒng)功能點數(shù)目的具體計算值。具體的,以下是軟件系統(tǒng)功能點的計算公式。

fp = ct× (0.65 + 0.01×sfi) (i=1..14)

其中,ct是5個信息量的“加權(quán)和”,fi是14個因素的“復雜性調(diào)節(jié)值”(i =1..14),0.65和0.01是經(jīng)驗常數(shù)。

ct的計算方法如表 3所示,ct =(簡單用戶輸入數(shù)×3 +一般用戶輸入數(shù)×4+復雜用戶輸入數(shù)×6)+(簡單用戶輸出數(shù)×4+一般用戶輸出數(shù)×5+復雜用戶輸出數(shù)×7)+(簡單用戶查詢數(shù)×3+一般用戶查詢數(shù)×4+復雜用戶查詢數(shù)×6)+(簡單文件數(shù)×7+一般文件數(shù)×10+復雜文件數(shù)×15)+(簡單外部界面數(shù)×5+一般外部界面數(shù)×7+復雜外部界面數(shù)×10)。其中,用戶輸入數(shù)是指由用戶提供的、用來輸入的應用數(shù)據(jù)項的數(shù)目;用戶輸出數(shù)是指軟件系統(tǒng)為用戶提供的、向用戶輸出的應用數(shù)據(jù)項的數(shù)目;用戶查詢數(shù)是指要求回答的交互式輸入的項;文件數(shù)是指系統(tǒng)中主文件的數(shù)目;外部界面數(shù)是指機器可讀的文件數(shù)目(如磁盤或者磁帶中的數(shù)據(jù)文件)。

表 3. ct值的加權(quán)計算

 

參數(shù)取值加權(quán)

加權(quán)因子

 

終值

簡單 一般 復雜

用戶輸入數(shù)

´3 ´4 ´6

 

用戶輸出數(shù)

´4 ´5 ´7

 

用戶查詢數(shù)

´3 ´4 ´6

 

文件數(shù)

´7 ´10 ´15

 

外部界面數(shù)

´5 ´7 ´10

 

ct=

 

fi(i=1..14)14個因素的“復雜性調(diào)節(jié)值”取值見表 4。

表 4. fi的取值表

 

序號i

問題

fi的取值(0,1,2,3,4,5)

0-沒有影響

1-偶有影響

2-輕微影響

平均影響

4-較大影響

5-嚴重影響

f1

系統(tǒng)需要可靠的備份和復原碼

f2

系統(tǒng)需要數(shù)據(jù)通信嗎

f3

系統(tǒng)有分布處理功能嗎

f4

性能是臨界狀態(tài)嗎

f5

系統(tǒng)是否在一個實用的操作系統(tǒng)下運行

f6

系統(tǒng)需要聯(lián)機數(shù)據(jù)項嗎

f7

聯(lián)機數(shù)據(jù)項是否在多屏幕或多操作之間進行切換

f8

需要聯(lián)機更新主文件嗎

f9

輸入、輸出、查詢和文件很復雜嗎

f10

內(nèi)部處理復雜嗎

f11

代碼需要被設計成可重用嗎

f12

設計中需要包括轉(zhuǎn)換和安裝嗎

f13

系統(tǒng)的設計支持不同組織的多次安裝嗎

f14

應用的設計方便用戶修改和使用嗎

例如,假設項目組要開發(fā)一個軟件項目a。根據(jù)用戶的需求描述,該軟件項目的ct取值如表 5所示。進一步的,假設該軟件項目的14個復雜性調(diào)節(jié)值全部取平均程度。那么根據(jù)表 5可知,該軟件項目的ct=341,14個復雜性調(diào)節(jié)因素的累加值sfi=42,因而根據(jù)公式fp = ct× (0.65 + 0.01×sfi) (i=1..14)可知,該軟件項目的功能點fp=341× (0.65 + 0.01×42) = 364.87,即該項目的功能點數(shù)目大致為364。

上一頁12下一頁
軟件測試工具 | 聯(lián)系我們 | 投訴建議 | 誠聘英才 | 申請使用列表 | 網(wǎng)站地圖
滬ICP備07036474 2003-2017 版權(quán)所有 上海澤眾軟件科技有限公司 Shanghai ZeZhong Software Co.,Ltd