「轉」軟體開發報價的計算方法
2011/01/20
1.軟件開發價格估算方法
軟件開發價格與工作量、商務成本、國家稅收和企業利潤等項有關。為了便於計算,給出一個計算公式:
軟件開發價格 = 開發工作量 × 開發費用/人·月
1.1開發工作量
軟件開發工作量與估算工作量經驗值、風險係數和復用係數等項有關:
軟件開發工作量 = 估算工作量經驗值 × 風險係數 × 復用係數
1.1.1估算工作量經驗值(以A來表示)
軟什開發工作量的計算,曾有人提出以源代碼行或功能點來計算,這些方法實施起來均有不少難度。目前國際上仍舊按以往經驗的方式加以計算,國內各軟件企業也是採用經驗的方式加以估算工作量。
為了更好地規範估算方法,建議可按照國家標準“GB/T 8566-2001軟件生存週期過程”所規定的軟件開發過程的各項活動來計算工作量。
工作量的計算是按一個開發工作人員在一個月內(日曆中的月,即包括國家規定的節假日)能完成的工作量為單位,也就是通常所講的“人·月”。
特別要提醒的是軟件開發過程中既包括了通常所講的軟件開發,也應包括各類軟件測試的活動。
1.1.2風險係數(以σ來表示)
估算工作量經驗值亦會存在較大風險,造成軟件危機的因素很多,這也是一個方面的因素。特別當軟件企業對該信息工程項目的業務領域不熟悉或不太熟悉,而且用戶又無法或不能完整明白地表達他們的真實的需求,從而造成軟件企業需要不斷地完善需求獲取,修改設計等各項工作。因此:
根據我們對軟件企業的瞭解,超過估算工作量經驗值的一半,已是不可接受,所以我們確定“1.5”為極限值。當然這既要看企業的能力,也要看用戶能接受的程度。
l ≤ 風險係數 ≤ 1.5
1.1.3復用係數(以τ來表示)
估算工作量經驗值是軟件企業承擔一般項目來估算的,但如果軟件企業已經採用“基於構件的開發方法” ,並己建立起能夠復用的構件庫(核心資產庫),或者已有一些軟件產品,僅作二次開發,從而使軟件開發工作量減少。因此:
根據國內外軟件企業在實施基於構件開發方法(軟件產品線)的經驗數據,提高工作效率達到25%(最高值)。
0.25 ≤ 復用係數 ≤ 1
1.2開發費用/人·月
軟件企業的商務成本、國家稅收、企業利潤、管理成本和質量成本。均可攤分到各個軟件開發人員頭上。
開發費用/人·月 =(P+Q+R)× S× τ
1.2.1 P(人頭費)
人頭費主要是員工的工資、獎金和國家規定的各項按人計算的費用。其總量在軟件企業中的商務成本佔70%-80%。
B為平均工資,即企業支付給員工的工資、獎金、物質獎勵等多項總和,除以企業員工數,分攤到每個月。
人頭費主要是員工的工資、獎金和國家規定的各項按人計算的費用。其總量在軟件企業中的商務成本佔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%。
辦公費包括企業辦公房屋租賃費和物業管理費、通信費、辦公消耗品、水電空調費、設備折舊、差旅費,另外也包括企業對員工的在職培訓所支付的費用,其總量在軟件企業中的商務成本佔20%-30%。
Q = B/3
此處辦公費用按商務成本的25%計算。1.2.3 R(國家稅收和企業利潤)
由於國家實施發展軟件產業的優惠政策,故不單獨列出計算,但軟件企業仍需承擔繳納國家稅收的義務,可一併與企業利潤一起考慮。
另外,軟件企業的員工不可能全年滿負荷地工作,即使一年十二個月都安排工作,但也需抽出時間進行在職培訓和提職的崗前培訓。據我們的瞭解,軟件企業的員工一年能有10個月到 11個月的工作也是正常的。
由於國家實施發展軟件產業的優惠政策,故不單獨列出計算,但軟件企業仍需承擔繳納國家稅收的義務,可一併與企業利潤一起考慮。
另外,軟件企業的員工不可能全年滿負荷地工作,即使一年十二個月都安排工作,但也需抽出時間進行在職培訓和提職的崗前培訓。據我們的瞭解,軟件企業的員工一年能有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
提高軟件質量,必然有所開支,即質量成本,對於不同的軟件企業來說,其質量成本不盡相同。
軟件企業與其他企業一樣,也有誠信和品牌等諸多因素,從而增加企業的開支。
目前我們可以按通過 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
2. 軟件(系統)維護收費價格估算方法
在完成信心工程項目的系統集成和應用軟件開發,並交付用戶正式運行的一年內,對軟件(系統)實行免費維護服務一年。
在正式運行一年後,軟件企業應與用戶簽定軟件(系統)維護合同。該合同屬技術轉讓合同,也可屬技術開發合同。
根據不同的用戶要求,可分四種級別進行軟件(系統)維護。
在完成信心工程項目的系統集成和應用軟件開發,並交付用戶正式運行的一年內,對軟件(系統)實行免費維護服務一年。
在正式運行一年後,軟件企業應與用戶簽定軟件(系統)維護合同。該合同屬技術轉讓合同,也可屬技術開發合同。
根據不同的用戶要求,可分四種級別進行軟件(系統)維護。
2.1 A級
軟件企業派出技術人員常駐用戶,解決日常運行中發生的問題。
軟件企業派出技術人員常駐用戶,解決日常運行中發生的問題。
2.1.1 U(系統建設投資額)
用戶需要軟件企業維護的系統,該系統建設的投資額。如用戶只需要軟件企業維護其所開發的應用軟件,U就是該應用軟件開發費;如用戶需要軟件企業維護整個系統,包括計算機硬件、軟件、網絡和應用軟件,則U就是該信息工程項目的總投資額。
用戶需要軟件企業維護的系統,該系統建設的投資額。如用戶只需要軟件企業維護其所開發的應用軟件,U就是該應用軟件開發費;如用戶需要軟件企業維護整個系統,包括計算機硬件、軟件、網絡和應用軟件,則U就是該信息工程項目的總投資額。
2.1.2 N(技術人員數)
軟件企業派出N個技術人員,常駐用戶,因此:
軟件企業派出N個技術人員,常駐用戶,因此:
軟件(系統)維護費/年 = U × 15% 或 B × λ × N × 12
B、λ參見1.
2.2 B級
軟件企業每週七天,每天24小時(即7×24小時)響應,2小時到現場,且每天派技術人員到現場進行軟件(系統)性能調試,使之運行處於良好狀態。
軟件企業每週七天,每天24小時(即7×24小時)響應,2小時到現場,且每天派技術人員到現場進行軟件(系統)性能調試,使之運行處於良好狀態。
軟件(系統)維護費/年 = U × 10%
2.3 C級
軟件企業7×24小時響應,2小時到場。
軟件企業7×24小時響應,2小時到場。
軟件(系統)維護費/年=U × 5%
2.4 D級
用戶的信息工程系統或應用軟件發生問題,由原承擔的軟件企業派人維護。
用戶的信息工程系統或應用軟件發生問題,由原承擔的軟件企業派人維護。
2.4.1 B’
這種維護方式要求軟件企業需要保存所有的技術檔案,更需要軟件企業抽出專人來不斷熟悉和全面掌握該軟件(系統)的各項技術細節。因此,軟件企業的這項支出必然要在維護費用收入中得到回報。
以1.1.3節中的B 作為參數,將其人·月單位改為人·天,以B’表示。
這種維護方式要求軟件企業需要保存所有的技術檔案,更需要軟件企業抽出專人來不斷熟悉和全面掌握該軟件(系統)的各項技術細節。因此,軟件企業的這項支出必然要在維護費用收入中得到回報。
以1.1.3節中的B 作為參數,將其人·月單位改為人·天,以B’表示。
2.4.2 τ’
軟件企業如果採用基於構件開發方法,並建立起構件庫,則會大大提高軟件維護的效率。另外,如果有多家用戶運行的系統大致類似,也可有所提高效率。
以1.1.3節中的τ 作為參數,以τ’來表示。因此:
軟件企業如果採用基於構件開發方法,並建立起構件庫,則會大大提高軟件維護的效率。另外,如果有多家用戶運行的系統大致類似,也可有所提高效率。
以1.1.3節中的τ 作為參數,以τ’來表示。因此:
軟件(系統)維護費/次=B’ × τ’× n
此次n表示所需要的人·天數。τ’的取值是0.2 ≤ τ’≤ 1。3. 系統集成價格的估算方法
將整個系統所涉及到的設備、軟件、網絡整和起來,並能正常地運行,其運行的結果能達到用戶建立該系統的目標。這就是系統集成的含義。因此,可以理解為單純的設備採購和供應並不涉及系統集成,以及單純的應用軟件開發也並不涉及系統集成。
系統集成費應與整個系統的規模、整個系統的複雜程度等項有關。
系統規模往往與系統建設費用密切相關。為了簡便計算,以系統建設費用(以U來表示)為參考坐標。複雜程度(以α來表示)可分四種級別來區分。
將整個系統所涉及到的設備、軟件、網絡整和起來,並能正常地運行,其運行的結果能達到用戶建立該系統的目標。這就是系統集成的含義。因此,可以理解為單純的設備採購和供應並不涉及系統集成,以及單純的應用軟件開發也並不涉及系統集成。
系統集成費應與整個系統的規模、整個系統的複雜程度等項有關。
系統規模往往與系統建設費用密切相關。為了簡便計算,以系統建設費用(以U來表示)為參考坐標。複雜程度(以α來表示)可分四種級別來區分。
系統集成費 = U × α × T
T參見1.2.5節3.1 A級
整個系統涉及到計算機硬件、軟件、局域網絡,且體系結構在三層次以下(含三層次)。
整個系統涉及到計算機硬件、軟件、局域網絡,且體系結構在三層次以下(含三層次)。
5% ≤ α ≤ 8%
3.2 B級
整個系統涉及到計算機硬件、軟件、局域網絡、互聯網,且體系結構在三層以上(含三層次)。
整個系統涉及到計算機硬件、軟件、局域網絡、互聯網,且體系結構在三層以上(含三層次)。
7% ≤ α ≤ 10%
3.3 C級
整個系統涉及到計算機硬件、軟件、局域網絡、互聯網以及多種網絡接口。
整個系統涉及到計算機硬件、軟件、局域網絡、互聯網以及多種網絡接口。
8% ≤ α ≤ 12%
3.4 D級
整個系統涉及到計算機硬件、軟件、網絡、通信以及各種數據採集設備接口或者與用主系統有接口。
整個系統涉及到計算機硬件、軟件、網絡、通信以及各種數據採集設備接口或者與用主系統有接口。
10% ≤ α ≤ 15%
4. 系統解決方案費用估算方法
根據用戶所提出的初步需求,軟件企業根據以往的經驗為之提供整個系統建設的方案,包括需購買的計算機硬件、軟件、網絡設備和應用軟件開發的大體設想、費用估算、進度初步安排、信息化所涉及到的規章制度的一些規劃,有時還會涉及信息中心的建設等等。這就是系統解決方案所要完成的工作。
目前國內市場對於系統解決方案是一種智力勞動成果的認識不足,以及國內多數招標公司並不熟悉信息技術,從而更加使得系統解決方案收費變得困難。因此,目前的收費處於過渡階段。
系統解決方案費用與整個系統的規模、複雜程度等項有關。
系統規模往往與系統建設費用密切相關,為了簡便計算,以系統建設的總投資(以U來表示)為參考坐標。
複雜程度就是用戶的功能、性能要求複雜性、信息接口的類型和數量有關,以β來表示。
根據用戶所提出的初步需求,軟件企業根據以往的經驗為之提供整個系統建設的方案,包括需購買的計算機硬件、軟件、網絡設備和應用軟件開發的大體設想、費用估算、進度初步安排、信息化所涉及到的規章制度的一些規劃,有時還會涉及信息中心的建設等等。這就是系統解決方案所要完成的工作。
目前國內市場對於系統解決方案是一種智力勞動成果的認識不足,以及國內多數招標公司並不熟悉信息技術,從而更加使得系統解決方案收費變得困難。因此,目前的收費處於過渡階段。
系統解決方案費用與整個系統的規模、複雜程度等項有關。
系統規模往往與系統建設費用密切相關,為了簡便計算,以系統建設的總投資(以U來表示)為參考坐標。
複雜程度就是用戶的功能、性能要求複雜性、信息接口的類型和數量有關,以β來表示。
解決方案費用=U × β × T
T參見 1.2.5節
關於β我們參照第3節所列各級。
A級: 0.7% ≤ β ≤ 1.2%
B級: 1% ≤ β ≤ 1.8%
C級: 1.5% ≤ β ≤ 2.2%
D級: 2% ≤ β ≤ 3%