一种软件产品自主可控度评估方法技术

技术编号:17406667 阅读:30 留言:0更新日期:2018-03-07 04:38
本发明专利技术公开一种软件产品自主可控度评估方法,包括:基于过程要素的层次分析模型,依据软件产品开发生产过程设定评估指标;确定所述评估指标的权重值,并设定所述评估指标的二级评估内容的得分;分别计算所述评估指标的自主可控度,并通过加权计算获得软件产品自主可控度。本发明专利技术能够准确、全面的计算出软件产品的自主化程度,评估出软件产品的国产化率,是一种可量化的软件产品自主可控度评估方法。本发明专利技术可以指导产品研制部门开展自主可控度自评价,促进产品不断改进完善和自主化水平的提高,也可以作为第三方评估机构开展产品自主可控度评估的基本依据,评估结果可以为应用部门把握产品自主可控程度、开展产品选型工作提供数据支撑。

An evaluation method for independent controllability of software products

【技术实现步骤摘要】
一种软件产品自主可控度评估方法
本专利技术涉及软件产品自主化程度评估
,尤其涉及一种软件产品自主可控度评估方法。
技术介绍
信息系统关键软件是指为信息系统运行提供必要运行和支撑环境的系统软件(如操作系统、编译器),及关键应用软件(如办公软件、数据库、浏览器等)。关键软件的自主可控度是指具备承制资质的单位主导研发和生产关键软件产品的能力。自主可控度评估结果使用百分率表示,按照评估结果,可以将产品的自主可控度从高到低分为若干等级。随着国产关键软件应用推进工作的逐渐深入,关键软件产品在各领域和项目中的应用越来越广。由于目前国内研制的关键软件产品中,基础软件使用了相当数量的开源代码和第三方代码,因此需要对国产关键软件产品自主化程度开展评估,促进研制单位不断提高对关键软件核心技术的掌控能力。但是,目前还没有一种可量化的软件产品自主可控度评估方法,从而无法指导产品研制部门开展自主可控度自评价以促进产品不断改进完善和自主化水平的提高,第三方评估机构也无法出具软件产品的自主可控度,无法为应用部门把握产品自主可控程度、开展产品选型工作提供数据支撑。
技术实现思路
本专利技术的目的在于通过一种软件产品自主可控度评估方法,来解决以上
技术介绍
部分提到的问题。为达此目的,本专利技术采用以下技术方案:一种软件产品自主可控度评估方法,其包括如下步骤:S101、基于过程要素的层次分析模型,依据软件产品开发生产过程设定评估指标;S102、确定所述评估指标的权重值,并设定所述评估指标的二级评估内容的得分;S103、分别计算所述评估指标的自主可控度,并通过加权计算获得软件产品自主可控度;其中,所述评估指标包括代码设计,所述代码设计的自主可控度基于覆盖一级模块重要性、二级模块重要性、代码规模、代码相似度的代码设计自主可控度评估模型进行计算。特别地,所述步骤S103之后还包括:S104、根据所述步骤S103获得的软件产品自主可控度,按照设定的自主可控度等级划分条件对软件产品的自主可控度进行分级。特别地,所述步骤S101中评估指标包括但不限于总体架构设计、代码设计及社区参与能力、代码生成及开发背景;所述步骤S103中分别计算所述评估指标的自主可控度,包括但不限于:计算总体架构设计的自主可控度,计算代码设计及社区参与能力的自主可控度,计算代码生成的自主可控度,以及计算开发背景的自主可控度;所述通过加权计算获得软件产品自主可控度,包括:软件产品自主可控度U根据下式计算:U=[P总体架构设计×G总体架构设计+P代码设计×G代码设计×F+P代码生成×G代码生成+P开发背景×G开发背景]×100%其中,P总体架构设计为总体架构设计的自主可控度;P代码设计为代码设计的自主可控度;F为社区参与能力;P代码生成为代码生成的自主可控度;P开发背景为开发背景的自主可控度;G总体架构设计为总体架构设计的权重值;G代码设计为代码设计的权重值;G代码生成为代码生成的权重值;G开发背景为开发背景的权重值。特别地,所述计算总体架构设计的自主可控度,包括:一、确定总体架构设计的二级评估内容,对所述二级评估内容进行分级,设定二级评估内的权重及其各级得分;二、确定所述待评估软件产品中总体架构设计的二级评估内容对应的得分,加权计算获得所述待评估软件产品中总体架构设计的自主可控度;其中,所述总体架构设计的二级评估内容包括正向系统设计方案、核心技术知识产权及技术文档,对所述正向系统设计方案的分级包括:一、完全自主的架构设计;二、非完全自主的架构设计,参照国外已有架构,在安全相关的设计方面显著增强;三、采用国外同类产品的架构设计或参照国外已有架构;对所述核心技术知识产权的分级包括:一、核心结构申请专利或经过第三方鉴定认证;二、参照国外同类产品核心技术,完全自主实现且不存在专利侵权;三、引进国外同类产品核心技术,获得授权,授权范围至少包括中国境内,授权期限可视为永久;四、采用国外同类产品核心技术,有侵权风险;对所述技术文档的分级包括:一、提供概要设计、安全设计、详细设计、打包测试的全部技术文档,文档完备、规范、一致;二、提供概要设计、安全设计、详细设计、打包测试的部分技术文档;三、未提供文档或提供无效文档。特别地,所述计算代码设计的自主可控度,包括:基于覆盖一级模块重要性、二级模块重要性、代码规模、代码相似度的代码设计自主可控度评估模型计算代码设计的自主可控度,具体过程如下:根据所述软件产品的产品类型确定其对应的一级模块,并设定所述一级模块的重要性系数;对所述一级模块下所有代码按功能分解,形成二级模块,并对每个二级模块按照重要性区划分为“关键功能模块”、“一般功能模块”、“扩展功能模块”三个等级,每个等级对应不同的代码重要性系数;根据包括软件文档的规范性、代码相似度、代码注释量在内的指标,对所述二级模块代码设计自主化程度分级并设定各级得分,计算得到相应的所述二级模块代码设计自主可控度;根据一级模块的重要性系数、代码重要性系数、二级模块代码设计自主可控度、实际代码量在内的数据计算软件产品的代码设计的自主可控度P:其中,n为关键功能模块、一般功能模块、扩展功能模块的模块总数;对于第i个二级模块,vi为实际代码正文行数,ci为重要性系数,xi为所属一级模块的重要性系数,mi为二级模块代码设计自主可控度。特别地,所述根据所述软件产品的产品类型确定其对应的一级模块,包括:若所述软件产品的产品类型为桌面操作系统,则其一级模块包括:BIOS,内核,安全模块,硬件平台适配模块;编译器、基础库、协议栈、编程接口;图形库、图像库、窗口系统、集成开发环境;API、桌面系统、中间件;应用软件;若所述软件产品的产品类型为服务器操作系统,则其一级模块包括:BIOS,内核,安全模块,硬件平台适配模块;编译器、基础库、协议栈、编程接口、高可用支撑模块、可扩展支撑模块;图形库、图像库、窗口系统、集成开发环境;API、桌面系统、中间件;应用软件;若所述软件产品的产品类型为嵌入式操作系统,则其一级模块包括:核心模块;扩展模块;专用模块;若所述软件产品的产品类型为数据库管理系统,则其一级模块包括:数据层模块;数据服务层模块;接口模块;客户工具层模块;专用模块;若所述软件产品的产品类型为网络协议软件,则其一级模块包括:网络数据包捕获模块;网络协议分析模块;存储模块;所述关键功能模块是指产品必备的核心功能模块;所述一般功能模块指是指产品标准版具备的模块;所述扩展功能模块是指产品扩展模块;所述对所述二级模块代码设计自主化程度分级,具体分级如下:一、该模块从设计文档到源代码由开发人员完全自主编写,代码模块的设计算法为原创,无非本单位提交的开源软件代码;二、该模块从设计文档到源代码由开发人员完全自主编写,代码模块借鉴典型算法,与非本单位提交的开源代码的相似度不超过设定值;三、掌握了典型算法,提供正向设计文档,与非本单位提交的开源代码的相似度不超过设定值;四、源代码非完全自主实现,与非本单位提交的开源代码的相似度不超过设定值,撰写了该模块的设计文档,完全了解代码的结构和实现方法,具备按照需求修改代码的能力;五、源代码非完全自主实现,与非本单位提交的开源代码的相似度不超过设定值,但对代码进行了深入分析和注释,修复了已知问题,且具备后续修改本文档来自技高网...
一种软件产品自主可控度评估方法

【技术保护点】
一种软件产品自主可控度评估方法,其特征在于,包括如下步骤:S101、基于过程要素的层次分析模型,依据软件产品开发生产过程设定评估指标;S102、确定所述评估指标的权重值,并设定所述评估指标的二级评估内容的得分;S103、分别计算所述评估指标的自主可控度,并通过加权计算获得软件产品自主可控度;其中,所述评估指标包括代码设计,所述代码设计的自主可控度基于覆盖一级模块重要性、二级模块重要性、代码规模、代码相似度的代码设计自主可控度评估模型进行计算。

【技术特征摘要】
1.一种软件产品自主可控度评估方法,其特征在于,包括如下步骤:S101、基于过程要素的层次分析模型,依据软件产品开发生产过程设定评估指标;S102、确定所述评估指标的权重值,并设定所述评估指标的二级评估内容的得分;S103、分别计算所述评估指标的自主可控度,并通过加权计算获得软件产品自主可控度;其中,所述评估指标包括代码设计,所述代码设计的自主可控度基于覆盖一级模块重要性、二级模块重要性、代码规模、代码相似度的代码设计自主可控度评估模型进行计算。2.根据权利要求1所述的软件产品自主可控度评估方法,其特征在于,所述步骤S103之后还包括:S104、根据所述步骤S103获得的软件产品自主可控度,按照设定的自主可控度等级划分条件对软件产品的自主可控度进行分级。3.根据权利要求2所述的软件产品自主可控度评估方法,其特征在于,所述步骤S101中评估指标包括但不限于总体架构设计、代码设计及社区参与能力、代码生成及开发背景;所述步骤S103中分别计算所述评估指标的自主可控度,包括但不限于:计算总体架构设计的自主可控度,计算代码设计及社区参与能力的自主可控度,计算代码生成的自主可控度,以及计算开发背景的自主可控度;所述通过加权计算获得软件产品自主可控度,包括:软件产品自主可控度U根据下式计算:U=[P总体架构设计×G总体架构设计+P代码设计×G代码设计×F+P代码生成×G代码生成+P开发背景×G开发背景]×100%其中,P总体架构设计为总体架构设计的自主可控度;P代码设计为代码设计的自主可控度;F为社区参与能力;P代码生成为代码生成的自主可控度;P开发背景为开发背景的自主可控度;G总体架构设计为总体架构设计的权重值;G代码设计为代码设计的权重值;G代码生成为代码生成的权重值;G开发背景为开发背景的权重值。4.根据权利要求3所述的软件产品自主可控度评估方法,其特征在于,所述计算总体架构设计的自主可控度,包括:一、确定总体架构设计的二级评估内容,对所述二级评估内容进行分级,设定二级评估内的权重及其各级得分;二、确定所述待评估软件产品中总体架构设计的二级评估内容对应的得分,加权计算获得所述待评估软件产品中总体架构设计的自主可控度;其中,所述总体架构设计的二级评估内容包括正向系统设计方案、核心技术知识产权及技术文档,对所述正向系统设计方案的分级包括:一、完全自主的架构设计;二、非完全自主的架构设计,参照国外已有架构,在安全相关的设计方面显著增强;三、采用国外同类产品的架构设计或参照国外已有架构;对所述核心技术知识产权的分级包括:一、核心结构申请专利或经过第三方鉴定认证;二、参照国外同类产品核心技术,完全自主实现且不存在专利侵权;三、引进国外同类产品核心技术,获得授权,授权范围至少包括中国境内,授权期限可视为永久;四、采用国外同类产品核心技术,有侵权风险;对所述技术文档的分级包括:一、提供概要设计、安全设计、详细设计、打包测试的全部技术文档,文档完备、规范、一致;二、提供概要设计、安全设计、详细设计、打包测试的部分技术文档;三、未提供文档或提供无效文档。5.根据权利要求4所述的软件产品自主可控度评估方法,其特征在于,所述计算代码设计的自主可控度,包括:基于覆盖一级模块重要性、二级模块重要性、代码规模、代码相似度的代码设计自主可控度评估模型计算代码设计的自主可控度,具体过程如下:根据所述软件产品的产品类型确定其对应的一级模块,并设定所述一级模块的重要性系数;对所述一级模块下所有代码按功能分解,形成二级模块,并对每个二级模块按照重要性区划分为“关键功能模块”、“一般功能模块”、“扩展功能模块”三个等级,每个等级对应不同的代码重要性系数;根据包括软件文档的规范性、代码相似度、代码注释量在内的指标,对所述二级模块代码设计自主化程度分级并设定各级得分,计算得到相应的所述二级模块代码设计自主可控度;根据一级模块的重要性系数、代码重要性系数、二级模块代码设计自主可控度、实际代码量在内的数据计算软件产品的代码设计的自主可控度P:其中,n为关键功能模块、一般功能模块、扩展功能模块的模块总数;对于第i个二级模块,vi为实际代码正文行数,ci为重要性系数,xi为所属一级模块的重要性系数,mi为二级模块代码设计自主可控度。6.根据权利要求5所述的软件产品自主可控度评估方法,其特征在于,所述根据所述软件产品的产品类型确定其对应的一级模块,包括:若所述软件产品的产品类型为桌面操作系统,则其一级模块包括:BIOS,内核,安全模块,硬件平台适配模块;编译器、基础库、协议栈、编程接口;图形库、图像库、窗口系统、集成开发环境;API、桌面系统、中间件;应用软件;若所述软件产品的产品类型为服务器操作系统,则其一级模块包括:BIOS,内核,安全模块,硬件平台适配模块;编译器、基础库、协议栈、编程接口、高可用支撑模块、可扩展支撑模块;图形库、图像库、窗口系统、集成开发环境;API、桌面系统、中间件;应用软件;若所述软件产品的产品类型为嵌入式操作系统...

【专利技术属性】
技术研发人员:程华程来旺王明扬黄辰林刘潇花王吉军田魏魏
申请(专利权)人:无锡江南计算技术研究所
类型:发明
国别省市:江苏,32

网友询问留言 已有0条评论
  • 还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。

1