本文作者:kaifamei

软件开发质量的评价方法、系统、电子设备及介质与流程

更新时间:2025-02-24 02:51:18 0条评论

软件开发质量的评价方法、系统、电子设备及介质与流程



1.本发明涉及软件开发领域,特别涉及一种软件开发质量的评价方法、系统、电子设备及介质。


背景技术:



2.随着数字化技术应用的不断加深,软件的质量直接影响着该应用的深度和广度,软件异常正逐渐成为导致计算机系统失效的主要因素。因此,需要从软件或其所属系统开发的各个阶段介入,伴随包括软件需求、代码编写等在内的软件生命周期,采用分析、评估和测试等方式,进行软件的缺陷消除(消缺)。目前,软件开发采用分阶段的方式,每个阶段先由设计人员进行开发,由测试人员进行测试,发现软件异常,然后交由设计人员进行异常消缺,消缺完成后,再交由测试人员进行测试,直至各阶段的软件开发质量合格。
3.对于复杂的软件项目,各阶段的软件开发往往需要展开多个轮次后,才能消除所有的软件异常,测试人员往往只是反馈各轮次的异常数据情况给设计人员。由于软件开发过程中,常出现多个异常由同一代码缺陷引起,各轮次异常消缺后可能会引发新异常,测试用例、操作失误等会引发非软件的异常等情况,使得不同轮次的软件开发质量难以评估与比较,可能会导致对设计人员的不公平评价、软件开发效率变低等等。现有技术中往往通过不同维度的评价手段构建模型来评估软件开发质量,一旦需要增加新的评价手段,又需要重新构建/修改模型,增加大量的工作量。


技术实现要素:



4.本发明要解决的技术问题是为了克服现有技术中现有的软件开发质量评价方式,存在评价主观性强、评价流程复杂、评价效率低、局限性比较大的缺陷,提供一种软件开发质量的评价方法、系统、电子设备及介质。
5.本发明是通过下述技术方案来解决上述技术问题:
6.本发明第一方面提供了一种软件开发质量的评价方法,所述评价方法包括:
7.获取第n轮次的异常软件的责任性异常总数量以及剩余责任性异常数量,所述责任性异常总数量为与软件自身相关的异常总数量,所述剩余责任性异常数量为第n轮次未成功消缺的异常数量;
8.基于所述剩余责任性异常数量以及所述责任性异常总数量计算剩余责任性异常数量百分比;
9.基于所述剩余责任性异常数量百分比计算所述第n轮次的异常消缺直通率;
10.基于所述异常消缺直通率评价所述第n轮次的软件开发质量。
11.较佳地,所述获取第n轮次的异常软件的责任性异常总数量以及剩余责任性异常数量的步骤之前,所述评价方法还包括:
12.获取所述第n轮次异常软件的异常数据;
13.基于所述异常数据判断所述异常软件是否为软件缺陷,若是,则判断所述异常软
件是否为独立异常,若是,则将所述异常软件确定为责任性异常,并统计至所述第n轮次的责任性异常总数量中;
14.和/或,
15.所述获取第n轮次的异常软件的责任性异常总数量的步骤包括:
16.获取第n轮次的新增责任性异常总数量;
17.获取第n-1轮次的经异常消缺后的责任性异常总数量;
18.基于所述第n轮次的新增责任性异常总数量以及所述第n-1轮次的经异常消缺后的责任性异常总数量计算得到所述第n轮次的异常软件的责任性异常总数量。
19.较佳地,所述评价方法还包括:
20.获取第m阶段中多个轮次的异常消缺直通率;
21.基于每个轮次的异常消缺直通率计算所述第m阶段的异常消缺流通率;
22.基于所述异常消缺流通率评价所述第m阶段的软件开发质量。
23.较佳地,所述评价方法还包括:
24.获取软件开发周期中多个阶段的异常消缺流通率;
25.基于每个阶段的异常消缺流通率计算所述软件开发周期的异常消缺合格率;
26.基于所述异常消缺合格率评价所述软件开发周期的软件开发质量。
27.本发明第二方面提供了一种软件开发质量的评价系统,所述评价系统包括第一获取模块、第一计算模块、第二计算模块和第一评价模块;
28.所述第一获取模块用于获取第n轮次的异常软件的责任性异常总数量以及剩余责任性异常数量,所述责任性异常总数量为与软件自身相关的异常总数量,所述剩余责任性异常数量为第n轮次未成功消缺的异常数量;
29.所述第一计算模块用于基于所述剩余责任性异常数量以及所述责任性异常总数量计算剩余责任性异常数量百分比;
30.所述第二计算模块用于基于所述剩余责任性异常数量百分比计算所述第n轮次的异常消缺直通率;
31.所述第一评价模块用于基于所述异常消缺直通率评价所述第n轮次的软件开发质量。
32.较佳地,所述评价系统还包括第二获取模块、第一判断模块、第二判断模块以及确定模块;
33.所述第二获取模块用于获取所述第n轮次异常软件的异常数据;
34.所述第一判断模块用于基于所述异常数据判断所述异常软件是否为软件缺陷,若是,则调用所述第二判断模块;
35.所述第二判断模块用于判断所述异常软件是否为独立异常,若是,则调用所述确定模块;
36.所述确定模块用于将所述异常软件确定为责任性异常,并统计至所述第n轮次的责任性异常总数量中;
37.和/或,
38.所述第一获取模块包括第一获取单元、第二获取单元和计算单元;
39.所述第一获取单元用于获取第n轮次的新增责任性异常总数量;
40.所述第二获取单元用于获取第n-1轮次的经异常消缺后的责任性异常总数量;
41.所述计算单元用于基于所述第n轮次的新增责任性异常总数量以及所述第n-1轮次的经异常消缺后的责任性异常总数量计算得到所述第n轮次的异常软件的责任性异常总数量。
42.较佳地,所述评价系统还包括第三获取模块、第三计算模块和第二评价模块;
43.所述第三获取模块用于获取第m阶段中多个轮次的异常消缺直通率;
44.所述第三计算模块用于基于每个轮次的异常消缺直通率计算所述第m阶段的异常消缺流通率;
45.所述第二评价模块用于基于所述异常消缺流通率评价所述第m阶段的软件开发质量。
46.较佳地,所述评价系统还包括第四获取模块、第四计算模块和第三评价模块;
47.所述第四获取模块用于获取软件开发周期中多个阶段的异常消缺流通率;
48.所述第四计算模块用于基于每个阶段的异常消缺流通率计算所述软件开发周期的异常消缺合格率;
49.所述第三评价模块用于基于所述异常消缺合格率评价所述软件开发周期的软件开发质量。
50.本发明第三方面提供了一种电子设备,包括存储器、处理器及存储在存储器上并可在处理器上运行的计算机程序,所述处理器执行所述计算机程序时实现如第一方面所述的软件开发质量的评价方法。
51.本发明第四方面提供了一种计算机可读存储介质,其上存储有计算机程序,所述计算机程序被处理器执行时实现如第一方面所述的软件开发质量的评价方法。
52.本发明的积极进步效果在于:
53.本发明基于第n轮次的责任性异常总数量以及剩余责任性异常数量计算剩余责任性异常数量百分比,并基于剩余责任性异常数量百分比计算第n轮次的异常消缺直通率,进一步地,基于异常消缺直通率评价该轮次的软件开发质量,能够直观可靠的评估不同轮次的软件开发质量,提高了软件开发质量评价效率以及评价的准确性。
附图说明
54.图1为本发明实施例1的软件开发质量的评价方法的第一流程图。
55.图2为本发明实施例1的软件开发质量的评价方法的第二流程图。
56.图3为本发明实施例1的软件开发质量的评价方法的步骤101的流程图。
57.图4为本发明实施例1的软件开发质量的评价方法的第三流程图。
58.图5为本发明实施例1的软件开发质量的评价方法的第四流程图。
59.图6为本发明实施例2的软件开发质量的评价系统的结构示意图。
60.图7为本发明实施例3的电子设备的结构示意图。
具体实施方式
61.下面通过实施例的方式进一步说明本发明,但并不因此将本发明限制在所述的实施例范围之中。
62.实施例1
63.本实施例提供一种软件开发质量的评价方法,该软件开发质量的评价方法适用对象范围广泛,例如可以适用于各类开源、非开源软件的开发周期(即全生命周期),包括但不限于多阶段场景、多轮次场景、c代码、c++、python、fpga(现场可编程门诊列)代码、pld(可编程逻辑期间)代码等常见编程语言,在该软件开发质量的评价方法适用于第n轮次的软件开发质量的评价的情况下,如图1所示,该评价方法包括:
64.步骤101、获取第n轮次的异常软件的责任性异常总数量以及剩余责任性异常数量,责任性异常总数量为与软件自身相关的异常总数量,剩余责任性异常数量为第n轮次未成功消缺的异常数量;
65.本实施例中,n大于等于1。
66.步骤102、基于剩余责任性异常数量以及责任性异常总数量计算剩余责任性异常数量百分比;
67.本实施例中,定义并计算单轮次剩余责任性异常数量百分比(papr,remained anomaly per roll)。该指标用以衡量某单独轮次异常消缺工作中,未能成功消缺的异常数量占总异常数量的比例。具体计算方法为:其中,tn为第n轮次责任性异常总数量,rn为第n轮次剩余责任性异常数量;如无剩余未消缺异常(无异常或全部异常被成功消缺),则papr=0。
68.步骤103、基于剩余责任性异常数量百分比计算第n轮次的异常消缺直通率;
69.步骤104、基于异常消缺直通率评价第n轮次的软件开发质量。
70.本实施例中,定义单轮次异常消缺直通率(acry,anomaly correction rolled yield)。该指标用以衡量某单独轮次异常消缺工作中,异常消缺工作的实际效率。acry数值越高,说明单轮次异常消缺效率越高。具体计算方法为:acry=e
(-papr)

71.本实施例使用分析、评估、测试中任意方法或其组合,并可容纳这些任意方法或其组合发现并提出的各类异常软件。例如,异常软件包括但不限于代码错误、代码注释错误、需求文件错误等。
72.在一可实施的方案中,如图2所示,步骤101之前,该评价方法还包括:
73.步骤100、获取第n轮次异常软件的异常数据;
74.本实施例中,异常数据包括但不限于异常数量、异常表现、异常发现人员、异常所在软件名称和版本标识等信息;
75.步骤100-1、基于异常数据判断异常软件是否为软件缺陷,若是,则执行步骤100-2;若否,则执行步骤100-4;
76.步骤100-2、判断异常软件是否为独立异常,若是,则执行步骤100-3;若否,则执行步骤100-5;
77.步骤100-3、将异常软件确定为责任性异常,并统计至第n轮次的责任性异常总数量中;
78.步骤100-4、确定该异常软件为非软件缺陷(即非产品缺陷);
79.步骤100-5、确定该异常软件为非责任性异常,不纳入第n轮次的责任性异常总数量的统计;
80.本实施例中,将软件的异常分类为产品异常(即软件异常)或非产品异常(即非软件异常)、独立异常或非独立异常,最终分类为责任性异常或非责任性异常;产品异常或非产品异常、独立异常或非独立异常与责任性异常或非责任性异常间具有逻辑关系。
81.在具体实施过程中,基于步骤100中获取的第n轮次异常软件的异常数据,进行异常原因分析。如该异常是产品本身缺陷(即软件本身缺陷),则定性为产品异常;进而判断该异常是由于独立的软件缺陷导致,还是由同一缺陷导致多个异常且该异常作为责任性异常已被识别并已被纳入统计,前者作为责任性异常,纳入该轮次责任性异常总数量的统计;后者作为非责任性异常,不纳入该轮次责任性异常总数量的统计。
82.在一可实施的方案中,如图3所示,步骤101包括:
83.步骤1011、获取第n轮次的新增责任性异常总数量;
84.本实施例中,将第n-1轮次中没有而第n轮次中有的异常称为第n轮次的新增责任性异常。
85.需要说明的是,此时n可以取大于1的数值。
86.步骤1012、获取第n-1轮次的经异常消缺后的责任性异常总数量;
87.步骤1013、基于第n轮次的新增责任性异常总数量以及第n-1轮次的经异常消缺后的责任性异常总数量计算得到第n轮次的异常软件的责任性异常总数量。
88.本实施例中,得到第n轮次的异常软件的责任性异常总数量的计算公式为:tn=r
n-1
+δtn,其中,tn为第n轮次的异常软件的责任性异常总数量,r
n-1
为上一轮次(例如:第n-1轮次)经消缺后剩余责任性异常总数量,δtn为第n轮次的新增责任性异常总数量。
89.在一可实施的方案中,在该软件开发质量的评价方法适用于第m阶段的软件开发质量的评价的情况下,如图4所示,该评价方法还包括:
90.步骤105、获取第m阶段中多个轮次的异常消缺直通率;
91.本实施例中,m大于等于1。
92.步骤106、基于每个轮次的异常消缺直通率计算第m阶段的异常消缺流通率;
93.步骤107、基于异常消缺流通率评价第m阶段的软件开发质量。
94.本实施例中,定义单阶段的异常消缺流通率(pcry,phase correction rolled yield)。该指标用以衡量单个阶段中,多轮次异常消缺期间或结束,异常最终得以消除的效率。pcry越高,该阶段的异常消缺效率越高。具体计算方法为:其中,acry n
表示第n轮次的异常消缺直通率。
95.在一可实施的方案中,在该软件开发质量的评价方法适用于软件开发周期(即软件开发的全阶段)的软件开发质量的评价的情况下,如图5所示,该评价方法还包括:
96.步骤108、获取软件开发周期中多个阶段的异常消缺流通率;
97.步骤109、基于每个阶段的异常消缺流通率计算软件开发周期的异常消缺合格率;
98.步骤110、基于异常消缺合格率评价软件开发周期的软件开发质量。
99.本实施例中,定义项目全阶段(即软件开发周期)的消缺合格率(pcty,phases correction throughput yield)。该指标用以衡量整个项目的多阶段、多轮次异常最终消缺的效率。pcty越高,该项目全阶段的异常消缺效率越高。具体计算方法为:
其中,pcry n
表示第n阶段的异常消缺流通率。
100.在具体实施过程中,在完成某个阶段软件设计或异常消缺后,发布该轮次代码;进而使用分析、评估、测试中任意方法或其组合,对软件质量进行验证,期间发现问题后,提出异常;接着获取该轮次异常软件的异常数据,在完成以上工作的基础上,分析并统计获取该轮次的责任性异常总数量;接着计算该轮次的剩余责任性异常数量占该轮次的责任性异常总数量的百分比指标papr;进而计算该轮次的异常消缺直通率指标acry。
101.在该阶段工作期间,或完成该阶段所有轮次设计及消缺迭代后,计算单阶段的异常消缺流通率pcry;最后,在项目工作期间,或完成该项目所有阶段任务后,计算全阶段的异常消缺合格率pcty。不仅能够覆盖分析、评审、测试不同手段发现的异常。也能够覆盖软件开发周期各阶段发现的异常。同时还能够有效评价软件开发质量,可在过程中使用进行过程监控,也可在阶段完成后进行比较。对应指标直观可靠,易于使用和应用。
102.下面结合具体实例说明:
103.例如,以某样例项目为例,该样例项目共分2个阶段(阶段1、阶段2),其中,阶段1共开展了4轮次分析、评估和测试活动。1个轮次定义如下:开发团队开发/消缺并交付软件代码模块至测试验证团队。测试验证团队接收后开展分析、评估和测试活动,将发现异常情况(例如:数量、位置等信息)反馈开发团队,则认为1个轮次完成。
104.第1轮次,开发团队共交付代码模块150个。经第1轮次测试验证团队开展分析、评估和测试活动,共发现并提出异常有110个,反馈开发团队。经异常原因分析评估,其中10个异常由于测试用例错误导致,属于非产品异常(即非软件缺陷),不纳入责任性异常总数量统计;2个异常为共同代码缺陷导致,合并统计为1个责任性异常;最终确定责任性异常总数为99个,
105.第2轮次,开发团队完成上述99个责任性异常的消缺,交付测试验证团队。测试验证团队开展第2轮次的分析、评估、测试活动,发现责任性异常有9个未完成消缺(剩余90个责任性异常确定已完成消缺),新发现责任性异常有1个(消缺动作导致的新异常),对应责任性异常确定已完成消缺),新发现责任性异常有1个(消缺动作导致的新异常),对应即第2轮次的异常消缺效率为90.48%。相较第1轮次的异常消缺效率提高,相关管理措施应予保持。
106.第3轮次,开发团队完成上述10个责任性异常的消缺,交付测试验证团队。测试验证团队开展第3轮次的分析、评估、测试活动,确定有2个责任性异常未完成消缺,同时新增责任性异常有10个;
107.对应acry
1_3
=e
(-60%)
=54.88%;即第3轮次的异常消缺效率为54.88%;相较第2轮次的异常消缺效率明显降低,开发团队的管理人员后续应予以高度关注,并制定相应管理改进措施。
108.第4轮次,针对剩余的12个责任性异常,开发团队加强了内部管理(例如,内部开发人员交叉评审等方式),接续开展了第4轮次的异常消缺、发布代码,交付测试验证团队。测试验证团队开展第4轮次的分析、评估、测试活动,确定有12个责任性异常已完成消缺,无新
增责任性异常,对应acry
1_4
=e
(-0%)
=100%。进一步的,阶段1的异常消缺流通率为:
109.pcry1=acry
1_1
×
acry
1_2
×
acry
1_3
×
acry
1_4
=66.00%
×
90.48%
×
54.88%
×
100%=32.77%。
110.进一步的,阶段2共开展了1轮次分析、评估和测试活动,期间未发现责任性异常,则papr
2_1
=0;acry
2_1
=100%;pcry2=acry
2_1
=100%。
111.进一步的,该项目全阶段的异常消缺合格率为:
112.pcty=pcry1×
pcry2=32.77%。
113.需要说明的是,本实施例中所描述的“软件”,是指信息处理系统的程序、指令序列、规则及相关文档的全部或部分,其中包括源代码、可执行代码以及相关固件(firmware)、文档(如需求、设计、用户手册等)、和/或数据等内容。涵盖各类开源或非开源、基于中央处理器(cpu)或并行逻辑设备(如fpga现场可编程门阵列或pld可编程逻辑设备)在内的指令或指令集。
114.本实施例的软件开发质量的评价方法适用于各类软件、可对包括多阶段、多轮次在内的软件开发质量的过程或结果进行定量评估,提升了代码交付质量。该评价方法针对某个阶段、某个轮次软件,使用分析、评估、测试中任意方法或其组合,发现并提出异常,通过获取、分析和统计责任性异常总数量,计算剩余责任性异常数量百分比计算某个轮次的异常消缺直通率,在某个阶段工作期间或该阶段结束,计算该阶段的异常消缺流通率,最后,在各阶段工作期间或所有阶段结束,计算软件开发周期(即全阶段)的异常消缺合格率。能够综合分析、评审、测试不同手段或其组合发现异常数量后,对软件开发质量给出统一的量化评价指标;该评价方法直观可靠,易于使用和应用,评价流程简单,评价效率高。
115.本实施例基于第n轮次的责任性异常总数量以及剩余责任性异常数量计算剩余责任性异常数量百分比,并基于剩余责任性异常数量百分比计算第n轮次的异常消缺直通率,进一步地,基于异常消缺直通率评价该轮次的软件开发质量,能够直观可靠的评估不同轮次的软件开发质量,提高了软件开发质量评价效率以及评价的准确性。
116.实施例2
117.本实施例提供一种软件开发质量的评价系统,该软件开发质量的评价系统适用对象范围广泛,例如可以适用于各类开源、非开源软件的开发周期(即全生命周期),包括但不限于多阶段场景、多轮次场景、c代码、c++、python、fpga(现场可编程门诊列)代码、pld(可编程逻辑期间)代码等常见编程语言,在该软件开发质量的评价系统适用于第n轮次的软件开发质量的评价的情况下,如图6所示,该评价系统包括第一获取模块21、第一计算模块22、第二计算模块23和第一评价模块24;
118.第一获取模块21用于获取第n轮次的异常软件的责任性异常总数量以及剩余责任性异常数量,责任性异常总数量为与软件自身相关的异常总数量,剩余责任性异常数量为第n轮次未成功消缺的异常数量;
119.本实施例中,n大于等于1。
120.第一计算模块22用于基于剩余责任性异常数量以及责任性异常总数量计算剩余责任性异常数量百分比;
121.本实施例中,定义并计算单轮次剩余责任性异常数量百分比(papr,remained anomaly per roll)。该指标用以衡量某单独轮次异常消缺工作中,未能成功消缺的异常数量占总异常数量的比例。具体计算方法为:其中,tn为第n轮次责任性异常总数量,rn为第n轮次剩余责任性异常数量;如无剩余未消缺异常(无异常或全部异常被成功消缺),则papr=0。
122.第二计算模块23用于基于剩余责任性异常数量百分比计算第n轮次的异常消缺直通率;
123.第一评价模块24用于基于异常消缺直通率评价第n轮次的软件开发质量。
124.本实施例中,定义单轮次异常消缺直通率(acry,anomaly correction rolled yield)。该指标用以衡量某单独轮次异常消缺工作中,异常消缺工作的实际效率。acry数值越高,说明单轮次异常消缺效率越高。具体计算方法为:acry=e
(-papr)

125.本实施例使用分析、评估、测试中任意方法或其组合,并可容纳这些任意方法或其组合发现并提出的各类异常软件。例如,异常软件包括但不限于代码错误、代码注释错误、需求文件错误等。
126.在一可实施的方案中,如图6所示,该评价系统还包括第二获取模块25、第一判断模块26、第二判断模块27以及确定模块28;
127.第二获取模块25用于获取第n轮次异常软件的异常数据;
128.本实施例中,异常数据包括但不限于异常数量、异常表现、异常发现人员、异常所在软件名称和版本标识等信息;
129.第一判断模块26用于基于异常数据判断异常软件是否为软件缺陷,若是,则调用第二判断模块27;若否,则确定该异常软件为非软件缺陷(即非产品缺陷);
130.第二判断模块27用于判断异常软件是否为独立异常,若是,则调用确定模块28;若否,则确定该异常软件为非责任性异常,不纳入第n轮次的责任性异常总数量的统计;
131.确定模块28用于将异常软件确定为责任性异常,并统计至第n轮次的责任性异常总数量中;
132.本实施例中,将软件的异常分类为产品异常(即软件异常)或非产品异常(即非软件异常)、独立异常或非独立异常,最终分类为责任性异常或非责任性异常;产品异常或非产品异常、独立异常或非独立异常与责任性异常或非责任性异常间具有逻辑关系。
133.在具体实施过程中,基于第n轮次异常软件的异常数据,进行异常原因分析。如该异常是产品本身缺陷(即软件本身缺陷),则定性为产品异常;进而判断该异常是由于独立的软件缺陷导致,还是由同一缺陷导致多个异常且该异常作为责任性异常已被识别并已被纳入统计,前者作为责任性异常,纳入该轮次责任性异常总数量的统计;后者作为非责任性异常,不纳入该轮次责任性异常总数量的统计。
134.在一可实施的方案中,如图6所示,第一获取模块21包括第一获取单元211、第二获取单元212和计算单元213;
135.第一获取单元211用于获取第n轮次的新增责任性异常总数量;
136.本实施例中,将第n-1轮次中没有而第n轮次中有的异常称为第n轮次的新增责任性异常。
137.需要说明的是,此时n可以取大于1的数值。
138.第二获取单元212用于获取第n-1轮次的经异常消缺后的责任性异常总数量;
139.计算单元213用于基于第n轮次的新增责任性异常总数量以及第n-1轮次的经异常消缺后的责任性异常总数量计算得到第n轮次的异常软件的责任性异常总数量。
140.本实施例中,得到第n轮次的异常软件的责任性异常总数量的计算公式为:tn=r
n-1
+δtn,其中,tn为第n轮次的异常软件的责任性异常总数量,r
n-1
为上一轮次(例如:第n-1轮次)经消缺后剩余责任性异常总数量,δtn为第n轮次的新增责任性异常总数量。
141.在一可实施的方案中,在该软件开发质量的评价系统适用于第m阶段的软件开发质量的评价的情况下,如图6所示,该评价系统还包括第三获取模块29、第三计算模块300和第二评价模块311;
142.第三获取模块29用于获取第m阶段中多个轮次的异常消缺直通率;
143.本实施例中,m大于等于1。
144.第三计算模块300用于基于每个轮次的异常消缺直通率计算第m阶段的异常消缺流通率;
145.第二评价模块311用于基于异常消缺流通率评价第m阶段的软件开发质量。
146.本实施例中,定义单阶段的异常消缺流通率(pcry,phase correction rolled yield)。该指标用以衡量单个阶段中,多轮次异常消缺期间或结束,异常最终得以消除的效率。pcry越高,该阶段的异常消缺效率越高。具体计算方法为:其中,acryn表示第n轮次的异常消缺直通率。
147.在一可实施的方案中,在该软件开发质量的评价系统适用于软件开发周期(即软件开发的全阶段)的软件开发质量的评价的情况下,如图6所示,该评价系统还包括第四获取模块312、第四计算模块313和第三评价模块314;
148.第四获取模块312用于获取软件开发周期中多个阶段的异常消缺流通率;
149.第四计算模块313用于基于每个阶段的异常消缺流通率计算软件开发周期的异常消缺合格率;
150.第三评价模块314用于基于异常消缺合格率评价软件开发周期的软件开发质量。
151.本实施例中,定义项目全阶段(即软件开发周期)的消缺合格率(pcty,phases correction throughput yield)。该指标用以衡量整个项目的多阶段、多轮次异常最终消缺的效率。pcty越高,该项目全阶段的异常消缺效率越高。具体计算方法为:其中,pcryn表示第n阶段的异常消缺流通率。
152.在具体实施过程中,在完成某个阶段软件设计或异常消缺后,发布该轮次代码;进而使用分析、评估、测试中任意方法或其组合,对软件质量进行验证,期间发现问题后,提出异常;接着获取该轮次异常软件的异常数据,在完成以上工作的基础上,分析并统计获取该轮次的责任性异常总数量;接着计算该轮次的剩余责任性异常数量占该轮次的责任性异常总数量的百分比指标papr;进而计算该轮次的异常消缺直通率指标acry。
153.在该阶段工作期间,或完成该阶段所有轮次设计及消缺迭代后,计算单阶段的异常消缺流通率pcry;最后,在项目工作期间,或完成该项目所有阶段任务后,计算全阶段的
异常消缺合格率pcty。不仅能够覆盖分析、评审、测试不同手段发现的异常。也能够覆盖软件开发周期各阶段发现的异常。同时还能够有效评价软件开发质量,可在过程中使用进行过程监控,也可在阶段完成后进行比较。对应指标直观可靠,易于使用和应用。
154.下面结合具体实例说明:
155.例如,以某样例项目为例,该样例项目共分2个阶段(阶段1、阶段2),其中,阶段1共开展了4轮次分析、评估和测试活动。1个轮次定义如下:开发团队开发/消缺并交付软件代码模块至测试验证团队。测试验证团队接收后开展分析、评估和测试活动,将发现异常情况(例如:数量、位置等信息)反馈开发团队,则认为1个轮次完成。
156.第1轮次,开发团队共交付代码模块150个。经第1轮次测试验证团队开展分析、评估和测试活动,共发现并提出异常有110个,反馈开发团队。经异常原因分析评估,其中10个异常由于测试用例错误导致,属于非产品异常(即非软件缺陷),不纳入责任性异常总数量统计;2个异常为共同代码缺陷导致,合并统计为1个责任性异常;最终确定责任性异常总数为99个,
157.第2轮次,开发团队完成上述99个责任性异常的消缺,交付测试验证团队。测试验证团队开展第2轮次的分析、评估、测试活动,发现责任性异常有9个未完成消缺(剩余90个责任性异常确定已完成消缺),新发现责任性异常有1个(消缺动作导致的新异常),对应责任性异常确定已完成消缺),新发现责任性异常有1个(消缺动作导致的新异常),对应即第2轮次的异常消缺效率为90.48%。相较第1轮次的异常消缺效率提高,相关管理措施应予保持。
158.第3轮次,开发团队完成上述10个责任性异常的消缺,交付测试验证团队。测试验证团队开展第3轮次的分析、评估、测试活动,确定有2个责任性异常未完成消缺,同时新增责任性异常有10个;
159.对应acry
1_3
=e
(-60%)
=54.88%;即第3轮次的异常消缺效率为54.88%;相较第2轮次的异常消缺效率明显降低,开发团队的管理人员后续应予以高度关注,并制定相应管理改进措施。
160.第4轮次,针对剩余的12个责任性异常,开发团队加强了内部管理(例如,内部开发人员交叉评审等方式),接续开展了第4轮次的异常消缺、发布代码,交付测试验证团队。测试验证团队开展第4轮次的分析、评估、测试活动,确定有12个责任性异常已完成消缺,无新增责任性异常,对应acry
1_4
=e
(-0%)
=100%。进一步的,阶段1的异常消缺流通率为:
161.pcry1=acry
1_1
×
acry
1_2
×
acry
1_3
×
acry
1_4
=66.00%
×
90.48%
×
54.88%
×
100%=32.77%。
162.进一步的,阶段2共开展了1轮次分析、评估和测试活动,期间未发现责任性异常,则papr
2_1
=0;acry
2_1
=100%;pcry2=acry
2_1
=100%。
163.进一步的,该项目全阶段的异常消缺合格率为:
164.pcty=pcry1×
pcry2=32.77%。
165.需要说明的是,本实施例中所描述的“软件”,是指信息处理系统的程序、指令序列、规则及相关文档的全部或部分,其中包括源代码、可执行代码以及相关固件(firmware)、文档(如需求、设计、用户手册等)、和/或数据等内容。涵盖各类开源或非开源、基于中央处理器(cpu)或并行逻辑设备(如fpga现场可编程门阵列或pld可编程逻辑设备)在内的指令或指令集。
166.本实施例的软件开发质量的评价系统适用于各类软件、可对包括多阶段、多轮次在内的软件开发质量的过程或结果进行定量评估,提升了代码交付质量。该评价系统针对某个阶段、某个轮次软件,使用分析、评估、测试中任意方法或其组合,发现并提出异常,通过获取、分析和统计责任性异常总数量,计算剩余责任性异常数量百分比计算某个轮次的异常消缺直通率,在某个阶段工作期间或该阶段结束,计算该阶段的异常消缺流通率,最后,在各阶段工作期间或所有阶段结束,计算软件开发周期(即全阶段)的异常消缺合格率。能够综合分析、评审、测试不同手段或其组合发现异常数量后,对软件开发质量给出统一的量化评价指标;该评价系统直观可靠,易于使用和应用,评价流程简单,评价效率高。
167.本实施例基于第n轮次的责任性异常总数量以及剩余责任性异常数量计算剩余责任性异常数量百分比,并基于剩余责任性异常数量百分比计算第n轮次的异常消缺直通率,进一步地,基于异常消缺直通率评价该轮次的软件开发质量,能够直观可靠的评估不同轮次的软件开发质量,提高了软件开发质量评价效率以及评价的准确性。
168.实施例3
169.图7为本发明实施例3提供的一种电子设备的结构示意图。电子设备包括存储器、处理器及存储在存储器上并可在处理器上运行的计算机程序,处理器执行程序时实现实施例1中的软件开发质量的评价方法。图7显示的电子设备30仅仅是一个示例,不应对本发明实施例的功能和使用范围带来任何限制。
170.如图7所示,电子设备30可以以通用计算设备的形式表现,例如其可以为服务器设备。电子设备30的组件可以包括但不限于:上述至少一个处理器31、上述至少一个存储器32、连接不同系统组件(包括存储器32和处理器31)的总线33。
171.总线33包括数据总线、地址总线和控制总线。
172.存储器32可以包括易失性存储器,例如随机存取存储器(ram)321和/或高速缓存存储器322,还可以进一步包括只读存储器(rom)323。
173.存储器32还可以包括具有一组(至少一个)程序模块324的程序/实用工具325,这样的程序模块324包括但不限于:操作系统、一个或者多个应用程序、其它程序模块以及程序数据,这些示例中的每一个或某种组合中可能包括网络环境的实现。
174.处理器31通过运行存储在存储器32中的计算机程序,从而执行各种功能应用以及数据处理,例如本发明实施例1中的软件开发质量的评价方法。
175.电子设备30也可以与一个或多个外部设备34(例如键盘、指向设备等)通信。这种通信可以通过输入/输出(i/o)接口35进行。并且,模型生成的设备30还可以通过网络适配器36与一个或者多个网络(例如局域网(lan),广域网(wan)和/或公共网络,例如因特网)通信。如图7所示,网络适配器36通过总线33与模型生成的设备30的其它模块通信。应当明白,尽管图中未示出,可以结合模型生成的设备30使用其它硬件和/或软件模块,包括但不限于:微代码、设备驱动器、冗余处理器、外部磁盘驱动阵列、raid(磁盘阵列)系统、磁带驱动
器以及数据备份存储系统等。
176.另外,电子设备也可以以电子芯片的形式实现,在芯片上设有存储器、处理器相关的电子元件,以及存储在存储器上并可在处理器上运行的操作程序。
177.应当注意,尽管在上文详细描述中提及了电子设备的若干单元/模块或子单元/模块,但是这种划分仅仅是示例性的并非强制性的。实际上,根据本发明的实施方式,上文描述的两个或更多单元/模块的特征和功能可以在一个单元/模块中具体化。反之,上文描述的一个单元/模块的特征和功能可以进一步划分为由多个单元/模块来具体化。
178.实施例4
179.本实施例提供了一种计算机可读存储介质,其上存储有计算机程序,程序被处理器执行时实现实施例1中的软件开发质量的评价方法。
180.其中,可读存储介质可以采用的更具体可以包括但不限于:便携式盘、硬盘、随机存取存储器、只读存储器、可擦拭可编程只读存储器、光存储器件、磁存储器件或上述的任意合适的组合。
181.虽然以上描述了本发明的具体实施方式,但是本领域的技术人员应当理解,这仅是举例说明,本发明的保护范围是由所附权利要求书限定的。本领域的技术人员在不背离本发明的原理和实质的前提下,可以对这些实施方式做出多种变更或修改,但这些变更和修改均落入本发明的保护范围。

技术特征:


1.一种软件开发质量的评价方法,其特征在于,所述评价方法包括:获取第n轮次的异常软件的责任性异常总数量以及剩余责任性异常数量,所述责任性异常总数量为与软件自身相关的异常总数量,所述剩余责任性异常数量为第n轮次未成功消缺的异常数量;基于所述剩余责任性异常数量以及所述责任性异常总数量计算剩余责任性异常数量百分比;基于所述剩余责任性异常数量百分比计算所述第n轮次的异常消缺直通率;基于所述异常消缺直通率评价所述第n轮次的软件开发质量。2.根据权利要求1所述的软件开发质量的评价方法,其特征在于,所述获取第n轮次的异常软件的责任性异常总数量以及剩余责任性异常数量的步骤之前,所述评价方法还包括:获取所述第n轮次异常软件的异常数据;基于所述异常数据判断所述异常软件是否为软件缺陷,若是,则判断所述异常软件是否为独立异常,若是,则将所述异常软件确定为责任性异常,并统计至所述第n轮次的责任性异常总数量中;和/或,所述获取第n轮次的异常软件的责任性异常总数量的步骤包括:获取第n轮次的新增责任性异常总数量;获取第n-1轮次的经异常消缺后的责任性异常总数量;基于所述第n轮次的新增责任性异常总数量以及所述第n-1轮次的经异常消缺后的责任性异常总数量计算得到所述第n轮次的异常软件的责任性异常总数量。3.根据权利要求1所述的软件开发质量的评价方法,其特征在于,所述评价方法还包括:获取第m阶段中多个轮次的异常消缺直通率;基于每个轮次的异常消缺直通率计算所述第m阶段的异常消缺流通率;基于所述异常消缺流通率评价所述第m阶段的软件开发质量。4.根据权利要求3所述的软件开发质量的评价方法,其特征在于,所述评价方法还包括:获取软件开发周期中多个阶段的异常消缺流通率;基于每个阶段的异常消缺流通率计算所述软件开发周期的异常消缺合格率;基于所述异常消缺合格率评价所述软件开发周期的软件开发质量。5.一种软件开发质量的评价系统,其特征在于,所述评价系统包括第一获取模块、第一计算模块、第二计算模块和第一评价模块;所述第一获取模块用于获取第n轮次的异常软件的责任性异常总数量以及剩余责任性异常数量,所述责任性异常总数量为与软件自身相关的异常总数量,所述剩余责任性异常数量为第n轮次未成功消缺的异常数量;所述第一计算模块用于基于所述剩余责任性异常数量以及所述责任性异常总数量计算剩余责任性异常数量百分比;所述第二计算模块用于基于所述剩余责任性异常数量百分比计算所述第n轮次的异常
消缺直通率;所述第一评价模块用于基于所述异常消缺直通率评价所述第n轮次的软件开发质量。6.根据权利要求5所述的软件开发质量的评价系统,其特征在于,所述评价系统还包括第二获取模块、第一判断模块、第二判断模块以及确定模块;所述第二获取模块用于获取所述第n轮次异常软件的异常数据;所述第一判断模块用于基于所述异常数据判断所述异常软件是否为软件缺陷,若是,则调用所述第二判断模块;所述第二判断模块用于判断所述异常软件是否为独立异常,若是,则调用所述确定模块;所述确定模块用于将所述异常软件确定为责任性异常,并统计至所述第n轮次的责任性异常总数量中;和/或,所述第一获取模块包括第一获取单元、第二获取单元和计算单元;所述第一获取单元用于获取第n轮次的新增责任性异常总数量;所述第二获取单元用于获取第n-1轮次的经异常消缺后的责任性异常总数量;所述计算单元用于基于所述第n轮次的新增责任性异常总数量以及所述第n-1轮次的经异常消缺后的责任性异常总数量计算得到所述第n轮次的异常软件的责任性异常总数量。7.根据权利要求5所述的软件开发质量的评价系统,其特征在于,所述评价系统还包括第三获取模块、第三计算模块和第二评价模块;所述第三获取模块用于获取第m阶段中多个轮次的异常消缺直通率;所述第三计算模块用于基于每个轮次的异常消缺直通率计算所述第m阶段的异常消缺流通率;所述第二评价模块用于基于所述异常消缺流通率评价所述第m阶段的软件开发质量。8.根据权利要求7所述的软件开发质量的评价系统,其特征在于,所述评价系统还包括第四获取模块、第四计算模块和第三评价模块;所述第四获取模块用于获取软件开发周期中多个阶段的异常消缺流通率;所述第四计算模块用于基于每个阶段的异常消缺流通率计算所述软件开发周期的异常消缺合格率;所述第三评价模块用于基于所述异常消缺合格率评价所述软件开发周期的软件开发质量。9.一种电子设备,包括存储器、处理器及存储在存储器上并可在处理器上运行的计算机程序,其特征在于,所述处理器执行所述计算机程序时实现如权利要求1-4中任一项所述的软件开发质量的评价方法。10.一种计算机可读存储介质,其上存储有计算机程序,其特征在于,所述计算机程序被处理器执行时实现如权利要求1-4中任一项所述的软件开发质量的评价方法。

技术总结


本发明公开了一种软件开发质量的评价方法、系统、电子设备及介质,该方法包括:获取第轮次的异常软件的责任性异常总数量以及剩余责任性异常数量;基于剩余责任性异常数量以及责任性异常总数量计算剩余责任性异常数量百分比;基于该百分比计算第轮次的异常消缺直通率;基于异常消缺直通率评价第轮次的软件开发质量。本发明基于第轮次的责任性异常总数量以及剩余责任性异常数量计算剩余责任性异常数量百分比,并基于剩余责任性异常数量百分比计算第轮次的异常消缺直通率,基于异常消缺直通率评价该轮次的软件开发质量,能够伴随软件开发过程,直观可靠的评估不同轮次的软件开发质量,提高了软件开发质量评价效率以及评价的准确性。评价的准确性。评价的准确性。


技术研发人员:

戴瑞东 蒋嵩 朱夕辉 吴婷 杨秉政 孟子文 王辉 何丽冰

受保护的技术使用者:

国核自仪系统工程有限公司

技术研发日:

2022.10.26

技术公布日:

2022/12/19


文章投稿或转载声明

本文链接:http://www.wtabcd.cn/zhuanli/patent-1-56414-0.html

来源:专利查询检索下载-实用文体写作网版权所有,转载请保留出处。本站文章发布于 2022-12-22 10:58:53

发表评论

验证码:
用户名: 密码: 匿名发表
评论列表 (有 条评论
2人围观
参与讨论