软件开发价格估算方法
软件开发价格 = 开发工作量 × 开发费用/人·月
1.开发工作量
软件开发工作量 = 估算工作量经验值 × 风险系数 × 复用系数
1.1工作量经验值(以A来表示)
可按照国家标准“GB/T 8566-2001软件生存周期过程”所规定的软件开发过程的各项活动来计算工作量。
工作量的计算是按一个开发工作人员在一个月内(日历中的月,即包括国家规定的节假日)能完成的工作量为单位,也就是通常所讲的“人·月”。
特别要提醒的是软件开发过程中既包括了通常所讲的软件开发,也应包括各类软件测试的活动。
1.2风险系数(以σ来表示)
l ≤ 风险系数 ≤ 1.5
1.3复用系数(以τ来表示)
0.25 ≤ 复用系数 ≤ 1
2.开发费用/人·月
开发费用/人·月 =(P+Q+R)× S× τ
2.1 P(人头费)
P = B × 1.476
国家规定的公积金 7%,医疗保险金12%,养老金22%,失业金 2%(即通常所说的四金),另外还有按工资总额计征的工伤保证金0.5%,生育保证金0.5%,残疾基金1.6%,工会基金2%,累计为47.6%。
B为平均工资,即企业支付给员工的工资、奖金、物质奖励等多项总和,除以企业员工数,分摊到每个月。
2.2 Q(办公费)
Q = B/3
2.3 R(国家税收和企业利润)
R = B/3
2.4 S(管理系数)
1 ≤ S ≤ 1.2
2.5 T(优质系数)
通过 ISO9000质量体系认证和CMM或CMMI的认证来确定,分别取值1.05、1.1、1.15、1.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