软件研发成本的计算涉及多个因素,包括人力成本、硬件和软件成本、直接非人力成本等。以下是一些主要的计算方法:
直接人力成本计算
根据工作量估算结果(单位通常为人月)和平均人力成本费率(即每人月多少钱)计算。
公式:直接人力成本 = 工作量 × 平均人力成本费率。
间接成本分摊
间接成本通常根据项目组的人数和持续时间进行分摊,因而也与工作量相关。
可以按照项目组的实际人数和项目的总持续时间进行平均分摊。
直接非人力成本计算
包括办公费、差旅费、培训费、业务费、采购费及其他等六项。
可以参照《规范》中关于直接非人力成本的细项划分,分项估算。
软件研发成本估算公式
软件研发成本 = 工作量 × 平均人力成本费率(含直接人力成本、间接成本) + 直接非人力成本。
自顶向下估算方法
从项目的整体出发,进行类推,估算人员根据以前已完成项目所消耗的总成本(或总工作量),来推算将要开发的软件的总成本(或总工作量),然后按比例将它分配到各开发任务单元中去。
自底向上估算方法
把待开发的软件细分,直到每一个子任务都已经明确所需要的开发工作量,然后把它们加起来,得到软件开发的总工作量。
差别估算法
把待开发的软件项目与过去已完成的软件项目进行类比,从其开发的各个子任务中区分出类似的部分和不同的部分,类似的部分按实际量进行计算,不同的部分则采用相应的方法进行估算。
功能点计数方法
通过度量软件规模及软件功能点数量,然后结合生产率调整因子、应用类型调整因子、质量特性影响因子、开发语言调整因子、开发团队调整因子等,计算开发工作量。
开发工作量估算
工作量 = 调整后功能点数 × 生产率调整因子 × 应用类型调整因子 × 质量特性影响因子 × 开发语言调整因子 × 开发团队调整因子。
开发成本估算
开发成本 = 开发工作量 × 开发费用/人·月。
在实际应用中,可以根据项目的具体情况和需求,选择合适的估算方法,或者将多种方法结合使用,以提高成本估算的准确性和可靠性。同时,也要注意成本估算过程中的不确定性和风险,做好相应的风险管理和应对措施。