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