![da83579ee58e3dc874b16851bf6a210a.png](https://i-blog.csdnimg.cn/blog_migrate/1a20945905bc0e876081fe896d17a848.jpeg)
《软件工程 软件开发成本度量规范》标准中规定的软件成本造价过程如下图所示:
![a8d42234be26a0655922dbcc246ab057.png](https://i-blog.csdnimg.cn/blog_migrate/922068f29e98f809afb063309e4c6247.png)
即分为4个阶段:规模估算、工作量估算、成本估算和确定开发成本金额。在实际操作中,还会根据场景不同,估算过程可调整为:规模估算、规模调整、工作量估算、成本估算、确定软件开发成本。
规模估算:即分析项目功能需求,统计功能点数量;
规模调整:由于待估算项目所处场景不同,估算时的项目金额与实际金额可能会存在差异,因此在估算时,针对预算、招标、投标的不同情况,会有相对应的规模变更调整因子来对应规模变更。比如,预算时考虑到需求较模糊,未来将有很多隐含需求及需求变更,因此通常设置一个值为2的调整因子;另外,还会用14个一般系统特征来确定整个应用程序的处理复杂度,每个系统特征的影响程度可以用范围在0到5之间的一个数值来表示,使得估值调整因子可以将原始功能点计数增加、或者减少最多35%。
工作量估算:工作量估算方法一般有方程法、类比法和类推法。方程法顾名思义就是通过可靠的估算模型,用一个方程式,通过各个参数数值,最后计算得出结果;类比法则是通过项目主要属性特征,与基准数据进行比对,综合考量工作量估算结果;类推法是将本项目的部分属性与高度类似的一个或几个完成的项目进行比对,适当调整后获得工作量估算值的方法。在估算工作量时,可以引用《中国软件行业基准数据报告》中相应的基准生产率,以及软件因素调整因子(业务领域、应用类型、质量特征)、开发因素调整因子(采用技术、团队经验)取值。工作量的结果是一个范围值,比如146人月~170人月。
成本估算:在获得了工作量估算结果后,可以通过直接人力成本+间接人力成本+直接非人力成本+间接非人力成本获得总额的方法获取成本结果。一般采用方程法估算工作量时,成本估算也会引用基准人月费率,通过复杂模型计算得出直接非人力成本之外的成本费用。与工作量估算结果是范围值类似,成本估算值也是一个范围值,类似336万~369万。
成本总费用:将上面的成本估算结果+直接非人力成本即可得到成本总费用。
通过上述过程,我们获得了项目的规模(功能点数)、工作量(人月数量)及开发成本(万元)。