[轉]軟件開發工作量/費用估算

軟件開發工作量/費用估算

版權聲明:本文爲博主原創文章,遵循 CC 4.0 BY-SA 版權協議,轉載請附上原文出處鏈接和本聲明。
本文鏈接:https://blog.csdn.net/NOW_wyp/article/details/84919958

軟件開發價格與工作量、商務成本、國家稅收和企業利潤等項有關
 
爲了便於計算,給出一個計算公式: 軟件開發價格 = 開發工作量 × 開發費用/人·月

1.1開發工作量
軟件開發工作量與估算工作量經驗值、風險係數和複用係數等項有關:
軟件開發工作量 = 估算工作量經驗值 × 風險係數 × 複用係數

1.1.1估算工作量經驗值(以A來表示)
軟什開發工作量的計算,曾有人提出以源代碼行或功能點來計算,這些方法實施起來均有不少難度。目前國際上仍舊按以往經驗的方式加以計算,國內各軟件企業也是採用經驗的方式加以估算工作量。
爲了更好地規範估算方法,建議可按照國家標準“GB/T 8566-2001軟件生存週期過程”所規定的軟件開發過程的各項活動來計算工作量。
工作量的計算是按一個開發工作人員在一個月內(日曆中的月,即包括國家規定的節假日)能完成的工作量爲單位,也就是通常所講的“人·月”。
特別要提醒的是軟件開發過程中既包括了通常所講的軟件開發,也應包括各類軟件測試的活動。
 
1.1.2風險係數(以σ來表示)
估算工作量經驗值亦會存在較大風險,造成軟件危機的因素很多,這也是一個方面的因素。特別當軟件企業對該信息工程項目的業務領域不熟悉或不太熟悉,而且用戶又無法或不能完整明白地表達他們的真實的需求,從而造成軟件企業需要不斷地完善需求獲取,修改設計等各項工作。因此:
l ≤ 風險係數 ≤ 1.5
根據我們對軟件企業的瞭解,超過估算工作量經驗值的一半,已是不可接受,所以我們確定“1.5”爲極限值。當然這既要看企業的能力,也要看用戶能接受的程度。
 
1.1.3 複用係數(以τ來表示)
估算工作量經驗值是軟件企業承擔一般項目來估算的,但如果軟件企業已經採用“基於構件的開發方法” ,並己建立起能夠複用的構件庫(核心資產庫),或者已有一些軟件產品,僅作二次開發,從而使軟件開發工作量減少。因此:
0.25 ≤ 複用係數 ≤ 1
根據國內外軟件企業在實施基於構件開發方法(軟件產品線)的經驗數據,提高工作效率達到25%(最高值)。

1.2開發費用/人·月
軟件企業的商務成本、國家稅收、企業利潤、管理成本和質量成本。均可攤分到各個軟件開發人員頭上。
開發費用/人·月 =(P+Q+R)× S× τ
 
1.2.1  P(人頭費)
人頭費主要是員工的工資、獎金和國家規定的各項按人計算的費用。其總量在軟件企業中的商務成本佔70%-80%。
P = B × 1.476
國家規定的公積金 7%,醫療保險金12%,養老金22%,失業金 2%(即通常所說的四金),另外還有按工資總額計徵的工傷保證金0.5%,生育保證金0.5%,殘疾基金1.6%,工會基金2%,累計爲47.6%。
B爲平均工資,即企業支付給員工的工資、獎金、物質獎勵等多項總和,除以企業員工數,分攤到每個月。
 
1.2.2  Q(辦公費)
辦公費包括企業辦公房屋租賃費和物業管理費、通信費、辦公消耗品、水電空調費、設備折舊、差旅費,另外也包括企業對員工的在職培訓所支付的費用,其總量在軟件企業中的商務成本佔20%-30%。
Q = B/3
此處辦公費用按商務成本的25%計算。
 
1.2.3  R(國家稅收和企業利潤)
由於國家實施發展軟件產業的優惠政策,故不單獨列出計算,但軟件企業仍需承擔繳納國家稅收的義務,可一併與企業利潤一起考慮。
另外,軟件企業的員工不可能全年滿負荷地工作,即使一年十二個月都安排工作,但也需抽出時間進行在職培訓和提職的崗前培訓。據我們的瞭解,軟件企業的員工一年能有10個月到 11個月的工作也是正常的。
R = B/3
此處爲我們的建議方案,各軟件企業可視情況加以變更。
 
1.2.4  S(管理系數)
通常每個機構的管理人員都會有一定的比例,參考一些機構的做法,按每十個軟件人員配備兩個管理人員即管理成本:
1 ≤ S ≤ 1.2
 
1.2.5  T(優質係數)
提高軟件質量,必然有所開支,即質量成本,對於不同的軟件企業來說,其質量成本不盡相同。
軟件企業與其他企業一樣,也有誠信和品牌等諸多因素,從而增加企業的開支。
目前我們可以按通過 ISO9000質量體系認證和CMM或CMMI的認證來確定,分別取值1.05、1.1、1.15、1.2。
今後建議可對軟件企業的資質分爲四級。由軟件行業協會根據CMMI的認證、品牌、誠信程度等各種因素加以確定。此體系建設還有待進一步探索。


據此,我們綜合上述各點
開發費用/人·月 =(B × 1.476 + B/3 + B/3)× l.2 × T
= B ×(1.476 + 2/3)× 1.2 × T
= B × 2 .575 × T
= B × λ
當T=1.05時,λ=2.7
當T=1.2時,λ=3.09
因此,2.7 ≤ λ ≤ 3.09
對於承接國外軟件外包業務,一方面員工的工資較高,另外工作的安排也較難滿負荷工作,用此建議R=B/2。因此
開發費用/人·月 = B(1.476 + 1/3 + 1/2)× 1.2 × T
= B × 2.767 × T
= B × λ
當T=1.05時,λ=2.906
當T=1.2時,λ=3.32
因此,2.9 ≤ λ ≤ 3.32


結論: 軟件開發價格 = A × σ × τ × B × λ
其中:
  • A:估算工作量經驗值
  • B:軟件企業的平均工資/人·月
  • Q:風險係數l ≤ Q ≤ 1.5
  • T:複用係數0.25 ≤ τ ≤ 1
  • λ:綜合係數2.7 ≤ λ ≤ 3.09
發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章