软件产品成熟度评估方法、装置、计算机设备和存储介质与流程

文档序号:28744380发布日期:2022-02-07 23:01阅读:576来源:国知局
软件产品成熟度评估方法、装置、计算机设备和存储介质与流程

1.本技术涉及软件测试技术领域,特别是涉及一种软件产品成熟度评估方法、装置、计算机设备和存储介质。


背景技术:

2.伴随着云计算、大数据、物联网、移动互联网、人工智能、区块链及工业互联网等新一代信息技术的涌现和发展,软件在人类社会的工作、休闲、生产及生活中占据着越来越重要的地位。为了更好地、更可信地应用软件,人们开始关注软件的运行过程是否稳定、性能水平是否达标、安全方面是否存在隐患及操作使用是否方便等。为评估软件产品水平,国内外一些组织和机构也先后提出了如软件质量模型、软件成熟度等概念以及软件质量度量、软件质量评价等评价方法,以帮助评估、提升及改进软件。
3.相关技术中,通常通过软件成熟度模型对软件产品的成熟度进行评估,由于目前大部分的软件成熟度模型关注过程,如设计过程、开发过程、组织过程及管理过程等,存在容易忽略软件产品本身的成熟度如何正确考量及表征不足的问题,导致软件产品的成熟度评估结果不准确。


技术实现要素:

4.基于此,有必要针对上述技术问题,提供一种能够提高软件产品的成熟度评估结果准确性的一种软件产品成熟度评估方法、装置、计算机设备和存储介质。
5.一种软件产品成熟度评估方法,该方法包括:
6.获取软件产品的所有评估指标及每一评估指标包含的所有子评估指标;其中,所有评估指标包括产品完整性指标、产品响应性指标、产品安稳性指标及产品适应性指标;产品完整性指标包含的所有子评估指标包括文档完整性指标、程序完整性指标及数据完整性指标;产品响应性指标包含的所有子评估指标包括正常处理指标及异常处理指标;产品安稳性指标包含的所有子评估指标包括运行稳定性指标、无自害性指标及无他害性指标;产品适应性指标包含的所有子评估指标包括环境适应性指标、可扩展性指标及可用性指标;
7.根据每一评估指标包含的所有子评估指标,获取目标判断矩阵;
8.根据目标判断矩阵,确定每一评估指标包含的每一子评估指标的权重;
9.获取基于每一子评估指标对软件产品进行成熟度评价的分数,根据每一子评估指标的分数及权重,确定软件产品的成熟度评分;
10.根据预设等级标准,确定软件产品的成熟度评分所对应的等级。
11.在其中一个实施例中,根据每一评估指标包含的所有子评估指标,获取目标判断矩阵,包括:
12.分别根据每一评估指标包含的所有子评估指标,建立每一评估指标对应的判断矩阵;
13.对于任一评估指标对应的判断矩阵,对任一评估指标对应的判断矩阵进行一致性
检验;
14.判断任一评估指标对应的判断矩阵的一致性检验结果是否小于预设阈值;
15.若小于,则将任一评估指标对应的判断矩阵作为任一评估指标对应的目标判断矩阵;
16.若不小于,则更新任一评估指标对应的判断矩阵中的数值,并再对任一评估指标对应的判断矩阵进行一致性检验,重复上述更新及一致性检验的过程,直至任一评估指标对应的一致性检验结果小于预设阈值。
17.在其中一个实施例中,对于任一评估指标对应的判断矩阵,对任一评估指标对应的判断矩阵进行一致性检验,包括:
18.获取任一评估指标对应的判断矩阵的所有特征值,并确定所有特征值中的最大特征值;
19.计算任一评估指标对应的最大特征值与任一评估指标对应的判断矩阵的阶数之间的第一差值,计算任一评估指标对应的判断矩阵的阶数与1的第二差值,获取第一差值与第二差值之间的第一比值,获取第一比值与平均随机一致性指标之间的第二比值,并将第二比值作为任一评估指标对应的一致性检验结果。
20.在其中一个实施例中,每一评估指标均对应一个目标判断矩阵;分别根据每一评估指标包含的所有子评估指标,建立每一评估指标对应的判断矩阵,包括:
21.对于任一评估指标,将任一评估指标包含的所有子评估指标记为n个子评估指标,确定n个子评估指标中每一子评估指标与n个子评估指标中每一子评估指标之间的相对重要程度评分,并由所有相对重要程度评分构成任一评估指标的n*n判断矩阵;
22.其中,n指的是任一评估指标包含的子评估指标总数量,判断矩阵中第j列元素对应任一评估指标所包含的第j个子评估指标,第j列元素表示的是n个子评估指标中每一子评估指标相较于第j个子评估指标的相对重要程度评分,j为正整数且取值为1至n。
23.在其中一个实施例中,根据目标判断矩阵,确定每一评估指标包含的每一子评估指标的权重,包括:
24.对于任一评估指标对应的目标判断矩阵中的第j列元素,对第j列元素中的数值进行求和,得到第j列元素对应的第一求和结果;其中,第j列元素对应任一评估指标所包含的第j个子评估指标;
25.从第j列元素中,确定任一评估指标所包含的第i个子评估指标相较于第j个子评估指标的相对重要程度评分,计算确定出的数值与第j列元素对应的第一求和结果之间的第三比值;
26.将每列元素对应的第三比值进行求和,得到第i个子评估指标对应的第二求和结果,计算第二求和结果与n的第四比值,将第四比值作为第i个子评估指标的权重。
27.在其中一个实施例中,每一子评估指标的分数的确定过程,包括:
28.基于第一预设判断项,对软件产品的说明文档进行判断,根据说明文档的判断结果,确定文档完整性指标的分数,第一预设判断项包括说明文档是否齐全、说明文档是否正确及说明文档是否准确无歧义;
29.基于第二预设判断项,对软件产品的代码进行判断,根据代码的判断结果,确定程序完整性指标的分数,第二预设判断项包括代码是否完整可运行、代码是否与产品安装程
序一致及代码的注释率是否符合工程规范;
30.基于第三预设判断项,对软件产品的数据进行判断,根据数据的判断结果,确定数据完整性指标的分数,第三预设判断项包括数据的数据字段是否完整、数据的属性是否完整、数据的预置数据量是否符合要求及数据的数据类型是否符合要求;
31.对软件产品进行正常处理测试,获取软件产品正常处理测试后的实际输出,根据正常处理测试后的实际输出与软件产品的预期输出,确定软件产品的第一运行评估结果,根据第一运行评估结果,确定正常处理指标的分数;
32.通过模拟误操作、非法操作及非常规操作对软件产品进行异常处理测试,获取软件产品异常处理测试后的实际输出,根据异常处理测试后的实际输出,确定软件产品的第二运行评估结果,根据第二运行评估结果,确定异常处理指标的分数;
33.在第一预设时间段内,分别获取软件产品在被操作运行下的第三运行评估结果及软件产品在自运行下的第四评估结果;根据第三评估结果及第四评估结果,确定运行稳定性指标的分数;
34.在第二预设时间段内,获取软件产品在各种模拟操作下的第五评估结果;根据第五评估结果,确定无自害性指标的分数;
35.在第三预设时间段内,获取软件产品在各种模拟操作下的第六评估结果;根据第六评估结果,确定无他害性指标的分数;
36.根据软件产品在预期环境下是否能正常安装、安装步骤的总数、安装耗费时长、能否正常卸载、卸载步骤的总数、卸载耗费时长及软件产品的各项功能是否能够正常运行,确定环境适应性指标的分数;
37.根据软件产品是否具备可扩展性设计的功能模块、预留的接口及二次开发模式,确定可延展性指标的分数;
38.根据软件产品在人机交互设计方面的可用性,确定可用性指标的分数。
39.在其中一个实施例中,根据每一子评估指标的分数及权重,确定软件产品的成熟度评分,包括:
40.获取每一子评估指标的分数与权重之间的乘积;
41.将每一子评估指标的分数与权重之间的乘积进行叠加,得到第三求和结果;
42.根据第三求和结果,确定软件产品的成熟度评分。
43.一种软件产品成熟度评估装置,该装置包括:
44.第一获取模块,用于获取软件产品的所有评估指标及每一评估指标包含的所有子评估指标;其中,所有评估指标包括产品完整性指标、产品响应性指标、产品安稳性指标及产品适应性指标;产品完整性指标包含的所有子评估指标包括文档完整性指标、程序完整性指标及数据完整性指标;产品响应性指标包含的所有子评估指标包括正常处理指标及异常处理指标;产品安稳性指标包含的所有子评估指标包括运行稳定性指标、无自害性指标及无他害性指标;产品适应性指标包含的所有子评估指标包括环境适应性指标、可扩展性指标及可用性指标;
45.第二获取模块,用于根据每一评估指标包含的所有子评估指标,获取目标判断矩阵;
46.第一确定模块,用于根据目标判断矩阵,确定每一评估指标包含的每一子评估指
标的权重;
47.第二确定模块,用于获取基于每一子评估指标对软件产品进行成熟度评价的分数,根据每一子评估指标的分数及权重,确定软件产品的成熟度评分;
48.第三确定模块,用于根据预设等级标准,确定软件产品的成熟度评分所对应的等级。
49.一种计算机设备,包括存储器和处理器,存储器存储有计算机程序,处理器执行计算机程序时实现以下步骤:
50.获取软件产品的所有评估指标及每一评估指标包含的所有子评估指标;其中,所有评估指标包括产品完整性指标、产品响应性指标、产品安稳性指标及产品适应性指标;产品完整性指标包含的所有子评估指标包括文档完整性指标、程序完整性指标及数据完整性指标;产品响应性指标包含的所有子评估指标包括正常处理指标及异常处理指标;产品安稳性指标包含的所有子评估指标包括运行稳定性指标、无自害性指标及无他害性指标;产品适应性指标包含的所有子评估指标包括环境适应性指标、可扩展性指标及可用性指标;
51.根据每一评估指标包含的所有子评估指标,获取目标判断矩阵;
52.根据目标判断矩阵,确定每一评估指标包含的每一子评估指标的权重;
53.获取基于每一子评估指标对软件产品进行成熟度评价的分数,根据每一子评估指标的分数及权重,确定软件产品的成熟度评分;
54.根据预设等级标准,确定软件产品的成熟度评分所对应的等级。
55.一种计算机可读存储介质,其上存储有计算机程序,计算机程序被处理器执行时实现以下步骤:
56.获取软件产品的所有评估指标及每一评估指标包含的所有子评估指标;其中,所有评估指标包括产品完整性指标、产品响应性指标、产品安稳性指标及产品适应性指标;产品完整性指标包含的所有子评估指标包括文档完整性指标、程序完整性指标及数据完整性指标;产品响应性指标包含的所有子评估指标包括正常处理指标及异常处理指标;产品安稳性指标包含的所有子评估指标包括运行稳定性指标、无自害性指标及无他害性指标;产品适应性指标包含的所有子评估指标包括环境适应性指标、可扩展性指标及可用性指标;
57.根据每一评估指标包含的所有子评估指标,获取目标判断矩阵;
58.根据目标判断矩阵,确定每一评估指标包含的每一子评估指标的权重;
59.获取基于每一子评估指标对软件产品进行成熟度评价的分数,根据每一子评估指标的分数及权重,确定软件产品的成熟度评分;
60.根据预设等级标准,确定软件产品的成熟度评分所对应的等级。
61.上述软件产品成熟度评估方法、装置、计算机设备和存储介质,通过获取软件产品的所有评估指标及每一评估指标包含的所有子评估指标;其中,所有评估指标包括产品完整性指标、产品响应性指标、产品安稳性指标及产品适应性指标;产品完整性指标包含的所有子评估指标包括文档完整性指标、程序完整性指标及数据完整性指标;产品响应性指标包含的所有子评估指标包括正常处理指标及异常处理指标;产品安稳性指标包含的所有子评估指标包括运行稳定性指标、无自害性指标及无他害性指标;产品适应性指标包含的所有子评估指标包括环境适应性指标、可扩展性指标及可用性指标;根据每一评估指标包含的所有子评估指标,获取目标判断矩阵;根据目标判断矩阵,确定每一评估指标包含的每一
子评估指标的权重;获取基于每一子评估指标对软件产品进行成熟度评价的分数,根据每一子评估指标的分数及权重,确定软件产品的成熟度评分;根据预设等级标准,确定软件产品的成熟度评分所对应的等级。由于是基于软件产品自身的完整程度、交互能力、安全水平和适应能力等方面,获取用于评估软件产品成熟度的指标,聚焦于软件产品本身的完整性、响应性、安稳性及适用性,从而能更全面、客观、准确地评估软件产品的成熟度,解决现有的软件产品成熟度评估方法存在容易忽略软件产品本身的成熟度如何正确考量及表征不足的问题,使得确定的软件产品的成熟度评分所对应的等级更加准确,也即使得软件产品的成熟度评估结果更加准确。
附图说明
62.图1为一个实施例中软件产品成熟度评估方法的流程示意图;
63.图2为一个实施例中软件产品成熟度评估体系的架构图;
64.图3为一个实施例中计算每一子评估指标的权重的流程示意图;
65.图4为一个实施例中软件产品成熟度评估系统的结构框图;
66.图5为一个实施例中软件产品成熟度评估装置的结构框图;
67.图6为一个实施例中计算机设备的内部结构图。
具体实施方式
68.为了使本技术的目的、技术方案及优点更加清楚明白,以下结合附图及实施例,对本技术进行进一步详细说明。应当理解,此处描述的具体实施例仅仅用以解释本技术,并不用于限定本技术。
69.伴随着云计算、大数据、物联网、移动互联网、人工智能、区块链及工业互联网等新一代信息技术的涌现和发展,软件在人类社会的工作、休闲、生产及生活中占据着越来越重要的地位。为了更好地、更可信地应用软件,人们开始关注软件的运行过程是否稳定、性能水平是否达标、安全方面是否存在隐患及操作使用是否方便等。为评估软件产品水平,国内外一些组织和机构也先后提出了如软件质量模型、软件成熟度等概念以及软件质量度量、软件质量评价等评价方法,以帮助评估、提升及改进软件。
70.相关技术中,通常通过软件成熟度模型对软件产品的成熟度进行评估,由于目前大部分的软件成熟度模型关注过程,如设计过程、开发过程、组织过程及管理过程等,存在容易忽略软件产品本身的成熟度如何正确考量及表征不足的问题,导致软件产品的成熟度评估结果不准确。
71.可以理解,本技术所使用的术语“第一”、“第二”等可在本文中用于描述各种专业名词,但除非特别说明,这些专业名词不受这些术语限制。这些术语仅用于将一个专业名词与另一个专业名词区分。举例来说,在不脱离本技术的范围的情况下,第一预设时间段与第二预设时间段可以相同可以不同。
72.针对上述相关技术中存在的问题,本发明实施例提供了一种软件产品成熟度评估方法,该方法可以应用于服务器中,服务器可以用独立的服务器或者是多个服务器组成的服务器集群来实现。需要说明的是,本技术各实施例中提及的“多个”等的数量均指代“至少两个”的数量,比如,“多个”指“至少两个”。
73.在对本发明实施例的具体实施方式进行说明之前,先对本发明实施例的主要应用场景进行说明。本发明实施例提供了一种软件产品成熟度评估方法,该方法主要应用于对软件产品的成熟度进行评估的场景。主要是通过软件产品自身的完整程度、交互能力、安全水平和适应能力等方面实现对软件产品的成熟度的评估,从而提高软件产品的成熟度评估结果的准确性。
74.基于此,参见图1,提供了一种软件产品成熟度评估方法。以该方法应用于服务器,且执行主体为服务器为例进行说明,该方法包括如下步骤:
75.101、获取软件产品的所有评估指标及每一评估指标包含的所有子评估指标;其中,所有评估指标包括产品完整性指标、产品响应性指标、产品安稳性指标及产品适应性指标;产品完整性指标包含的所有子评估指标包括文档完整性指标、程序完整性指标及数据完整性指标;产品响应性指标包含的所有子评估指标包括正常处理指标及异常处理指标;产品安稳性指标包含的所有子评估指标包括运行稳定性指标、无自害性指标及无他害性指标;产品适应性指标包含的所有子评估指标包括环境适应性指标、可扩展性指标及可用性指标;
76.102、根据每一评估指标包含的所有子评估指标,获取目标判断矩阵;
77.103、根据目标判断矩阵,确定每一评估指标包含的每一子评估指标的权重;
78.104、获取基于每一子评估指标对软件产品进行成熟度评价的分数,根据每一子评估指标的分数及权重,确定软件产品的成熟度评分;
79.105、根据预设等级标准,确定软件产品的成熟度评分所对应的等级。
80.在上述步骤101中,可以由软件产品的所有评估指标及每一评估指标包含的所有子评估指标构成软件产品成熟度评估体系。其中,软件产品成熟度评估体系可以如图2所示。其中,软件产品是“一组将输入转化为输出的相互关联或相互作用的活动”的结果,即“过程”的结果。软件产品作为一种特殊的产品,从结果及应用场景的角度考虑,产品完整性指标可以为静态指标,而产品响应性指标、产品安稳性指标及产品适应性指标为动态指标。另外,文档完整性指标是指软件产品的简介、功能原理、使用技术、系统评测以及用户手册等文档的完整性和准确性;程序完整性指标是指软件产品的技术代码是否完整、是否可以运行以及代码注释是否准确完整;数据完整性指标是指软件产品相关数据库字段类型、预设值是否准确;正常处理指标是指软件产品正常处理测试时功能是否完整;异常处理指标是指软件产品在模拟异常处理时的容错及纠正能力;运行稳定性指标是指软件产品在在一定时间内,分别在有操作和无操作的情况下,是否保持稳定运行状态,未出现闪退、崩溃、数据丢失等问题;无自害性指标是指在一定时间内,通过各种模拟操作,评估产品在运行过程中是否对自身、运行环境和自身的数据造成损坏;无他害性指标是指在一定时间内,通过各种模拟操作,评估产品在运行过程中是否对外界的人、环境造成损伤和损害;环境适应性指标是指软件产品在预期环境下能否正常使用,各项功能正常运行;可扩展性指标是指根据产品说明,评估产品是否具备可扩展性设计的功能模块、预留的接口及二次开发模式;可用性指标是指通过测试、分析等手段(或基于测试的结果数据),软件产品在界面设计、菜单布局、操作逻辑等人机交互设计方面是否具有较好的可用性。
81.在上述步骤102中,本发明不对根据每一评估指标包含的所有子评估指标,获取目标判断矩阵的具体过程作限定,包括但不限于:根据每一评估指标包含的所有子评估指标,
建立一个判断矩阵;对该判断矩阵进行一致性检验;判断该判断矩阵的一致性检验结果是否小于预设阈值;若小于,则将该判断矩阵作为目标判断矩阵;若不小于,则更新该判断矩阵中的数值,并再对更新数值后的判断矩阵进行一致性检验,重复上述更新及一致性检验的过程,直至一致性检验结果小于预设阈值。具体地,例如,可以根据文档完整性指标、程序完整性指标、数据完整性指标、正常处理指标、异常处理指标、运行稳定性指标、无自害性指标、无他害性指标、环境适应性指标、可扩展性指标及可用性指标,建立一个判断矩阵;然后对所建立的判断矩阵进行一致性检验,若判断矩阵的一致性检验结果小于预设阈值,则将该判断矩阵作为目标判断矩阵。
82.在上述步骤104中,每一子评估指标对软件产品进行成熟度评价的分数的取值区间可以为0至10,子评估指标的分数越高代表该软件产品越能满足该子评估指标的特性。
83.在上述步骤105中,预设等级标准的确定过程可以如下:获取四个不同版本的软件产品,四个不同版本分别为研发中未正式发布版本、发布试运行版本、正式版本及升级版本,分别获取研发中未正式发布版本的软件产品的成熟度评分、发布试运行版本的软件产品的成熟度评分、正式版本的软件产品的成熟度评分及升级版本的软件产品的成熟度评分,根据这四个不同版本的软件产品的成熟度评分,确定预设等级标准。例如,研发中未正式发布版本的软件产品、发布试运行版本的软件产品、正式版本的软件产品及升级版本的软件产品的成熟度评分分别一一对应为:20、50、60及80,相应地,确定的预设等级标准可以如下表1所示:
84.表1
[0085][0086][0087]
需要说明的是,表中的z代表软件产品的成熟度评分。另外,根据预设等级标准,确定软件产品的成熟度评分所对应的等级的具体过程如下:确定软件产品的成熟度评分落入预设等级标准中指标要求这一列的哪一区间;根据软件产品的成熟度评分落入的区间,确定软件产品的成熟度评分所对应的等级。例如,软件产品的成熟度评分为96,确定该软件产品落入z》80这一区间,从而确定该软件产品对应的等级为sprl 4。
[0088]
本发明实施例提供的方法,通过获取软件产品的所有评估指标及每一评估指标包含的所有子评估指标;其中,所有评估指标包括产品完整性指标、产品响应性指标、产品安稳性指标及产品适应性指标;产品完整性指标包含的所有子评估指标包括文档完整性指标、程序完整性指标及数据完整性指标;产品响应性指标包含的所有子评估指标包括正常处理指标及异常处理指标;产品安稳性指标包含的所有子评估指标包括运行稳定性指标、
无自害性指标及无他害性指标;产品适应性指标包含的所有子评估指标包括环境适应性指标、可扩展性指标及可用性指标;根据每一评估指标包含的所有子评估指标,获取目标判断矩阵;根据目标判断矩阵,确定每一评估指标包含的每一子评估指标的权重;获取基于每一子评估指标对软件产品进行成熟度评价的分数,根据每一子评估指标的分数及权重,确定软件产品的成熟度评分;根据预设等级标准,确定软件产品的成熟度评分所对应的等级。由于是基于软件产品自身的完整程度、交互能力、安全水平和适应能力等方面,获取用于评估软件产品成熟度的指标,聚焦于软件产品本身的完整性、响应性、安稳性及适用性,从而能更全面、客观、准确地评估软件产品的成熟度,解决现有的软件产品成熟度评估方法存在容易忽略软件产品本身的成熟度如何正确考量及表征不足的问题,使得确定的软件产品的成熟度评分所对应的等级更加准确,也即使得软件产品的成熟度评估结果更加准确。
[0089]
结合上述实施例的内容,在一个实施例中,根据每一评估指标包含的所有子评估指标,获取目标判断矩阵,包括:
[0090]
分别根据每一评估指标包含的所有子评估指标,建立每一评估指标对应的判断矩阵;
[0091]
对于任一评估指标对应的判断矩阵,对任一评估指标对应的判断矩阵进行一致性检验;
[0092]
判断任一评估指标对应的判断矩阵的一致性检验结果是否小于预设阈值;
[0093]
若小于,则将任一评估指标对应的判断矩阵作为任一评估指标对应的目标判断矩阵;
[0094]
若不小于,则更新任一评估指标对应的判断矩阵中的数值,并再对任一评估指标对应的判断矩阵进行一致性检验,重复上述更新及一致性检验的过程,直至任一评估指标对应的一致性检验结果小于预设阈值。
[0095]
本发明实施例提供的方法,通过对于任一评估指标对应的判断矩阵,对任一评估指标对应的判断矩阵进行一致性检验;判断任一评估指标对应的判断矩阵的一致性检验结果是否小于预设阈值;若小于,则将任一评估指标对应的判断矩阵作为任一评估指标对应的目标判断矩阵;若不小于,则更新任一评估指标对应的判断矩阵中的数值,并再对任一评估指标对应的判断矩阵进行一致性检验,重复上述更新及一致性检验的过程,直至任一评估指标对应的一致性检验结果小于预设阈值。由于每一评估指标对应的目标判断矩阵都是通过对每一评估指标对应的判断矩阵进行一致性检验确定的,从而提高每一评估指标对应的目标判断矩阵中数值的精准性,进而提高软件产品的成熟度评估结果的准确性。
[0096]
结合上述实施例的内容,在一个实施例中,对于任一评估指标对应的判断矩阵,对任一评估指标对应的判断矩阵进行一致性检验,包括:
[0097]
获取任一评估指标对应的判断矩阵的所有特征值,并确定所有特征值中的最大特征值;
[0098]
计算任一评估指标对应的最大特征值与任一评估指标对应的判断矩阵的阶数之间的第一差值,计算任一评估指标对应的判断矩阵的阶数与1的第二差值,获取第一差值与第二差值之间的第一比值,获取第一比值与平均随机一致性指标之间的第二比值,并将第二比值作为任一评估指标对应的一致性检验结果。
[0099]
其中,对任一评估指标对应的判断矩阵进行一致性检验的具体过程可以如下公式
(1)及公式(2)所示,本发明实施例对此不作具体限定:
[0100][0101]
需要说明的是,公式(1)中,ci为一致性指标,也即为第一比值;λ
max
为任一评估指标对应的最大特征值;n为任一评估指标对应的判断矩阵的阶数。
[0102][0103]
需要说明的是,公式(2)中,cr为一致性比例,也即为第二比值;ri为平均随机一致性指标。其中,若cr的值小于0.1,则认为任一评估指标对应的判断矩阵通过了一致性校验,可将该判断矩阵作为任一评估指标对应的目标判断矩阵。另外,平均随机一致性指标与任一评估指标对应的判断矩阵的阶数之间的关系可如下表2所示,本发明实施例对此不作具体限定:
[0104]
表2
[0105]
n1234567ri000.520.891.121.261.36
[0106]
本发明实施例提供的方法,通过获取任一评估指标对应的判断矩阵的所有特征值,并确定所有特征值中的最大特征值,计算任一评估指标对应的最大特征值与任一评估指标对应的判断矩阵的阶数之间的第一差值,计算任一评估指标对应的判断矩阵的阶数与1的第二差值,获取第一差值与第二差值之间的第一比值,获取第一比值与平均随机一致性指标之间的第二比值,并将第二比值作为任一评估指标对应的一致性检验结果。由于每一评估指标对应的目标判断矩阵都是通过对每一评估指标对应的判断矩阵进行一致性检验确定的,从而提高每一评估指标对应的目标判断矩阵中数值的精准性,进而提高软件产品的成熟度评估结果的准确性。
[0107]
结合上述实施例的内容,在一个实施例中,每一评估指标均对应一个目标判断矩阵;分别根据每一评估指标包含的所有子评估指标,建立每一评估指标对应的判断矩阵,包括:
[0108]
对于任一评估指标,将任一评估指标包含的所有子评估指标记为n个子评估指标,确定n个子评估指标中每一子评估指标与n个子评估指标中每一子评估指标之间的相对重要程度评分,并由所有相对重要程度评分构成任一评估指标的n*n判断矩阵;
[0109]
其中,n指的是任一评估指标包含的子评估指标总数量,判断矩阵中第j列元素对应任一评估指标所包含的第j个子评估指标,第j列元素表示的是n个子评估指标中每一子评估指标相较于第j个子评估指标的相对重要程度评分,j为正整数且取值为1至n。
[0110]
其中,若任一评估指标包含的所有子评估指标的数量为4项,则任一评估指标对应的判断矩阵可以如下表3所示:
[0111]
表3
[0112]
1a
12a13a14
1/a
12
1a
23a24
1/a
13
1/a
23
1a
34
1/a
14
1/a
24
1/a
341[0113]
需要说明的是,如表3所示判断矩阵中各个元素与任一评估指标包含的所有子评估指标之间的关系可以如下表4所示:
[0114]
表4
[0115]
一级指标二级指标1二级指标2二级指标3二级指标4二级指标11a
12a13a14
二级指标21/a
12
1a
23a24
二级指标31/a
13
1/a
23
1a
34
二级指标41/a
14
1/a
24
1/a
341[0116]
需要说明的是,表4中的一级指标指的就是任一评估指标,二级指标1、二级指标2、二级指标3及二级指标4指的就是任一评估指标包含的所有子评估指标;表4中的a
ij
指的是与子评估指标j相比,子评估指标i的重要程度,也即指的是子评估指标i相较于第j个子评估指标的相对重要程度评分,其中,i为正整数且取值为1至n。
[0117]
另外,判断矩阵的赋值内容可以如下表5所示:
[0118]
表5
[0119][0120]
本发明实施例提供的方法,通过分别根据每一评估指标包含的所有子评估指标,建立每一评估指标对应的判断矩阵。由于不是根据每一评估指标包含的所有子评估指标,建立一个判断矩阵,不需要获取不同评估指标包含的子评估指标之间的重要性程度评分,从而减小工作量,且提高软件产品的成熟度评估结果的准确性。
[0121]
结合上述实施例的内容,在一个实施例中,根据目标判断矩阵,确定每一评估指标包含的每一子评估指标的权重,包括:
[0122]
对于任一评估指标对应的目标判断矩阵中的第j列元素,对第j列元素中的数值进行求和,得到第j列元素对应的第一求和结果;其中,第j列元素对应任一评估指标所包含的第j个子评估指标;
[0123]
从第j列元素中,确定任一评估指标所包含的第i个子评估指标相较于第j个子评估指标的相对重要程度评分,计算确定出的数值与第j列元素对应的第一求和结果之间的
第三比值;
[0124]
将每列元素对应的第三比值进行求和,得到第i个子评估指标对应的第二求和结果,计算第二求和结果与n的第四比值,将第四比值作为第i个子评估指标的权重。
[0125]
其中,任一评估指标包含的任一子评估指标的权重的计算过程可以如下公式(3)所示,本发明实施例对此不作具体限定:
[0126][0127]
需要说明的是,公式(3)中,ωi为任一评估指标包含的任一子评估指标i的权重;a
ij
为子评估指标i相较于第j个子评估指标的相对重要程度评分,i为正整数且取值为1至n;a
kj
为子评估指标k相较于第j个子评估指标的相对重要程度评分,k为正整数且取值为1至n;n为目标判断矩阵的阶数。
[0128]
另外,本实施例中是通过算法平均法确定每一评估指标包含的每一子评估指标的权重,每一评估指标包含的每一子评估指标的权重还可以通过几何平均或者特征值法确定,本发明实施例对此不作具体限定。
[0129]
本发明实施例提供的方法,通过算数平均法确定每一评估指标包含的每一子评估指标的权重,相较于几何平均或者特征值法,更加简单,从而减小运算量。
[0130]
结合上述实施例的内容,在一个实施例中,每一子评估指标的分数的确定过程,包括:
[0131]
基于第一预设判断项,对软件产品的说明文档进行判断,根据说明文档的判断结果,确定文档完整性指标的分数,第一预设判断项包括说明文档是否齐全、说明文档是否正确及说明文档是否准确无歧义;
[0132]
基于第二预设判断项,对软件产品的代码进行判断,根据代码的判断结果,确定程序完整性指标的分数,第二预设判断项包括代码是否完整可运行、代码是否与产品安装程序一致及代码的注释率是否符合工程规范;
[0133]
基于第三预设判断项,对软件产品的数据进行判断,根据数据的判断结果,确定数据完整性指标的分数,第三预设判断项包括数据的数据字段是否完整、数据的属性是否完整、数据的预置数据量是否符合要求及数据的数据类型是否符合要求;
[0134]
对软件产品进行正常处理测试,获取软件产品正常处理测试后的实际输出,根据正常处理测试后的实际输出与软件产品的预期输出,确定软件产品的第一运行评估结果,根据第一运行评估结果,确定正常处理指标的分数;
[0135]
通过模拟误操作、非法操作及非常规操作对软件产品进行异常处理测试,获取软件产品异常处理测试后的实际输出,根据异常处理测试后的实际输出,确定软件产品的第二运行评估结果,根据第二运行评估结果,确定异常处理指标的分数;
[0136]
在第一预设时间段内,分别获取软件产品在被操作运行下的第三运行评估结果及软件产品在自运行下的第四评估结果;根据第三评估结果及第四评估结果,确定运行稳定性指标的分数;
[0137]
在第二预设时间段内,获取软件产品在各种模拟操作下的第五评估结果;根据第五评估结果,确定无自害性指标的分数;
[0138]
在第三预设时间段内,获取软件产品在各种模拟操作下的第六评估结果;根据第六评估结果,确定无他害性指标的分数;
[0139]
根据软件产品在预期环境下是否能正常安装、安装步骤的总数、安装耗费时长、能否正常卸载、卸载步骤的总数、卸载耗费时长及软件产品的各项功能是否能够正常运行,确定环境适应性指标的分数;
[0140]
根据软件产品是否具备可扩展性设计的功能模块、预留的接口及二次开发模式,确定可延展性指标的分数;
[0141]
根据软件产品在人机交互设计方面的可用性,确定可用性指标的分数。
[0142]
结合上述实施例的内容,在一个实施例中,根据每一子评估指标的分数及权重,确定软件产品的成熟度评分,包括:
[0143]
获取每一子评估指标的分数与权重之间的乘积;
[0144]
将每一子评估指标的分数与权重之间的乘积进行叠加,得到第三求和结果;
[0145]
根据第三求和结果,确定软件产品的成熟度评分。
[0146]
其中,根据每一子评估指标的分数及权重,确定软件产品的成熟度评分的具体过程可以如下公式(4)所示,本发明实施例对此不作具体限定:
[0147][0148]
需要说明的是,公式(4)中,ωi为子评估指标i的权重,si为子评估指标i的分数。
[0149]
例如,软件产品的文档完整性指标、程序完整性指标、数据完整性指标、正常处理指标、异常处理指标、运行稳定性指标、无自害性指标、无他害性指标、环境适应性指标、可扩展性指标及可用性指标的分数一一对应分别为:9、9、9、8、8、9、7、8、8、7及9。且根据软件产品的产品完整性指标包含的所有子评估指标,建立的判断矩阵如下表6所示:
[0150]
表6
[0151]
1251/2121/51/21
[0152]
判断矩阵表6中各个元素与产品完整性指标包含的所有子评估指标之间的关系如下表7所示:
[0153]
表7
[0154]
产品完整性指标文档完整性指标程序完整性指标数据完整性指标文档完整性指标125程序完整性指标1/212数据完整性指标1/51/21
[0155]
根据产品响应性指标包含的所有子评估指标,建立的判断矩阵如下表8所示:
[0156]
表8
[0157]
121/21
[0158]
根据产品安稳性指标包含的所有子评估指标,建立的判断矩阵如下表9所示:
[0159]
表9
[0160]
1231/2121/51/21
[0161]
根据产品适应性指标包含的所有子评估指标,建立的判断矩阵如下表10所示:
[0162]
表10
[0163]
1251/2121/31/21
[0164]
首先,对产品完整性指标对应的判断矩阵进行一致性校验,具体过程可以如下:根据判断矩阵表6可知,判断矩阵表6的阶数为3阶,可计算出判断矩阵表6对应的最大特征值为3.0055,将最大特征值3.0055和阶数代入至公式2,可计算出一致性指标ci=0.00275。根据表2可知ri=0.52,将ci及ri的值代入公式(2),计算出一致性比例cr=0.00529,结合上述与一致性比例cr相关实施例的内容,一致性比例cr小于1,则认为判断矩阵表6为产品完整性指标对应的目标判断矩阵,因此,不需要对判断矩阵表6中的数值进行更新,并再对更新后的判断矩阵进行一致性检验。
[0165]
然后,根据公式(3)计算产品完整性指标包含的每一子评估指标对应的权重。计算结果分别为:文档完整性指标的权重为0.5946、程序完整性指标的权重为0.2766及数据完整性指标的权重为0.1285。需要说明是,子评估指标的权重与子评估指标的重要性呈相关。
[0166]
产品响应性指标包含的每一子评估指标的权重、产品安稳性指标包含的每一子评估指标的权重及产品适应性指标包含的每一子评估指标的权重的计算过程均可参考上述对产品完整性指标的处理过程,在此不再累述。处理后得到正常处理指标的权重为0.6667、异常处理指标的权重为0.3333、运行稳定性指标的权重为0.6405、无自害性指标的权重为0.2349、无他害性指标的权重为0.2094、环境适应性指标的权重为0.5390、可扩展性指标的权重为0.2973及可用性指标的权重为0.1335。将每一评估指标的分数及权重代入公式(4)中,得到该软件产品的成熟度评分为33.6759,相应地,根据表1,确定该软件产品的成熟度评分所对应的等级为sprl 1。
[0167]
需要说明的是,结合上述实施例,计算每一子评估指标的权重的具体流程可以如图3所示,本发明实施例对此不作具体限定。另外,预设等级标准的确定过程中研发中未正式发布版本的软件产品的成熟度评分、发布试运行版本的软件产品的成熟度评分、正式版本的软件产品的成熟度评分及升级版本的软件产品的成熟度评分可参考本实施例中确定软件产品的成熟度评分的具体过程,在此不在赘述。
[0168]
结合上述实施例的内容,在一个实施例中,如图4所示,提供了一种软件产品成熟度评估系统,该系统包括:软件信息管理模块、评估指标管理模块,权重计算模块及成熟度评估模块;
[0169]
软件信息管理模块,用于管理被评估的软件产品的信息;软件产品的信息包括软件产品的所有评估指标及每一评估指标包含的所有子评估指标;
[0170]
评估指标管理模块包括评估体系单元及成熟度等级定义单元;评估体系单元用于负责管理各子评估指标的评估方法;成熟度等级定义单元用于存储预设等级标准,负责软
件产品的成熟度定义;
[0171]
权重计算模块,用于填写判断矩阵、计算权重及自定义权重;具体地,权重计算模块可以计算出每一子评估指标的权重,将计算出的每一子评估指标的权重作为通用的权重,并将通用的权重保存为默认权重,该默认权重可以适用于其他软件产品,也即在对其他软件产品的成熟度进行评估时,可以不再去计算软件产品的每一子评估指标的权重,而直接将默认权重作为该软件产品的每一子评估指标的权重,直至如果软件产品成熟度评估方面的专家认为该默认权重不合理,则可参考上述软件产品成熟度评估方法中权重计算的过程,具体为调整判断矩阵中的数值,重新计算每一子评估指标的权重,并将重新计算的每一评估指标的权重输出至成熟度评级模块;可选的,评估人员也可以自定义权重,并将该自定义权重输出至成熟度评级模块;
[0172]
成熟度评估模块包括指标评分模块及成熟度评级模块;具体地,参考上述软件产品成熟度评估方法为软件产品的每一子评估指标评分,并将分数输出至成熟度评级模块,而成熟度评级模块,用于根据每一子评估指标的评分及每一子评估指标的权重,确定软件产品的成熟度评分所对应的等级。
[0173]
关于软件产品成熟度评估系统的具体限定可以参见上文中对于软件产品成熟度评估方法的限定,在此不再赘述。软件产品成熟度评估系统中各模块的执行过程及相关名词解释,可参考上述成熟度评估方法相关实施例的内容,此处不再赘述。
[0174]
应该理解的是,虽然图1及图2的流程图中的各个步骤按照箭头的指示依次显示,但是这些步骤并不是必然按照箭头指示的顺序依次执行。除非本文中有明确的说明,这些步骤的执行并没有严格的顺序限制,这些步骤可以以其它的顺序执行。而且,图1及图2中的至少一部分步骤可以包括多个步骤或者多个阶段,这些步骤或者阶段并不必然是在同一时刻执行完成,而是可以在不同的时刻执行,这些步骤或者阶段的执行顺序也不必然是依次进行,而是可以与其它步骤或者其它步骤中的步骤或者阶段的至少一部分轮流或者交替地执行。
[0175]
结合上述实施例的内容,在一个实施例中,如图5所示,提供了一种软件产品成熟度评估装置,包括:第一获取模块501、第二获取模块502、第一确定模块503、第二确定模块504及第三确定模块505,其中:
[0176]
第一获取模块501,用于获取软件产品的所有评估指标及每一评估指标包含的所有子评估指标;其中,所有评估指标包括产品完整性指标、产品响应性指标、产品安稳性指标及产品适应性指标;产品完整性指标包含的所有子评估指标包括文档完整性指标、程序完整性指标及数据完整性指标;产品响应性指标包含的所有子评估指标包括正常处理指标及异常处理指标;产品安稳性指标包含的所有子评估指标包括运行稳定性指标、无自害性指标及无他害性指标;产品适应性指标包含的所有子评估指标包括环境适应性指标、可扩展性指标及可用性指标;
[0177]
第二获取模块502,用于根据每一评估指标包含的所有子评估指标,获取目标判断矩阵;
[0178]
第一确定模块503,用于根据目标判断矩阵,确定每一评估指标包含的每一子评估指标的权重;
[0179]
第二确定模块504,用于获取基于每一子评估指标对软件产品进行成熟度评价的
分数,根据每一子评估指标的分数及权重,确定软件产品的成熟度评分;
[0180]
第三确定模块505,用于根据预设等级标准,确定软件产品的成熟度评分所对应的等级。
[0181]
在一个实施例中,第二获取模块502,包括:
[0182]
建立单元,用于分别根据每一评估指标包含的所有子评估指标,建立每一评估指标对应的判断矩阵;
[0183]
一致性检验单元,用于对于任一评估指标对应的判断矩阵,对任一评估指标对应的判断矩阵进行一致性检验;
[0184]
判断单元,用于判断任一评估指标对应的判断矩阵的一致性检验结果是否小于预设阈值;若小于,则将任一评估指标对应的判断矩阵作为任一评估指标对应的目标判断矩阵;若不小于,则更新任一评估指标对应的判断矩阵中的数值,并再对任一评估指标对应的判断矩阵进行一致性检验,重复上述更新及一致性检验的过程,直至任一评估指标对应的一致性检验结果小于预设阈值。
[0185]
在一个实施例中,一致性检验单元,包括:
[0186]
获取子单元,用于获取任一评估指标对应的判断矩阵的所有特征值,并确定所有特征值中的最大特征值;
[0187]
计算子单元,用于计算任一评估指标对应的最大特征值与任一评估指标对应的判断矩阵的阶数之间的第一差值,计算任一评估指标对应的判断矩阵的阶数与1的第二差值,获取第一差值与第二差值之间的第一比值,获取第一比值与平均随机一致性指标之间的第二比值,并将第二比值作为任一评估指标对应的一致性检验结果。
[0188]
在一个实施例中,每一评估指标均对应一个目标判断矩阵,建立单元,包括:
[0189]
构成子单元,用于对于任一评估指标,将任一评估指标包含的所有子评估指标记为n个子评估指标,确定n个子评估指标中每一子评估指标与n个子评估指标中每一子评估指标之间的相对重要程度评分,并由所有相对重要程度评分构成任一评估指标的n*n判断矩阵;
[0190]
其中,n指的是任一评估指标包含的子评估指标总数量,判断矩阵中第j列元素对应任一评估指标所包含的第j个子评估指标,第j列元素表示的是n个子评估指标中每一子评估指标相较于第j个子评估指标的相对重要程度评分,j为正整数且取值为1至n。
[0191]
在一个实施例中,第一确定模块503,包括:
[0192]
求和单元,用于对于任一评估指标对应的目标判断矩阵中的第j列元素,对第j列元素中的数值进行求和,得到第j列元素对应的第一求和结果;其中,第j列元素对应任一评估指标所包含的第j个子评估指标;
[0193]
第一计算单元,用于从第j列元素中,确定任一评估指标所包含的第i个子评估指标相较于第j个子评估指标的相对重要程度评分,计算确定出的数值与第j列元素对应的第一求和结果之间的第三比值;
[0194]
第二计算单元,用于将每列元素对应的第三比值进行求和,得到第i个子评估指标对应的第二求和结果,计算第二求和结果与n的第四比值,将第四比值作为第i个子评估指标的权重。
[0195]
在一个实施例中,第二确定模块504,包括:
[0196]
第一确定单元,用于基于第一预设判断项,对软件产品的说明文档进行判断,根据说明文档的判断结果,确定文档完整性指标的分数,第一预设判断项包括说明文档是否齐全、说明文档是否正确及说明文档是否准确无歧义;
[0197]
第二确定单元,用于基于第二预设判断项,对软件产品的代码进行判断,根据代码的判断结果,确定程序完整性指标的分数,第二预设判断项包括代码是否完整可运行、代码是否与产品安装程序一致及代码的注释率是否符合工程规范;
[0198]
第三确定单元,用于基于第三预设判断项,对软件产品的数据进行判断,根据数据的判断结果,确定数据完整性指标的分数,第三预设判断项包括数据的数据字段是否完整、数据的属性是否完整、数据的预置数据量是否符合要求及数据的数据类型是否符合要求;
[0199]
第四确定单元,用于对软件产品进行正常处理测试,获取软件产品正常处理测试后的实际输出,根据正常处理测试后的实际输出与软件产品的预期输出,确定软件产品的第一运行评估结果,根据第一运行评估结果,确定正常处理指标的分数;
[0200]
第五确定单元,用于通过模拟误操作、非法操作及非常规操作对软件产品进行异常处理测试,获取软件产品异常处理测试后的实际输出,根据异常处理测试后的实际输出,确定软件产品的第二运行评估结果,根据第二运行评估结果,确定异常处理指标的分数;
[0201]
第六确定单元,用于在第一预设时间段内,分别获取软件产品在被操作运行下的第三运行评估结果及软件产品在自运行下的第四评估结果;根据第三评估结果及第四评估结果,确定运行稳定性指标的分数;
[0202]
第七确定单元,用于在第二预设时间段内,获取软件产品在各种模拟操作下的第五评估结果;根据第五评估结果,确定无自害性指标的分数;
[0203]
第八确定单元,用于在第三预设时间段内,获取软件产品在各种模拟操作下的第六评估结果;根据第六评估结果,确定无他害性指标的分数;
[0204]
第九确定单元,用于根据软件产品在预期环境下是否能正常安装、安装步骤的总数、安装耗费时长、能否正常卸载、卸载步骤的总数、卸载耗费时长及软件产品的各项功能是否能够正常运行,确定环境适应性指标的分数;
[0205]
第十确定单元,用于根据软件产品是否具备可扩展性设计的功能模块、预留的接口及二次开发模式,确定可延展性指标的分数;
[0206]
第十一确定单元,用于根据软件产品在人机交互设计方面的可用性,确定可用性指标的分数。
[0207]
在一个实施例中,第三确定模块505,包括:
[0208]
获取单元,用于获取每一子评估指标的分数与权重之间的乘积;
[0209]
叠加单元,用于将每一子评估指标的分数与权重之间的乘积进行叠加,得到第三求和结果;
[0210]
第十二确定单元,用于根据第三求和结果,确定软件产品的成熟度评分。
[0211]
关于软件产品成熟度评估装置的具体限定可以参见上文中对于软件产品成熟度评估方法的限定,在此不再赘述。上述软件产品成熟度评估装置中的各个模块可全部或部分通过软件、硬件及其组合来实现。上述各模块可以硬件形式内嵌于或独立于计算机设备中的处理器中,也可以以软件形式存储于计算机设备中的存储器中,以便于处理器调用执行以上各个模块对应的操作。
[0212]
在一个实施例中,提供了一种计算机设备,该计算机设备可以是服务器,其内部结构图可以如图6所示。该计算机设备包括通过系统总线连接的处理器、存储器和网络接口。其中,该计算机设备的处理器用于提供计算和控制能力。该计算机设备的存储器包括非易失性存储介质、内存储器。该非易失性存储介质存储有操作系统、计算机程序和数据库。该内存储器为非易失性存储介质中的操作系统和计算机程序的运行提供环境。该计算机设备的数据库用于存储与每一评估指标包含的所有子评估指标相关的数据。该计算机设备的网络接口用于与外部的终端通过网络连接通信。该计算机程序被处理器执行时以实现一种软件产品成熟度评估方法。
[0213]
本领域技术人员可以理解,图6中示出的结构,仅仅是与本技术方案相关的部分结构的框图,并不构成对本技术方案所应用于其上的计算机设备的限定,具体的计算机设备可以包括比图中所示更多或更少的部件,或者组合某些部件,或者具有不同的部件布置。
[0214]
在一个实施例中,提供了一种计算机设备,包括存储器和处理器,存储器中存储有计算机程序,该处理器执行计算机程序时实现以下步骤:
[0215]
获取软件产品的所有评估指标及每一评估指标包含的所有子评估指标;其中,所有评估指标包括产品完整性指标、产品响应性指标、产品安稳性指标及产品适应性指标;产品完整性指标包含的所有子评估指标包括文档完整性指标、程序完整性指标及数据完整性指标;产品响应性指标包含的所有子评估指标包括正常处理指标及异常处理指标;产品安稳性指标包含的所有子评估指标包括运行稳定性指标、无自害性指标及无他害性指标;产品适应性指标包含的所有子评估指标包括环境适应性指标、可扩展性指标及可用性指标;
[0216]
根据每一评估指标包含的所有子评估指标,获取目标判断矩阵;
[0217]
根据目标判断矩阵,确定每一评估指标包含的每一子评估指标的权重;
[0218]
获取基于每一子评估指标对软件产品进行成熟度评价的分数,根据每一子评估指标的分数及权重,确定软件产品的成熟度评分;
[0219]
根据预设等级标准,确定软件产品的成熟度评分所对应的等级。
[0220]
在一个实施例中,处理器执行计算机程序时还实现以下步骤:
[0221]
分别根据每一评估指标包含的所有子评估指标,建立每一评估指标对应的判断矩阵;
[0222]
对于任一评估指标对应的判断矩阵,对任一评估指标对应的判断矩阵进行一致性检验;
[0223]
判断任一评估指标对应的判断矩阵的一致性检验结果是否小于预设阈值;
[0224]
若小于,则将任一评估指标对应的判断矩阵作为任一评估指标对应的目标判断矩阵;
[0225]
若不小于,则更新任一评估指标对应的判断矩阵中的数值,并再对任一评估指标对应的判断矩阵进行一致性检验,重复上述更新及一致性检验的过程,直至任一评估指标对应的一致性检验结果小于预设阈值。
[0226]
在一个实施例中,处理器执行计算机程序时还实现以下步骤:
[0227]
获取任一评估指标对应的判断矩阵的所有特征值,并确定所有特征值中的最大特征值;
[0228]
计算任一评估指标对应的最大特征值与任一评估指标对应的判断矩阵的阶数之
间的第一差值,计算任一评估指标对应的判断矩阵的阶数与1的第二差值,获取第一差值与第二差值之间的第一比值,获取第一比值与平均随机一致性指标之间的第二比值,并将第二比值作为任一评估指标对应的一致性检验结果。
[0229]
在一个实施例中,处理器执行计算机程序时还实现以下步骤:
[0230]
对于任一评估指标,将任一评估指标包含的所有子评估指标记为n个子评估指标,确定n个子评估指标中每一子评估指标与n个子评估指标中每一子评估指标之间的相对重要程度评分,并由所有相对重要程度评分构成任一评估指标的n*n判断矩阵;
[0231]
其中,n指的是任一评估指标包含的子评估指标总数量,判断矩阵中第j列元素对应任一评估指标所包含的第j个子评估指标,第j列元素表示的是n个子评估指标中每一子评估指标相较于第j个子评估指标的相对重要程度评分,j为正整数且取值为1至n。
[0232]
在一个实施例中,处理器执行计算机程序时还实现以下步骤:
[0233]
对于任一评估指标对应的目标判断矩阵中的第j列元素,对第j列元素中的数值进行求和,得到第j列元素对应的第一求和结果;其中,第j列元素对应任一评估指标所包含的第j个子评估指标;
[0234]
从第j列元素中,确定任一评估指标所包含的第i个子评估指标相较于第j个子评估指标的相对重要程度评分,计算确定出的数值与第j列元素对应的第一求和结果之间的第三比值;
[0235]
将每列元素对应的第三比值进行求和,得到第i个子评估指标对应的第二求和结果,计算第二求和结果与n的第四比值,将第四比值作为第i个子评估指标的权重。
[0236]
在一个实施例中,处理器执行计算机程序时还实现以下步骤:
[0237]
基于第一预设判断项,对软件产品的说明文档进行判断,根据说明文档的判断结果,确定文档完整性指标的分数,第一预设判断项包括说明文档是否齐全、说明文档是否正确及说明文档是否准确无歧义;
[0238]
基于第二预设判断项,对软件产品的代码进行判断,根据代码的判断结果,确定程序完整性指标的分数,第二预设判断项包括代码是否完整可运行、代码是否与产品安装程序一致及代码的注释率是否符合工程规范;
[0239]
基于第三预设判断项,对软件产品的数据进行判断,根据数据的判断结果,确定数据完整性指标的分数,第三预设判断项包括数据的数据字段是否完整、数据的属性是否完整、数据的预置数据量是否符合要求及数据的数据类型是否符合要求;
[0240]
对软件产品进行正常处理测试,获取软件产品正常处理测试后的实际输出,根据正常处理测试后的实际输出与软件产品的预期输出,确定软件产品的第一运行评估结果,根据第一运行评估结果,确定正常处理指标的分数;
[0241]
通过模拟误操作、非法操作及非常规操作对软件产品进行异常处理测试,获取软件产品异常处理测试后的实际输出,根据异常处理测试后的实际输出,确定软件产品的第二运行评估结果,根据第二运行评估结果,确定异常处理指标的分数;
[0242]
在第一预设时间段内,分别获取软件产品在被操作运行下的第三运行评估结果及软件产品在自运行下的第四评估结果;根据第三评估结果及第四评估结果,确定运行稳定性指标的分数;
[0243]
在第二预设时间段内,获取软件产品在各种模拟操作下的第五评估结果;根据第
五评估结果,确定无自害性指标的分数;
[0244]
在第三预设时间段内,获取软件产品在各种模拟操作下的第六评估结果;根据第六评估结果,确定无他害性指标的分数;
[0245]
根据软件产品在预期环境下是否能正常安装、安装步骤的总数、安装耗费时长、能否正常卸载、卸载步骤的总数、卸载耗费时长及软件产品的各项功能是否能够正常运行,确定环境适应性指标的分数;
[0246]
根据软件产品是否具备可扩展性设计的功能模块、预留的接口及二次开发模式,确定可延展性指标的分数;
[0247]
根据软件产品在人机交互设计方面的可用性,确定可用性指标的分数。
[0248]
在一个实施例中,处理器执行计算机程序时还实现以下步骤:
[0249]
获取每一子评估指标的分数与权重之间的乘积;
[0250]
将每一子评估指标的分数与权重之间的乘积进行叠加,得到第三求和结果;
[0251]
根据第三求和结果,确定软件产品的成熟度评分。
[0252]
在一个实施例中,提供了一种计算机可读存储介质,其上存储有计算机程序,计算机程序被处理器执行时实现以下步骤:
[0253]
获取软件产品的所有评估指标及每一评估指标包含的所有子评估指标;其中,所有评估指标包括产品完整性指标、产品响应性指标、产品安稳性指标及产品适应性指标;产品完整性指标包含的所有子评估指标包括文档完整性指标、程序完整性指标及数据完整性指标;产品响应性指标包含的所有子评估指标包括正常处理指标及异常处理指标;产品安稳性指标包含的所有子评估指标包括运行稳定性指标、无自害性指标及无他害性指标;产品适应性指标包含的所有子评估指标包括环境适应性指标、可扩展性指标及可用性指标;
[0254]
根据每一评估指标包含的所有子评估指标,获取目标判断矩阵;
[0255]
根据目标判断矩阵,确定每一评估指标包含的每一子评估指标的权重;
[0256]
获取基于每一子评估指标对软件产品进行成熟度评价的分数,根据每一子评估指标的分数及权重,确定软件产品的成熟度评分;
[0257]
根据预设等级标准,确定软件产品的成熟度评分所对应的等级。
[0258]
在一个实施例中,计算机程序被处理器执行时还实现以下步骤:
[0259]
分别根据每一评估指标包含的所有子评估指标,建立每一评估指标对应的判断矩阵;
[0260]
对于任一评估指标对应的判断矩阵,对任一评估指标对应的判断矩阵进行一致性检验;
[0261]
判断任一评估指标对应的判断矩阵的一致性检验结果是否小于预设阈值;
[0262]
若小于,则将任一评估指标对应的判断矩阵作为任一评估指标对应的目标判断矩阵;
[0263]
若不小于,则更新任一评估指标对应的判断矩阵中的数值,并再对任一评估指标对应的判断矩阵进行一致性检验,重复上述更新及一致性检验的过程,直至任一评估指标对应的一致性检验结果小于预设阈值。
[0264]
在一个实施例中,计算机程序被处理器执行时还实现以下步骤:
[0265]
获取任一评估指标对应的判断矩阵的所有特征值,并确定所有特征值中的最大特
征值;
[0266]
计算任一评估指标对应的最大特征值与任一评估指标对应的判断矩阵的阶数之间的第一差值,计算任一评估指标对应的判断矩阵的阶数与1的第二差值,获取第一差值与第二差值之间的第一比值,获取第一比值与平均随机一致性指标之间的第二比值,并将第二比值作为任一评估指标对应的一致性检验结果。
[0267]
在一个实施例中,计算机程序被处理器执行时还实现以下步骤:
[0268]
对于任一评估指标,将任一评估指标包含的所有子评估指标记为n个子评估指标,确定n个子评估指标中每一子评估指标与n个子评估指标中每一子评估指标之间的相对重要程度评分,并由所有相对重要程度评分构成任一评估指标的n*n判断矩阵;
[0269]
其中,n指的是任一评估指标包含的子评估指标总数量,判断矩阵中第j列元素对应任一评估指标所包含的第j个子评估指标,第j列元素表示的是n个子评估指标中每一子评估指标相较于第j个子评估指标的相对重要程度评分,j为正整数且取值为1至n。
[0270]
在一个实施例中,计算机程序被处理器执行时还实现以下步骤:
[0271]
对于任一评估指标对应的目标判断矩阵中的第j列元素,对第j列元素中的数值进行求和,得到第j列元素对应的第一求和结果;其中,第j列元素对应任一评估指标所包含的第j个子评估指标;
[0272]
从第j列元素中,确定任一评估指标所包含的第i个子评估指标相较于第j个子评估指标的相对重要程度评分,计算确定出的数值与第j列元素对应的第一求和结果之间的第三比值;
[0273]
将每列元素对应的第三比值进行求和,得到第i个子评估指标对应的第二求和结果,计算第二求和结果与n的第四比值,将第四比值作为第i个子评估指标的权重。
[0274]
在一个实施例中,计算机程序被处理器执行时还实现以下步骤:
[0275]
基于第一预设判断项,对软件产品的说明文档进行判断,根据说明文档的判断结果,确定文档完整性指标的分数,第一预设判断项包括说明文档是否齐全、说明文档是否正确及说明文档是否准确无歧义;
[0276]
基于第二预设判断项,对软件产品的代码进行判断,根据代码的判断结果,确定程序完整性指标的分数,第二预设判断项包括代码是否完整可运行、代码是否与产品安装程序一致及代码的注释率是否符合工程规范;
[0277]
基于第三预设判断项,对软件产品的数据进行判断,根据数据的判断结果,确定数据完整性指标的分数,第三预设判断项包括数据的数据字段是否完整、数据的属性是否完整、数据的预置数据量是否符合要求及数据的数据类型是否符合要求;
[0278]
对软件产品进行正常处理测试,获取软件产品正常处理测试后的实际输出,根据正常处理测试后的实际输出与软件产品的预期输出,确定软件产品的第一运行评估结果,根据第一运行评估结果,确定正常处理指标的分数;
[0279]
通过模拟误操作、非法操作及非常规操作对软件产品进行异常处理测试,获取软件产品异常处理测试后的实际输出,根据异常处理测试后的实际输出,确定软件产品的第二运行评估结果,根据第二运行评估结果,确定异常处理指标的分数;
[0280]
在第一预设时间段内,分别获取软件产品在被操作运行下的第三运行评估结果及软件产品在自运行下的第四评估结果;根据第三评估结果及第四评估结果,确定运行稳定
性指标的分数;
[0281]
在第二预设时间段内,获取软件产品在各种模拟操作下的第五评估结果;根据第五评估结果,确定无自害性指标的分数;
[0282]
在第三预设时间段内,获取软件产品在各种模拟操作下的第六评估结果;根据第六评估结果,确定无他害性指标的分数;
[0283]
根据软件产品在预期环境下是否能正常安装、安装步骤的总数、安装耗费时长、能否正常卸载、卸载步骤的总数、卸载耗费时长及软件产品的各项功能是否能够正常运行,确定环境适应性指标的分数;
[0284]
根据软件产品是否具备可扩展性设计的功能模块、预留的接口及二次开发模式,确定可延展性指标的分数;
[0285]
根据软件产品在人机交互设计方面的可用性,确定可用性指标的分数。
[0286]
在一个实施例中,计算机程序被处理器执行时还实现以下步骤:
[0287]
获取每一子评估指标的分数与权重之间的乘积;
[0288]
将每一子评估指标的分数与权重之间的乘积进行叠加,得到第三求和结果;
[0289]
根据第三求和结果,确定软件产品的成熟度评分。
[0290]
本领域普通技术人员可以理解实现上述实施例方法中的全部或部分流程,是可以通过计算机程序来指令相关的硬件来完成,所述的计算机程序可存储于一非易失性计算机可读取存储介质中,该计算机程序在执行时,可包括如上述各方法的实施例的流程。其中,本技术所提供的各实施例中所使用的对存储器、存储、数据库或其它介质的任何引用,均可包括非易失性和易失性存储器中的至少一种。非易失性存储器可包括只读存储器(read-only memory,rom)、磁带、软盘、闪存或光存储器等。易失性存储器可包括随机存取存储器(random access memory,ram)或外部高速缓冲存储器。作为说明而非局限,ram可以是多种形式,比如静态随机存取存储器(static random access memory,sram)或动态随机存取存储器(dynamic random access memory,dram)等。
[0291]
以上实施例的各技术特征可以进行任意的组合,为使描述简洁,未对上述实施例中的各个技术特征所有可能的组合都进行描述,然而,只要这些技术特征的组合不存在矛盾,都应当认为是本说明书记载的范围。
[0292]
以上所述实施例仅表达了本技术的几种实施方式,其描述较为具体和详细,但并不能因此而理解为对发明专利范围的限制。应当指出的是,对于本领域的普通技术人员来说,在不脱离本技术构思的前提下,还可以做出若干变形和改进,这些都属于本技术的保护范围。因此,本技术专利的保护范围应以所附权利要求为准。
当前第1页1 2 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1