论文部分内容阅读
【摘要】 大数据技术在近年不断快速发展,由于其不同于一般业务系统软件的个性化特点,在数据采集、处理、分发、分析以及呈现等关键步骤上和传统业务系统有较大差异。因此在对大数据项目进行成本度量时,需在通用的成本度量方法上,定制设计针对性的补充规则,从而指导大数据项目的成本度量实践。
【关键词】 大数据 软件 成本 功能点 度量
一、大数据项目成本度量
2018年国家发布了国家标准《软件工程 软件开发成本度量规范》。但由于大数据项目的开发与传统流程型项目的开发有较大区别,因此在使用国家标准进行软件成本度量的过程中,遇到较多的问题。广东电网针对大数据历史项目数据的造价特点进行分析,在国家标准的基础上对度量方法进行研究,致力于研究出适合大数据项目的度量方法。
二、数据项目成本度量规则
本文对收集到的真实发生的大数据历史项目数据进行分析研究,开发费用基于软件开发成本度量规范中推荐的NESMA功能点方法,设计出更清晰、更易操作的大数据项目成本度量规则,实施费用则基于实践经验,总结分析后得出。设计出具体的度量规则如下。
2.1数据预处理
大数据项目其中一个特点是数据源的多样性,可以包含各种类型各种版本的数据库、文本文件、网页、日志,甚至包含图片、视频信息,也可能包括传感器、软硬件接口等信息来源。为确保后续工作能够有一个高质量的数据集,在数据采集时往往会进行必要的预处理。针对数据预处理的相关成本度量规则如下:
开发费:由于预处理工作本身涉及格式转换、协议解析、图形识别等计算过程,因此这些功能应该识别为外部输出EO;每一个預处理场景识别一个外部输出,而不可依据抓取数据的字段进行识别;从结构化数据中获取数据,如从数据库、确定格式的excel、列表文件中获取数据,不认可预处理功能项;针对一个数据源的同一数据对象,如存在多处需要进行预处理的信息,仅识别一次外部输出;针对文本、网页数据预处理调整因子取值1.2;针对图形、音频、视频预处理调整因子取值1.3。
实施费:预处理的相关数据文件每增加一个,增加0.5人天工作量;预处理的数据数量级在1000万条以下时,按每百万行数据0.1人天实施工作量计算;预处理的数据数量级在1000-5000万条数据是,按百万行数据0.05人天实施工作量计算;预处理的数据数量级在5000万条以上时,按百万行数据0.025人天实施工作量计算;如预处理与数据采集同时进行,不单独计算处理预处理的工作量,在数据采集时进行计算。
2.2数据采集
数据采集时如属于使用非实时方式进行采集,往往使用ETL工具或程序脚本定期采集数据。而流式采集主要用在实时处理的业务场景,数据采集后就像一个水坝一般将上游源源不断的数据拦截住,然后根据业务场景作对应处理,之后再写入到对应的数据存储中。针对数据采集的相关成本度量规则如下:
开发费:采集数据应识别为外部输入EI;针对不同的数据对象来确定外部输入;从不同的数据源头,采集到相同的数据对象,如果数据源头的数据格式相同,则不重复识别外部输入;若不相同,则识别为不同的外部输入;使用工具,通过配置方式进行数据采集时,调整因子取0.5;使用程序脚本进行数据采集时,调整因子取0.8。
实施费:采集的数据文件每增加一个,增加0.5人天工作量;采集的数据数量级在1000万条以下时,按每百万行数据0.1人天实施工作量计算;采集的数据数量级在1000-5000万条数据是,按百万行数据0.05人天实施工作量计算;采集的数据数量级在5000万条以上时,按百万行数据0.025人天实施工作量计算;如预处理与数据采集同时进行,不单独计算处理预处理工作量,在数据采集时进行计算;流式采集数据实时处理完成,不计算额外采集所产生工作量。
2.3数据处理
常见的数据处理包括对数据存储的常规管理,以及数据清洗、数据归集、数据转换、数据规约等过程。 针对数据处理的相关成本度量规则如下:
开发费:用于记录数据对象的文件信息,如元数据、数据源头等文件应识别为内部逻辑文件ILF;针对数据对象记录文件的新增、删除、修改等改变记录信息的功能应识别为外部输入EI;针对数据对象记录的查询应识别为外部输出EO;针对数据对象或元数据的详情查看应识别为外部查询EQ;数据的清洗过程,包括缺省值、错误值检测、去重、不一致检查等,应识别为外部输入EI;数据归集的各类方法,包括同名异义、异名同义、单位不统一、容易属性识别等,应识别为外部输入EI;对同一数据对象的多种方法处理,不应识别多个外部输入EI。
实施费:需要处理的数据文件每增加一个,增加0.5人天工作量;处理的数据数量级在1000万条以下时,按每百万行数据0.1人天实施工作量计算;处理的数据数量级在1000-5000万条数据是,按百万行数据0.05人天实施工作量计算;处理的数据数量级在5000万条以上时,按百万行数据0.025人天实施工作量计算;实施费用,不可因为分成多次处理,重复多次计费。
2.4数据分发
数据分发主要指数据通过网络传递到不同节点的过程。针对数据分发的相关成本度量规则如下:
开发费:为完成数据分发目的,专门创建的对外发送文件可以识别为内部逻辑文件ILF;为完成数据分发目的,专门开发的程序接口可以识别为EO;通过ETL工具完成数据的分发,识别为EO,调整因子取0.5;如果是用开放数据权限,让获取方直接使用数据对象,则在当前应用的角度无需对功能点进行计数,而是应在主动获取的应用角度计数相关开发功能。 实施费:分发的数据目的地每增加一处,增加0.5人天工作量;分发的数据数量级在1000万条以下时,按每百万行数据0.1人天实施工作量计算;分发的数据数量级在1000-5000万条数据是,按百万行数据0.05人天实施工作量计算;分发的数据数量级在5000万条以上时,按百万行数据0.025人天实施工作量计算。
2.5数据分析挖掘
数据分析挖掘是大数据应用体系中的关键支撑环节,是指从大数据中发现潜在未知的信息和模型的分析计算过程。针对数据分析挖掘的相关成本度量规则如下:
开发费:分析建立的模型记录信息,识别为内部逻辑文件ILF;各类数据分析挖掘算法,包括决策树分类、K均值聚类、支持向量机分类等算法,使用到每一种算法可以识别为一个外部输出EO;多个数据对象进行同一个算法分析,不可重复填报算法分析EO。
实施费:数据分析属于计算机进行的工作,程序调试好后,无需人工参与,不额外计算实施费。
2.6数据呈现
数据呈现类工作,以获取并处理好的大数据为基础,通过智能报表、专题报告、BI展示、平台接口等方式展示应用数据。针对数据呈现的相关成本度量规则如下:
开发费:各类智能报表、专题报告、BI展示、平台接口等均应该识别为外部输出EO;针对多个数据对象进行同类的数据呈现,不可重复填报外部输出EO。
实施费:针对呈现的顶层功能如何使用展开的操作培训,可根据系统大小及培训网点数量,按每次培训0.5`2人天计算实施工作量。
三、验证结果
基于以上规则的设计,选取本单位3个已发生的大数据历史项目进行验证。按照原规则(国家标准《软件工程 软件开发成本度量规范》)以及按照新规则(本文新设计的度量规则)评估出的工作量统计,与历史项目的实际工作量进行比对分析(表1),单位均为人日。
可以看出,按原规则进行评估,其偏差率在-35%~-20%左右。按照本文设计的规则进行评估,更接近实际工作量的数值,偏差率优化为-5%~5%。依据验证结果可得,本文设计的方法与原规则相比,优化了现有大数据项目成本度量的评估结果,更好地实现大数据项目的项目管理,提升管理的准确性。
四、结语
本文以《软件工程 软件开发成本度量规范》为基础,结合大数据项目特点,设计了大数据项目各主要过程的开发费用、实施费用度量规则,提升了大数据项目成本度量的准确性和有效性,使大数据项目成本度量结果更加符合实际需求。
参 考 文 献
[1]王元卓, 靳小龙, 程学旗. 网络大数据:现状与展望[J]. 计算机学报, 2013(06):3-16.
[2]程学旗,靳小龙,王元卓等. 大数据系统和分析技术综述[J]. 软件学报,2014,25(9):1889-1908.
[3]GB/T 36964-2018.软件过程 软件开发成本度量规范[S].北京:中国标准出版社.2018.
[4]中国电子技术标准化研究院.2020年中国软件行业基准数据[R].北京,2020.
[5]李华北. 软件成本度量及造价分析[M]. 电子工业出版社,2018.
[6]张旸旸.软件成本度量国家标准实施指南:理论.方法与实践[M].电子工业出版社,2020.
黄小强(1988.06),男,汉族,广东广州,硕士,广东电网有限责任公司,数字化部主管,高级工程师,研究方向:数字化项目造价管理。
吴小庆(1977.06),男,汉族,广东广州,硕士,广州赛宝认证中心服务有限公司,软件质量部主任,高级工程师,研究方向:信息化领域成本造价评估、软件研发成本度量标准等。
韩珊(1991.05),女,漢族,广东广州,硕士,广州赛宝认证中心服务有限公司,软件质量部技术经理,研究方向:信息化领域成本造价评估。
【关键词】 大数据 软件 成本 功能点 度量
一、大数据项目成本度量
2018年国家发布了国家标准《软件工程 软件开发成本度量规范》。但由于大数据项目的开发与传统流程型项目的开发有较大区别,因此在使用国家标准进行软件成本度量的过程中,遇到较多的问题。广东电网针对大数据历史项目数据的造价特点进行分析,在国家标准的基础上对度量方法进行研究,致力于研究出适合大数据项目的度量方法。
二、数据项目成本度量规则
本文对收集到的真实发生的大数据历史项目数据进行分析研究,开发费用基于软件开发成本度量规范中推荐的NESMA功能点方法,设计出更清晰、更易操作的大数据项目成本度量规则,实施费用则基于实践经验,总结分析后得出。设计出具体的度量规则如下。
2.1数据预处理
大数据项目其中一个特点是数据源的多样性,可以包含各种类型各种版本的数据库、文本文件、网页、日志,甚至包含图片、视频信息,也可能包括传感器、软硬件接口等信息来源。为确保后续工作能够有一个高质量的数据集,在数据采集时往往会进行必要的预处理。针对数据预处理的相关成本度量规则如下:
开发费:由于预处理工作本身涉及格式转换、协议解析、图形识别等计算过程,因此这些功能应该识别为外部输出EO;每一个預处理场景识别一个外部输出,而不可依据抓取数据的字段进行识别;从结构化数据中获取数据,如从数据库、确定格式的excel、列表文件中获取数据,不认可预处理功能项;针对一个数据源的同一数据对象,如存在多处需要进行预处理的信息,仅识别一次外部输出;针对文本、网页数据预处理调整因子取值1.2;针对图形、音频、视频预处理调整因子取值1.3。
实施费:预处理的相关数据文件每增加一个,增加0.5人天工作量;预处理的数据数量级在1000万条以下时,按每百万行数据0.1人天实施工作量计算;预处理的数据数量级在1000-5000万条数据是,按百万行数据0.05人天实施工作量计算;预处理的数据数量级在5000万条以上时,按百万行数据0.025人天实施工作量计算;如预处理与数据采集同时进行,不单独计算处理预处理的工作量,在数据采集时进行计算。
2.2数据采集
数据采集时如属于使用非实时方式进行采集,往往使用ETL工具或程序脚本定期采集数据。而流式采集主要用在实时处理的业务场景,数据采集后就像一个水坝一般将上游源源不断的数据拦截住,然后根据业务场景作对应处理,之后再写入到对应的数据存储中。针对数据采集的相关成本度量规则如下:
开发费:采集数据应识别为外部输入EI;针对不同的数据对象来确定外部输入;从不同的数据源头,采集到相同的数据对象,如果数据源头的数据格式相同,则不重复识别外部输入;若不相同,则识别为不同的外部输入;使用工具,通过配置方式进行数据采集时,调整因子取0.5;使用程序脚本进行数据采集时,调整因子取0.8。
实施费:采集的数据文件每增加一个,增加0.5人天工作量;采集的数据数量级在1000万条以下时,按每百万行数据0.1人天实施工作量计算;采集的数据数量级在1000-5000万条数据是,按百万行数据0.05人天实施工作量计算;采集的数据数量级在5000万条以上时,按百万行数据0.025人天实施工作量计算;如预处理与数据采集同时进行,不单独计算处理预处理工作量,在数据采集时进行计算;流式采集数据实时处理完成,不计算额外采集所产生工作量。
2.3数据处理
常见的数据处理包括对数据存储的常规管理,以及数据清洗、数据归集、数据转换、数据规约等过程。 针对数据处理的相关成本度量规则如下:
开发费:用于记录数据对象的文件信息,如元数据、数据源头等文件应识别为内部逻辑文件ILF;针对数据对象记录文件的新增、删除、修改等改变记录信息的功能应识别为外部输入EI;针对数据对象记录的查询应识别为外部输出EO;针对数据对象或元数据的详情查看应识别为外部查询EQ;数据的清洗过程,包括缺省值、错误值检测、去重、不一致检查等,应识别为外部输入EI;数据归集的各类方法,包括同名异义、异名同义、单位不统一、容易属性识别等,应识别为外部输入EI;对同一数据对象的多种方法处理,不应识别多个外部输入EI。
实施费:需要处理的数据文件每增加一个,增加0.5人天工作量;处理的数据数量级在1000万条以下时,按每百万行数据0.1人天实施工作量计算;处理的数据数量级在1000-5000万条数据是,按百万行数据0.05人天实施工作量计算;处理的数据数量级在5000万条以上时,按百万行数据0.025人天实施工作量计算;实施费用,不可因为分成多次处理,重复多次计费。
2.4数据分发
数据分发主要指数据通过网络传递到不同节点的过程。针对数据分发的相关成本度量规则如下:
开发费:为完成数据分发目的,专门创建的对外发送文件可以识别为内部逻辑文件ILF;为完成数据分发目的,专门开发的程序接口可以识别为EO;通过ETL工具完成数据的分发,识别为EO,调整因子取0.5;如果是用开放数据权限,让获取方直接使用数据对象,则在当前应用的角度无需对功能点进行计数,而是应在主动获取的应用角度计数相关开发功能。 实施费:分发的数据目的地每增加一处,增加0.5人天工作量;分发的数据数量级在1000万条以下时,按每百万行数据0.1人天实施工作量计算;分发的数据数量级在1000-5000万条数据是,按百万行数据0.05人天实施工作量计算;分发的数据数量级在5000万条以上时,按百万行数据0.025人天实施工作量计算。
2.5数据分析挖掘
数据分析挖掘是大数据应用体系中的关键支撑环节,是指从大数据中发现潜在未知的信息和模型的分析计算过程。针对数据分析挖掘的相关成本度量规则如下:
开发费:分析建立的模型记录信息,识别为内部逻辑文件ILF;各类数据分析挖掘算法,包括决策树分类、K均值聚类、支持向量机分类等算法,使用到每一种算法可以识别为一个外部输出EO;多个数据对象进行同一个算法分析,不可重复填报算法分析EO。
实施费:数据分析属于计算机进行的工作,程序调试好后,无需人工参与,不额外计算实施费。
2.6数据呈现
数据呈现类工作,以获取并处理好的大数据为基础,通过智能报表、专题报告、BI展示、平台接口等方式展示应用数据。针对数据呈现的相关成本度量规则如下:
开发费:各类智能报表、专题报告、BI展示、平台接口等均应该识别为外部输出EO;针对多个数据对象进行同类的数据呈现,不可重复填报外部输出EO。
实施费:针对呈现的顶层功能如何使用展开的操作培训,可根据系统大小及培训网点数量,按每次培训0.5`2人天计算实施工作量。
三、验证结果
基于以上规则的设计,选取本单位3个已发生的大数据历史项目进行验证。按照原规则(国家标准《软件工程 软件开发成本度量规范》)以及按照新规则(本文新设计的度量规则)评估出的工作量统计,与历史项目的实际工作量进行比对分析(表1),单位均为人日。
可以看出,按原规则进行评估,其偏差率在-35%~-20%左右。按照本文设计的规则进行评估,更接近实际工作量的数值,偏差率优化为-5%~5%。依据验证结果可得,本文设计的方法与原规则相比,优化了现有大数据项目成本度量的评估结果,更好地实现大数据项目的项目管理,提升管理的准确性。
四、结语
本文以《软件工程 软件开发成本度量规范》为基础,结合大数据项目特点,设计了大数据项目各主要过程的开发费用、实施费用度量规则,提升了大数据项目成本度量的准确性和有效性,使大数据项目成本度量结果更加符合实际需求。
参 考 文 献
[1]王元卓, 靳小龙, 程学旗. 网络大数据:现状与展望[J]. 计算机学报, 2013(06):3-16.
[2]程学旗,靳小龙,王元卓等. 大数据系统和分析技术综述[J]. 软件学报,2014,25(9):1889-1908.
[3]GB/T 36964-2018.软件过程 软件开发成本度量规范[S].北京:中国标准出版社.2018.
[4]中国电子技术标准化研究院.2020年中国软件行业基准数据[R].北京,2020.
[5]李华北. 软件成本度量及造价分析[M]. 电子工业出版社,2018.
[6]张旸旸.软件成本度量国家标准实施指南:理论.方法与实践[M].电子工业出版社,2020.
黄小强(1988.06),男,汉族,广东广州,硕士,广东电网有限责任公司,数字化部主管,高级工程师,研究方向:数字化项目造价管理。
吴小庆(1977.06),男,汉族,广东广州,硕士,广州赛宝认证中心服务有限公司,软件质量部主任,高级工程师,研究方向:信息化领域成本造价评估、软件研发成本度量标准等。
韩珊(1991.05),女,漢族,广东广州,硕士,广州赛宝认证中心服务有限公司,软件质量部技术经理,研究方向:信息化领域成本造价评估。