软件开发价格估算方法

软件开发价格 = 开发工作量 × 开发费用/人·月

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