更新时间:2025-01-10 09:33:37
北京的地标包含软件开发费用测算和软件运维费用测算标准,分别为DB11/T 1424-2017 信息化项目软件运维费用测算规范,DB11/T 1010-2019 信息化项目软件开发费用测算规范。其中软件开发费用测算规范的最早版本为2013年版本,今天笔者分析的2019版本为旧版更新后的版本。
下面笔者就《信息化项目软件开发费用测算规范》(DB11/T 1010-2019)在2013年版修订的主要内容,软件开发成本构成、功能点测算特色、功能点识别规则等四个方面进行简要分析:
《信息化项目软件开发费用测算规范》(DB11/T 1010-2019)较于2013版即《信息化项目软件开发费用测算规范》(DB11/T 1010-2013)主要引起注意的修订内容为两点。
一是行业基准数据替换。13版中标准采用的软件行业基准数据由CSBSG更换为了CSBMK,关于CSBSG与CSBMK基准数据的区别本公众号在另外文章中有详细介绍,需要了解可留言获取原文链接;
二是增加功能点估算方法并明确功能点赋值。13版中功能点方法仅采用了预估功能点方法,即仅度量数据功能。而《信息化项目软件开发费用测算规范》(DB11/T 1010-2019)中则增加了估算功能点方法,且首次在地标级文件中明确功能点赋值即:UFP=10×ILF+7×EIF+4×EI+5×EO+4×EQ。这与2023年发布的国家标准GB/T 42588-2023 《系统与软件工程 功能规模测量 NESMA方法》中规定的功能点赋值UFP=7×ILF+5×EIF+4×EI+5×EO+4×EQ有所不同,两则计算出的功能点规模会有较大差异。
1、增加了“毛利润”这一费用科目。不同于 GB/T 36964-2018《软件工程 软件开发成本度量规范》中对成本的定义只包含直接成本和间接成本,《信息化项目软件开发费用测算规范》(DB11/T 1010-2019)还增加了毛利润,如下图。毛利润在此地标的具体定义为“毛利润包含开发方直接成本和间接成本之外的经营管理费用分摊、市场销售费用分摊、应承担各种税费及税后净利”。
2、直接和间接人力成本具体到人。对直接人力成本具体涉及的项目组角色进行了枚举,包括项目经理、需求分析人员、设计人员、开发人员、测试人员、部署人员、用户文档编写人员、质量保证人员、配置管理人员等。间接人力成本主要涉及的人员包括软件研发部门经理、项目管理办公室人员、工程过程组人员、产品规划人员、组织级质量保证人员、组织级配置管理人员等的工资、奖金、福利等的分摊。
1、对采用功能点方法测算的文档提出具体要求。在测算规模前应依据可行性研究报告、设计方案、建设方案或类似需求文档明确项目范围及系统边界。项目范围描述文档应包含最基本的业务需求,还应进行初步的子系统/模块划分,并对每一子系统或模块的基本用户需求进行描述或说明,保证可根据项目范围描述文档进行预估功能点或估算功能点计数。
2、复用度调整因子与规模变更调整因子。地标中复用度调整因子要求取值为0-1的任意实数,而在下面给出的具体示例并非采用0-1任意值,而是1/3、2/3、1.0对应的高中低三个复用度取值,这与软件行业的通用软件造价评估工具【软件造价喵】中套用此标准对复用程度的系统取值规则是一致的,同时需要注意在本地标附录相关说明中明确了复用度调整系数通常取值为1。规模变更调整因子,取值为1-2的任意实数,本地标中实际也是按照CSBMK中对因子的取值规则进行的示例列举。
3、测算结果区间值的要求。本地标采用PDR基准数据的P25、P50、P75值,分别计算出工作量测算结果的下限、最有可能值和上限。与我们经常采用中值的120%和80%作为上下限有所不同。
《信息化项目软件开发费用测算规范》(DB11/T 1010-2019)中对数据功能和事务功能的识别提供了快速参考指南(事务功能提到的相关处理逻辑本公众号在其他文章中有详细分析,可留言获取相关文章链接)。功能点识别的快速参考指南包括:
1、数据功能识别。ILF是系统内部维护的逻辑上的一组业务数据。EIF是被应用边界内一个或几个基本处理过程所引用的业务数据。一个应用中的EIF应是其他应用中的ILF。识别ILF和EIF的基本步骤如下:
a) 识别业务对象。业务对象应是用户可理解和识别的,包括业务数据或业务规则。
注:为程序处理而维护的数据属于编码数据。所有的编码数据均不应识别为逻辑文件,与之相关的操作也不应识别为基本过程;
b) 确定逻辑文件数量。根据业务上的逻辑差异及从属关系确定逻辑文件的数量。
c) 是否是 ILF。确定该逻辑文件是否在本系统内进行维护。如果是,记为 ILF;否则为 EIF。
2、事务功能EI的识别。EI是处理来自系统边界之外的数据或控制信息的过程。目的是维护一个或多个ILF或者改变系统的行为。识别EI的基本规则如下:
a) 应是来自系统边界之外的输入数据或控制信息;
b) 穿过边界的数据应是改变系统行为的控制信息或者应至少维护一个 ILF;
c) 该 EI 不应被重复计数。任何被分别计数的两个 EI 至少满足下面三个条件之一(否则应视为同一 EI):
3、事务功能EO的识别。EO是处理向系统边界之外发送数据或控制信息的过程。目的是向用户呈现经过处理的信息。识别EO的基本规则如下:
a) 将数据或控制信息发送出系统边界;
b) 处理逻辑应至少符合以下一种情况:
1) 包含至少一个数学公式或计算过程;
2) 产生衍生数据;
3) 维护至少一个 ILF;
4) 改变系统行为。
c) 该 EO 不应被重复计数。任何被分别计数的两个 EO 至少满足下面一个条件(否则被视为同一EO):
3、事务功能EQ的识别。EQ是向系统边界之外发送数据或控制信息的基本处理过程。目的是向用户呈现未经加工的已有信息。识别EQ的基本规则如下:
a) 将数据或控制信息发送出系统边界;
b) 处理逻辑可包含筛选、分组或排序;
c) 处理逻辑不应包含:
d) 该 EQ 不应被重复计数。任何被分别计数的两个 EQ 至少满足下面一个条件(否则被视为同一EQ):