CN110196814A - 一种软件质量评价方法 - Google Patents

一种软件质量评价方法 Download PDF

Info

Publication number
CN110196814A
CN110196814A CN201910506286.3A CN201910506286A CN110196814A CN 110196814 A CN110196814 A CN 110196814A CN 201910506286 A CN201910506286 A CN 201910506286A CN 110196814 A CN110196814 A CN 110196814A
Authority
CN
China
Prior art keywords
software
data
history
quality
quality evaluation
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
Application number
CN201910506286.3A
Other languages
English (en)
Other versions
CN110196814B (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.)
BEIJING SAINUO TECHNOLOGY CO LTD
Original Assignee
BEIJING SAINUO 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 BEIJING SAINUO TECHNOLOGY CO LTD filed Critical BEIJING SAINUO TECHNOLOGY CO LTD
Priority to CN201910506286.3A priority Critical patent/CN110196814B/zh
Publication of CN110196814A publication Critical patent/CN110196814A/zh
Application granted granted Critical
Publication of CN110196814B publication Critical patent/CN110196814B/zh
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F11/00Error detection; Error correction; Monitoring
    • G06F11/36Preventing errors by testing or debugging software
    • G06F11/3604Software analysis for verifying properties of programs
    • G06F11/3608Software analysis for verifying properties of programs using formal methods, e.g. model checking, abstract interpretation
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06NCOMPUTING ARRANGEMENTS BASED ON SPECIFIC COMPUTATIONAL MODELS
    • G06N3/00Computing arrangements based on biological models
    • G06N3/02Neural networks
    • G06N3/08Learning methods
    • G06N3/084Backpropagation, e.g. using gradient descent
    • YGENERAL TAGGING OF NEW TECHNOLOGICAL DEVELOPMENTS; GENERAL TAGGING OF CROSS-SECTIONAL TECHNOLOGIES SPANNING OVER SEVERAL SECTIONS OF THE IPC; TECHNICAL SUBJECTS COVERED BY FORMER USPC CROSS-REFERENCE ART COLLECTIONS [XRACs] AND DIGESTS
    • Y02TECHNOLOGIES OR APPLICATIONS FOR MITIGATION OR ADAPTATION AGAINST CLIMATE CHANGE
    • Y02PCLIMATE CHANGE MITIGATION TECHNOLOGIES IN THE PRODUCTION OR PROCESSING OF GOODS
    • Y02P90/00Enabling technologies with a potential contribution to greenhouse gas [GHG] emissions mitigation
    • Y02P90/30Computing systems specially adapted for manufacturing

Abstract

本发明公开了一种软件质量评价方法,通过确定软件质量评价目标的项目和其权重,采集历史软件的目标度量数据,并建立BP神经网络拓扑结构,使用历史软件的软件目标度量数据,对BP神经网络模型进行训练,BP神经网络可以保证模型的准确性与适应性,通过学习历史软件的特征,评价结果更为准确客观,使用训练后的BP神经网络模型对采集到的待评价软件的目标度量数据进行计算,得出软件质量评价目标评分,并根据权重加权计算得出软件综合质量评分,可以对软件的质量生成直观准确的评分结果,且通过各软件质量评价目标评分,可以方便地得知待评价软件的薄弱环节。

Description

一种软件质量评价方法
技术领域
本发明涉及软件质量评价技术领域,特别是指一种软件质量评价方法。
背景技术
随着信息化的发展软件产品已融入各行各业,上至航空航天产业下至人们的日常生活都离不开软件。而软件质量是贯穿于软件生命周期的一个重要问题,随着软件在生产生活中的地位越来越高,人们对软件质量的要求也越来越高,对于软件从业者来说,软件质量的评价结果对生产出高质量的软件有重要的参考价值,然而软件产品是一个复杂的集合,不同的行业也对软件质量的要求各不相同,现有技术中的软件质量评价方法存在可操作性差、不够准确客观、无法提供有价值的反馈等问题,所以如何准确客观的对软件质量做出评价成为软件质量领域研究的重要技术。
发明内容
有鉴于此,本发明的目的在于提出一种提供准确的质量评价结果的软件质量评价方法。
基于上述目的本发明提供的一种软件质量评价方法,方法包括:
训练软件质量评价模型,包括:
确定软件质量评价目标及其权重;
按照软件质量评价目标采集若干历史软件的目标度量数据;
根据软件质量评价目标确定BP神经网络的拓扑结构;
使用历史软件的软件目标度量数据,训练各评价目标对应的BP神经网络模型;
使用软件质量评价模型计算得出待评价软件综合质量评分,包括:
选择待评价软件质量评价目标;
获取待评价软件的目标度量数据;
使用选择的质量评价目标各自对应的BP神经网络,对获取的目标度量数据进行计算,得出待评价软件在各软件质量评价目标上的评分;
根据待评价软件在各软件质量评价目标的评分,计算待评价软件综合质量评分。
优选地,在采集若干历史软件的目标度量数据时,本方法进一步包括:
根据各历史软件的软件质量评价目标*T1,T2,…,Tm}寻找最相关的人群进行评分,采集各历史软件质量评价目标评分数据
采集各历史软件的软件过程度量数据
采集各历史软件的软件代码度量数据
采集各历史软件的人因度量数据
其中j为历史软件的编号,N为历史软件的数量,i为个软件质量评价目标的编号,m为软件质量评价目标的数量。
优选地,采集各历史软件的软件代码度量数据后,本方法进一步包括:
通过数据聚合技术,将各历史软件的软件代码度量数据聚合为描述软件整体的数据
其中k的值取决于数据聚合技术。
优选地,采集各历史软件质量评价目标评分数据和人因度量数据后,本方法进一步包括:
为每个人因度量HFi分配一个用于修正人因度量对主观评分影响的影响因子μi,对第j个软件的每个软件质量评价目标评分修正为t′mj=tmj+∑HFi×μi,j=1,2,…,N。
优选地,采集各历史软件的目标度量数据后,本方法进一步包括:
通过数据聚合技术,将各历史软件的软件代码度量数据聚合为描述软件整体的数据其中k的值取决于数据聚合技术;
将软件过程度量数据代码度量聚合值人因度量数据作为自变量集合将修正后的软件软件质量评价目标评分T′mj作为因变量集合 对N组自变量与因变量进行Spearman相关性分析,筛选掉与因变量无关的自变量,得到各历史软件质量评价目标Ti,i=1,2,…,m的相关自变量集合
优选地,确定BP神经网络的拓扑结构时,本方法进一步包括:
建议m个独立的三层BP神经网络模型,第一层的神经元个数等于软件质量评价目标Ti的相关自变量集合中的元素个数,第三层的神经元个数为1,第二层的神经元个数采用试验法确定。
优选地,训练各评价目标对应的神经网络模型时,本方法进一步包括,对于第i个BP神经网络NNi,其训练数据为(IV′1j,IV′2j,…,T′ij),j=1,2,…,N。采用交叉验证法将N组数据划分为训练集与测试集,使用训练集训练BP神经网络直至成本函数收敛,再使用测试集计算其正确率α。
优选地,获取待评价软件的目标度量数据时,本方法进一步包括:
给出选取的软件质量评价目标子集*Ti}的相关自变量集合的并集,记为{IV″q},获取待评软件的软件度量集合{IV″q}的数据。
优选地,计算待评价软件综合质量评分后,本方法进一步包括:
根据灵敏度分析结果对待评价软件进行薄弱环节分析。
从上面所述可以看出,本发明提供的软件质量评价方法,通过确定软件质量评价目标的项目和其权重,采集历史软件的目标度量数据,并建立BP神经网络拓扑结构,使用历史软件的软件目标度量数据,对BP神经网络模型进行训练,BP神经网络可以保证模型的准确性与适应性,通过学习历史软件的特征,评价结果更为准确客观,使用训练后的BP神经网络模型对采集到的待评价软件的目标度量数据进行计算,得出软件质量评价目标评分,并根据权重加权计算得出软件综合质量评分,可以对软件的质量生成直观准确的评分结果,且通过各软件质量评价目标评分,可以方便地得知待评价软件的薄弱环节。
附图说明
图1为本发明实施例的软件质量评价方法流程示意图;
图2为本发明实施例的BP神经网络模型训练逻辑示意图。
具体实施方式
为使本发明的目的、技术方案和优点更加清楚明白,以下结合具体实施例,并参照附图,对本发明进一步详细说明。
需要说明的是,本发明实施例中所有使用“第一”和“第二”的表述均是为了区分两个相同名称非相同的实体或者非相同的参量,可见“第一”“第二”仅为了表述的方便,不应理解为对本发明实施例的限定,后续实施例对此不再一一说明。
本发明的实施例提供一种软件质量评价方法,如图1所示,包括以下步骤:
训练软件质量评价模型,其中包括:
101确定软件质量评价目标及权重;
在本发明的实施例中,可通过问卷调查此部门的开发、测试与管理人员,确定其最关注的软件质量评价目标集合*T1,T2,…,Tm},根据每个软件质量评价目标的重要程度为其分配权重
102按照软件质量评价目标采集若干历史软件的目标度量数据;
在本发明的实施例中,目标度量数据包括自变量集合和因变量集合。
103根据软件质量评价目标确定BP神经网络的拓扑结构;
在本发明的实施例中,对于m个软件质量评价目标,建立m个独立的BP神经网络模型。
104使用历史软件的软件目标度量数据,训练各评价目标对应的BP神经网络模型;
使用软件质量评价模型计算得出待评价软件综合质量评分,包括:
105选择待评价软件质量评价目标;
在本发明的实施例中,从软件质量评价目标集合*T1,T2,…,Tm}中选取所需子集为本次评价活动的评价目标。
106获取待评价软件的目标度量数据;
107使用选择的质量评价目标对应的BP神经网络,对获取的目标度量数据进行计算,得出待评价软件在选择的软件质量评价目标的评分;
在本发明的实施例中,将待评价软件目标度量数据分别输入其评价目标子集*Ti}各自对应的BP神经网络NNi,计算软件质量评价目标*Ti}的评分。
108根据待评价软件在各软件质量评价目标的评分,计算待评价软件综合质量评分。
在本发明的实施例中,按照为软件质量评价目标分配的权重ωi,i=1,2,…,m对软件质量评价目标*Ti}的评分进行加权,即软件综合质量评分Tall=∑Ti×ωi
本方法通过确定软件质量评价目标的项目和其权重,采集历史软件的目标度量数据,并建立BP神经网络拓扑结构,使用历史软件的软件目标度量数据,对BP神经网络模型进行训练,BP神经网络可以保证模型的准确性与适应性,通过学习历史软件的特征,评价结果更为准确客观,使用训练后的BP神经网络模型对采集到的待评价软件的目标度量数据进行计算,得出软件质量评价目标评分,并根据权重加权计算得出软件综合质量评分,可以对软件的质量生成直观准确的评分结果,且通过各软件质量评价目标评分,可以方便地得知待评价软件的薄弱环节。
在本发明的实施例中,在采集若干历史软件的目标度量数据时,本方法进一步包括:
根据各历史软件质量评价目标*T1,T2,…,Tm}寻找最相关的人群进行评分,采集各历史软件质量评价目标评分数据
采集各历史软件的软件过程度量数据
采集各历史软件的软件代码度量数据
采集各历史软件的人因度量数据
其中j为历史软件的编号,N为历史软件的数量,i为个软件质量评价目标的编号,m为软件质量评价目标的数量。
本发明通过寻找最相关的人群对软件质量评价目标进行评分,如软件的实际用户对软件的易用性有着更准确的体验;软件设计与开发人员可能更了解软件的功能性、互用性与可移植性等;而软件测试人员实际上也是软件的使用者,他们体验的是软件的可维护性,与此同时大多数测试部门的测试活动也会着重于软件的功能性、性能效率与可靠性。可以避免传统方法中专家打分的片面性,降低评分的主观性,通过引入软件过程度量数据和软件代码度量数据,软件的代码度量包含了大量软件设计与开发的信息,这些数据与软件的质量密切相关,通过软件代码度量建立的质量评价模型可以指出哪些代码度量对改进软件质量有所帮助,从而为软件设计与开发提供具体可操作的反馈,使日后开发的软件的质量有实质性的提高。
软件的代码度量数据可以通过自动化测试工具(如Parasoft C++Test、LDRATestbed、QA-C等)对源代码进行静态分析自动化收集,大大提高了评价过程的可操作性。
在本发明的实施例中,采集各历史软件的软件代码度量数据后,本方法进一步包括,通过数据聚合技术,将各历史软件的软件代码度量数据聚合为描述软件整体的数据 其中k的值取决于数据聚合技术。
由于软件代码度量的每个数据描述的是软件的函数而不是软件本身,因此本发明采用数据聚合技术处理软件代码度量数据。
在本发明的实施例中,采集各历史软件质量评价目标评分数据和人因度量数据后,本方法进一步包括:
为每个人因度量HFi分配一个用于修正人因度量对主观评分影响的影响因子μi,对第j个软件的每个软件质量评价目标评分修正为t′mj=tmj+∑HFi×μi,j=1,2,…,N。
虽然选取了更有针对性的评分方式,但特定人群对特定软件质量评价目标的评分难免仍然带有一些主观误差,对软件质量不太了解的评价人员给出的评分很有可能过于宽松。
本发明通过人因度量对评分中的主观或认知因素进行度量,对软件质量评价目标评分进行修正,可以进一步降低评分的主观性。
在本发明的实施例中,采集各历史软件的目标度量数据后,本方法进一步包括:
通过数据聚合技术,将各历史软件的软件代码度量数据聚合为描述软件整体的数据其中k的值取决于数据聚合技术;
将软件过程度量数据代码度量聚合值人因度量数据作为自变量集合将修正后的软件软件质量评价目标评分T′mj作为因变量集合 对N组自变量与因变量进行Spearman相关性分析,筛选掉与因变量无关的自变量,得到各历史软件质量评价目标Ti,i=1,2,…,m的相关自变量集合
在本发明的实施例中,确定BP神经网络的拓扑结构时,本方法进一步包括:
建议m个独立的三层BP神经网络模型,第一层(输入层)的神经元个数等于软件质量评价目标Ti的相关自变量集合中的元素个数,第三层(输出层)的神经元个数为1,第二层(隐含层)的神经元个数采用试验法确定。
在本发明的实施例中,训练各评价目标对应的神经网络模型时,本方法进一步包括,对于第i个BP神经网络NNi,其训练数据为(IV′1j,IV′2j,…,t′ij),j=1,2,…,N。采用交叉验证法将N组数据划分为训练集与测试集,使用训练集训练BP神经网络直至成本函数收敛,再使用测试集计算其正确率α。
在本发明的实施例中,获取待评价软件的目标度量数据时,本方法进一步包括:
给出选取的软件质量评价目标子集{Ti}的相关自变量集合的并集,记为{IV″q},获取待评软件的软件度量集合{IV″q}的数据。
在本发明的实施例中,计算待评价软件综合质量评分后,本方法进一步包括:
根据灵敏度分析结果对待评价软件进行薄弱环节分析。具体包括根据灵敏度分析结果给出对软件质量影响较大的软件度量与造成软件质量评价目标评分较低的软件度量,并给出改进建议以提高软件质量。
对于软件测试部门来说更希望将有限的人力与时间资源分配到软件薄弱的方面来发现更多的问题,而本方法为其指出软件薄弱的方面,以此设计针对性的测试方法有助于软件测试人员发现更多的问题。
下面以某软件为例,说明本发明公开的软件质量评价方法的实施过程。
首先确定软件质量评价目标及其权重,通过问卷调查此部门的开发、测试与管理人员,从ISO-25010软件质量模型中确定其最关注的软件质量评价目标集合{T1,T2,…,T10},根据每个软件质量评价目标的重要程度为其分配权重结果如表1所示:
表1
按照软件质量评价目标采集若干历史软件的目标度量数据,
,对第j个软件,按表1的评价人群对其进行评分,获得软件质量评价目标评分数据
采集软件过程度量数据,即软件设计与开发阶段的度量数据时,具体为采集第j个软件的软件过程度量集合数据 软件过程度量如表2所示:
表2
采集软件代码度量数据时,对第j个软件的每个函数进行静态扫描,收集软件代码度量数据其中n为第j个软件的函数总数。收集的软件代码度量如表3所示:
表3
采集人因度量数据时,对第j个软件设计、开发与管理人员进行问卷调查,收集人因度量数据收集的人因度量如表4所示:
表4
其中,各人因度量数据的来源如表5所示。
表5
数据预处理:
第一步,软件代码度量数据聚合。第j个软件的软件代码度量数据为其中n为第j个软件的函数总数。将第i个软件代码度量的数据 聚合为一组描述软件整体的数据 的值取决于数据聚合技术,数据聚合技术如表6所示:
表6
通过数据聚合技术可以将矩阵聚合为向量
第二步,软件质量评价目标评分数据修正。为每个人因度量HFi分配一个影响因子μi,用于修正人因度量对主观评分的影响,对第j个软件的每个软件质量评价目标评分作此修正:t′kj=tkj+∑HFi×μi,j=1,2,…,24。
将软件过程度量、代码度量聚合值、人因度量作为自变量集合将修正后的软件质量评价目标评分作为因变量集合24个历史软件的数据如表7所示:
表7
第三步,相关性分析筛选变量。对这N组自变量与因变量进行Spearman相关性分析,筛选掉与因变量无关的自变量。对于每个软件质量评价目标Ti,i=1,2,…,10会得到其相关自变量的集合i=1,2,…,10。在置信度为0.95的情况下与软件质量评价目标存在显著相关性的自变量如表8所示:
表8
BP神经网络训练步骤如下:
第一步,确定BP神经网络的拓扑结构。对于10个软件质量评价目标,需建立10个独立的三层BP神经网络模型。对于第i个BP神经网络NNi,其第一层(输入层)的神经元个数等于软件质量评价目标Ti的相关自变量集合中的元素个数;其第三层(输出层)的神经元个数为1;其第二层(隐含层)的神经元个数采用试验法确定。10个BP神经网络的拓扑结构如表9所示:
表9
第二步,BP神经网络训练。对于第i个BP神经网络NNi,其训练数据为(IV′1j,IV′2j,…,t′ij),j=1,2,…,24。采用交叉验证法将24组数据划分为训练集与测试集,使用训练集训练BP神经网络直至成本函数收敛,再使用测试集计算其正确率α。训练结果如表10所示:
表10
软件质量评价模型使用
第一步,选择软件质量评价目标。对于待评软件,选择全部软件质量评价目标集合{T1,T2,…,T10}。
第二步,获取软件度量数据。首先给出选取的软件质量评价目标子集{Ti}的相关自变量集合的并集,记为{IV″q}。获取待评软件的软件度量集合{IV″q}的数据。最终待评软件的软件度量数据如表11所示:
PM<sub>1</sub> PM<sub>2</sub> PM<sub>12</sub> CM<sub>1</sub> CM<sub>2</sub> CM<sub>60</sub> HF<sub>1</sub> HF<sub>2</sub> HF<sub>15</sub>
1 0.57 0.93 0.36 0.39 0.94 0.84 0.57 0.46 0.15
表11
第三步,计算软件质量评价目标评分。将软件度量数据分别输入软件度量评价目标子集{Ti}各自对应的BP神经网络NNi,计算软件质量评价目标{Ti}的评分。软件质量评价目标评分输出结果如表12所示:
表12
第四步,计算软件综合质量评分。按上表为软件质量评价目标分配的权重,对软件质量评价目标{Ti}的评分进行加权,即软件综合质量评分Tall=∑Ti×ωi=0.78,即此软件的综合质量评分为0.78。
第五步,薄弱环节分析。灵敏度分析部分结果如表13所示:
表13
目前,现有技术中对软件质量进行评价的方法主要有以下几种:
(1)基于专家评估的软件质量量化评价方法
基于专家评估的软件质量量化评价方法采用软件质量-特性-子特性这种软件质量分层模型,首先专家给出对软件质量子特性的评分,再通过因子加权累加法、模糊综合评判法或层次分析法等方法得到软件质量的分值。这种方法操作简单而且适用性广泛,但是评价结果过于依赖于专家的水平。
(2)相关标准的软件质量评价方法
有许多已有标准(例如《GB/T 32904-2016软件质量量化评价规范》)基于软件质量-特性-子特性-软件度量这种软件质量分层模型,通过公式法与专家评估法对软件质量进行评价。要得到软件质量的评价结果,首先要测量标准规定的软件测试与维护数据,再根据软件度量计算公式对其测量值进行计算,最后通过专家评估给出的度量指标权值按照分层模型向上加权获得最上层软件质量的分值。这种方法通过软件度量数据减少了对专家的依赖,但是评价过程只能用于软件测试阶段之后而且软件度量数据获取成本较高。
现有技术的软件质量评价方法中存在以下缺点:
缺点1,可操作性较差
相关标准的软件质量评价方法中,对于分层模型最底层的软件度量,其测量值的公式使用的数据来自于对软件开发与测试活动的一些计数与软件测试的一些结果。如果软件开发过程没有与标准给出的评价方式相适配或者软件实际测试并不充分,在评价过程中就需要重新进行很多计数活动与测试活动,比如与I/O相关的代码行数、有变更注释的模块数、通过可靠性测试获取的对应失效模式的测试用例数等,这大大降低了这种评价方法的可操作性。
缺点2,无法为软件质量的提高给出实质性的反馈
上述评价方法中,使用的软件质量评价指标为软件质量子特性或以测试数据计算出的软件度量,软件质量子特性是软件表现出来的特征,标准使用的软件度量也没有涉及软件的内部结构,其评价结果无法对软件生命周期活动提供可操作的反馈,不能实质性地提高软件质量。
缺点3,专家评估带来的不准确性
基于专家评估的软件质量量化评价方法所使用的评价指标为专家对软件质量子特性的评分,来自专家的主观判断,子特性分数向上加权获得软件质量分数的权重也由专家评估制定,这种方法过于依赖专家的参与;相关标准的软件质量评价方法虽然通过软件度量来降低了评价过程中对专家的依赖程度,但通过软件度量测量值向上加权获得软件质量分数的权重也由专家评估制定;而基于数据拟合方法的软件质量评价方法虽然通过数据拟合方法建立了软件质量与软件质量评价指标之间的客观联系,但数据依然来自专家的评估。
专家评估为评价过程带来的不准确性主要体现在两方面,一是由于专家很难在短时间内对被评软件有深入了解而带来系统误差,二是由于专家领域经验或对软件质量的认知带来的主观误差。
缺点4,软件差异带来的不准确性
现有技术并未对其软件质量评价模型的适用范围给出限制,相关标准的软件质量评价方法既没有说明标准是依据何种类型软件建立的,也没有说明标准的适用对象是何种类型的软件;基于数据拟合方法的软件质量评价方法所使用的历史数据并没有体现软件之间的差异,在为不同类型软件进行质量评价的时候却使用同一个模型。
软件差异(比如开发人群不同或者软件领域不同等)带来的不准确性有两个方面,一是如果拟合数据存在软件差异而模型的输入没有考虑这种差异,就会导致输入无法充分描述输出的变化,模型的评价结果很可能存在较大误差;二是评价模型的使用上,使用相同开发人员开发的同领域软件数据进行拟合的评价模型如果应用于其他软件也可能会使评价结果完全偏离真实结果。
针对现有软件质量评价模型可操作性差、不够准确客观、无法提供有价值的反馈等问题,本发明建立基于神经网络的软件质量评价模型。模型通过软件的代码度量、软件度量、测试度量以及人因度量多方面对软件质量进行描述,通过收集对软件有着更深入了解的特定评价人群对特定软件质量评价目标的评价来提高评价的准确性,并且通过人因度量来减少模型的主观误差。神经网络用于对这些度量与软件质量的关系进行拟合来提高模型的准确性与适应性。在评价模型的基础上,建立软件度量与软件质量评价目标可定制化的软件质量综合评价体系,以适应不同领域用户的要求。
一个可以提供准确的质量评价结果的软件质量综合评价体系对软件质量的提高意义重大。软件度量数据自动化采集的软件质量评价模型、流程自动化的软件质量综合评价大大简化了用户进行质量评价的成本。这种软件质量综合评价方式除了可以对用户提供准确的参考依据外,也能提高软件管理人员、开发与测试人员使用软件质量评价模型的信心,使他们更加关注软件质量。软件质量评价结果更大的意义是为软件生命周期的过程提供反馈,软件评价结果对软件开发部门与测试部门都有重要参考价值。软件规模与复杂性的增加增大了软件测试的难度,对于软件测试部门来说更希望将有限的人力与时间资源分配到软件薄弱的方面来发现更多的问题,而软件质量综合评价体系可以为其指出软件薄弱的方面,以此设计针对性的测试方法有助于软件测试人员发现更多的问题。软件质量综合评价体系会指出影响软件质量的软件设计与开发因素,通过对这些因素的改善可以改进软件开发部门设计与开发软件的方式,合理有效地提高软件产品设计与开发的质量。总的来说,软件质量综合评价体系可以使用户节约开发与测试成本的同时提高软件产品质量,从而提高用户信任度与市场竞争力。
所属领域的普通技术人员应当理解:以上任何实施例的讨论仅为示例性的,并非旨在暗示本公开的范围(包括权利要求)被限于这些例子;在本发明的思路下,以上实施例或者不同实施例中的技术特征之间也可以进行组合,步骤可以以任意顺序实现,并存在如上所述的本发明的不同方面的许多其它变化,为了简明它们没有在细节中提供。
本发明的实施例旨在涵盖落入所附权利要求的宽泛范围之内的所有这样的替换、修改和变型。因此,凡在本发明的精神和原则之内,所做的任何省略、修改、等同替换、改进等,均应包含在本发明的保护范围之内。

Claims (9)

1.一种软件质量评价方法,其特征在于,所述方法包括:
训练软件质量评价模型,包括:
确定软件质量评价目标及其权重;
按照软件质量评价目标采集若干历史软件的目标度量数据;
根据软件质量评价目标确定BP神经网络的拓扑结构;
使用历史软件的软件目标度量数据,训练各评价目标对应的BP神经网络模型;
使用软件质量评价模型计算得出待评价软件综合质量评分,包括:
选择待评价软件质量评价目标;
获取待评价软件的目标度量数据;
使用选择的质量评价目标各自对应的BP神经网络,对获取的目标度量数据进行计算,得出待评价软件在各软件质量评价目标上的评分;
根据待评价软件在各软件质量评价目标的评分,计算待评价软件综合质量评分。
2.根据权利要求1所述的软件质量评价方法,其特征在于,在采集若干历史软件的目标度量数据时,本方法进一步包括:
根据各历史软件的软件质量评价目标{T1,T2,…,Tm}寻找最相关的人群进行评分,采集各历史软件质量评价目标评分数据
采集各历史软件的软件过程度量数据
采集各历史软件的软件代码度量数据
采集各历史软件的人因度量数据
其中j为历史软件的编号,N为历史软件的数量,i为个软件质量评价目标的编号,m为软件质量评价目标的数量。
3.根据权利要求2所述的软件质量评价方法,其特征在于,采集各历史软件的软件代码度量数据后,本方法进一步包括:
通过数据聚合技术,将各历史软件的软件代码度量数据聚合为描述软件整体的数据
其中k的值取决于数据聚合技术。
4.根据权利要求2所述的软件质量评价方法,其特征在于,采集各历史软件质量评价目标评分数据和人因度量数据后,本方法进一步包括:
为每个人因度量HFi分配一个用于修正人因度量对主观评分影响的影响因子μi,对第j个软件的每个软件质量评价目标评分修正为t′mj=tmj+∑HFi×μi,j=1,2,…,N。
5.根据权利要求4所述的软件质量评价方法,其特征在于,采集各历史软件的目标度量数据后,本方法进一步包括:
通过数据聚合技术,将各历史软件的软件代码度量数据聚合为描述软件整体的数据其中k的值取决于数据聚合技术;
将软件过程度量数据代码度量聚合值人因度量数据作为自变量集合将修正后的软件软件质量评价目标评分T′mj作为因变量集合 对N组自变量与因变量进行Spearman相关性分析,筛选掉与因变量无关的自变量,得到各历史软件质量评价目标Ti,i=1,2,…,m的相关自变量集合
6.根据权利要求5所述的软件质量评价方法,其特征在于,确定BP神经网络的拓扑结构时,本方法进一步包括:
建议m个独立的三层BP神经网络模型,第一层的神经元个数等于软件质量评价目标Ti的相关自变量集合中的元素个数,第三层的神经元个数为1,第二层的神经元个数采用试验法确定。
7.根据权利要求5所述的软件质量评价方法,其特征在于,训练各评价目标对应的神经网络模型时,本方法进一步包括,对于第i个BP神经网络NNi,其训练数据为采用交叉验证法将N组数据划分为训练集与测试集,使用训练集训练BP神经网络直至成本函数收敛,再使用测试集计算其正确率α。
8.根据权利要求5所述的软件质量评价方法,其特征在于,获取待评价软件的目标度量数据时,本方法进一步包括:
给出选取的软件质量评价目标子集{Ti}的相关自变量集合的并集,记为{IV″q},获取待评软件的软件度量集合{IV″q}的数据。
9.根据权利要求1所述的软件质量评价方法,其特征在于,计算待评价软件综合质量评分后,本方法进一步包括:
根据灵敏度分析结果对待评价软件进行薄弱环节分析。
CN201910506286.3A 2019-06-12 2019-06-12 一种软件质量评价方法 Active CN110196814B (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN201910506286.3A CN110196814B (zh) 2019-06-12 2019-06-12 一种软件质量评价方法

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN201910506286.3A CN110196814B (zh) 2019-06-12 2019-06-12 一种软件质量评价方法

Publications (2)

Publication Number Publication Date
CN110196814A true CN110196814A (zh) 2019-09-03
CN110196814B CN110196814B (zh) 2023-05-05

Family

ID=67754446

Family Applications (1)

Application Number Title Priority Date Filing Date
CN201910506286.3A Active CN110196814B (zh) 2019-06-12 2019-06-12 一种软件质量评价方法

Country Status (1)

Country Link
CN (1) CN110196814B (zh)

Cited By (11)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN110908911A (zh) * 2019-11-26 2020-03-24 京东数字科技控股有限公司 软件测试方法、装置、电子设备及计算机可读介质
CN111767212A (zh) * 2020-06-17 2020-10-13 中国船舶重工集团公司第七一九研究所 一种软件代码质量评价方法、装置、设备及存储介质
CN112415208A (zh) * 2020-11-17 2021-02-26 北京航空航天大学 一种评价蛋白组学质谱数据质量的方法
CN112926834A (zh) * 2021-01-29 2021-06-08 北京索为系统技术股份有限公司 工业app质量评价方法、装置、设备及介质
CN112947928A (zh) * 2019-12-10 2021-06-11 北京沃东天骏信息技术有限公司 代码评价的方法、装置、电子设备和存储介质
CN113504935A (zh) * 2021-07-26 2021-10-15 平安信托有限责任公司 软件开发质量评估方法、装置、电子设备及可读存储介质
CN114090463A (zh) * 2022-01-20 2022-02-25 航天中认软件测评科技(北京)有限责任公司 基于自然语言处理技术的可定制软件测试分析评价系统
CN114417358A (zh) * 2022-01-25 2022-04-29 中航机载系统共性技术有限公司 一种机载关键软件安全性评估方法
CN114816963A (zh) * 2022-06-28 2022-07-29 南昌航空大学 嵌入式软件质量评估方法、系统、计算机及可读存储介质
CN116739304A (zh) * 2023-07-20 2023-09-12 紫灿科技(上海)股份有限公司 一种基于产品历史数据的生产误差监控系统及方法
CN112926834B (zh) * 2021-01-29 2024-05-10 北京索为系统技术股份有限公司 工业app质量评价方法、装置、设备及介质

Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO2017097040A1 (zh) * 2015-12-10 2017-06-15 深圳先进技术研究院 一种医用输液滴速评价方法及系统
CN107797931A (zh) * 2017-11-13 2018-03-13 长春长光精密仪器集团有限公司 一种基于二次评价的软件质量评价方法及系统
CN108711008A (zh) * 2018-05-17 2018-10-26 北京中软国际信息技术有限公司 一种基于卷积神经网络的多维度软件项目健康度评估方法

Patent Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO2017097040A1 (zh) * 2015-12-10 2017-06-15 深圳先进技术研究院 一种医用输液滴速评价方法及系统
CN107797931A (zh) * 2017-11-13 2018-03-13 长春长光精密仪器集团有限公司 一种基于二次评价的软件质量评价方法及系统
CN108711008A (zh) * 2018-05-17 2018-10-26 北京中软国际信息技术有限公司 一种基于卷积神经网络的多维度软件项目健康度评估方法

Cited By (15)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN110908911B (zh) * 2019-11-26 2023-09-26 京东科技控股股份有限公司 软件测试方法、装置、电子设备及计算机可读介质
CN110908911A (zh) * 2019-11-26 2020-03-24 京东数字科技控股有限公司 软件测试方法、装置、电子设备及计算机可读介质
CN112947928A (zh) * 2019-12-10 2021-06-11 北京沃东天骏信息技术有限公司 代码评价的方法、装置、电子设备和存储介质
CN111767212A (zh) * 2020-06-17 2020-10-13 中国船舶重工集团公司第七一九研究所 一种软件代码质量评价方法、装置、设备及存储介质
CN111767212B (zh) * 2020-06-17 2024-05-14 中国船舶重工集团公司第七一九研究所 一种软件代码质量评价方法、装置、设备及存储介质
CN112415208A (zh) * 2020-11-17 2021-02-26 北京航空航天大学 一种评价蛋白组学质谱数据质量的方法
CN112926834A (zh) * 2021-01-29 2021-06-08 北京索为系统技术股份有限公司 工业app质量评价方法、装置、设备及介质
CN112926834B (zh) * 2021-01-29 2024-05-10 北京索为系统技术股份有限公司 工业app质量评价方法、装置、设备及介质
CN113504935A (zh) * 2021-07-26 2021-10-15 平安信托有限责任公司 软件开发质量评估方法、装置、电子设备及可读存储介质
CN114090463A (zh) * 2022-01-20 2022-02-25 航天中认软件测评科技(北京)有限责任公司 基于自然语言处理技术的可定制软件测试分析评价系统
CN114090463B (zh) * 2022-01-20 2022-04-05 航天中认软件测评科技(北京)有限责任公司 基于自然语言处理技术的可定制软件测试分析评价系统
CN114417358A (zh) * 2022-01-25 2022-04-29 中航机载系统共性技术有限公司 一种机载关键软件安全性评估方法
CN114816963B (zh) * 2022-06-28 2022-09-20 南昌航空大学 嵌入式软件质量评估方法、系统、计算机及可读存储介质
CN114816963A (zh) * 2022-06-28 2022-07-29 南昌航空大学 嵌入式软件质量评估方法、系统、计算机及可读存储介质
CN116739304A (zh) * 2023-07-20 2023-09-12 紫灿科技(上海)股份有限公司 一种基于产品历史数据的生产误差监控系统及方法

Also Published As

Publication number Publication date
CN110196814B (zh) 2023-05-05

Similar Documents

Publication Publication Date Title
CN110196814A (zh) 一种软件质量评价方法
Kitchenham et al. Evidence-based software engineering and systematic reviews
Patel et al. Neural network approach for safety climate prediction
Pandian Software metrics: A guide to planning, analysis, and application
US7280977B2 (en) System and model for performance value based collaborative relationships
Yan et al. Software quality assessment model: a systematic mapping study
Dandashi A method for assessing the reusability of object-oriented code using a validated set of automated measurements
CN109472003A (zh) 一种应用于成本分析的多元线性回归算法
Koduru et al. Using fuzzy logic and expert system approaches in evaluating flexible pavement distress: Case study
KR20160135451A (ko) 학과계열 선정 시스템 및 그 방법
Obsie et al. Prediction of student academic performance using neural network, linear regression and support vector regression: a case study
Bani-Mustafa et al. A new framework for multi-hazards risk aggregation
CN110210727A (zh) 一种基于过程行为数据的指标体系优度综合评价方法
Joseph et al. (Mis) alignment between stance expressed in social media data and public opinion surveys
CN105893748A (zh) 基于粗糙集理论的幸福指数评价方法及系统
CN108305011A (zh) 一种正逆结合的航天质量管理体系有效性评价方法
Tortorella et al. Learning curve applications in Industry 4.0: a scoping review
CN115375210B (zh) 职业技能等级认定管理方法及系统
Şengül Avşar Aberrant individuals’ effects on fit indices both of confirmatory factor analysis and polytomous IRT models
Kaur et al. Causal inference in higher education: Building better curriculums
Tavakoli et al. Risk assessment of medical devices used for COVID-19 patients based on a Markovian-based weighted failure mode effects analysis (WFMEA)
CN108921434A (zh) 一种通过人机交互完成用户能力预测的方法
Hannimitkulchai et al. Continuous audit development and audit survival: Evidence from tax auditors in Thailand
Dissanayake et al. Soft computing approach to construction performance prediction and diagnosis
Azadeh et al. Optimization of human resources and industrial banks with ambiguous inputs using intelligent fuzzy mathematical programming approach

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