当前位置: 首页 > news >正文

【国标36964解读】《软件工程软件开发成本度量规范》(GB/T36964-2018)解读

国标36964是我国软件工程领域关于软件开发成本度量的核心国家标准,于2018年12月28日发布、2019年7月1日实施,由全国信息技术标准化技术委员会(SAC/TC28)归口,在《软件研发成本度量规范》(SJ/T11463-2013)基础上优化升级,重点解决了“软件开发成本怎么定义、怎么算、不同场景怎么用”的问题,适用于委托方、开发方、第三方(监理/审计/咨询)等所有利益相关方。

一、标准核心定位

《软件工程软件开发成本度量规范》(GB/T36964-2018)基于《软件研发成本度量规范》(SJ/T11463-2013)升级,保持成本度量的核心逻辑一致;同时,引入5类典型应用场景(预算、招投标、项目计划等)、明确不同功能规模测量标准的适用范围、优化工作量调整因子;但标准中明确不包含基准数据和估算模型,使用时需参考权威部门(如行业协会、主管机构)发布的最新基准数据(如CSBMK和CSBSG)和模型使用。相关基准数据和标准详细解读可查看:

软件行业基准数据之ISBSG,CSBSG以及CSBMK的区别与联系

【合集】各省市费用标准解读系列

图片

图片

本标准使用的核心场景主要为软件开发项目的成本估算(事前算)、成本管理(事中控)、合同变更(事中调)、合同编制(事前约定),但不包含数据迁移、软件维护(如运维)等项目外的成本,仅覆盖“项目立项→验收交付”所涉及的需求分析、概要设计,编码实现、集成测试、验收交付及相关的项目管理支持活动

二、软件开发成本构成

软件开发成本主要为人力成本和非人力成本,构成如下:

图片

1、直接人力成本

定义:项目组成员的人力资源代价(可直接计入项目);

包含人员:项目经理、需求分析师、设计/开发/测试人员、部署人员、文档编写者、QA、配置管理员等;

计算逻辑:非全职人员按“项目工作量占比”折算费用,如某开发员50%时间投入项目,仅算50%工资。

2、间接人力成本

定义:服务于整体开发管理、非项目组人员的代价(按工作量比例分摊);

包含人员:开发部门经理、项目管理办公室(PMO)、组织级QA、采购人员、IT支持等;

3、直接非人力成本

定义:专为该项目产生的非人力代价(分项计算);

核心类别:

办公费:项目专用办公用品、通讯费、印刷费等(如项目加班餐费);

差旅费:项目相关交通、住宿、差旅补贴;

培训费:项目专属培训(如为开发学新框架的培训费);

业务费:招待费、评审费、验收费;

采购费:项目专用设备(如测试服务器)、专用软件(如项目专属测试工具)、专利费。

4、间接非人力成本

定义:服务于整体开发、非项目专属的非人力代价(按工作量比例分摊);

核心类别:开发场地房租、水电物业、通用办公设备折旧(如公司共用电脑)、品牌宣传费分摊等;

标准明确编制预算/报价时,需额外考虑开发方合理毛利润;若项目包含数据迁移、长期维护等服务,需单独计算这些“非开发成本”。

三、软件开发成本度量过程

图片

(一)软件规模估算

软件规模估算的核心是明确项目范围和系统边界(区分“本项目负责的功能”与“外部系统/用户负责的功能”),根据项目类型选择IFPUG、NESMA、FiSMA、COSMIC和MKII等5种功能规模测量标准,国内目前常用的是IFPUG和NESMA标准,其在核心测算方法上逻辑基本相同,差异可查看文章:IFPUG和NESMA功能点方法对代码数据的识别规则比对及差异分析。

调整因子:考虑需求变更,用公式调整规模:S=US×CF(S=调整后规模,US=未调整规模,CF=规模变更因子),不同阶段CF取值:

预算阶段:CF=2.0(需求最模糊,预留变更空间);

招标阶段:CF=1.5;

投标阶段:CF=1.26;

计划阶段:CF=1.0(需求最明确)。

特殊情况:若项目以非功能需求为主(如高并发、高安全)或含复杂算法,可:先用功能规模测量方法算基础规模,再用GSC(通用系统特性)调整;或直接用类比法/类推法估算工作量(无需先算规模)。

(二)工作量估算

工作量单位通常为“人时”或“人月”,核心是“基于规模+调整因子”计算,分“估算准备”和“估算与调整”两步:

1)估算准备:明确影响因素

估算准备首先分析项目风险(如需求变更风险)、识别可复用功能(复用功能可减少工作量);其次确定影响工作量的主要属性,主要包括以下两方面:

委托方需关注的因素:软件规模、应用领域(委托方组织类型、软件业务领域和软件应用类型等)、完整性级别(分为A/B/C/D四个等级,确定的方法见GB/T18492-2001中第7章)、质量要求(可靠性/易用性/性能效率/可维护性/可移植性等,要求见GB/T25000.10-2016)、工期紧迫性等;

开发方额外关注的因素:采用技术、团队能力、过程成熟度等;

(2)估算与调整:三种方法的操作原则

图片

调整后工作量:AE=UE×A×IL×L×T

式中:

AE=调整后工作量,UE=未调整工作量;

A=应用领域调整因子(0.8-1.2),IL=完整性级别因子(A级1.6-1.8,B级1.3-1.5,C级1.1-1.2,D级1.0),L=开发语言因子(0.8-1.2),T=团队规模因子(0.8-1.2);

结果要求:用基准数据的25/50/75百分位数测算软件开发费用的上中下限值的“合理范围区间”(如25分位为乐观值,50分位为最可能值,75分位为悲观值),避免单一数值。

(三)成本估算

(1)直接人力成本估算

公式:DHC=Σ(Ei×IFi)(DHC=直接人力成本,Ei=第i类人员工作量,IFi=第i类人员直接人力成本费率(元/人月));

人力成本费率需考虑地域差异,可参考行业数据或自有数据,人月费率取值可查看下面文章:

你知道各省市的定开软件人月单价吗?

各省市系统运维的人月单价标准大盘点

各省市政务信息化安全服务人月单价标准大盘点

(2)间接人力成本/间接非人力成本/直接非人力成本估算

间接人力成本:基于组织级间接人力总成本,按项目工作量占公司总工作量比例分摊;

间接非人力成本:基于组织级间接非人力总成本,同理分摊;

直接非人力成本:按“办公费、差旅费、培训费”等类别,结合历史数据或市场报价估算。

(四)确定软件开发总成本

标准提供3种计算方式:

1、基础公式:SDC=DHC+IHC+DNC+INC(SDC=总成本,IHC=间接人力,DNC=直接非人力,INC=间接非人力);

2、人力成本费率公式:SDC=Σ(Ei×Fi)+DNC(Fi=人力成本费率=IFi×(1+DP),DP=间接成本系数,即间接成本占直接人力成本的比例);

3、规模综合单价公式(常用):SDC=P×S+DNC(P=规模综合单价(元/FP),S=软件规模(FP))。

四、典型应用场景

标准将应用场景分为5类,明确不同场景下的操作要求,覆盖项目全生命周期:

(一)预算(委托方主导)

1、目的:确定项目立项预算;

2、估算依据:项目范围、行业基准数据、同类项目数据;

3、关键操作:

需求模糊时,用基准比对法直接估工作量/成本;

上报预算时用“百分位数范围”:需求明确→50分位(中值),需求模糊/高要求→75分位(悲观值),需求清晰无约束→25分位(乐观值);

审批时需评估预算合理性(可委托第三方)。

(二)招投标(招标方+投标方)

(1)招标方操作

估算合理招标价区间(参考行业基准+毛利率);

设定评标基准价/最低/最高合理报价:最低合理报价参考区间下限;最高合理报价参考区间上限或预算;评标基准价区间中值或有效报价平均值(超范围报价得0分);

招标文件需明确“规模估算方法、评分规则”。

(2)投标方操作

依据招标文件明确范围,算功能点;

报价不得低于成本,需考虑利润、商业策略(如为获客略降利润);

投标文件需附“功能清单+对应功能点数”。

(三)项目计划(开发方主导)

1、目的:制定详细开发计划(资源、时间);

2、关键操作:

将总工作量分解到各任务(如需求分析20人天,编码50人天),用专家评审验证;

若估算与约束冲突(如工期太紧),需提调整建议(如增加人员);

里程碑或假设变化(如迭代生产率偏差大)时,重算成本并更新计划。

(四)变更管理(多方协同)

1、触发条件:需求变更(如新增功能);

2、核心要求:

先明确变更范围(委托方+开发方达成一致);

按标准估算变更成本(算新增规模→工作量→成本);

变更成本需评审确认,未达成一致则磋商。

(五)结算、决算与后评价

1、结算:开发方验收后统计实际成本;

2、决算:委托方验收后统计实际投入;

3、后评价:

委托方:对比预算与实际成本,评价预算执行;

开发方:对比计划与实际,考核项目效果;

数据入基准库,用于后续项目估算和过程改进(如分析“为什么某类项目总是超支”)。

综上,GB/T36964-2018是软件开发成本“标准化度量”的核心依据,通过明确“成本构成、度量流程、场景要求”,解决了“成本算不清、算不准、争议多”的问题,适用于所有涉及软件开发成本的利益相关方,但标准不提供基准数据(如功能点耗时率、人力成本费率),需参考行业协会、主管部门的相关政策文件或企业自有数据库,落地时需结合这些数据和项目实际场景灵活应用。

http://www.dtcms.com/a/405872.html

相关文章:

  • 在 Windows 11 上从零复现 3D Gaussian Splatting (3DGS)
  • 软件设计师软考备战:第五篇 软件工程与项目管理
  • 接口访问速度突然变慢,怎么排查
  • C++ IO 库全方位解析:从基础到实战
  • 从“手机拆修”看懂POD与非POD的区别
  • vc无法启动
  • SenseVoice微调
  • 【C++】: list介绍以及模拟实现
  • dlib 实战:人脸检测、关键点定位与疲劳检测的全流程实现
  • SpringBoot 整合机器学习框架 Weka 实战操作详解:MLOps 端到端流水线与知识图谱融合实践
  • 华为OD最新机试题A卷双机位-单词接龙-2025年
  • Python 爬虫(豆瓣top250)-享受爬取信息的快乐
  • Kafka选举机制深度解析:分布式系统中的民主与效率
  • 一文读懂费用分析:定义、分类与成本费用区别
  • 全国做网站找哪家好做宣传海报的网站
  • 【Linux】基础IO(3)
  • 【Redis学习】Redis中常见的全局命令、数据结构和内部编码
  • AI行业应用深度解析:从理论到实践
  • AI 伦理审查破局:从制度设计到实践落地的 2025 探索
  • RocketMQ面试问题与详细回答
  • 多传感器数据融合到base_link坐标系下
  • 阿里新开源Qwen3-Omni技术解析
  • Flink 流式分析事件时间、Watermark 与窗口
  • 解析前端框架 Axios 的设计理念与源码
  • 使用IOT-Tree消息流InfluxDB模块节点实现标签数据的时序数据库存储
  • 【深入理解JVM】垃圾回收相关概念与相关算法
  • 文档抽取技术:金融保险行业数字化转型的核心驱动力之一
  • 神秘魔法?耐达讯自动化Modbus TCP 转 Profibus 如何为光伏逆变器编织通信“天网”
  • 做庭院的网站佛山网站专业制作
  • wordpress开启多站点营销云官网