CN110888625A - 基于需求变更和项目风险对代码质量进行控制的方法 - Google Patents
基于需求变更和项目风险对代码质量进行控制的方法 Download PDFInfo
- Publication number
- CN110888625A CN110888625A CN201911071046.1A CN201911071046A CN110888625A CN 110888625 A CN110888625 A CN 110888625A CN 201911071046 A CN201911071046 A CN 201911071046A CN 110888625 A CN110888625 A CN 110888625A
- Authority
- CN
- China
- Prior art keywords
- project
- influence
- data
- code quality
- change
- 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.)
- Granted
Links
Images
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F8/00—Arrangements for software engineering
- G06F8/10—Requirements analysis; Specification techniques
Landscapes
- Engineering & Computer Science (AREA)
- General Engineering & Computer Science (AREA)
- Theoretical Computer Science (AREA)
- Software Systems (AREA)
- Physics & Mathematics (AREA)
- General Physics & Mathematics (AREA)
- Management, Administration, Business Operations System, And Electronic Commerce (AREA)
- Stored Programmes (AREA)
Abstract
本申请涉及一种基于需求变更和项目风险对代码质量进行控制的方法、装置、计算机设备和存储介质,该方法包括:当项目需求发生变更时,分析需求变更类别;对项目的代码质量进行分析,获取代码质量分析结果;对项目风险进行分类与识别,确定项目的风险类别;将需求变更类别、代码质量分析结果和项目的风险类别输入关系变动强度模型和影响强度模型,得到需求变更类别、代码质量及项目风险之间的关系数据;根据关系数据确定需求变更和项目风险对代码质量的影响结果;根据影响结果确定项目需求,并根据影响结果对项目风险进行监控。本申请的方案能够消除不确定性和主观性。
Description
技术领域
本申请涉及软件项目管理技术领域,特别是涉及一种基于需求变更和项目风险对代码质量进行控制的方法、装置、计算机设备和存储介质。
背景技术
随着软件项目管理技术的发展,在软件项目开发过程中,一个软件项目中有许多的需求,例如功能需求、安全需求、性能需求、界面需求、通信需求等,每种需求如果发生变更,都会对软件项目的建设过程有一定的影响,从而对项目进度、项目质量、项目成本等项目风险产生相应的影响。
需求变更、软件质量与项目风险之间存在隐性的复杂关系,但始终没有一套可以度量三者之间隐性复杂关系的衡量标准来实现代码质量的控制,在实际的项目建设过程中,代码质量控制过程对管理人员依赖很大,带有很强的不确定性和主观性。
发明内容
基于此,有必要针对上述技术问题,提供一种能够消除不确定性和主观性的基于需求变更和项目风险对代码质量进行控制的方法、装置、计算机设备和存储介质。
一种基于需求变更和项目风险对代码质量进行控制的方法,所述方法包括:
当项目需求发生变更时,分析需求变更类别;
对项目的代码质量进行分析,获取代码质量分析结果;
对项目风险进行分类与识别,确定项目的风险类别;
将所述需求变更类别、代码质量分析结果和项目的风险类别输入关系变动强度模型和影响强度模型,得到需求变更类别、代码质量及项目风险之间的关系数据;
根据所述关系数据确定需求变更和项目风险对代码质量的影响结果;
根据所述影响结果确定项目需求,并根据所述影响结果对项目风险进行监控。
在其中一个实施例中,还包括:对训练数据中的需求变更类别进行分析,获取需求变更影响类别权重列表;对训练数据中项目的代码质量进行分析,获取相关代码质量维度的度量指标;对训练数据中的项目风险进行分类与识别,获取项目风险分类列表;根据所述需求变更影响类别权重列表、所述相关代码质量维度的度量指标以及所述项目风险分类列表,建立初始关系矩阵;根据初始关系矩阵得到关系理论数据,根据所述关系理论数据与关系实际数据的偏差,对初始关系矩阵进行持续修正,得到关系变动强度模型。
在其中一个实施例中,还包括:确定所述关系理论数据与关系实际数据之间的差异值;当所述关系理论数据与关系实际数据之间的差异值小于预定限值时,停止修正,得到关系变动强度模型。
在其中一个实施例中,还包括:根据所述需求变更影响类别权重列表、所述相关代码质量维度的度量指标以及所述项目风险分类列表,建立初始强度模型;根据初始强度模型得到强度理论数据,根据所述强度理论数据与强度实际数据的偏差,对初始强度模型进行持续修正,得到影响强度模型。
在其中一个实施例中,还包括:确定所述强度理论数据与强度实际数据之间的差异值;当所述强度理论数据与强度实际数据之间的差异值小于预定限值时,停止修正,得到影响强度模型。
在其中一个实施例中,还包括:获取需求变更类别的频率和数量;根据需求变更类别的频率和数量,确定需求变更类别对项目的影响权重;根据需求变更类别的频率、数量和影响权重,建立需求变更影响类别权重列表。
在其中一个实施例中,还包括:根据需求变更类别、代码质量及项目风险之间的关系数据,确定需求变更类别之间的影响结果、需求变更对代码质量的影响结果、需求变更对项目风险的影响结果、代码质量对项目风险的影响结果、项目风险之间的影响结果,并进行汇总记录。
一种基于需求变更和项目风险对代码质量进行控制的装置,所述装置包括:
获取项目数据模块,用于当项目需求发生变更时,分析需求变更类别;对项目的代码质量进行分析,获取代码质量分析结果;对项目风险进行分类与识别,确定项目的风险类别;
得到关系数据模块,用于将所述需求变更类别、代码质量分析结果和项目的风险类别输入关系变动强度模型、影响强度模型,得到需求变更类别、代码质量及项目风险之间的关系数据;
确定影响结果模块,用于根据所述关系数据确定需求变更和项目风险对代码质量的影响结果;
控制代码质量模块,用于根据所述影响结果确定项目需求,并根据所述影响结果对项目风险进行监控。
一种计算机设备,包括存储器、处理器及存储在存储器上并可在处理器上运行的计算机程序,所述处理器执行所述计算机程序时实现以下步骤:
当项目需求发生变更时,分析需求变更类别;
对项目的代码质量进行分析,获取代码质量分析结果;
对项目风险进行分类与识别,确定项目的风险类别;
将所述需求变更类别、代码质量分析结果和项目的风险类别输入关系变动强度模型和影响强度模型,得到需求变更类别、代码质量及项目风险之间的关系数据;
根据所述关系数据确定需求变更和项目风险对代码质量的影响结果;
根据所述影响结果确定项目需求,并根据所述影响结果对项目风险进行监控。
一种计算机可读存储介质,其上存储有计算机程序,所述计算机程序被处理器执行时实现以下步骤:
当项目需求发生变更时,分析需求变更类别;
对项目的代码质量进行分析,获取代码质量分析结果;
对项目风险进行分类与识别,确定项目的风险类别;
将所述需求变更类别、代码质量分析结果和项目的风险类别输入关系变动强度模型和影响强度模型,得到需求变更类别、代码质量及项目风险之间的关系数据;
根据所述关系数据确定需求变更和项目风险对代码质量的影响结果;
根据所述影响结果确定项目需求,并根据所述影响结果对项目风险进行监控。
上述基于需求变更和项目风险对代码质量进行控制的方法、装置、计算机设备和存储介质,通过获取项目需求变更类别、代码质量、项目风险三者的数据,根据关系变动强度模型和影响强度模型,得到需求变更类别、代码质量、项目风险之间关系的影响权重结果,根据影响权重结果确定项目需求,并且对项目风险进行监控。该方法通过需求变更、代码质量、项目风险三者关系的科学系统的度量指标与计算推演模型,实现更好的代码质量控制过程,实现良好的知识复用,减少了对管理人员的依赖,消除了不确定性和主观性。
附图说明
图1为一个实施例中基于需求变更和项目风险对代码质量进行控制的方法的应用场景图;
图2为一个实施例中基于需求变更和项目风险对代码质量进行控制的方法的流程示意图;
图3为一个实施例中建立关系变动强度模型的流程示意图;
图4为一个实施例中建立影响强度模型的流程示意图;
图5为一个实施例中基于需求变更和项目风险对代码质量进行控制的装置的结构框图;
图6为一个实施例中计算机设备的内部结构图。
具体实施方式
为了使本申请的目的、技术方案及优点更加清楚明白,以下结合附图及实施例,对本申请进行进一步详细说明。应当理解,此处描述的具体实施例仅仅用以解释本申请,并不用于限定本申请。
本申请提供的基于需求变更和项目风险对代码质量进行控制的方法,可以应用于如图1所示的应用环境中。其中,终端102通过网络与服务器104进行通信。具体地,终端102从服务器104获取项目数据中的需求变更类别、代码质量分析结果和项目风险类别,终端102将获取的相关项目数据输入关系变动强度模型和影响强度模型,得到需求变更类别、代码质量及项目风险之间的关系数据,终端102根据关系数据确定需求变更和项目风险对代码质量的影响结果,根据影响结果确定项目需求,对项目风险进行监控。其中,终端102可以但不限于是各种个人计算机、笔记本电脑、智能手机、平板电脑和便携式可穿戴设备,服务器104可以用独立的服务器或者是多个服务器组成的服务器集群来实现。
在一个实施例中,如图2所示,提供了一种基于需求变更和项目风险对代码质量进行控制的方法,以该方法应用于图1中的终端为例进行说明,包括以下步骤:
步骤S210,当项目需求发生变更时,分析需求变更类别。
其中,项目需求为一个软件项目开发过程中各个功能模块的需求,例如功能需求、安全需求、性能需求、界面需求和通信需求等。需求变更类别为发生变更的需求类别,可以通过需求类别列表的列表内容的改变而确定。
具体地,需求类别具体包括功能性需求与非功能性需求,其中,根据ISO9126软件质量模型中的功能性需求包括适应性、准确性、互操作性、保密安全性、功能性和依从性等,非功能性需求包括可靠性、易用性、效率、维护性和可移植性,其中,可靠性包括成熟性、容错性和易恢复性等,易用性包括易理解性、易学性、易操作性和吸引性等,效率包括时间特性和资源利用性等,维护性包括易分析性、易改变性和易测试性等,可移植性包括适应性、易安装性、共存性和易替换性等。根据McCall软件质量模型可分成三个方面,包括产品运行、产品修改和产品转移,其中,产品运行包括正确性、健壮性、效率、完整性、可用性和风险,产品修改包括可理解性、可维修性、灵活性和可测试性,产品转移包括可移植性、可再用性和互运行性。当项目需求发生变更时,从这两个模型中可以根据实际项目中发生变化的需求进行细化与分类,并对细化与分类出来的每一项需求对于代码质量和项目风险的影响大小进行评估打分。
步骤S220,对项目的代码质量进行分析,获取代码质量分析结果。
具体地,当项目需求发生变更时,项目的代码质量可以从软件组质量模型中进行过滤与选取,甄选出用于衡量代码质量的类别和指标,然后对每一项影响代码质量的类别或指标进行评估与打分,并给出与项目风险的影响程度进行百分比分值评估,得到代码质量分析结果。其中,代码质量主要根据ISO/IEC9126软件质量模型、CISQ代码质量度量标准、McCall软件质量模型等软件质量模型中的相关内容进行过滤与抽取,获取相关代码质量维度的相关度量指标,具体内容包括代码度量指标名称、贡献度和质量影响因子等。
步骤S230,对项目风险进行分类与识别,确定项目的风险类别。
其中,项目风险根据PMP中对项目风险进行分类与识别,这里主要关注项目进度、项目质量和项目成本相关的风险项,将以上风险项确定为项目的风险类别。
步骤S240,将需求变更类别、代码质量分析结果和项目的风险类别输入关系变动强度模型和影响强度模型,得到需求变更类别、代码质量及项目风险之间的关系数据。
具体地,当项目需求发生变更时,将需求变更类别名称、代码质量分析结果和项目的风险类别名称输入关系变动强度模型和影响强度模型,得到需求变更类别、代码质量及项目风险三者之间的关系数据。其中,关系数据为需求变更类别、代码质量及项目风险三者之间的关系关联程度,包括因为一个维度的变动导致的另一个维度的变动的计算权重和因为一个维度的变动对另一个维度的影响时的计算权重,其中维度包括需求变更类别、代码质量及项目风险三个维度。
步骤S250,根据关系数据确定需求变更和项目风险对代码质量的影响结果。
影响结果包括需求变更对代码质量的影响结果以及项目风险对代码质量的影响结果,其中,根据关系数据确定影响结果的计算可以参考模糊数学中的隶属函数进行计算,计算的结果具体表现形式为取值在0至1之间的数值,即影响权重值。
步骤S260,根据影响结果确定项目需求,并根据影响结果对项目风险进行监控。
根据需求变更对代码质量的影响结果确定项目需求,其中,每个项目需求对代码质量的影响权重值不同,根据不同的权重值决定是否要对项目的代码进行修改,修改的程度也取决于需求变更对代码质量的影响结果,即变更需求对代码质量的影响权重值。根据项目风险对代码质量的影响结果对项目风险进行监控,例如,对项目风险中的项目成本进行监控,当项目成本达到设定成本阈值时,采取对代码的相应处理,实现代码质量的控制。
可优化地,可以预先设置不同等级的影响权重阈值,当需求变更对代码质量的影响结果或者项目风险对代码质量的影响结果中的任意一种达到相应的不同等级的影响权重阈值时,对代码做出不同程度水平的处理,实现效率和成本的最优化。
上述基于需求变更和项目风险对代码质量进行控制的方法中,通过获取项目需求变更类别、代码质量、项目风险三者的数据,根据关系变动强度模型和影响强度模型,得到需求变更类别、代码质量、项目风险之间关系的影响权重结果,根据影响权重结果确定项目需求,并且对项目风险进行监控。该方法通过需求变更、代码质量、项目风险三者关系的科学系统的度量指标与计算推演模型,实现更好的代码质量控制过程,实现良好的知识复用,减少了对管理人员的依赖,消除了不确定性和主观性。
在一个实施例中,如图3所示,建立关系变动强度模型的方式,包括以下步骤:
步骤S310,对训练数据中的需求变更类别进行分析,获取需求变更影响类别权重列表。
其中,训练数据是通过服务器获取的一段时间内的有关项目需求、项目代码质量以及项目风险的实际项目数据。需求变更影响类别权重列表主要内容包括需求变更类别名称、频率、数量、权重、影响范围等。
在一个实施例中,获取需求变更影响类别权重列表包括:获取需求变更类别的频率和数量;根据需求变更类别的频率和数量,确定需求变更类别对项目的影响权重;根据需求变更类别的频率、数量和影响权重,建立需求变更影响类别权重列表。
具体地,需求变更类别的频率和数量可以通过程序统计与计算的方式获取,统计与计算的依据是一段时间内提交的需求变更申请报告。影响权重可以从ISO9126软件质量模型和McCall软件质量模型两个模型中,根据实际项目的需求进行细化与分类,获取对细化与分类出来的每一项需求对于代码质量和项目风险的影响评估分值,从而得到影响权重。
步骤S320,对训练数据中项目的代码质量进行分析,获取相关代码质量维度的度量指标。
其中,相关代码质量维度的度量指标的具体内容包括代码度量指标名称、贡献度和质量影响因子等。具体地,相关代码质量维度的度量指标可以从ISO9126软件质量模型和McCall软件质量模型等软件质量模型中进行过滤与选取,甄别出用于衡量相关代码质量的类别与指标,获取对每一项影响相关代码质量的类别与指标的评估分值。该评估分值可以是百分值、分数、小数等形式。
步骤S330,对训练数据中的项目风险进行分类与识别,获取项目风险分类列表。
其中,项目风险分类列表除了项目风险类别外,还包括从软件质量模型中进行过滤与选取,甄别出用于衡量相关代码质量的类别与指标,获取代码质量和需求变更对项目风险的影响程度的评估分值。该评估分值可以是百分值、分数、小数等形式。
步骤S340,根据需求变更影响类别权重列表、相关代码质量维度的度量指标以及项目风险分类列表,建立初始关系矩阵。
具体地,根据需求变更影响类别权重列表中的相关内容、相关代码质量维度的相关度量指标以及项目风险分类列表中的相关内容,建立初始关系矩阵。其中,初始关系矩阵是关系变动强度模型的初始模型。关系变动强度模型服务于后续关系数据计算中的因为一个维度的变动导致的另一个维度的变动时的计算权重。
步骤S350,根据初始关系矩阵得到关系理论数据,根据关系理论数据与关系实际数据的偏差,对初始关系矩阵进行持续修正,得到关系变动强度模型。
其中,关系理论数据是根据初始关系矩阵得到的数据,关系实际数据是实际项目中有关项目需求、代码质量以及项目风险的各个维度的各项相关数据。例如,实际项目中,代码质量中的软件测试bug(程序漏洞)数目为100个,即关系实际数据为100个,而通过初试关系矩阵得出的结果是60个,则两者的偏差数目为40个。
具体地,利用上一步骤建立的初始关系矩阵中的分值,并结合相应的概率分布函数,进行分析,并根据计算出来的结果与实际项目中采集的各项数据做差异分析,并利用差异分析的结果修正上述建立的初始关系矩阵中的各项相关分值,使计算结果逐次逼近实际项目中采集的各项数据分析之后得到的结果,通过持续地对初始关系矩阵的修正过程,得到最终的关系变动强度模型。修正过程可以利用最小二乘法,得到与关系实际数据偏差最小的关系隶属函数,即最终的关系变动强度模型。
本实施例中,通过建立关系变动强度模型,便于后续计算因为一方的变动导致的另一方的变动时的计算权重,实现良好的知识复用和持续优化学习。
在一个实施例中,根据关系理论数据与关系实际数据的偏差,对初始关系矩阵进行持续修正,得到关系变动强度模型,包括:确定关系理论数据与关系实际数据之间的差异值;当关系理论数据与关系实际数据之间的差异值小于预定限值时,停止修正,得到关系变动强度模型。
具体地,当关系理论数据与关系实际数据之间的差异值小于预定限值时,停止对初试关系矩阵的修正过程,其中,预定限值可以是系统或者用户设定,可以是5%~10%。例如,当关系实际数据与关系理论数据的差异值为20%时,对关系理论数据进行持续的修正,直至差异值小于预定限值,如5%时,停止对初始关系矩阵的修正过程,得到关系变动强度模型。
本实施例中,通过设定修正过程的预定限值,可以得到符合要求误差范围内的最精准的关系变动强度模型,使得到的关系数据更为准确,有利于实现较高的准确率和时间成本的最优化。
在一个实施例中,如图4所示,建立影响强度模型的方式,包括以下步骤:
步骤S410,对训练数据中的需求变更类别进行分析,获取需求变更影响类别权重列表。
步骤S420,对训练数据中项目的代码质量进行分析,获取相关代码质量维度的度量指标。
步骤S430,对训练数据中的项目风险进行分类与识别,获取项目风险分类列表。
步骤S440,根据需求变更影响类别权重列表、相关代码质量维度的度量指标以及项目风险分类列表,建立初始强度模型。
具体地,根据需求变更影响类别权重列表中的影响权重值、相关代码质量维度的相关度量指标以及项目风险分类列表中的相关内容,建立初始强度模型。其中,初始强度模型是影响强度模型的初始模型。影响强度模型服务于后续关系数据计算中的因为一个维度的变动对另一个维度的影响时的计算权重。
步骤S450,根据初始强度模型得到强度理论数据,根据强度理论数据与强度实际数据的偏差,对初始强度模型进行持续修正,得到影响强度模型。
其中,强度理论数据是根据初始强度模型得到的数据,强度实际数据是实际项目中有关项目需求、代码质量以及项目风险的各个维度之间相互的各项影响强度数据。初始强度模型可以包括需求变更类别之间的初始强度模型、需求变更对代码质量的初始强度模型、需求变更对项目风险的初始强度模型、代码质量对项目风险的初始强度模型、项目风险之间的初始强度模型。
进一步地,对上述各个初始强度模型进行持续修正,得到相应的各个影响强度模型。影响强度模型可以包括需求变更类别之间的影响强度模型、需求变更对代码质量的影响强度模型、需求变更对项目风险的影响强度模型、代码质量对项目风险的影响强度模型、项目风险之间的影响强度模型。修正过程可以利用最小二乘法,得到与强度实际数据偏差最小的影响隶属函数,即最终的影响强度模型。
本实施例中,通过建立影响强度模型,便于后续计算因为一方的变动对另一方的影响时的计算权重,实现良好的知识复用和持续优化学习。
在一个实施例中,根据强度理论数据与强度实际数据的偏差,对初始强度模型进行持续修正,得到影响强度模型,包括:确定强度理论数据与强度实际数据之间的差异值;当强度理论数据与强度实际数据之间的差异值小于预定限值时,停止修正,得到影响强度模型。
本实施例中,通过设定修正过程的预定限值,可以得到符合要求误差范围内的最精准的影响强度模型,使得到的关系数据更为准确,实现较高的准确率和时间成本的最优化。
在一个实施例中,根据关系数据确定需求变更和项目风险对代码质量的影响结果,包括:根据需求变更类别、代码质量及项目风险之间的关系数据,确定需求变更类别之间的影响结果、需求变更对代码质量的影响结果、需求变更对项目风险的影响结果、代码质量对项目风险的影响结果、项目风险之间的影响结果,并进行汇总记录。
其中,汇总记录是将影响结果以报告或报表的形式进行存储记录,方便下一个项目发生需求变更时,可以直接使用该关系数据确定需求变更和项目风险对代码质量的影响结果。
本实施例中,通过关系变动强度模型和影响强度模型得到较为准确的关系数据,确定需求变更和项目风险对代码质量的影响结果,从而实现更好的对代码质量的控制。
应该理解的是,虽然图2-4的流程图中的各个步骤按照箭头的指示依次显示,但是这些步骤并不是必然按照箭头指示的顺序依次执行。除非本文中有明确的说明,这些步骤的执行并没有严格的顺序限制,这些步骤可以以其它的顺序执行。而且,图2-4中的至少一部分步骤可以包括多个子步骤或者多个阶段,这些子步骤或者阶段并不必然是在同一时刻执行完成,而是可以在不同的时刻执行,这些子步骤或者阶段的执行顺序也不必然是依次进行,而是可以与其它步骤或者其它步骤的子步骤或者阶段的至少一部分轮流或者交替地执行。
在一个实施例中,如图5所示,提供了一种基于需求变更和项目风险对代码质量进行控制的装置,包括:获取项目数据模块501、得到关系数据模块502、确定影响结果模块503和控制代码质量模块504,其中:
获取项目数据模块501,用于当项目需求发生变更时,分析需求变更类别;对项目的代码质量进行分析,获取代码质量分析结果;对项目风险进行分类与识别,确定项目的风险类别。
得到关系数据模块502,用于将需求变更类别、代码质量分析结果和项目的风险类别输入关系变动强度模型、影响强度模型,得到需求变更类别、代码质量及项目风险之间的关系数据。
确定影响结果模块503,用于根据关系数据确定需求变更和项目风险对代码质量的影响结果。
控制代码质量模块504,用于根据影响结果确定项目需求,并根据影响结果对项目风险进行监控。
在一个实施例中,得到关系数据模块502用于对训练数据中的需求变更类别进行分析,获取需求变更影响类别权重列表;对训练数据中项目的代码质量进行分析,获取相关代码质量维度的度量指标;对训练数据中的项目风险进行分类与识别,获取项目风险分类列表;根据需求变更影响类别权重列表、相关代码质量维度的度量指标以及项目风险分类列表,建立初始关系矩阵;根据初始关系矩阵得到关系理论数据,根据关系理论数据与关系实际数据的偏差,对初始关系矩阵进行持续修正,得到关系变动强度模型。
在一个实施例中,得到关系数据模块502用于确定关系理论数据与关系实际数据之间的差异值;当关系理论数据与关系实际数据之间的差异值小于预定限值时,停止修正,得到关系变动强度模型。
在一个实施例中,得到关系数据模块502用于根据需求变更影响类别权重列表、相关代码质量维度的度量指标以及项目风险分类列表,建立初始强度模型;根据初始强度模型得到强度理论数据,根据强度理论数据与强度实际数据的偏差,对初始强度模型进行持续修正,得到影响强度模型。
在一个实施例中,得到关系数据模块502用于确定强度理论数据与强度实际数据之间的差异值;当强度理论数据与强度实际数据之间的差异值小于预定限值时,停止修正,得到影响强度模型。
在一个实施例中,得到关系数据模块502用于获取需求变更类别的频率和数量;根据需求变更类别的频率和数量,确定需求变更类别对项目的影响权重;根据需求变更类别的频率、数量和影响权重,建立需求变更影响类别权重列表。
在一个实施例中,确定影响结果模块503用于根据需求变更类别、代码质量及项目风险之间的关系数据,确定需求变更类别之间的影响结果、需求变更对代码质量的影响结果、需求变更对项目风险的影响结果、代码质量对项目风险的影响结果、项目风险之间的影响结果,并进行汇总记录。
关于基于需求变更和项目风险对代码质量进行控制的装置的具体限定可以参见上文中对于基于需求变更和项目风险对代码质量进行控制的方法的限定,在此不再赘述。上述基于需求变更和项目风险对代码质量进行控制的装置中的各个模块可全部或部分通过软件、硬件及其组合来实现。上述各模块可以硬件形式内嵌于或独立于计算机设备中的处理器中,也可以以软件形式存储于计算机设备中的存储器中,以便于处理器调用执行以上各个模块对应的操作。
在一个实施例中,提供了一种计算机设备,该计算机设备可以是终端,其内部结构图可以如图6所示。该计算机设备包括通过系统总线连接的处理器、存储器、网络接口、显示屏和输入装置。其中,该计算机设备的处理器用于提供计算和控制能力。该计算机设备的存储器包括非易失性存储介质、内存储器。该非易失性存储介质存储有操作系统和计算机程序。该内存储器为非易失性存储介质中的操作系统和计算机程序的运行提供环境。该计算机设备的网络接口用于与外部的终端通过网络连接通信。该计算机程序被处理器执行时以实现一种基于需求变更和项目风险对代码质量进行控制的方法。该计算机设备的显示屏可以是液晶显示屏或者电子墨水显示屏,该计算机设备的输入装置可以是显示屏上覆盖的触摸层,也可以是计算机设备外壳上设置的按键、轨迹球或触控板,还可以是外接的键盘、触控板或鼠标等。
本领域技术人员可以理解,图6中示出的结构,仅仅是与本申请方案相关的部分结构的框图,并不构成对本申请方案所应用于其上的计算机设备的限定,具体的计算机设备可以包括比图中所示更多或更少的部件,或者组合某些部件,或者具有不同的部件布置。
在一个实施例中,提供了一种计算机设备,包括存储器、处理器及存储在存储器上并可在处理器上运行的计算机程序,处理器执行计算机程序时实现以下步骤:
当项目需求发生变更时,分析需求变更类别;
对项目的代码质量进行分析,获取代码质量分析结果;
对项目风险进行分类与识别,确定项目的风险类别;
将需求变更类别、代码质量分析结果和项目的风险类别输入关系变动强度模型和影响强度模型,得到需求变更类别、代码质量及项目风险之间的关系数据;
根据关系数据确定需求变更和项目风险对代码质量的影响结果;
根据影响结果确定项目需求,并根据影响结果对项目风险进行监控。
在一个实施例中,处理器执行计算机程序时还实现以下步骤:对训练数据中的需求变更类别进行分析,获取需求变更影响类别权重列表;对训练数据中项目的代码质量进行分析,获取相关代码质量维度的度量指标;对训练数据中的项目风险进行分类与识别,获取项目风险分类列表;根据需求变更影响类别权重列表、相关代码质量维度的度量指标以及项目风险分类列表,建立初始关系矩阵;根据初始关系矩阵得到关系理论数据,根据关系理论数据与关系实际数据的偏差,对初始关系矩阵进行持续修正,得到关系变动强度模型。
在一个实施例中,处理器执行计算机程序时还实现以下步骤:确定关系理论数据与关系实际数据之间的差异值;当关系理论数据与关系实际数据之间的差异值小于预定限值时,停止修正,得到关系变动强度模型。
在一个实施例中,处理器执行计算机程序时还实现以下步骤:根据需求变更影响类别权重列表、相关代码质量维度的度量指标以及项目风险分类列表,建立初始强度模型;根据初始强度模型得到强度理论数据,根据强度理论数据与强度实际数据的偏差,对初始强度模型进行持续修正,得到影响强度模型。
在一个实施例中,处理器执行计算机程序时还实现以下步骤:确定强度理论数据与强度实际数据之间的差异值;当强度理论数据与强度实际数据之间的差异值小于预定限值时,停止修正,得到影响强度模型。
在一个实施例中,处理器执行计算机程序时还实现以下步骤:获取需求变更类别的频率和数量;根据需求变更类别的频率和数量,确定需求变更类别对项目的影响权重;根据需求变更类别的频率、数量和影响权重,建立需求变更影响类别权重列表。
在一个实施例中,处理器执行计算机程序时还实现以下步骤:根据需求变更类别、代码质量及项目风险之间的关系数据,确定需求变更类别之间的影响结果、需求变更对代码质量的影响结果、需求变更对项目风险的影响结果、代码质量对项目风险的影响结果、项目风险之间的影响结果,并进行汇总记录。
在一个实施例中,提供了一种计算机可读存储介质,其上存储有计算机程序,计算机程序被处理器执行时实现以下步骤:
当项目需求发生变更时,分析需求变更类别;
对项目的代码质量进行分析,获取代码质量分析结果;
对项目风险进行分类与识别,确定项目的风险类别;
将需求变更类别、代码质量分析结果和项目的风险类别输入关系变动强度模型和影响强度模型,得到需求变更类别、代码质量及项目风险之间的关系数据;
根据关系数据确定需求变更和项目风险对代码质量的影响结果;
根据影响结果确定项目需求,并根据影响结果对项目风险进行监控。
在一个实施例中,计算机程序被处理器执行时还实现以下步骤:对训练数据中的需求变更类别进行分析,获取需求变更影响类别权重列表;对训练数据中项目的代码质量进行分析,获取相关代码质量维度的度量指标;对训练数据中的项目风险进行分类与识别,获取项目风险分类列表;根据需求变更影响类别权重列表、相关代码质量维度的度量指标以及项目风险分类列表,建立初始关系矩阵;根据初始关系矩阵得到关系理论数据,根据关系理论数据与关系实际数据的偏差,对初始关系矩阵进行持续修正,得到关系变动强度模型。
在一个实施例中,计算机程序被处理器执行时还实现以下步骤:确定关系理论数据与关系实际数据之间的差异值;当关系理论数据与关系实际数据之间的差异值小于预定限值时,停止修正,得到关系变动强度模型。
在一个实施例中,计算机程序被处理器执行时还实现以下步骤:根据需求变更影响类别权重列表、相关代码质量维度的度量指标以及项目风险分类列表,建立初始强度模型;根据初始强度模型得到强度理论数据,根据强度理论数据与强度实际数据的偏差,对初始强度模型进行持续修正,得到影响强度模型。
在一个实施例中,计算机程序被处理器执行时还实现以下步骤:确定强度理论数据与强度实际数据之间的差异值;当强度理论数据与强度实际数据之间的差异值小于预定限值时,停止修正,得到影响强度模型。
在一个实施例中,计算机程序被处理器执行时还实现以下步骤:获取需求变更类别的频率和数量;根据需求变更类别的频率和数量,确定需求变更类别对项目的影响权重;根据需求变更类别的频率、数量和影响权重,建立需求变更影响类别权重列表。
在一个实施例中,计算机程序被处理器执行时还实现以下步骤:根据需求变更类别、代码质量及项目风险之间的关系数据,确定需求变更类别之间的影响结果、需求变更对代码质量的影响结果、需求变更对项目风险的影响结果、代码质量对项目风险的影响结果、项目风险之间的影响结果,并进行汇总记录。
本领域普通技术人员可以理解实现上述实施例方法中的全部或部分流程,是可以通过计算机程序来指令相关的硬件来完成,所述的计算机程序可存储于一非易失性计算机可读取存储介质中,该计算机程序在执行时,可包括如上述各方法的实施例的流程。其中,本申请所提供的各实施例中所使用的对存储器、存储、数据库或其它介质的任何引用,均可包括非易失性和/或易失性存储器。非易失性存储器可包括只读存储器(ROM)、可编程ROM(PROM)、电可编程ROM(EPROM)、电可擦除可编程ROM(EEPROM)或闪存。易失性存储器可包括随机存取存储器(RAM)或者外部高速缓冲存储器。作为说明而非局限,RAM以多种形式可得,诸如静态RAM(SRAM)、动态RAM(DRAM)、同步DRAM(SDRAM)、双数据率SDRAM(DDRSDRAM)、增强型SDRAM(ESDRAM)、同步链路(Synchlink)DRAM(SLDRAM)、存储器总线(Rambus)直接RAM(RDRAM)、直接存储器总线动态RAM(DRDRAM)、以及存储器总线动态RAM(RDRAM)等。
以上实施例的各技术特征可以进行任意的组合,为使描述简洁,未对上述实施例中的各个技术特征所有可能的组合都进行描述,然而,只要这些技术特征的组合不存在矛盾,都应当认为是本说明书记载的范围。
以上实施例仅表达了本申请的几种实施方式,其描述较为具体和详细,但并不能因此而理解为对发明专利范围的限制。应当指出的是,对于本领域的普通技术人员来说,在不脱离本申请构思的前提下,还可以做出若干变形和改进,这些都属于本申请的保护范围。因此,本申请专利的保护范围应以所附权利要求为准。
Claims (10)
1.一种基于需求变更和项目风险对代码质量进行控制的方法,所述方法包括:
当项目需求发生变更时,分析需求变更类别;
对项目的代码质量进行分析,获取代码质量分析结果;
对项目风险进行分类与识别,确定项目的风险类别;
将所述需求变更类别、代码质量分析结果和项目的风险类别输入关系变动强度模型和影响强度模型,得到需求变更类别、代码质量及项目风险之间的关系数据;
根据所述关系数据确定需求变更和项目风险对代码质量的影响结果;
根据所述影响结果确定项目需求,并根据所述影响结果对项目风险进行监控。
2.根据权利要求1所述的方法,其特征在于,建立所述关系变动强度模型的方式,包括:
对训练数据中的需求变更类别进行分析,获取需求变更影响类别权重列表;
对训练数据中项目的代码质量进行分析,获取相关代码质量维度的度量指标;
对训练数据中的项目风险进行分类与识别,获取项目风险分类列表;
根据所述需求变更影响类别权重列表、所述相关代码质量维度的度量指标以及所述项目风险分类列表,建立初始关系矩阵;
根据初始关系矩阵得到关系理论数据,根据所述关系理论数据与关系实际数据的偏差,对初始关系矩阵进行持续修正,得到关系变动强度模型。
3.根据权利要求2所述的方法,其特征在于,根据所述关系理论数据与关系实际数据的偏差,对初始关系矩阵进行持续修正,得到关系变动强度模型,包括:
确定所述关系理论数据与关系实际数据之间的差异值;
当所述关系理论数据与关系实际数据之间的差异值小于预定限值时,停止修正,得到关系变动强度模型。
4.根据权利要求2所述的方法,其特征在于,建立所述影响强度模型的方式,包括:
根据所述需求变更影响类别权重列表、所述相关代码质量维度的度量指标以及所述项目风险分类列表,建立初始强度模型;
根据初始强度模型得到强度理论数据,根据所述强度理论数据与强度实际数据的偏差,对初始强度模型进行持续修正,得到影响强度模型。
5.根据权利要求4所述的方法,其特征在于,根据所述强度理论数据与强度实际数据的偏差,对初始强度模型进行持续修正,得到影响强度模型,包括:
确定所述强度理论数据与强度实际数据之间的差异值;
当所述强度理论数据与强度实际数据之间的差异值小于预定限值时,停止修正,得到影响强度模型。
6.根据权利要求2所述的方法,其特征在于,获取需求变更影响类别权重列表,包括:
获取需求变更类别的频率和数量;
根据需求变更类别的频率和数量,确定需求变更类别对项目的影响权重;
根据需求变更类别的频率、数量和影响权重,建立需求变更影响类别权重列表。
7.根据权利要求1所述的方法,其特征在于,根据所述关系数据确定需求变更和项目风险对代码质量的影响结果,包括:
根据需求变更类别、代码质量及项目风险之间的关系数据,确定需求变更类别之间的影响结果、需求变更对代码质量的影响结果、需求变更对项目风险的影响结果、代码质量对项目风险的影响结果、项目风险之间的影响结果,并进行汇总记录。
8.一种基于需求变更和项目风险对代码质量进行控制的装置,其特征在于,所述装置包括:
获取项目数据模块,用于当项目需求发生变更时,分析需求变更类别;对项目的代码质量进行分析,获取代码质量分析结果;对项目风险进行分类与识别,确定项目的风险类别;
得到关系数据模块,用于将所述需求变更类别、代码质量分析结果和项目的风险类别输入关系变动强度模型、影响强度模型,得到需求变更类别、代码质量及项目风险之间的关系数据;
确定影响结果模块,用于根据所述关系数据确定需求变更和项目风险对代码质量的影响结果;
控制代码质量模块,用于根据所述影响结果确定项目需求,并根据所述影响结果对项目风险进行监控。
9.一种计算机设备,包括存储器、处理器及存储在存储器上并可在处理器上运行的计算机程序,其特征在于,所述处理器执行所述计算机程序时实现权利要求1至7中任一项所述方法的步骤。
10.一种计算机可读存储介质,其上存储有计算机程序,其特征在于,所述计算机程序被处理器执行时实现权利要求1至7中任一项所述的方法的步骤。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201911071046.1A CN110888625B (zh) | 2019-11-05 | 2019-11-05 | 基于需求变更和项目风险对代码质量进行控制的方法 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201911071046.1A CN110888625B (zh) | 2019-11-05 | 2019-11-05 | 基于需求变更和项目风险对代码质量进行控制的方法 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN110888625A true CN110888625A (zh) | 2020-03-17 |
CN110888625B CN110888625B (zh) | 2023-02-21 |
Family
ID=69746882
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201911071046.1A Active CN110888625B (zh) | 2019-11-05 | 2019-11-05 | 基于需求变更和项目风险对代码质量进行控制的方法 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN110888625B (zh) |
Cited By (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN112465011A (zh) * | 2020-11-25 | 2021-03-09 | 平安医疗健康管理股份有限公司 | 基于项目研发过程的项目风险预测方法和系统 |
CN112508327A (zh) * | 2020-10-20 | 2021-03-16 | 中国电子产品可靠性与环境试验研究所((工业和信息化部电子第五研究所)(中国赛宝实验室)) | 元器件技术状态变更评估方法 |
CN113568662A (zh) * | 2021-07-23 | 2021-10-29 | 中信银行股份有限公司 | 一种基于调用关系的代码变更影响范围分析方法及系统 |
CN115809756A (zh) * | 2023-01-20 | 2023-03-17 | 南方电网数字电网研究院有限公司 | 一种工程项目管理方法及系统 |
Citations (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP2008065790A (ja) * | 2006-09-11 | 2008-03-21 | Toshiba Corp | プロジェクトリスク管理システムの運用と方法並びにプロジェクトリスク管理プログラム |
US9349111B1 (en) * | 2014-11-21 | 2016-05-24 | Amdocs Software Systems Limited | System, method, and computer program for calculating risk associated with a software testing project |
CN106557859A (zh) * | 2015-09-29 | 2017-04-05 | 阿里巴巴集团控股有限公司 | 一种验证方法和设备 |
CN109242261A (zh) * | 2018-08-14 | 2019-01-18 | 中国平安人寿保险股份有限公司 | 基于大数据评估保全风险的方法及终端设备 |
CN109343827A (zh) * | 2018-09-12 | 2019-02-15 | 郑州云海信息技术有限公司 | 一种高复用的需求变更控制方法 |
-
2019
- 2019-11-05 CN CN201911071046.1A patent/CN110888625B/zh active Active
Patent Citations (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP2008065790A (ja) * | 2006-09-11 | 2008-03-21 | Toshiba Corp | プロジェクトリスク管理システムの運用と方法並びにプロジェクトリスク管理プログラム |
US9349111B1 (en) * | 2014-11-21 | 2016-05-24 | Amdocs Software Systems Limited | System, method, and computer program for calculating risk associated with a software testing project |
CN106557859A (zh) * | 2015-09-29 | 2017-04-05 | 阿里巴巴集团控股有限公司 | 一种验证方法和设备 |
CN109242261A (zh) * | 2018-08-14 | 2019-01-18 | 中国平安人寿保险股份有限公司 | 基于大数据评估保全风险的方法及终端设备 |
CN109343827A (zh) * | 2018-09-12 | 2019-02-15 | 郑州云海信息技术有限公司 | 一种高复用的需求变更控制方法 |
Non-Patent Citations (2)
Title |
---|
崔东: "浅析软件开发项目的风险及其控制", 《电子制作》 * |
陈立文等: "软件项目风险管理中的敏感性分析研究", 《管理学报》 * |
Cited By (8)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN112508327A (zh) * | 2020-10-20 | 2021-03-16 | 中国电子产品可靠性与环境试验研究所((工业和信息化部电子第五研究所)(中国赛宝实验室)) | 元器件技术状态变更评估方法 |
CN112508327B (zh) * | 2020-10-20 | 2024-03-26 | 中国电子产品可靠性与环境试验研究所((工业和信息化部电子第五研究所)(中国赛宝实验室)) | 元器件技术状态变更评估方法 |
CN112465011A (zh) * | 2020-11-25 | 2021-03-09 | 平安医疗健康管理股份有限公司 | 基于项目研发过程的项目风险预测方法和系统 |
CN112465011B (zh) * | 2020-11-25 | 2022-08-02 | 深圳平安医疗健康科技服务有限公司 | 基于项目研发过程的项目风险预测方法和系统 |
CN113568662A (zh) * | 2021-07-23 | 2021-10-29 | 中信银行股份有限公司 | 一种基于调用关系的代码变更影响范围分析方法及系统 |
CN113568662B (zh) * | 2021-07-23 | 2024-04-30 | 中信银行股份有限公司 | 一种基于调用关系的代码变更影响范围分析方法及系统 |
CN115809756A (zh) * | 2023-01-20 | 2023-03-17 | 南方电网数字电网研究院有限公司 | 一种工程项目管理方法及系统 |
CN115809756B (zh) * | 2023-01-20 | 2023-05-26 | 南方电网数字电网研究院有限公司 | 一种工程项目管理方法及系统 |
Also Published As
Publication number | Publication date |
---|---|
CN110888625B (zh) | 2023-02-21 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN110888625B (zh) | 基于需求变更和项目风险对代码质量进行控制的方法 | |
US20190180379A1 (en) | Life insurance system with fully automated underwriting process for real-time underwriting and risk adjustment, and corresponding method thereof | |
CN109360105A (zh) | 产品风险预警方法、装置、计算机设备和存储介质 | |
CN107168995A (zh) | 一种数据处理方法及服务器 | |
CN115130887B (zh) | 水库大坝环境影响评价方法和装置、电子设备和存储介质 | |
CN113987182A (zh) | 基于安全情报的欺诈实体识别方法、装置及相关设备 | |
CN115203167A (zh) | 数据检测方法、装置、计算机设备和存储介质 | |
CN111767192A (zh) | 基于人工智能的业务数据检测方法、装置、设备和介质 | |
CN115952081A (zh) | 一种软件测试方法、装置、存储介质及设备 | |
CN115936895A (zh) | 基于人工智能的风险评估方法、装置、设备及存储介质 | |
CN111078500A (zh) | 运行配置参数的调整方法、装置、计算机设备和存储介质 | |
CN113268335B (zh) | 模型训练和执行时长预估方法、装置、设备和存储介质 | |
CN114781532A (zh) | 机器学习模型的评估方法、装置、计算机设备及介质 | |
CN112766816B (zh) | 活动安全风险评估方法、系统以及设备 | |
CN114202256A (zh) | 架构升级预警方法、装置、智能终端及可读存储介质 | |
CN116957828A (zh) | 报账审核方法、设备、存储介质及装置 | |
WO2020124977A1 (zh) | 生产数据处理方法、装置、计算机设备和存储介质 | |
CN114372867A (zh) | 用户信用度的验证评估方法、装置和计算机设备 | |
CN113344469A (zh) | 欺诈识别方法、装置、计算机设备及存储介质 | |
CN111737319A (zh) | 用户集群的预测方法、装置、计算机设备和存储介质 | |
CN117807545B (zh) | 一种基于数据挖掘的异常检测方法及系统 | |
CN113436020B (zh) | 违规账户的识别方法、装置、计算机设备和存储介质 | |
CN113379271B (zh) | 面向开源平台的遗弃贡献接管者推荐方法、装置和设备 | |
CN111260191B (zh) | 测试床成熟度量化方法、装置、计算机设备和存储介质 | |
CN115271353A (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 |