CN113780986B - 一种用于软件研发过程的度量方法、***、设备和介质 - Google Patents

一种用于软件研发过程的度量方法、***、设备和介质 Download PDF

Info

Publication number
CN113780986B
CN113780986B CN202110991524.1A CN202110991524A CN113780986B CN 113780986 B CN113780986 B CN 113780986B CN 202110991524 A CN202110991524 A CN 202110991524A CN 113780986 B CN113780986 B CN 113780986B
Authority
CN
China
Prior art keywords
data
tool
management
code
project
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Active
Application number
CN202110991524.1A
Other languages
English (en)
Other versions
CN113780986A (zh
Inventor
姜健
吕文文
张威
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Inspur Jinan data Technology Co ltd
Original Assignee
Inspur Jinan data Technology Co ltd
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Inspur Jinan data Technology Co ltd filed Critical Inspur Jinan data Technology Co ltd
Priority to CN202110991524.1A priority Critical patent/CN113780986B/zh
Publication of CN113780986A publication Critical patent/CN113780986A/zh
Application granted granted Critical
Publication of CN113780986B publication Critical patent/CN113780986B/zh
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06QINFORMATION AND COMMUNICATION TECHNOLOGY [ICT] SPECIALLY ADAPTED FOR ADMINISTRATIVE, COMMERCIAL, FINANCIAL, MANAGERIAL OR SUPERVISORY PURPOSES; SYSTEMS OR METHODS SPECIALLY ADAPTED FOR ADMINISTRATIVE, COMMERCIAL, FINANCIAL, MANAGERIAL OR SUPERVISORY PURPOSES, NOT OTHERWISE PROVIDED FOR
    • G06Q10/00Administration; Management
    • G06Q10/10Office automation; Time management
    • G06Q10/103Workflow collaboration or project management
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F11/00Error detection; Error correction; Monitoring
    • G06F11/36Preventing errors by testing or debugging software
    • G06F11/3668Software testing
    • G06F11/3672Test management
    • G06F11/3688Test management for test execution, e.g. scheduling of test suites
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F8/00Arrangements for software engineering
    • G06F8/40Transformation of program code
    • G06F8/41Compilation
    • G06F8/43Checking; Contextual analysis
    • G06F8/436Semantic checking
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06QINFORMATION AND COMMUNICATION TECHNOLOGY [ICT] SPECIALLY ADAPTED FOR ADMINISTRATIVE, COMMERCIAL, FINANCIAL, MANAGERIAL OR SUPERVISORY PURPOSES; SYSTEMS OR METHODS SPECIALLY ADAPTED FOR ADMINISTRATIVE, COMMERCIAL, FINANCIAL, MANAGERIAL OR SUPERVISORY PURPOSES, NOT OTHERWISE PROVIDED FOR
    • G06Q10/00Administration; Management
    • G06Q10/06Resources, workflows, human or project management; Enterprise or organisation planning; Enterprise or organisation modelling
    • G06Q10/063Operations research, analysis or management
    • G06Q10/0639Performance analysis of employees; Performance analysis of enterprise or organisation operations
    • G06Q10/06393Score-carding, benchmarking or key performance indicator [KPI] analysis
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06QINFORMATION AND COMMUNICATION TECHNOLOGY [ICT] SPECIALLY ADAPTED FOR ADMINISTRATIVE, COMMERCIAL, FINANCIAL, MANAGERIAL OR SUPERVISORY PURPOSES; SYSTEMS OR METHODS SPECIALLY ADAPTED FOR ADMINISTRATIVE, COMMERCIAL, FINANCIAL, MANAGERIAL OR SUPERVISORY PURPOSES, NOT OTHERWISE PROVIDED FOR
    • G06Q10/00Administration; Management
    • G06Q10/06Resources, workflows, human or project management; Enterprise or organisation planning; Enterprise or organisation modelling
    • G06Q10/063Operations research, analysis or management
    • G06Q10/0639Performance analysis of employees; Performance analysis of enterprise or organisation operations
    • G06Q10/06395Quality analysis or management

Landscapes

  • Engineering & Computer Science (AREA)
  • Business, Economics & Management (AREA)
  • Human Resources & Organizations (AREA)
  • Strategic Management (AREA)
  • Theoretical Computer Science (AREA)
  • Entrepreneurship & Innovation (AREA)
  • Physics & Mathematics (AREA)
  • Economics (AREA)
  • General Physics & Mathematics (AREA)
  • Development Economics (AREA)
  • Educational Administration (AREA)
  • Quality & Reliability (AREA)
  • Operations Research (AREA)
  • Tourism & Hospitality (AREA)
  • Marketing (AREA)
  • General Business, Economics & Management (AREA)
  • General Engineering & Computer Science (AREA)
  • Game Theory and Decision Science (AREA)
  • Data Mining & Analysis (AREA)
  • Computational Linguistics (AREA)
  • Software Systems (AREA)
  • Computer Hardware Design (AREA)
  • Stored Programmes (AREA)

Abstract

本发明提出了一种用于软件研发过程的度量方法、***、设备和介质,该方法包括连通软件研发过程中使用的管理工具;在管理工具连通后,定时获取所有管理工具中的工具数据;以及将工具数据与项目基础信息进行匹配,实现各***中项目管理数据的关联;通过对匹配后的数据进行抽取获取度量指标参数,并将度量指标参数与经验库中的阈值进行对比得到度量结果数据,用于识别软件研发过程中***的异常状态,通过数据可视化插件将度量结果数据以报表的形式展示。基于该方法,还提出了一种用于软件研发过程的度量***、设备和介质。本发明依据度量计算,可识别项目过程中的异常状态,及时报警告知到管理人员,在进度和质量领域帮助管理人员提升管理效能。

Description

一种用于软件研发过程的度量方法、***、设备和介质
技术领域
本发明属于软件开发技术领域,特别涉及一种用于软件研发过程的度量方法、***、设备和介质。
背景技术
随着信息化要求和程度不断的提高,软件逐渐代替了许多原来由硬件实现的功能,使得软件所占的比重越来越大,所起到的作用和地位也变得更加重要。然而,由于软件存在质量问题,经常引发事故,导致人员伤亡以及产生巨大的经济损失。因此,高质量的软件是装备***按照规定要求完成任务功能、执行作战和保障任务的重要影响因素,同时也是保障人员安全、减少经济损失的重要影响因素。
随着软件产业的发展,云计算、大数据、人工智能、物联网等等一系列新兴技术应用研发无法通过单一技术架构满足,均依赖于多种软件架构混合开发。而混合开发过程具备过程复杂、度量无法统一的特点,当前各公司采用工具收集、人工统计的方式进行度量计算,存在度量效率低、度量不准确、度量结果滞后等特点,目前已成为软件行业项目管理中的一个重要问题。根据美国项目管理协会(Project Management Institute,PMI)的统计,在项目管理过程中,项目经理经常会遇到这些难题,如项目需求不明确、信息不可靠、成本不可控、时间不够用、质量不过关、组织难分工等,归根结底,大部分项目出现的难题并不是在技术上,而是在管理上。项目缺乏有力地管理监控,必然会导致项目失败。
发明内容
为了解决上述技术问题,本发明提出了一种用于软件研发过程的度量方法、***、设备和介质。能够识别项目过程中的异常状态,及时报警告知到管理人员,在进度和质量领域帮助管理人员提升管理效能。
为实现上述目的,本发明采用以下技术方案:
一种用于软件研发过程的度量方法,包括以下步骤:
连通软件研发过程中使用的管理工具;所述管理工具包括主流项目管理工具、质量管理工具和代码仓库工具;
在所述管理工具连通之后,定时获取所有管理工具中的工具数据;以及将工具数据与项目基础信息进行匹配,实现各***中项目管理数据的关联;
通过对匹配后的数据进行抽取获取度量指标参数,并将度量指标参数与经验库中的阈值进行对比得到度量结果数据,用于识别软件研发过程中***的异常状态。
进一步的,所述方法还包括:通过数据可视化插件将度量结果数据以报表的形式展示。
进一步的,所述连通软件研发过程中使用的管理工具的方法为:通过TCP/IP协议、Web接口或Perl脚本打通软件研发过程中使用的项目管理工具、质量管理工具和仓库代码管理工具。
所述主流项目管理工具包括项目管理***、需求管理***和测试用例及缺陷管理***;
所述质量管理工具包括代码静态扫描工具、代码安全漏洞扫描工具和代码审查工具。
进一步的,所述将工具数据与项目基础信息进行匹配,实现各***中项目管理数据的关联的方法为:采用语义匹配哈希算法对工具数据进行处理得到文本哈希值,通过海明距离判断文本哈希值和项目基础信息文本的相似度,从而实现各***中项目管理数据的关联。
进一步的,所述通过对匹配后的数据进行抽取获取度量指标参数的方法包括:通过分布式文件***对匹配后的数据依次进行抽取,批处理,整理、清洗得到度量指标参数,并保存在数据库中。
进一步的,所述度量指标参数包括代码走查缺陷占比、迭代通过US数、人工代码走查缺陷密度、人工代码走查缺陷密度、需求缺陷密度、***测试前严重BUG率、BUG平均解决周期、BUG一次性解决率和单位时间内需求交付数。
进一步的,所述代码走查缺陷占比=走查缺陷数/BUG数;
所述迭代通过US数=通过US数/计划US数;
所述人工代码走查缺陷密度=人工代码走查缺陷数/千行代码行数;
所述千行代码缺陷密度=BUG数/千行代码行数;
所述需求缺陷密度=需求缺陷数/需求数;
所述***测试前严重BUG率=***测试前发现BUG数/BUG数;
所述BUG平均解决周期=BUG解决周期总数/BUG总数;
所述BUG一次性解决率=一次性解决BUG数/BUG总数;
所述单位时间内需求交付数=需求数/实际人月数。
本发明还提出了一种用于软件研发过程的度量***,该***包括连通模块、匹配模块和对比模块;
所述连通模块用于连通软件研发过程中使用的管理工具;所述管理工具包括主流项目管理工具、质量管理工具和代码仓库工具;
所述匹配模块用于在所述管理工具连通之后,定时获取所有管理工具中的工具数据;以及将工具数据与项目基础信息进行匹配,实现各***中项目管理数据的关联;
所述对比模块用于通过对匹配后的数据进行抽取获取度量指标参数,并将度量指标参数与经验库中的阈值进行对比得到度量结果数据,用于识别软件研发过程中***的异常状态。
本发明还提出了一种设备,包括:
存储器,用于存储计算机程序;
处理器,用于执行所述计算机程序时实现所述的方法步骤。
本发明还提出了一种可读存储介质,所述可读存储介质上存储有计算机程序,所述计算机程序被处理器执行时实现所述的方法步骤。
发明内容中提供的效果仅仅是实施例的效果,而不是发明所有的全部效果,上述技术方案中的一个技术方案具有如下优点或有益效果:
本发明提出了一种用于软件研发过程的度量方法、***、设备和介质,该方法包括连通软件研发过程中使用的管理工具;管理工具包括主流项目管理工具、质量管理工具和代码仓库工具;在管理工具连通之后,定时获取所有管理工具中的工具数据;以及将工具数据与项目基础信息进行匹配,实现各***中项目管理数据的关联;通过对匹配后的数据进行抽取获取度量指标参数,并将度量指标参数与经验库中的阈值进行对比得到度量结果数据,用于识别软件研发过程中***的异常状态,通过数据可视化插件将度量结果数据以报表的形式展示。基于一种用于软件研发过程的度量方法,还提出了一种用于软件研发过程的度量***、设备和存储介质。本发明解决了现有技术中存在的技术问题,可在项目管理过程中,自动收集、度量研发过程数据,并与度量基础数据进行比较,从而实现项目质量检查、阈值告警。依据度量计算,可识别项目过程中的异常状态,及时报警告知到管理人员,在进度和质量领域帮助管理人员提升管理效能。
附图说明
如图1为本发明实施例1一种用于软件研发过程的度量方法流程图;
如图2为本发明实施例1中多***数据抽取模型示意图;
如图3为本发明实施例1中一种用于软件研发过程的度量***示意图。
具体实施方式
为能清楚说明本方案的技术特点,下面通过具体实施方式,并结合其附图,对本发明进行详细阐述。下文的公开提供了许多不同的实施例或例子用来实现本发明的不同结构。为了简化本发明的公开,下文中对特定例子的部件和设置进行描述。此外,本发明可以在不同例子中重复参考数字和/或字母。这种重复是为了简化和清楚的目的,其本身不指示所讨论各种实施例和/或设置之间的关系。应当注意,在附图中所图示的部件不一定按比例绘制。本发明省略了对公知组件和处理技术及工艺的描述以避免不必要地限制本发明。
实施例1
本发明实施例1提出了一种用于软件研发过程的度量方法,在项目管理过程中,自动收集、度量研发过程数据,并与度量基础数据进行比较,从而实现项目质量检查、阈值告警。
如图1个给出了本发明实施例1一种用于软件研发过程的度量方法流程图。
在步骤S101中,连通软件研发过程中使用的管理工具;管理工具包括主流项目管理工具、质量管理工具和代码仓库工具;本发明中通过TCP/IP协议、Web接口、Perl脚本等方式打通目前主流项目管理工具、质量管理工具和代码仓库工具。
其中主流项目管理工具包括青铜器、禅道、JIRA。其中,青铜器:项目管理***;禅道:需求管理***;JIRA:测试用例及缺陷管理***。
质量管理工具包括SonarQube、Fortify、Gerrit;其中SonarQube:代码静态扫描工具,可扫描代码规范和逻辑漏洞;Fortify:代码安全漏洞扫描工具;Gerrit:人工代码走查工具,可进行代码提交审核。
代码仓库工具包括GitLab:即代码库及分支管理。
在步骤S102中,在管理工具连通之后,定时获取所有管理工具中的工具数据;以及将工具数据与项目基础信息进行匹配,实现各***中项目管理数据的关联;
通过Scheduled定时任务根据数据更新级别(周级别更新、日级别更新、分钟级别更新),定期将工具数据抽取到中央数据服务应用中,实现软件研发全流程工具数据集成。
采用语义匹配SimHash算法,通过分词、哈希、加权、合并、降维五步对各工具研发数据进行处理得到文本SimHash值,并根据海明距离来判断与项目基础信息文本(人员、模块、项目)相似度,将符合相似要求的文本进行匹配,从而实现各***中项目管理数据的关联。
在步骤S103中,通过对匹配后的数据进行抽取获取度量指标参数,并将度量指标参数与经验库中的阈值进行对比得到度量结果数据,用于识别软件研发过程中***的异常状态。
如图2为本发明实施例1中多***数据抽取模型示意图;
通过分布式文件***对匹配后的数据依次进行抽取,批处理,整理、清洗得到度量指标参数,并保存在数据库中。
度量指标参数包括代码走查缺陷占比、迭代通过US数、人工代码走查缺陷密度、人工代码走查缺陷密度、需求缺陷密度、***测试前严重BUG率、BUG平均解决周期、BUG一次性解决率和单位时间内需求交付数。
代码走查缺陷占比=走查缺陷数/BUG数;
迭代通过US数=通过US数/计划US数;
人工代码走查缺陷密度=人工代码走查缺陷数/千行代码行数;
千行代码缺陷密度=BUG数/千行代码行数;
需求缺陷密度=需求缺陷数/需求数;
***测试前严重BUG率=***测试前发现BUG数/BUG数;
BUG平均解决周期=BUG解决周期总数/BUG总数;
BUG一次性解决率=一次性解决BUG数/BUG总数;
单位时间内需求交付数=需求数/实际人月数。
在步骤S104中,通过数据可视化插件将度量结果数据以报表的形式展示。通过Echarts插件将度量数据以报表的形式展示,并通过mail和即使通讯服务将异常指标通知到责任人。如果过程中度量数据存在误差,***则自动将误差反向由输出层传递到输入层,以此来修正度量规则。
本发明依据度量计算,可识别项目过程中的异常状态,及时报警告知到相关人,在进度和质量领域帮助管理人员提升管理效能。
实施例2
基于本发明实施例1一种用于软件研发过程的度量方法,本发明实时例2还提出了一种用于软件研发过程的度量***。如图3为本发明实施例1中一种用于软件研发过程的度量***示意图,该***包括连通模块、匹配模块和对比模块;
连通模块用于连通软件研发过程中使用的管理工具;管理工具包括主流项目管理工具、质量管理工具和代码仓库工具;
匹配模块用于在所述管理工具连通之后,定时获取所有管理工具中的工具数据;以及将工具数据与项目基础信息进行匹配,实现各***中项目管理数据的关联;
对比模块用于通过对匹配后的数据进行抽取获取度量指标参数,并将度量指标参数与经验库中的阈值进行对比得到度量结果数据,用于识别软件研发过程中***的异常状态。
连通模块实现的过程为:本发明中通过TCP/IP协议、Web接口、Perl脚本等方式打通目前主流项目管理工具、质量管理工具和代码仓库工具。
其中主流项目管理工具包括青铜器、禅道、JIRA。其中,青铜器:项目管理***;禅道:需求管理***;JIRA:测试用例及缺陷管理***。
质量管理工具包括SonarQube、Fortify、Gerrit;其中SonarQube:代码静态扫描工具,可扫描代码规范和逻辑漏洞;Fortify:代码安全漏洞扫描工具;Gerrit:人工代码走查工具,可进行代码提交审核。
代码仓库工具包括GitLab:即代码库及分支管理。
匹配模块实现的过程为:通过Scheduled定时任务根据数据更新级别(周级别更新、日级别更新、分钟级别更新),定期将工具数据抽取到中央数据服务应用中,实现软件研发全流程工具数据集成。
采用语义匹配SimHash算法,通过分词、哈希、加权、合并、降维五步对各工具研发数据进行处理得到文本SimHash值,并根据海明距离来判断与项目基础信息文本(人员、模块、项目)相似度,将符合相似要求的文本进行匹配,从而实现各***中项目管理数据的关联。
对比模块实现的过程为:通过分布式文件***对匹配后的数据依次进行抽取,批处理,整理、清洗得到度量指标参数,并保存在数据库中。
度量指标参数包括代码走查缺陷占比、迭代通过US数、人工代码走查缺陷密度、人工代码走查缺陷密度、需求缺陷密度、***测试前严重BUG率、BUG平均解决周期、BUG一次性解决率和单位时间内需求交付数。
代码走查缺陷占比=走查缺陷数/BUG数;
迭代通过US数=通过US数/计划US数;
人工代码走查缺陷密度=人工代码走查缺陷数/千行代码行数;
千行代码缺陷密度=BUG数/千行代码行数;
需求缺陷密度=需求缺陷数/需求数;
***测试前严重BUG率=***测试前发现BUG数/BUG数;
BUG平均解决周期=BUG解决周期总数/BUG总数;
BUG一次性解决率=一次性解决BUG数/BUG总数;
单位时间内需求交付数=需求数/实际人月数。
该***还包括展示模块;展示模块通过数据可视化插件将度量结果数据以报表的形式展示。通过Echarts插件将度量数据以报表的形式展示,并通过mail和即使通讯服务将异常指标通知到责任人。如果过程中度量数据存在误差,***则自动将误差反向由输出层传递到输入层,以此来修正度量规则。
实施例3
本发明还提出了一种设备,包括:
存储器,用于存储计算机程序;
处理器,用于执行所述计算机程序时实现方法步骤如下:
在步骤S101中,连通软件研发过程中使用的管理工具;管理工具包括主流项目管理工具、质量管理工具和代码仓库工具;本发明中通过TCP/IP协议、Web接口、Perl脚本等方式打通目前主流项目管理工具、质量管理工具和代码仓库工具。
其中主流项目管理工具包括青铜器、禅道、JIRA。其中,青铜器:项目管理***;禅道:需求管理***;JIRA:测试用例及缺陷管理***。
质量管理工具包括SonarQube、Fortify、Gerrit;其中SonarQube:代码静态扫描工具,可扫描代码规范和逻辑漏洞;Fortify:代码安全漏洞扫描工具;Gerrit:人工代码走查工具,可进行代码提交审核。
代码仓库工具包括GitLab:即代码库及分支管理。
在步骤S102中,在管理工具连通之后,定时获取所有管理工具中的工具数据;以及将工具数据与项目基础信息进行匹配,实现各***中项目管理数据的关联;
通过Scheduled定时任务根据数据更新级别(周级别更新、日级别更新、分钟级别更新),定期将工具数据抽取到中央数据服务应用中,实现软件研发全流程工具数据集成。
采用语义匹配SimHash算法,通过分词、哈希、加权、合并、降维五步对各工具研发数据进行处理得到文本SimHash值,并根据海明距离来判断与项目基础信息文本(人员、模块、项目)相似度,将符合相似要求的文本进行匹配,从而实现各***中项目管理数据的关联。
在步骤S103中,通过对匹配后的数据进行抽取获取度量指标参数,并将度量指标参数与经验库中的阈值进行对比得到度量结果数据,用于识别软件研发过程中***的异常状态。
如图2为本发明实施例1中多***数据抽取模型示意图;
通过分布式文件***对匹配后的数据依次进行抽取,批处理,整理、清洗得到度量指标参数,并保存在数据库中。
度量指标参数包括代码走查缺陷占比、迭代通过US数、人工代码走查缺陷密度、人工代码走查缺陷密度、需求缺陷密度、***测试前严重BUG率、BUG平均解决周期、BUG一次性解决率和单位时间内需求交付数。
代码走查缺陷占比=走查缺陷数/BUG数;
迭代通过US数=通过US数/计划US数;
人工代码走查缺陷密度=人工代码走查缺陷数/千行代码行数;
千行代码缺陷密度=BUG数/千行代码行数;
需求缺陷密度=需求缺陷数/需求数;
***测试前严重BUG率=***测试前发现BUG数/BUG数;
BUG平均解决周期=BUG解决周期总数/BUG总数;
BUG一次性解决率=一次性解决BUG数/BUG总数;
单位时间内需求交付数=需求数/实际人月数。
在步骤S104中,通过数据可视化插件将度量结果数据以报表的形式展示。通过Echarts插件将度量数据以报表的形式展示,并通过mail和即使通讯服务将异常指标通知到责任人。如果过程中度量数据存在误差,***则自动将误差反向由输出层传递到输入层,以此来修正度量规则。
本发明依据度量计算,可识别项目过程中的异常状态,及时报警告知到相关人,在进度和质量领域帮助管理人员提升管理效能。
需要说明:本发明技术方案还提供了一种电子设备,包括:通信接口,能够与其它设备比如网络设备等进行信息交互;处理器,与通信接口连接,以实现与其它设备进行信息交互,用于运行计算机程序时,执行上述一个或多个技术方案提供的一种用于软件研发过程的度量方法,而所述计算机程序存储在存储器上。当然,实际应用时,电子设备中的各个组件通过总线***耦合在一起。可理解,总线***用于实现这些组件之间的连接通信。总线***除包括数据总线之外,还包括电源总线、控制总线和状态信号总线。本申请实施例中的存储器用于存储各种类型的数据以支持电子设备的操作。这些数据的示例包括:用于在电子设备上操作的任何计算机程序。可以理解,存储器可以是易失性存储器或非易失性存储器,也可包括易失性和非易失性存储器两者。其中,非易失性存储器可以是只读存储器(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
本发明还提出了一种可读存储介质,可读存储介质上存储有计算机程序,所述计算机程序被处理器执行时实现方法步骤如下:
在步骤S101中,连通软件研发过程中使用的管理工具;管理工具包括主流项目管理工具、质量管理工具和代码仓库工具;本发明中通过TCP/IP协议、Web接口、Perl脚本等方式打通目前主流项目管理工具、质量管理工具和代码仓库工具。
其中主流项目管理工具包括青铜器、禅道、JIRA。其中,青铜器:项目管理***;禅道:需求管理***;JIRA:测试用例及缺陷管理***。
质量管理工具包括SonarQube、Fortify、Gerrit;其中SonarQube:代码静态扫描工具,可扫描代码规范和逻辑漏洞;Fortify:代码安全漏洞扫描工具;Gerrit:人工代码走查工具,可进行代码提交审核。
代码仓库工具包括GitLab:即代码库及分支管理。
在步骤S102中,在管理工具连通之后,定时获取所有管理工具中的工具数据;以及将工具数据与项目基础信息进行匹配,实现各***中项目管理数据的关联;
通过Scheduled定时任务根据数据更新级别(周级别更新、日级别更新、分钟级别更新),定期将工具数据抽取到中央数据服务应用中,实现软件研发全流程工具数据集成。
采用语义匹配SimHash算法,通过分词、哈希、加权、合并、降维五步对各工具研发数据进行处理得到文本SimHash值,并根据海明距离来判断与项目基础信息文本(人员、模块、项目)相似度,将符合相似要求的文本进行匹配,从而实现各***中项目管理数据的关联。
在步骤S103中,通过对匹配后的数据进行抽取获取度量指标参数,并将度量指标参数与经验库中的阈值进行对比得到度量结果数据,用于识别软件研发过程中***的异常状态。
如图2为本发明实施例1中多***数据抽取模型示意图;
通过分布式文件***对匹配后的数据依次进行抽取,批处理,整理、清洗得到度量指标参数,并保存在数据库中。
度量指标参数包括代码走查缺陷占比、迭代通过US数、人工代码走查缺陷密度、人工代码走查缺陷密度、需求缺陷密度、***测试前严重BUG率、BUG平均解决周期、BUG一次性解决率和单位时间内需求交付数。
代码走查缺陷占比=走查缺陷数/BUG数;
迭代通过US数=通过US数/计划US数;
人工代码走查缺陷密度=人工代码走查缺陷数/千行代码行数;
千行代码缺陷密度=BUG数/千行代码行数;
需求缺陷密度=需求缺陷数/需求数;
***测试前严重BUG率=***测试前发现BUG数/BUG数;
BUG平均解决周期=BUG解决周期总数/BUG总数;
BUG一次性解决率=一次性解决BUG数/BUG总数;
单位时间内需求交付数=需求数/实际人月数。
在步骤S104中,通过数据可视化插件将度量结果数据以报表的形式展示。通过Echarts插件将度量数据以报表的形式展示,并通过mail和即使通讯服务将异常指标通知到责任人。如果过程中度量数据存在误差,***则自动将误差反向由输出层传递到输入层,以此来修正度量规则。
本发明依据度量计算,可识别项目过程中的异常状态,及时报警告知到相关人,在进度和质量领域帮助管理人员提升管理效能。
本申请实施例还提供了一种存储介质,即计算机存储介质,具体为计算机可读存储介质,例如包括存储计算机程序的存储器,上述计算机程序可由处理器执行,以完成前述方法所述步骤。计算机可读存储介质可以是FRAM、ROM、PROM、EPROM、EEPROM、Flash Memory、磁表面存储器、光盘、或CD-ROM等存储器。
本领域普通技术人员可以理解:实现上述方法实施例的全部或部分步骤可以通过程序指令相关的硬件来完成,前述的程序可以存储于一计算机可读取存储介质中,该程序在执行时,执行包括上述方法实施例的步骤;而前述的存储介质包括:移动存储设备、ROM、RAM、磁碟或者光盘等各种可以存储程序代码的介质。或者,本申请上述集成的单元如果以软件功能模块的形式实现并作为独立的产品销售或使用时,也可以存储在一个计算机可读取存储介质中。基于这样的理解,本申请实施例的技术方案本质上或者说对现有技术做出贡献的部分可以以软件产品的形式体现出来,该计算机软件产品存储在一个存储介质中,包括若干指令用以使得一台电子设备(可以是个人计算机、服务器、或者网络设备等)执行本申请各个实施例所述方法的全部或部分。而前述的存储介质包括:移动存储设备、ROM、RAM、磁碟或者光盘等各种可以存储程序代码的介质。
本申请实施例提供的一种用于软件研发过程的度量设备和存储介质中相关部分的说明可以参见本申请实施例1提供的一种用于软件研发过程的度量方法中对应部分的详细说明,在此不再赘述。
需要说明的是,在本文中,诸如第一和第二等之类的关系术语仅仅用来将一个实体或者操作与另一个实体或操作区分开来,而不一定要求或者暗示这些实体或操作之间存在任何这种实际的关系或者顺序。而且,术语“包括”、“包含”或者其任何其他变体意在涵盖非排他性的包含,从而使得包括一系列要素的过程、方法、物品或者设备所固有的要素。在没有更多限制的情况下,由语句“包括一个……”限定的要素,并不排除在包括所述要素的过程、方法、物品或者设备中还存在另外的相同要素。另外,本申请实施例提供的上述技术方案中与现有技术中对应技术方案实现原理一致的部分并未详细说明,以免过多赘述。
上述虽然结合附图对本发明的具体实施方式进行了描述,但并非对本发明保护范围的限制。对于所属领域的技术人员来说,在上述说明的基础上还可以做出其它不同形式的修改或变形。这里无需也无法对所有的实施方式予以穷举。在本发明的技术方案的基础上,本领域技术人员不需要付出创造性劳动即可做出的各种修改或变形仍在本发明的保护范围以内。

Claims (7)

1.一种用于软件研发过程的度量方法,其特征在于,包括以下步骤:
连通软件研发过程中使用的管理工具;所述管理工具包括主流项目管理工具、质量管理工具和代码仓库工具;所述连通软件研发过程中使用的管理工具的方法为:通过TCP/IP协议、Web接口或Perl脚本打通软件研发过程中使用的项目管理工具、质量管理工具和仓库代码管理工具;所述主流项目管理工具包括项目管理***、需求管理***和测试用例及缺陷管理***;所述质量管理工具包括代码静态扫描工具、代码安全漏洞扫描工具和代码审查工具;
在所述管理工具连通之后,定时获取所有管理工具中的工具数据;以及将工具数据与项目基础信息进行匹配,实现各***中项目管理数据的关联;所述将工具数据与项目基础信息进行匹配,实现各***中项目管理数据的关联的方法为:采用语义匹配哈希算法对工具数据进行处理得到文本哈希值,通过海明距离判断文本哈希值和项目基础信息文本的相似度,从而实现各***中项目管理数据的关联;
通过对匹配后的数据进行抽取获取度量指标参数,并将度量指标参数与经验库中的阈值进行对比得到度量结果数据,用于识别软件研发过程中***的异常状态;所述通过对匹配后的数据进行抽取获取度量指标参数的方法包括:通过分布式文件***对匹配后的数据依次进行抽取,批处理,整理、清洗得到度量指标参数,并保存在数据库中 。
2.根据权利要求1所述的一种用于软件研发过程的度量方法,其特征在于,所述方法还包括:通过数据可视化插件将度量结果数据以报表的形式展示。
3.根据权利要求1所述的一种用于软件研发过程的度量方法,其特征在于,所述度量指标参数包括代码走查缺陷占比、迭代通过US数、人工代码走查缺陷密度、千行代码缺陷密度、需求缺陷密度、***测试前严重BUG率、BUG平均解决周期、BUG一次性解决率和单位时间内需求交付数。
4.根据权利要求3所述的一种用于软件研发过程的度量方法,其特征在于,所述代码走查缺陷占比=走查缺陷数/BUG数;
所述迭代通过US数=通过US数/计划US数;
所述人工代码走查缺陷密度=人工代码走查缺陷数/千行代码行数;
所述千行代码缺陷密度=BUG数/千行代码行数;
所述需求缺陷密度=需求缺陷数/需求数;
所述***测试前严重BUG率=***测试前发现BUG数/BUG数;
所述BUG平均解决周期=BUG解决周期总数/BUG总数;
所述BUG一次性解决率=一次性解决BUG数/BUG总数;
所述单位时间内需求交付数=需求数/实际人月数。
5.一种用于软件研发过程的度量***,其特征在于,包括连通模块、匹配模块和对比模块;
所述连通模块用于连通软件研发过程中使用的管理工具;所述管理工具包括主流项目管理工具、质量管理工具和代码仓库工具;所述连通软件研发过程中使用的管理工具的方法为:通过TCP/IP协议、Web接口或Perl脚本打通软件研发过程中使用的项目管理工具、质量管理工具和仓库代码管理工具;所述主流项目管理工具包括项目管理***、需求管理***和测试用例及缺陷管理***;所述质量管理工具包括代码静态扫描工具、代码安全漏洞扫描工具和代码审查工具;
所述匹配模块用于在所述管理工具连通之后,定时获取所有管理工具中的工具数据;以及将工具数据与项目基础信息进行匹配,实现各***中项目管理数据的关联;所述将工具数据与项目基础信息进行匹配,实现各***中项目管理数据的关联的方法为:采用语义匹配哈希算法对工具数据进行处理得到文本哈希值,通过海明距离判断文本哈希值和项目基础信息文本的相似度,从而实现各***中项目管理数据的关联;
所述对比模块用于通过对匹配后的数据进行抽取获取度量指标参数,并将度量指标参数与经验库中的阈值进行对比得到度量结果数据,用于识别软件研发过程中***的异常状态;所述通过对匹配后的数据进行抽取获取度量指标参数的方法包括:通过分布式文件***对匹配后的数据依次进行抽取,批处理,整理、清洗得到度量指标参数,并保存在数据库中。
6.一种用于软件研发过程的度量设备,其特征在于,包括:
存储器,用于存储计算机程序;
处理器,用于执行所述计算机程序时实现如权利要求1至4任意一项所述的方法步骤。
7.一种可读存储介质,其特征在于,所述可读存储介质上存储有计算机程序,所述计算机程序被处理器执行时实现如权利要求1至4任意一项所述的方法步骤。
CN202110991524.1A 2021-08-26 2021-08-26 一种用于软件研发过程的度量方法、***、设备和介质 Active CN113780986B (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN202110991524.1A CN113780986B (zh) 2021-08-26 2021-08-26 一种用于软件研发过程的度量方法、***、设备和介质

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN202110991524.1A CN113780986B (zh) 2021-08-26 2021-08-26 一种用于软件研发过程的度量方法、***、设备和介质

Publications (2)

Publication Number Publication Date
CN113780986A CN113780986A (zh) 2021-12-10
CN113780986B true CN113780986B (zh) 2024-02-27

Family

ID=78839768

Family Applications (1)

Application Number Title Priority Date Filing Date
CN202110991524.1A Active CN113780986B (zh) 2021-08-26 2021-08-26 一种用于软件研发过程的度量方法、***、设备和介质

Country Status (1)

Country Link
CN (1) CN113780986B (zh)

Families Citing this family (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN114510431B (zh) * 2022-04-20 2022-07-05 武汉理工大学 一种工作量感知智能合约缺陷预测方法、***及设备
CN114880154A (zh) * 2022-05-30 2022-08-09 中电云数智科技有限公司 一种bug情况定时提醒和统计的方法和***

Citations (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US6519763B1 (en) * 1998-03-30 2003-02-11 Compuware Corporation Time management and task completion and prediction software
CN103577882A (zh) * 2013-11-14 2014-02-12 中国联合网络通信集团有限公司 一种基于uml的量化项目资源控制方法
CN111581104A (zh) * 2020-05-11 2020-08-25 雷涛 一种基于DevOps研发运营一体化的度量方法
CN111596894A (zh) * 2020-04-24 2020-08-28 中国电子产品可靠性与环境试验研究所((工业和信息化部电子第五研究所)(中国赛宝实验室)) 软件需求抽取方法、装置、计算机设备和可读存储介质
CN112559682A (zh) * 2020-12-03 2021-03-26 上海海事大学 基于GitHub软件仓库数据集的开源项目个性化检索推荐方法
CN113204334A (zh) * 2021-05-25 2021-08-03 郭淙苌 一种基于git的软件研发效能度量***

Patent Citations (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US6519763B1 (en) * 1998-03-30 2003-02-11 Compuware Corporation Time management and task completion and prediction software
CN103577882A (zh) * 2013-11-14 2014-02-12 中国联合网络通信集团有限公司 一种基于uml的量化项目资源控制方法
CN111596894A (zh) * 2020-04-24 2020-08-28 中国电子产品可靠性与环境试验研究所((工业和信息化部电子第五研究所)(中国赛宝实验室)) 软件需求抽取方法、装置、计算机设备和可读存储介质
CN111581104A (zh) * 2020-05-11 2020-08-25 雷涛 一种基于DevOps研发运营一体化的度量方法
CN112559682A (zh) * 2020-12-03 2021-03-26 上海海事大学 基于GitHub软件仓库数据集的开源项目个性化检索推荐方法
CN113204334A (zh) * 2021-05-25 2021-08-03 郭淙苌 一种基于git的软件研发效能度量***

Non-Patent Citations (2)

* Cited by examiner, † Cited by third party
Title
基于特征相似的软件缺陷排除方法;张灿;赵逢禹;;计算机应用与软件(11);全文 *
软件项目缺陷度量***的构建;郭超;;数字通信世界(03);全文 *

Also Published As

Publication number Publication date
CN113780986A (zh) 2021-12-10

Similar Documents

Publication Publication Date Title
US20220103444A1 (en) Methods and systems for predicting time of server failure using server logs and time-series data
CN113780986B (zh) 一种用于软件研发过程的度量方法、***、设备和介质
CN110928718A (zh) 一种基于关联分析的异常处理方法、***、终端及介质
US20130055042A1 (en) Data quality analysis and management system
CN112445875B (zh) 数据关联及检验方法、装置、电子设备及存储介质
EP4141760A1 (en) Service management control platform
US10365945B2 (en) Clustering based process deviation detection
US20120150825A1 (en) Cleansing a Database System to Improve Data Quality
CN112308126A (zh) 故障识别模型训练方法、故障识别方法、装置及电子设备
CN113228006A (zh) 检测连续事件中的异常的装置和方法及其计算机程序产品
CN111427974A (zh) 数据质量评估管理方法和装置
JP2023026399A (ja) システム、コンピュータ実装方法およびコンピュータプログラム(外乱事象の事故またはチケットへの関連付け)
CN114358854A (zh) 客户流失预警方法、装置、设备及存储介质
US20210142233A1 (en) Systems and methods for process mining using unsupervised learning
Hou Financial Abnormal Data Detection System Based on Reinforcement Learning
CN113934595A (zh) 数据分析方法及***、存储介质及电子终端
Mishra et al. Multi release cost model—a new perspective
CN113590825A (zh) 文本质检方法、装置及相关设备
CN113537519A (zh) 一种识别异常设备的方法和装置
CN117971606B (zh) 基于ElasticSearch的日志管理***及方法
CN113392185B (zh) 舆情预警方法、装置、设备及存储介质
US20240064161A1 (en) Log anomaly detection using temporal-attentive dynamic graphs
CN114926214B (zh) 基于模型构建的产品定价方法、装置、设备及存储介质
US20230409421A1 (en) Anomaly detection in computer systems
CN116681968A (zh) 基于图对比的故障根因分析方法、装置、设备及介质

Legal Events

Date Code Title Description
PB01 Publication
PB01 Publication
SE01 Entry into force of request for substantive examination
SE01 Entry into force of request for substantive examination
GR01 Patent grant
GR01 Patent grant