一种残膜回收机防缠绕挑膜装置的制 一种秧草收获机用电力驱动行走机构

一种程序评估方法、系统及存储介质和终端设备与流程

2022-06-05 06:12:32 来源:中国专利 TAG:


1.本发明涉及信息处理技术领域,特别涉及一种程序评估方法、系统及存储介质和终端设备。


背景技术:

2.现有软件成熟度评估技术主要包括软件能力成熟度模型(capability maturity model,cmm)、组织项目管理成熟度模型(organizational project management maturity model,opm3)和科兹纳的项目成熟度模型(kerzner project management maturity model,k-pmmm)等评估模型,从整个项目的各方面进行评估,可以有效地指导软件在开发过程中的工作。
3.现有的软件成熟度评估方法采用的各种成熟度模型考虑要素十分繁多,虽然评估结果较完备准确,但执行起来资源投入也相对较多,不适用于快速评估项目进度的场景。


技术实现要素:

4.本发明实施例提供一种程序评估方法、系统及存储介质和终端设备,实现了快速地对应用程序进行评估。
5.本发明实施例一方面提供一种程序评估方法,包括:
6.获取目标应用程序所涉及需求的需求开发信息,及根据所述需求开发信息确定所述目标应用程序的需求未完成度;
7.获取所述目标应用程序在测试时的测试信息,及根据所述测试信息确定所述目标应用程序的遗留未完成度;
8.获取所述目标应用程序的重大缺陷的信息,及根据重大缺陷的信息所述确定所述目标应用程序的功能重大缺陷未完成度;所述重大缺陷为缺陷等级为预置等级的缺陷;
9.根据所述需求未完成度、遗留未完成度和功能重大缺失未完成度,确定所述目标应用程序的整体未完成度,以对所述目标应用程序进行进度分析。
10.本发明实施例另一方面提供一种程序评估系统,包括:
11.需求单元,用于获取目标应用程序所涉及需求的需求开发信息,及根据所述需求开发信息确定所述目标应用程序的需求未完成度;
12.遗留单元,用于获取所述目标应用程序在测试时的测试信息,及根据所述测试信息确定所述目标应用程序的遗留未完成度;
13.重大缺陷单元,用于获取所述目标应用程序的重大缺陷的信息,及根据重大缺陷的信息所述确定所述目标应用程序的功能重大缺陷未完成度;所述重大缺陷为缺陷等级为预置等级的缺陷;
14.整体评估单元,用于根据所述需求未完成度、遗留未完成度和功能重大缺失未完成度,确定所述目标应用程序的整体未完成度,以对所述目标应用程序进行进度分析。
15.本发明实施例另一方面还提供一种计算机可读存储介质,所述计算机可读存储介
质储存多个计算机程序,所述计算机程序适于由处理器加载并执行如本发明实施例一方面所述的程序评估方法。
16.本发明实施例另一方面还提供一种终端设备,包括处理器和存储器;
17.所述存储器用于储存多个计算机程序,所述计算机程序用于由处理器加载并执行如本发明实施例一方面所述的程序评估方法;所述处理器,用于实现所述多个计算机程序中的各个计算机程序。
18.可见,在本实施例的方法中,程序评估系统可以根据目标应用程序的需求开发信息、测试信息及重大缺陷的信息,分别确定目标应用程序的需求未完成度、遗留未完成度及功能重大缺陷未完成度,进而确定目标应用程序的整体未完成度。这样,通过应用程序的整体未完成度可以很好地表示应用程序的进度和成熟度,且将对目标应用程序的进度的评估统一到对各个维度的未完成度的确定,使得对应用程序评估的复杂度得到很大程度地降低,实现快速地对应用程序的评估。
附图说明
19.为了更清楚地说明本发明实施例或现有技术中的技术方案,下面将对实施例或现有技术描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本发明的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动性的前提下,还可以根据这些附图获得其他的附图。
20.图1是本发明实施例提供的一种程序评估方法的示意图;
21.图2是本发明一个实施例提供的一种程序评估方法的流程图;
22.图3是本发明一个应用实施例提供的一种程序评估方法的流程图;
23.图4是本发明一个应用实施例中确定需求未完成度的流程图;
24.图5是本发明一个应用实施例中确定遗留未完成度的流程图;
25.图6是本发明一个应用实施例中确定功能重大缺陷未完成度的流程图;
26.图7是本发明一个应用实施例中确定缺陷等级的流程图;
27.图8是本发明另一应用实施例中程序评估方法所应用于的分布式系统的示意图;
28.图9是本发明另一应用实施例中区块结构的示意图;
29.图10是本发明实施例提供的一种程序评估系统的逻辑结构示意图;
30.图11是本发明实施例提供的一种终端设备的逻辑结构示意图。
具体实施方式
31.下面将结合本发明实施例中的附图,对本发明实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例仅仅是本发明一部分实施例,而不是全部的实施例。基于本发明中的实施例,本领域普通技术人员在没有作出创造性劳动前提下所获得的所有其他实施例,都属于本发明保护的范围。
32.本发明的说明书和权利要求书及上述附图中的术语“第一”、“第二”、“第三”“第四”等(如果存在)是用于区别类似的对象,而不必用于描述特定的顺序或先后次序。应该理解这样使用的数据在适当情况下可以互换,以便这里描述的本发明的实施例例如能够以除了在这里图示或描述的那些以外的顺序实施。此外,术语“包括”和“具有”以及他们的任何
变形,意图在于覆盖不排它的包含,例如,包含了一系列步骤或单元的过程、方法、系统、产品或设备不必限于清楚地列出的那些步骤或单元,而是可包括没有清楚地列出的或对于这些过程、方法、产品或设备固有的其它步骤或单元。
33.本发明实施例提供一种程序评估方法,主要是对任一应用程序(即目标应用程序)在开发过程中的功能未完成度进行评估,进而对目标应用程序进行进度分析。具体地,如图1所示,程序评估系统可以采用如下步骤实现对目标应用程序的评估:
34.获取目标应用程序所涉及需求的需求开发信息,及根据所述需求开发信息确定所述目标应用程序的需求未完成度;
35.获取所述目标应用程序在测试时的测试信息,及根据所述测试信息确定所述目标应用程序的遗留未完成度;
36.获取所述目标应用程序的重大缺陷的信息,及根据重大缺陷的信息所述确定所述目标应用程序的功能重大缺陷未完成度;所述重大缺陷为缺陷等级为预置等级的缺陷;
37.根据所述需求未完成度、遗留未完成度和功能重大缺失未完成度,确定所述目标应用程序的整体未完成度,以对所述目标应用程序进行进度分析。
38.这样,通过应用程序的整体未完成度可以很好地表示应用程序的进度和成熟度,且将对目标应用程序的进度的评估统一到对各个维度的未完成度的确定,使得对应用程序评估的复杂度得到很大程度地降低,实现快速地对应用程序的评估。
39.本发明实施例提供一种程序评估方法,主要是程序评估系统所执行的方法,流程图如图2所示,包括:
40.步骤101,获取目标应用程序所涉及需求的需求开发信息,及根据需求开发信息确定目标应用程序的需求未完成度。
41.可以理解,任一应用程序(即目标应用程序)在上线之前,需要对目标应用程序进行开发,具体地,主要是对目标应用程序进行创建、功能开发、测试及更新等操作。在这个过程中,用户(主要是开发用户)可以通过程序评估系统发起本实施例的流程,实现对目标应用程序的整体未完成度(project issue value,piv)进行评估,从而可以分析出目标应用程序的开发进度,指导整个目标应用程序的开发过程。
42.当发起本实施例的流程时,需要先获取与目标应用程序开发相关的信息,并基于这些信息确定多个维度的未完成度。在本实施例中,主要涉及如下几个维度的未完成度:需求、缺陷和测试用例,其中:需求是指目标应用程序需要实现的功能的集合,缺陷是指目标应用程序中出现的各种不能满足其正常运行的问题,测试用例包含了为了测试目标应用程序中各种功能场景是否满足要求的测试准则。
43.相应地,针对这些维度确定的未完成度主要包括:需求未完成度(functional requirement issue value,fiv)、遗留未完成度(remaining issue value,riv)和功能重大缺陷未完成度(function loss issue value,liv),其中,需求未完成度用于指示目标应用程序所涉及的所有功能中,功能未开发完成的程度;遗留未完成度用于指示当目标应用程序的功能开发后,对目标应用程序进行测试后,基于测试结果得知的已发现缺陷中,对已发现缺陷未进行处理的程度;功能重大缺陷未完成度用于指示在对目标应用程序进行测试后,基于测试结果得知的缺陷中,对缺陷等级为预置等级的缺陷未进行处理的程度。
44.这样将对目标应用程序进行的进度分析统一到评估目标应用程序的整体未完成
度,可以减少对应用程序进度分析的复杂度。
45.具体地,在本步骤101中确定需求未完成度时涉及的目标应用程序的需求开发信息,主要是指在开发目标应用程序中各个需求(即功能)的过程中产生的信息,具体可以包括但不限于如下任一信息:需求的开发过程状态、需求优先级和开发工作量等。其中,开发过程状态可以包括但不限于如下状态:新创建、待开发、待测试、已测试、关闭、有变更及删除等状态。
46.这样,在确定目标应用程序整体的需求未完成度时,可以先为目标应用程序所包括的各个需求的开发过程状态和需求优先级分别设置第一需求权重值和第二需求权重值,为开发工作量设置第三需求权重值;根据各个需求对应的第一需求权重值、第二需求权重值和第三需求权重值,分别确定各个需求的子未完成度,比如任一需求的子未完成度为该需求的第一需求权重值、第二需求权重值和第三需求未完成度的乘积;根据各个需求的子未完成度确定目标应用程序整体的需求未完成度,比如整体需求未完成度为各个需求的子未完成度之和。
47.步骤102,获取目标应用程序在测试时的测试信息,及根据测试信息确定目标应用程序的遗留未完成度。
48.具体地,在本步骤102中确定遗留未完成度时使用的目标应用程序的测试信息,主要是指当开发目标应用程序中的需求(即功能)后,在对各个需求进行测试及修复的过程中产生的信息,具体可以包括但不限于如下任一信息:对目标应用程序进行测试所涉及的测试用例的信息(比如测试用例的分类、总数等)、测试过程中已发现缺陷的信息及已处理缺陷的信息等。其中,已处理缺陷是指表示已经修复了的缺陷,包括处于关闭、挂起和已验证状态的缺陷。
49.程序评估系统可以先将目标应用程序所涉及的所有测试用例划分为多个分组,比如,按照目标应用程序所包括的模块将测试用例进行划分,或者按照各个测试用例的属性将测试用例进行划分等。
50.这样,在确定遗留未完成度时,可以先根据各个分组的测试用例的完成率及测试用例占比,确定目标应用程序的整体测试完成率;根据整体测试完成率、已发现缺陷数及已处理缺陷数,确定目标应用程序的遗留缺陷数,比如,遗留缺陷数包括已发现缺陷数与整体测试完成率的比值,减去已处理缺陷数得到的值;为上述各个分组的测试用例对应的遗留缺陷设置基于处理状态的第一遗留权重值及基于缺陷等级的第二遗留权重值;根据测试用例的遗留缺陷数、第一遗留权重值和第二遗留权重值,确定目标应用程序的遗留未完成度,比如,遗留未完成度包括遗留缺陷数、第一遗留权重值和第二遗留权重值的乘积。
51.进一步地,在确定整体测试完成率时,可以根据各个分组的测试用例的完成率及测试用例占比,分别确定各个分组的分类测试完成率,比如,任一分组的分类测试完成率为该分组的测试用例的完成率的与测试用例占比的乘积,而测试用例占比为该分组的测试用例的数量与测试用例的总数之比;将各个分组的分类测试完成率之和作为目标应用程序的整体测试完成率。其中,任一分组的测试用例的完成率是指相应分组的所有测试用例中,测试用例完成测试的比率。
52.进一步地,在为上述各个分组的测试用例对应的遗留缺陷设置基于缺陷等级的第二遗留权重值时,需要先确定遗留缺陷的缺陷等级,具体地,需要根据遗留缺陷的复现概
率、被用户发现概率和影响度确定遗留缺陷的缺陷等级,比如,根据复现概率、被用户发现概率和影响度分别对应的权重值的乘积来确定缺陷等级;然后根据缺陷等级设置第二遗留权重值。其中,复现概率用于表示遗留缺陷重复出现的概率;被用户发现概率用于表示当遗留缺陷未处理且留到用户使用场景时,被发现的概率;影响度用于表示遗留缺陷造成的不良影响的程度。
53.需要说明的是,在确定一个缺陷的缺陷等级时,除了上述的复现概率、被用户发现概率和影响度等参数,还可以结合其它参数,比如,时间优先状态等参数,其中,如果某一应用程序需要紧急出货,则需要对各个缺陷进行紧急处理,则时间优先状态为紧急(urgent),如果应用程序不需要紧急出货,则时间优先状态为普通(normal)。
54.步骤103,获取目标应用程序的重大缺陷的信息,及根据重大缺陷的信息确定目标应用程序的功能重大缺陷未完成度,这里重大缺陷为缺陷等级为预置等级的缺陷。
55.具体地,在本步骤103中确定功能重大缺陷未完成度时使用的重大缺陷的信息,主要是指在对目标应用程序开发的功能进行测试后,发现的预置等级的重大缺陷的信息,本发明实施例中,预置等级主要是指需要解决的紧急或重点程度,可以包括如下至少一个信息:重大缺陷的数量及各个重大缺陷的处理状态等信息。这里的处理状态可以包括:新建、待修复、待释放、待验证或挂起等状态。
56.这样,在确定功能重大缺陷未完成度时,可以根据各个重大缺陷的处理状态为各个重大缺陷设置对应的处理权重值,然后根据处理权重值及重大缺陷的数量确定功能重大缺陷未完成度,比如将各个重大缺陷的处理权重值分别与重大缺陷的数量的乘积相加,得到的相加值作为功能重大缺陷未完成度。
57.需要说明的是,上述步骤101到103之间并没有绝对的顺序关系,可以同时执行,也可以顺序执行,图2中所示的只是其中一种具体的实现方式。
58.步骤104,根据需求未完成度、遗留未完成度和功能重大缺陷未完成度,确定目标应用程序的整体未完成度,以对目标应用程序进行进度分析。
59.具体地,可以将需求未完成度、遗留文完成度和功能缺失未完成度的加权和值作为整体未完成度。
60.进一步地,程序评估系统在执行上述步骤101到104的过程中,还可以分别储存目标应用所涉及的需求及缺陷的信息,然后通过关系矩阵建立需求与缺陷之间的对应关系。其中关系矩阵中可以包括多个元素,每个元素对应一个需求与一个缺陷之间的关系,即是否关联的关系,且可以通过关系矩阵中每个元素的位置可以定位到相应的需求和缺陷。
61.这样通过设置需求与缺陷的对应关系后,可以基于该对应关系来确定各个缺陷的缺陷等级,其中,如果关系矩阵中某一位置的元素指示一需求与一缺陷关联,则可以为该缺陷设置较高的缺陷等级;如果关系矩阵中某一位置的元素指示一需求与一缺陷不相关联,则可以为该缺陷设置较低的缺陷等级。
62.可见,在本实施例的方法中,程序评估系统可以根据目标应用程序的需求开发信息、测试信息及重大缺陷的信息,分别确定目标应用程序的需求未完成度、遗留未完成度及功能重大缺陷未完成度,进而确定目标应用程序的整体未完成度。这样,通过应用程序的整体未完成度可以很好地表示应用程序的进度和成熟度,且将对目标应用程序的进度的评估统一到对各个维度的未完成度的确定,使得对应用程序评估的复杂度得到很大程度地降
低,实现快速地对应用程序的评估。
63.以下以一个具体的应用实例来说明本发明实施例的程序评估方法,如图3所示,本实施例的方法可以如下步骤:
64.步骤201,针对任一正在开发的应用程序(即目标应用程序),获取目标应用程序的需求开发信息,具体可以包括需求的开发过程状态state、需求优先级pn和开发工作量t等。
65.步骤202,根据目标应用程序的需求开发信息确定目标应用程序的需求未完成度fiv,可以反映客户需求的开发情况。具体地如图4所示,在确定需求未完成度时,具体可以包括步骤:
66.a1、基于目标应用程序的各个需求的开发过程状态state设置各个需求的第一需求权重值fr
state
时,可以如下表1所示:
67.state新创建待开发待测试已测试关闭有变更删除fr
state
n1n2n3n4n5n6n768.表1
69.a2、基于目标应用程序的各个需求的需求优先级pn设置各个需求的第二需求权重值fr
priority
时,主要是考虑需求对客户的影响程序来设置第二需求权重值的,具体可以如下公式1-1来表示,将需求优先级pn的范围设置为m 1个:
[0070][0071]
a3、基于开发工作量t设置第三需求权重值fr
t
时,可以如下公式1-2所示,其中,α为计算权值:
[0072]
fr
t
=α
×
t
ꢀꢀꢀ
(1-2)
[0073]
a4、根据一个需求的第一需求权重值fr
state
、第二需求权重值fr
priority
及第三需求权重值fr
t
,确定该需求的子未完成度fiv
single
,具体可以如下公式1-3表示:
[0074]
fiv
single
=fr
state
×
fr
priority
×
fr
t
ꢀꢀꢀ
(1-3)
[0075]
a5、根据各个需求的子未完成度fiv
single
确定目标应用程序整体的需求未完成度fiv,具体可以先根据如下公式1-4先确定目标应用程序所包括各个模块的需求未完成度fiv
subfunc
包括:各个模块所涉及需求的子未完成度之和;然后根据如下公式1-5将各个模块的需求未完成度之和作为目标应用程序整体的需求未完成度fiv:
[0076][0077]
fiv=∑fiv
subfunc
=∑fiv
single
ꢀꢀꢀ
(1-5)
[0078]
需要说明的是,由于目标应用程序设计的两个模块之间可能会涉及到相同的需求,这样,先计算各个模块的需求未完成度,再计算的目标应用程序整体的未完成度更为准确。
[0079]
步骤203,获取目标应用程序在测试时的测试信息,具体可以包括目标应用程序进
行测试所涉及的测试用例的信息、测试过程中已发现缺陷的信息及已处理缺陷的信息等。
[0080]
步骤204,根据目标应用程序的测试信息确定目标应用程序的遗留未完成度riv。具体地如图5所示,在确定遗留未完成度时,具体可以包括:
[0081]
b1、将测试用例划分为多个分组,根据各个分组的测试用例的完成率(test completion rate,tcr)及测试用例占比的乘积,分别作为各个分组的分类测试完成率。其中,测试用例占比为各个分组涉及的测试用例数量与测试用例的总数(test case amount,tca)的比值。
[0082]
b2、将各个分组的分类测试完成率之和作为目标应用程序的整体测试完成率tcr
total
,具体可以如下公式2-1所示,其中,对测试用例的分组可以基于目标应用程序所包括的模块(记为subfunc)得到,也可以基于测试用例的属性(记为spe)得到。
[0083][0084]
需要说明的是,由于目标应用程序中包括的两个模块之间可能会由相同属性的测试用例,则划分测试用例时两个分组之间可能会包括相同的测试用例,这样在计算整体测试完成率时,基于目标应用程序所包括的模块得到多个分组的测试用例,而计算得到的整体测试完成率更准确。其中,任一分组的分类测试完成率tcr
subfunc
可以通过如下公式2-2来表示,即分组的分类测试完成率为该分组中各个属性的测试用例的分类测试完成率之和:
[0085][0086]
b3、根据上述得到的整体测试完成率tcr
total
、已发现缺陷数(found issue amount,fia)及已处理缺陷数(processed issue amount,pia),确定目标应用程序的遗留缺陷数(remaining issue amount,ria)。其中,已处理缺陷可以包括具体如下公式2-3来表示:
[0087][0088]
b4、为上述各个分组的测试用例对应的遗留缺陷设置基于处理状态stated的第一遗留权重值i
state
及基于缺陷等级pn的第二遗留权重值d
priority
,具体地,在设置第一遗留权重值时,可以按照如下表2来设置,且可以采用如下公式2-4来设置第二遗留权重值:
[0089]
处理状态新创建待修复待释放待验证验证完关闭删除挂起i
state
m1m2m3m4m5m6m7m8[0090]
表2
[0091]
[0092]
b5、根据测试用例的遗留缺陷数、第一遗留权重值和第二遗留权重值,确定目标应用程序的遗留未完成度。具体可以如下公式2-5所示:
[0093]
riv=∑(ria
total
×istate
×dpriority
)
ꢀꢀꢀ
(2-5)
[0094]
步骤205,获取目标应用程序的重大缺陷的信息,具体可以包括重大缺陷的数量(function loss issue amount,lia)及各个重大缺陷的处理状态等信息。
[0095]
步骤206,根据重大缺陷的信息确定目标应用程序的功能重大缺陷未完成度liv。具体地如图6所示,在确定功能重大缺陷未完成度时,具体可以包括:
[0096]
c1、根据各个重大缺陷的处理状态为各个重大缺陷设置对应的处理权重值li
state
,由于重大缺陷对目标应用程序的影响较大,则设置的处理权重值会比上述步骤中设置的第二遗留权重值大,具体可以如下表3的方式来设置:
[0097]
处理状态新创建待修复待释放待验证验证完关闭删除挂起li
state
m1′
m2′
m3′
m4′
m5′
m6′
m7′
m8′
[0098]
表2
[0099]
c2、根据处理权重值及重大缺陷的数量lia
state
确定功能重大缺陷未完成度liv,具体可以通过如下公式3来表示:
[0100][0101]
步骤207,根据需求未完成度fiv、遗留未完成度riv和功能重大缺陷未完成度liv,确定目标应用程序的整体未完成度piv,以对目标应用程序进行进度分析,当确定的整体未完成度越小,说明目标应用程序的成熟度越高,质量越好。具体可以如下公式4来表示,其中,α1、α2和α3的和可以为1:
[0102]
piv=α1×
fiv α2×
riv α3×
liv
ꢀꢀꢀ
(4)
[0103]
相应地,可以通过同样的算法来确定目标应用程序所包括的各个模块(记为subfunc)的整体未完成度piv
subfunc
,具体如下公式5所示:
[0104]
piv
subfunc
=α1×
fiv
subfunc
α2×
riv
subfunc
α3×
liv
subfunc
ꢀꢀꢀ
(5)
[0105]
可见,本实施例的方法中将对目标应用程序的评估统一到对目标应用程序的多个维度的未完成度的计算,可以快速地完成对目标应用程序的进度进行评估,为时时把控目标应用程序的进度提供有效地技术支持。
[0106]
需要说明的是,程序评估系统在执行上述步骤的过程中,会涉及到确定目标应用程序的各个缺陷的缺陷等级,在实际应用中,缺陷等级可以采用但不限于如下几种方式:
[0107]
(1)目标应用程序出货的时间优先状态,比如时间优先状态为紧急,可以直接确定对应的缺陷等级为较高等级,如果时间优先状态为普通,则可以按照其它的方式来确定缺陷等级。
[0108]
(2)根据目标应用程序中缺陷的复现概率、被用户发现概率和影响度确定相应缺陷的缺陷等级。具体如图7所示,在确定缺陷等级时,可以按照如下步骤来实现:
[0109]
d1、根据缺陷的复现概率p
prb
确定对应的权重值w
prb

[0110]
其中,复现概率p
prb
可以通过如下公式6-1来表示,即复现概率为缺陷被复现的次数r’,与为复现该缺陷而执行测试用例的总数r的比值:
[0111][0112]
这样,将复现概率p
prb
划分为k个子区间,根据各个子区间的复现概率设置对应的权重值w
prb
,具体可以如下公式6-2来表示,可见,复现概率越大,则对应的权重值越大:
[0113][0114]
d2、根据缺陷的被用户发现概率确定对应的权重值w
cls
,该权重值w
cls
可以表示缺陷被遗留到用户场景中时被发现的概率,具体可以通过发现缺陷时测试用例的所属类型和测试步骤的多少来体现。
[0115]
具体地,将缺陷被发现时所用的测试用例的测试步骤数量step划分为l个多子区间,根据各个子区间的测试步骤数量设置对应的权重值w
cls
,具体可以如下公式6-3来表示,可见,测试步骤数量越大,则对应的权重值越小:
[0116][0117]
d3、根据缺陷的影响度svr确定对应的权重值w
svr
,具体可以通过如下公式6-4来表示,其中,影响度svr可以根据实际经验划分为o个等级,可见,影响度越大,则对应的权重值越小:
[0118][0119]
d4、根据上述复现概率、被用户发现概率和影响度分别对应的权重值,确定相应缺陷的缺陷等级分值i
priority
,具体可以通过如下公式6-5来表示:
[0120]ipriority
=1000
×wprb
×wcls
×wsvr
,w
prb
,w
cls
,w
svr
∈(0,1]
ꢀꢀꢀ
(6-5)
[0121]
进一步地,当得到缺陷等级分值i
priority
,为了处理简便,可以根据缺陷等级分值得到缺陷等级的指示值pn,具体可以通过如下公式6-6来表示,可见,缺陷等级分值越高,缺陷等级的指示值pn越小,当指示值pn为0时,缺陷等级越高,表示该缺陷需要处理的优先等级越高:
[0122][0123]
(3)程序评估系统会通过关系矩阵建立目标应用程序中需求与缺陷之间的对应关系,并基于该对应关系确定各个缺陷的缺陷等级,当某一需求与缺陷关联时,该缺陷的缺陷等级就较高。
[0124]
其中,关系矩阵中各个元素可以如下公式7来表示:
[0125][0126]
以下以另一具体的应用实例来说明本发明中程序评估方法,本发明实施例中的程序评估系统主要为分布式系统100,该分布式系统可以包括客户端300及多个节点200(接入网络中的任意形式的计算设备,如服务器、用户终端),客户端300与节点200之间通过网络通信的形式连接。
[0127]
以分布式系统为区块链系统为例,参见图8是本发明实施例提供的分布式系统100应用于区块链系统的一个可选的结构示意图,由多个节点200(接入网络中的任意形式的计算设备,如服务器、用户终端)和客户端300形成,节点之间形成组成的点对点(p2p,peer to peer)网络,p2p协议是一个运行在传输控制协议(tcp,transmission control protocol)协议之上的应用层协议。在分布式系统中,任何机器如服务器、终端都可以加入而成为节点,节点包括硬件层、中间层、操作系统层和应用层。
[0128]
参见图8示出的区块链系统中各节点的功能,涉及的功能包括:
[0129]
1)路由,节点具有的基本功能,用于支持节点之间的通信。
[0130]
节点除具有路由功能外,还可以具有以下功能:
[0131]
2)应用,用于部署在区块链中,根据实际业务需求而实现特定业务,记录实现功能相关的数据形成记录数据,在记录数据中携带数字签名以表示任务数据的来源,将记录数据发送到区块链系统中的其它节点,供其它节点在验证记录数据来源以及完整性成功时,将记录数据添加到临时区块中。
[0132]
例如,应用实现的业务包括实现程序评估功能的代码,该程序评估功能主要包括:
[0133]
获取目标应用程序所涉及需求的需求开发信息,及根据所述需求开发信息确定所述目标应用程序的需求未完成度;获取所述目标应用程序在测试时的测试信息,及根据所述测试信息确定所述目标应用程序的遗留未完成度;获取所述目标应用程序的重大缺陷的信息,及根据重大缺陷的信息所述确定所述目标应用程序的功能重大缺陷未完成度;所述重大缺陷为缺陷等级为预置等级的缺陷;根据所述需求未完成度、遗留未完成度和功能重大缺失未完成度,确定所述目标应用程序的整体未完成度,以对所述目标应用程序进行进度分析。
[0134]
3)区块链,包括一系列按照产生的先后时间顺序相互接续的区块(block),新区块一旦加入到区块链中就不会再被移除,区块中记录了区块链系统中节点提交的记录数据。
[0135]
参见图9为本发明实施例提供的区块结构(block structure)一个可选的示意图,每个区块中包括本区块存储交易记录的哈希值(本区块的哈希值)、以及前一区块的哈希值,各区块通过哈希值连接形成区块链。另外,区块中还可以包括有区块生成时的时间戳等信息。区块链(blockchain),本质上是一个去中心化的数据库,是一串使用密码学方法相关联产生的数据块,每一个数据块中包含了相关的信息,用于验证其信息的有效性(防伪)和生成下一个区块。
[0136]
本发明实施例还提供一种程序评估系统,其结构示意图如图10所示,具体可以包括:
[0137]
需求单元10,用于获取目标应用程序所涉及需求的需求开发信息,及根据所述需求开发信息确定所述目标应用程序的需求未完成度;
[0138]
遗留单元11,用于获取所述目标应用程序在测试时的测试信息,及根据所述测试信息确定所述目标应用程序的遗留未完成度;
[0139]
重大缺陷单元12,用于获取所述目标应用程序的重大缺陷的信息,及根据重大缺陷的信息所述确定所述目标应用程序的功能重大缺陷未完成度;所述重大缺陷为缺陷等级为预置等级的缺陷;
[0140]
整体评估单元13,用于根据所述需求单元10确定的需求未完成度、遗留单元11确定的遗留未完成度和重大缺陷单元12确定的功能重大缺失未完成度,确定所述目标应用程序的整体未完成度,以对所述目标应用程序进行进度分析。
[0141]
在具体实现过程中,上述需求单元10,具体用于若所述需求开发信息包括:所述目标应用程序包括的多个需求分别对应的开发过程状态、需求优先级及开发工作量;则为所述目标应用程序的各个需求的开发过程状态和需求优先级分别设置第一需求权重值和第二需求权重值,为所述开发工作量设置第三需求权重值;根据所述各个需求对应的第一需求权重值、第二需求权重值和第三需求权重值,分别确定所述各个需求的子未完成度;根据所述各个需求的子未完成度确定所述目标应用程序的需求未完成度。
[0142]
其中,任一需求的子未完成度包括相应需求的第一需求权重值、第二需求权重值和第三需求权重值的乘积;所述目标应用程序的需求未完成度包括所述各个需求的子未完成度之和。
[0143]
遗留单元11,具体用于若所述目标应用程序在测试时的测试信息包括:对所述目标应用程序进行测试时所涉及的多个分组的测试用例的信息、已发现缺陷数及已处理缺陷数;则根据各个分组的测试用例的完成率及测试用例占比,确定所述目标应用程序的整体测试完成率;根据所述整体测试完成率、已发现缺陷数及已处理缺陷数,确定所述目标应用程序的遗留缺陷数;为所述测试用例对应的遗留缺陷设置基于处理状态的第一遗留权重值及基于缺陷等级的第二遗留权重值;根据所述遗留缺陷数、第一遗留权重值和第二遗留权重值,确定所述目标应用程序的遗留未完成度。
[0144]
其中,遗留单元11在根据各个分组的测试用例的完成率及测试用例占比,确定所述目标应用程序的整体测试完成率时,具体用于根据所述各个分组的测试用例的完成率及测试用例占比,分别确定所述各个分组的分类测试完成率;将所述各个分组的分类测试完成率之和作为所述整体测试完成率。进一步地,遗留单元11在根据所述整体测试完成率、已发现缺陷数及已处理缺陷数,确定所述目标应用程序的遗留缺陷数时,具体用于确定所述
遗留缺陷数包括:所述已发现缺陷数与整体测试完成率的比值,减去所述已处理缺陷数得到的值。
[0145]
进一步地,遗留单元11在为所述测试用例对应的遗留缺陷设置基于缺陷等级的第二遗留权重值时,具体用于根据所述遗留缺陷的复现概率、被用户发现概率和影响度,确定所述遗留缺陷的缺陷等级;根据所述缺陷等级为所述遗留缺陷设置第二遗留权重值。
[0146]
重大缺陷单元12,具体用于若所述重大缺陷的信息包括:所述重大缺陷的数量及各个重大缺陷的处理状态;则根据所述各个重大缺陷的处理状态,为所述各个重大缺陷设置对应的处理权重值;根据所述处理权重值及重大缺陷的数量确定所述功能重大缺陷未完成度。
[0147]
进一步地,本实施例中的程序评估系统还可以包括:对应关系单元14,用于分别储存所述目标应用程序所涉及的需求及缺陷的信息;通过关系矩阵建立所述需求与缺陷之间的对应关系。
[0148]
在本实施例的程序评估系统中,需求单元10、遗留单元11和重大缺陷单元12可以根据目标应用程序的需求开发信息、测试信息及重大缺陷的信息,分别确定目标应用程序的需求未完成度、遗留未完成度及功能重大缺陷未完成度,进而整体评估单元13确定目标应用程序的整体未完成度。这样,通过应用程序的整体未完成度可以很好地表示应用程序的进度和成熟度,且将对目标应用程序的进度的评估统一到对各个维度的未完成度的确定,使得对应用程序评估的复杂度得到很大程度地降低,实现快速地对应用程序的评估。
[0149]
本发明实施例还提供一种终端设备,其结构示意图如图11所示,该终端设备可因配置或性能不同而产生比较大的差异,可以包括一个或一个以上中央处理器(central processing units,cpu)20(例如,一个或一个以上处理器)和存储器21,一个或一个以上存储应用程序221或数据222的存储介质22(例如一个或一个以上海量存储设备)。其中,存储器21和存储介质22可以是短暂存储或持久存储。存储在存储介质22的程序可以包括一个或一个以上模块(图示没标出),每个模块可以包括对终端设备中的一系列指令操作。更进一步地,中央处理器20可以设置为与存储介质22通信,在终端设备上执行存储介质22中的一系列指令操作。
[0150]
具体地,在存储介质22中储存的应用程序221包括程序评估的应用程序,且该程序可以包括上述列程序评估系统中的需求单元10,遗留单元111,重大缺陷单元12,整体评估单元13和对应关系单元14,在此不进行赘述。更进一步地,中央处理器20可以设置为与存储介质22通信,在终端设备上执行存储介质22中储存的程序评估的应用程序对应的一系列操作。
[0151]
终端设备还可以包括一个或一个以上电源23,一个或一个以上有线或无线网络接口24,一个或一个以上输入输出接口25,和/或,一个或一个以上操作系统223,例如windows servertm,mac os xtm,unixtm,linuxtm,freebsdtm等等。
[0152]
上述方法实施例中所述的由程序评估系统所执行的步骤可以基于该图11所示的终端设备的结构。
[0153]
进一步地,本发明实施例另一方面还提供一种计算机可读存储介质,所述计算机可读存储介质储存多个计算机程序,所述计算机程序适于由处理器加载并执行如上述程序评估系统所执行的程序评估方法。
[0154]
本发明实施例另一方面还提供一种终端设备,包括处理器和存储器;
[0155]
所述存储器用于储存多个计算机程序,所述计算机程序用于由处理器加载并执行如上述程序评估系统所执行的程序评估方法;所述处理器,用于实现所述多个计算机程序中的各个计算机程序。
[0156]
另外,根据本技术的一个方面,提供了一种计算机程序产品或计算机程序,该计算机程序产品或计算机程序包括计算机指令,该计算机指令存储在计算机可读存储介质中。计算机设备的处理器从计算机可读存储介质读取该计算机指令,处理器执行该计算机指令,使得该计算机设备执行上述各种可选实现方式中提供的程序评估方法。
[0157]
本领域普通技术人员可以理解上述实施例的各种方法中的全部或部分步骤是可以通过程序来指令相关的硬件来完成,该程序可以存储于一计算机可读存储介质中,存储介质可以包括:只读存储器(rom)、随机存取存储器(ram)、磁盘或光盘等。
[0158]
以上对本发明实施例所提供的一种程序评估方法、系统及存储介质和终端设备进行了详细介绍,本文中应用了具体个例对本发明的原理及实施方式进行了阐述,以上实施例的说明只是用于帮助理解本发明的方法及其核心思想;同时,对于本领域的一般技术人员,依据本发明的思想,在具体实施方式及应用范围上均会有改变之处,综上所述,本说明书内容不应理解为对本发明的限制。
再多了解一些

本文用于企业家、创业者技术爱好者查询,结果仅供参考。

发表评论 共有条评论
用户名: 密码:
验证码: 匿名发表

相关文献