首页> 中国专利> 一种软件工程代码质量预测方法、系统、设备和介质

一种软件工程代码质量预测方法、系统、设备和介质

摘要

本发明提出了一种软件工程代码质量预测方法、系统、设备和介质,该方法包括获取当前软件的所有配置项,并对配置项进行数据清洗后得到配置项集;判断配置项集中的每个配置项是否符合设定的要求,对符合要求的配置项的权重赋值;直到所有配置项评估完成得到代码合规质量值;根据代码合规质量值预测软件工程代码质量。基于该方法,还提出了一种软件工程代码质量预测系统、设备和介质。本发明能在研发人员在提测版本时对于当前软件提测版本合规性以及质量做出预测并制定合格标准,有利于保证软件代码的规范性与可读性,也有利于保障软件提测版本质量,减轻软件测试工作量,降低测试流程中由于代码不规范导致的缺陷造成的进度风险。

著录项

  • 公开/公告号CN114816500A

    专利类型发明专利

  • 公开/公告日2022-07-29

    原文格式PDF

  • 申请/专利权人 苏州浪潮智能科技有限公司;

    申请/专利号CN202210595774.8

  • 发明设计人 冯祥伦;

    申请日2022-05-27

  • 分类号G06F8/70;G06F8/71;

  • 代理机构济南诚智商标专利事务所有限公司;

  • 代理人田祥宝

  • 地址 215100 江苏省苏州市吴中区吴中经济开发区郭巷街道官浦路1号9幢

  • 入库时间 2023-06-19 16:11:11

法律信息

  • 法律状态公告日

    法律状态信息

    法律状态

  • 2022-07-29

    公开

    发明专利申请公布

说明书

技术领域

本发明属于软件代码质量管理技术领域,特别涉及一种软件工程代码质量预测方法、系统、设备和介质。

背景技术

随着软件产业的飞速发展,软件的规模变得越来越大,同时软件的复杂度也变得越来越高。于此同时,软件代码的规范性与可读性也遇到了很大挑战。由于IT行业人员流通相对快的行业现状,如何保证软件开发中代码的规范与可读,保证不同软件开发者在工作交接后对之前开发者开发的代码能读懂,能修改,能优化,是一项非常重要的工作。在软件测试工作中,“靠右”(即在软件开发周期中,时间位置相对靠后)的软件测试阶段发现的缺陷修复成本会非常高,很容易导致产品的延迟发布,甚至重新设计。“缺陷越早发现,成本越低”。于是,如何尽量将软件质量预测以及测试“左移”,便显得非常重要。比如在业界主流的敏捷开发等实际软件工作流程中,研发团队提测的版本如果质量过低,会造成软件测试工作量的大量增加。在研发团队交付测试团队前,提测版本的质量也需要预先得到保障,确保研发团队提测的软件版本的代码相对合规以对提测版本的代码质量做一个预测,以保证测试工作的顺利进行。

现有技术中保证软件代码的规范性与可读性主要是靠人工规定与检查。目前,保障软件提测版本质量主要是通过研发人员对于软件配置项的自测,即研发人员在软件运行过程中或运行后,对软件运行结果等进行检查自测的方式实现的。该方式存在的主要缺陷为:单元测试工作量较大,无法保障代码的规范性与可读性。代码的不规范和不可读,可能会对成为软件缺陷的隐患,会对于其它研发人员接力开发,测试人员进行测试,编写自动化测试用例等造成困扰

发明内容

为了解决上述技术问题,本发明提出了一种软件工程代码质量预测方法、系统、设备和介质,有利于保证软件代码的规范性与可读性,也有利于保障软件提测版本质量。

为实现上述目的,本发明采用以下技术方案:

一种软件工程代码质量预测方法,包括以下步骤:

获取当前软件的所有配置项,并对配置项进行数据清洗后得到配置项集;

判断所述配置项集中的每个配置项是否符合设定的要求,对符合要求的配置项的权重赋值;直到所有配置项评估完成得到代码合规质量值;

根据所述代码合规质量值预测软件工程代码质量。

进一步的,所述对配置项进行数据清洗的过程包括:剔除掉重复的配置项和剔除掉无效的配置项得到无重复且有效的配置项集。

进一步的,所述判断所述配置项集中的每个配置项是否符合设定的要求的过程包括:判断配置项中的质量子项是否符合预设要求。

进一步的,所述判断配置项中的质量子项是否符合预设要求具体包括:

判断处理函数对应的合法输入值、输出和常数是否均有定量的准确性要求;

判断所有的输入、处理和输出是否均有明确的定义;

所引用的函数是否均经过定义;

所有定义的函数是否均被引用;

是否有具体的标准规范定义和使用全局变量、规范所有参数的命名,以及规范规范软件单元间的调用。

进一步的,所述对符合要求的配置项的权重赋值;直到所有配置项评估完成得到代码合规质量值的过程包括:

如果配置项下质量子项符合预设要求,则质量子项的质量评估值a

计算代码合规质量值的过程为:

进一步的,所述根据所述代码合规质量值预测软件工程代码质量的过程包括:

设定代码合规质量阈值,并将计算出的代码合规质量值与代码合规质量阈值进行对比,如果大于代码合规质量阈值,则判定软件工程代码质量合格,否则不合格。

本发明还提出了一种软件工程代码质量预测系统,包括获取模块、计算模块和预测模块;

所述获取模块用于获取当前软件的所有配置项,并对配置项进行数据清洗后得到配置项集;

所述计算模块用于判断所述配置项集中的每个配置项是否符合设定的要求,对符合要求的配置项的权重赋值;直到所有配置项评估完成得到代码合规质量值;

所述预测模块用于根据所述代码合规质量值预测软件工程代码质量。

进一步的,所述计算模块执行的过程包括:

判断配置项中的质量子项是否符合预设要求;

如果配置项下质量子项符合预设要求,则质量子项的质量评估值a

计算代码合规质量值的过程为:

本发明还提出了一种设备,包括:

存储器,用于存储计算机程序;

处理器,用于执行所述计算机程序时实现所述的方法步骤。

本发明还提出了一种可读存储介质,所述可读存储介质上存储有计算机程序,所述计算机程序被处理器执行时实现所述的方法步骤。

发明内容中提供的效果仅仅是实施例的效果,而不是发明所有的全部效果,上述技术方案中的一个技术方案具有如下优点或有益效果:

本发明提出了一种软件工程代码质量预测方法、系统、设备和介质,该方法包括获取当前软件的所有配置项,并对配置项进行数据清洗后得到配置项集;判断配置项集中的每个配置项是否符合设定的要求,对符合要求的配置项的权重赋值;直到所有配置项评估完成得到代码合规质量值;根据代码合规质量值预测软件工程代码质量。基于一种软件工程代码质量预测方法,还提出了一种软件工程代码质量预测系统、设备和介质。本发明能在研发人员在提测版本时对于当前软件提测版本合规性以及质量做出预测并制定合格标准,有利于保证软件代码的规范性与可读性,也有利于保障软件提测版本质量,减轻软件测试工作量,降低测试流程中由于代码不规范导致的缺陷造成的进度风险。

附图说明

如图1为本发明实施例1一种软件工程代码质量预测方法流程图;

如图2为本发明实施例2一种软件工程代码质量预测系统示意图。

具体实施方式

为能清楚说明本方案的技术特点,下面通过具体实施方式,并结合其附图,对本发明进行详细阐述。下文的公开提供了许多不同的实施例或例子用来实现本发明的不同结构。为了简化本发明的公开,下文中对特定例子的部件和设置进行描述。此外,本发明可以在不同例子中重复参考数字和/或字母。这种重复是为了简化和清楚的目的,其本身不指示所讨论各种实施例和/或设置之间的关系。应当注意,在附图中所图示的部件不一定按比例绘制。本发明省略了对公知组件和处理技术及工艺的描述以避免不必要地限制本发明。

实施例1

本发明实施例1提出了一种软件工程代码质量预测方法,能在研发人员在提测版本时对于当前软件提测版本合规性以及质量做出预测并制定合格标准,有利于保证软件代码的规范性与可读性。

如图1为本发明实施例1一种软件工程代码质量预测方法流程图;

在步骤S100中,研发人员完成代码编写工作后,需要对软件所有的配置项进行代码合规质量预测。

在步骤S110中,获取当前软件的所有配置项进行相关的预处理,预处理的过程为:对配置项进行数据清洗。剔除掉重复的配置项和剔除掉无效的配置项得到无重复且有效的配置项集。

在步骤S120中,经常步骤S110的处理,得到没有重复且有效的配置项集,记录其配置项总数为n。

然后判断配置项集中的每个配置项是否符合设定的要求的过程包括:判断配置项中的质量子项是否符合预设要求。

如下表一给出了质量子项示例:

判断配置项中的质量子项是否符合预设要求;

如果配置项下质量子项符合预设要求,则质量子项的质量评估值a

在步骤S130中,依次判断当前软件的所有配置项是否符合设定的要求。

同一配置项下的所有质量子项的权重和为1,即

在步骤S140中,对软件的所有配置项分析完毕之后,计算代码合规质量预测。计算代码合规质量值的过程为:

在步骤S150中,根据代码合规质量预测,分析其数值以及是否合格,若合格则通过质量预测,可以测提。

根据P的值对软件工程代码合规质量做出预测,P∈[0,1],且P可以直观准确地反映出软件的合规性和预测质量,开发者设定P下限值(比如0.75),则当P值达到0.75或以上时,研发人员方可提测到测试团队,否则说明软件合规性以及预测质量不合格,研发团队需要对代码进行合规性调查。

本发明保护的范围不局限于实施例1中列出的数据,本领域人员可以根据实际情况进行适当调整。

本发明实施例1提出的一种软件工程代码质量预测方法,在提测版本时对于当前软件提测版本合规性以及质量做出预测并制定合格标准,有利于保证软件代码的规范性与可读性,也有利于保障软件提测版本质量,减轻软件测试工作量,降低测试流程中由于代码不规范导致的缺陷造成的进度风险。

实施例2

基于本发明实施例1提出的一种软件工程代码质量预测方法,本发明实施例2还提出了一种软件工程代码质量预测系统,如图2为本发明实施例2提出的一种软件工程代码质量预测系统。该系统包括获取模块、计算模块和预测模块;

获取模块用于获取当前软件的所有配置项,并对配置项进行数据清洗后得到配置项集;

计算模块用于判断所述配置项集中的每个配置项是否符合设定的要求,对符合要求的配置项的权重赋值;直到所有配置项评估完成得到代码合规质量值;

预测模块用于根据所述代码合规质量值预测软件工程代码质量。

获取模块中对配置项进行数据清洗的过程包括:剔除掉重复的配置项和剔除掉无效的配置项得到无重复且有效的配置项集。

计算模块中判断所述配置项集中的每个配置项是否符合设定的要求的过程包括:判断配置项中的质量子项是否符合预设要求。

判断配置项中的质量子项是否符合预设要求具体包括:

判断处理函数对应的合法输入值、输出和常数是否均有定量的准确性要求;

判断所有的输入、处理和输出是否均有明确的定义;

所引用的函数是否均经过定义;

所有定义的函数是否均被引用;

是否有具体的标准规范定义和使用全局变量、规范所有参数的命名,以及规范规范软件单元间的调用。

对符合要求的配置项的权重赋值;直到所有配置项评估完成得到代码合规质量值的过程包括:

如果配置项下质量子项符合预设要求,则质量子项的质量评估值a

计算代码合规质量值的过程为:

预测模块中,根据P的值对软件工程代码合规质量做出预测,P∈[0,1],且P可以直观准确地反映出软件的合规性和预测质量,开发者设定P下限值(比如0.75),则当P值达到0.75或以上时,研发人员方可提测到测试团队,否则说明软件合规性以及预测质量不合格,研发团队需要对代码进行合规性调查。

本发明实施例2提出的一种软件工程代码质量预测系统,在提测版本时对于当前软件提测版本合规性以及质量做出预测并制定合格标准,有利于保证软件代码的规范性与可读性,也有利于保障软件提测版本质量,减轻软件测试工作量,降低测试流程中由于代码不规范导致的缺陷造成的进度风险。

实施例3

本发明还提出了一种设备,包括:

存储器,用于存储计算机程序;

处理器,用于执行所述计算机程序时实现方法步骤如下:

如图1为本发明实施例1一种软件工程代码质量预测方法流程图;

在步骤S100中,研发人员完成代码编写工作后,需要对软件所有的配置项进行代码合规质量预测。

在步骤S110中,获取当前软件的所有配置项进行相关的预处理,预处理的过程为:对配置项进行数据清洗。剔除掉重复的配置项和剔除掉无效的配置项得到无重复且有效的配置项集。

在步骤S120中,经常步骤S110的处理,得到没有重复且有效的配置项集,记录其配置项总数为n。

然后判断配置项集中的每个配置项是否符合设定的要求的过程包括:判断配置项中的质量子项是否符合预设要求。

如下表一给出了质量子项示例:

判断配置项中的质量子项是否符合预设要求;

如果配置项下质量子项符合预设要求,则质量子项的质量评估值a

在步骤S130中,依次判断当前软件的所有配置项是否符合设定的要求。

同一配置项下的所有质量子项的权重和为1,即

在步骤S140中,对软件的所有配置项分析完毕之后,计算代码合规质量预测。计算代码合规质量值的过程为:

在步骤S150中,根据代码合规质量预测,分析其数值以及是否合格,若合格则通过质量预测,可以测提。

根据P的值对软件工程代码合规质量做出预测,P∈[0,1],且P可以直观准确地反映出软件的合规性和预测质量,开发者设定P下限值(比如0.75),则当P值达到0.75或以上时,研发人员方可提测到测试团队,否则说明软件合规性以及预测质量不合格,研发团队需要对代码进行合规性调查。

本发明保护的范围不局限于实施例1中列出的数据,本领域人员可以根据实际情况进行适当调整。

本发明实施例3提出的一种电子设备,在提测版本时对于当前软件提测版本合规性以及质量做出预测并制定合格标准,有利于保证软件代码的规范性与可读性,也有利于保障软件提测版本质量,减轻软件测试工作量,降低测试流程中由于代码不规范导致的缺陷造成的进度风险。

需要说明:本发明技术方案还提供了一种电子设备,包括:通信接口,能够与其它设备比如网络设备等进行信息交互;处理器,与通信接口连接,以实现与其它设备进行信息交互,用于运行计算机程序时,执行上述一个或多个技术方案提供的一种软件工程代码质量预测方法,而所述计算机程序存储在存储器上。当然,实际应用时,电子设备中的各个组件通过总线系统耦合在一起。可理解,总线系统用于实现这些组件之间的连接通信。总线系统除包括数据总线之外,还包括电源总线、控制总线和状态信号总线。本申请实施例中的存储器用于存储各种类型的数据以支持电子设备的操作。这些数据的示例包括:用于在电子设备上操作的任何计算机程序。可以理解,存储器可以是易失性存储器或非易失性存储器,也可包括易失性和非易失性存储器两者。其中,非易失性存储器可以是只读存储器(ROM,Read Only Memory)、可编程只读存储器(PROM,Programmable Read-Only Memory)、可擦除可编程只读存储器(EPROM,Erasable Programmable Read-Only Memory)、电可擦除可编程只读存储器(EEPROM,Electrically Erasable Programmable Read-Only Memory)、磁性随机存取存储器(FRAM,ferromagnetic random access memory)、快闪存储器(FlashMemory)、磁表面存储器、光盘、或只读光盘(CD-ROM,Compact Disc Read-Only Memory);磁表面存储器可以是磁盘存储器或磁带存储器。易失性存储器可以是随机存取存储器(RAM,Random AccessMemory),其用作外部高速缓存。通过示例性但不是限制性说明,许多形式的RAM可用,例如静态随机存取存储器(SRAM,Static Random Access Memory)、同步静态随机存取存储器(SSRAM,Synchronous Static Random Access Memory)、动态随机存取存储器(DRAM,Dynamic Random Access Memory)、同步动态随机存取存储器(SDRAM,SynchronousDynamic Random Access Memory)、双倍数据速率同步动态随机存取存储器(DDRSDRAM,Double Data Rate Synchronous Dynamic Random Access Memory)、增强型同步动态随机存取存储器(ESDRAM,Enhanced Synchronous Dynamic Random AccessMemory)、同步连接动态随机存取存储器(SLDRAM,SyncLink Dynamic Random AccessMemory)、直接内存总线随机存取存储器(DRRAM,Direct Rambus Random Access Memory)。本申请实施例描述的存储器旨在包括但不限于这些和任意其它适合类型的存储器。上述本申请实施例揭示的方法可以应用于处理器中,或者由处理器实现。处理器可能是一种集成电路芯片,具有信号的处理能力。在实现过程中,上述方法的各步骤可以通过处理器中的硬件的集成逻辑电路或者软件形式的指令完成。上述的处理器可以是通用处理器、DSP(Digital Signal Processing,即指能够实现数字信号处理技术的芯片),或者其他可编程逻辑器件、分立门或者晶体管逻辑器件、分立硬件组件等。处理器可以实现或者执行本申请实施例中的公开的各方法、步骤及逻辑框图。通用处理器可以是微处理器或者任何常规的处理器等。结合本申请实施例所公开的方法的步骤,可以直接体现为硬件译码处理器执行完成,或者用译码处理器中的硬件及软件模块组合执行完成。软件模块可以位于存储介质中,该存储介质位于存储器,处理器读取存储器中的程序,结合其硬件完成前述方法的步骤。处理器执行所述程序时实现本申请实施例的各个方法中的相应流程,为了简洁,在此不再赘述。

实施例4

本发明还提出了一种可读存储介质,可读存储介质上存储有计算机程序,所述计算机程序被处理器执行时实现方法步骤如下:

如图1为本发明实施例1一种软件工程代码质量预测方法流程图;

在步骤S100中,研发人员完成代码编写工作后,需要对软件所有的配置项进行代码合规质量预测。

在步骤S110中,获取当前软件的所有配置项进行相关的预处理,预处理的过程为:对配置项进行数据清洗。剔除掉重复的配置项和剔除掉无效的配置项得到无重复且有效的配置项集。

在步骤S120中,经常步骤S110的处理,得到没有重复且有效的配置项集,记录其配置项总数为n。

然后判断配置项集中的每个配置项是否符合设定的要求的过程包括:判断配置项中的质量子项是否符合预设要求。

如下表一给出了质量子项示例:

判断配置项中的质量子项是否符合预设要求;

如果配置项下质量子项符合预设要求,则质量子项的质量评估值a

在步骤S130中,依次判断当前软件的所有配置项是否符合设定的要求。

同一配置项下的所有质量子项的权重和为1,即

在步骤S140中,对软件的所有配置项分析完毕之后,计算代码合规质量预测。计算代码合规质量值的过程为:

在步骤S150中,根据代码合规质量预测,分析其数值以及是否合格,若合格则通过质量预测,可以测提。

根据P的值对软件工程代码合规质量做出预测,P∈[0,1],且P可以直观准确地反映出软件的合规性和预测质量,开发者设定P下限值(比如0.75),则当P值达到0.75或以上时,研发人员方可提测到测试团队,否则说明软件合规性以及预测质量不合格,研发团队需要对代码进行合规性调查。

本发明保护的范围不局限于实施例1中列出的数据,本领域人员可以根据实际情况进行适当调整。

本发明实施例4提出的一种存储介质,在提测版本时对于当前软件提测版本合规性以及质量做出预测并制定合格标准,有利于保证软件代码的规范性与可读性,也有利于保障软件提测版本质量,减轻软件测试工作量,降低测试流程中由于代码不规范导致的缺陷造成的进度风险。

本申请实施例还提供了一种存储介质,即计算机存储介质,具体为计算机可读存储介质,例如包括存储计算机程序的存储器,上述计算机程序可由处理器执行,以完成前述方法所述步骤。计算机可读存储介质可以是FRAM、ROM、PROM、EPROM、EEPROM、Flash Memory、磁表面存储器、光盘、或CD-ROM等存储器。

本领域普通技术人员可以理解:实现上述方法实施例的全部或部分步骤可以通过程序指令相关的硬件来完成,前述的程序可以存储于一计算机可读取存储介质中,该程序在执行时,执行包括上述方法实施例的步骤;而前述的存储介质包括:移动存储设备、ROM、RAM、磁碟或者光盘等各种可以存储程序代码的介质。或者,本申请上述集成的单元如果以软件功能模块的形式实现并作为独立的产品销售或使用时,也可以存储在一个计算机可读取存储介质中。基于这样的理解,本申请实施例的技术方案本质上或者说对现有技术做出贡献的部分可以以软件产品的形式体现出来,该计算机软件产品存储在一个存储介质中,包括若干指令用以使得一台电子设备(可以是个人计算机、服务器、或者网络设备等)执行本申请各个实施例所述方法的全部或部分。而前述的存储介质包括:移动存储设备、ROM、RAM、磁碟或者光盘等各种可以存储程序代码的介质。

本申请实施例提供的一种软件工程代码质量预测设备和存储介质中相关部分的说明可以参见本申请实施例1提供的一种软件工程代码质量预测方法中对应部分的详细说明,在此不再赘述。

需要说明的是,在本文中,诸如第一和第二等之类的关系术语仅仅用来将一个实体或者操作与另一个实体或操作区分开来,而不一定要求或者暗示这些实体或操作之间存在任何这种实际的关系或者顺序。而且,术语“包括”、“包含”或者其任何其他变体意在涵盖非排他性的包含,从而使得包括一系列要素的过程、方法、物品或者设备所固有的要素。在没有更多限制的情况下,由语句“包括一个……”限定的要素,并不排除在包括所述要素的过程、方法、物品或者设备中还存在另外的相同要素。另外,本申请实施例提供的上述技术方案中与现有技术中对应技术方案实现原理一致的部分并未详细说明,以免过多赘述。

上述虽然结合附图对本发明的具体实施方式进行了描述,但并非对本发明保护范围的限制。对于所属领域的技术人员来说,在上述说明的基础上还可以做出其它不同形式的修改或变形。这里无需也无法对所有的实施方式予以穷举。在本发明的技术方案的基础上,本领域技术人员不需要付出创造性劳动即可做出的各种修改或变形仍在本发明的保护范围以内。

去获取专利,查看全文>

相似文献

  • 专利
  • 中文文献
  • 外文文献
获取专利

客服邮箱:kefu@zhangqiaokeyan.com

京公网安备:11010802029741号 ICP备案号:京ICP备15016152号-6 六维联合信息科技 (北京) 有限公司©版权所有
  • 客服微信

  • 服务号