软件质量评价方法.pdf

上传人:Ameli****keyy 文档编号:11288712 上传时间:2021-09-16 格式:PDF 页数:23 大小:2.27MB
收藏 版权申诉 举报 下载
软件质量评价方法.pdf_第1页
第1页 / 共23页
软件质量评价方法.pdf_第2页
第2页 / 共23页
软件质量评价方法.pdf_第3页
第3页 / 共23页
文档描述:

《软件质量评价方法.pdf》由会员分享,可在线阅读,更多相关《软件质量评价方法.pdf(23页完成版)》请在专利查询网上搜索。

1、(19)中华人民共和国国家知识产权局 (12)发明专利申请 (10)申请公布号 (43)申请公布日 (21)申请号 201910506286.3 (22)申请日 2019.06.12 (71)申请人 王轶昆 地址 100191 北京市海淀区学院路37号北 京航空航天大学 申请人 北京赛若科技有限公司 (72)发明人 王轶昆王轶辰宗鹏洋 (74)专利代理机构 北京风雅颂专利代理有限公 司 11403 代理人 朱萧俊 (51)Int.Cl. G06F 11/36(2006.01) G06N 3/08(2006.01) (54)发明名称 一种软件质量评价方法 (57)摘要 本发明公开了一种软件质量评。

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

3、0196814 A 2019.09.03 CN 110196814 A 1.一种软件质量评价方法, 其特征在于, 所述方法包括: 训练软件质量评价模型, 包括: 确定软件质量评价目标及其权重; 按照软件质量评价目标采集若干历史软件的目标度量数据; 根据软件质量评价目标确定BP神经网络的拓扑结构; 使用历史软件的软件目标度量数据, 训练各评价目标对应的BP神经网络模型; 使用软件质量评价模型计算得出待评价软件综合质量评分, 包括: 选择待评价软件质量评价目标; 获取待评价软件的目标度量数据; 使用选择的质量评价目标各自对应的BP神经网络, 对获取的目标度量数据进行计算, 得出待评价软件在各软件质。

4、量评价目标上的评分; 根据待评价软件在各软件质量评价目标的评分, 计算待评价软件综合质量评分。 2.根据权利要求1所述的软件质量评价方法, 其特征在于, 在采集若干历史软件的目标 度量数据时, 本方法进一步包括: 根据各历史软件的软件质量评价目标T1,T2,Tm寻找最相关的人群进行评分, 采集 各历史软件质量评价目标评分数据 采集各 历史 软 件的 软 件过 程 度量数 据 采 集 各 历 史 软 件 的 软 件 代 码 度 量 数 据 采集各历史软件的人因度量数据 其中j为历史软件的编号, N为历史软件的数量, i为个软件质量评价目标的编号, m为软 件质量评价目标的数量。 3.根据权利要求。

5、2所述的软件质量评价方法, 其特征在于, 采集各历史软件的软件代码 度量数据后, 本方法进一步包括: 通过数据聚合技术, 将各历史软件的软件代码度量数据 聚 合 为 描 述 软 件 整 体 的 数 据 其中k的值取决于数据聚合技术。 4.根据权利要求2所述的软件质量评价方法, 其特征在于, 采集各历史软件质量评价目 标评分数据和人因度量数据后, 本方法进一步包括: 为每个人因度量HFi分配一个用于修正人因度量对主观评分影响的影响因子 i, 对第j 个软件的每个软件质量评价目标评分修正为tmjtmj+HFi i,j1,2,N。 5.根据权利要求4所述的软件质量评价方法, 其特征在于, 采集各历史。

6、软件的目标度量 数据后, 本方法进一步包括: 权利要求书 1/2 页 2 CN 110196814 A 2 通过数据聚合技术, 将各历史软件的软件代码度量数据 聚合为描述软件整体的数据 其中k的值取决于数据聚合技术; 将软件过程度量数据代码度量聚合值人因度量数据作为自变量集合 将修正后的软件软件质量评 价目标评分Tmj作为因变量集合对N组自变量 与因变量进行Spearman相关性分析, 筛选掉与因变量无关的自变量, 得到各历史软件质量 评价目标Ti,i1,2,m的相关自变量集合 6.根据权利要求5所述的软件质量评价方法, 其特征在于, 确定BP神经网络的拓扑结构 时, 本方法进一步包括: 建议。

7、m个独立的三层BP神经网络模型, 第一层的神经元个数等于软件质量评价目标Ti的 相关自变量集合中的元素个数, 第三层的神经元个数为1, 第二层的神经 元个数采用试验法确定。 7.根据权利要求5所述的软件质量评价方法, 其特征在于, 训练各评价目标对应的神经 网 络 模 型 时 , 本 方 法 进 一 步 包 括 , 对 于 第i 个 B P 神经 网 络 N Ni, 其 训练 数 据 为 采用交叉验证法将N组数据划分为训练集与测试 集, 使用训练集训练BP神经网络直至成本函数收敛, 再使用测试集计算其正确率 。 8.根据权利要求5所述的软件质量评价方法, 其特征在于, 获取待评价软件的目标度量。

8、 数据时, 本方法进一步包括: 给出选取的软件质量评价目标子集Ti的相关自变量集合的并 集, 记为IVq, 获取待评软件的软件度量集合IVq的数据。 9.根据权利要求1所述的软件质量评价方法, 其特征在于, 计算待评价软件综合质量评 分后, 本方法进一步包括: 根据灵敏度分析结果对待评价软件进行薄弱环节分析。 权利要求书 2/2 页 3 CN 110196814 A 3 一种软件质量评价方法 技术领域 0001 本发明涉及软件质量评价技术领域, 特别是指一种软件质量评价方法。 背景技术 0002 随着信息化的发展软件产品已融入各行各业, 上至航空航天产业下至人们的日常 生活都离不开软件。 而软。

9、件质量是贯穿于软件生命周期的一个重要问题, 随着软件在生产 生活中的地位越来越高, 人们对软件质量的要求也越来越高, 对于软件从业者来说, 软件质 量的评价结果对生产出高质量的软件有重要的参考价值, 然而软件产品是一个复杂的集 合, 不同的行业也对软件质量的要求各不相同, 现有技术中的软件质量评价方法存在可操 作性差、 不够准确客观、 无法提供有价值的反馈等问题, 所以如何准确客观的对软件质量做 出评价成为软件质量领域研究的重要技术。 发明内容 0003 有鉴于此, 本发明的目的在于提出一种提供准确的质量评价结果的软件质量评价 方法。 0004 基于上述目的本发明提供的一种软件质量评价方法, 。

10、方法包括: 0005 训练软件质量评价模型, 包括: 0006 确定软件质量评价目标及其权重; 0007 按照软件质量评价目标采集若干历史软件的目标度量数据; 0008 根据软件质量评价目标确定BP神经网络的拓扑结构; 0009 使用历史软件的软件目标度量数据, 训练各评价目标对应的BP神经网络模型; 0010 使用软件质量评价模型计算得出待评价软件综合质量评分, 包括: 0011 选择待评价软件质量评价目标; 0012 获取待评价软件的目标度量数据; 0013 使用选择的质量评价目标各自对应的BP神经网络, 对获取的目标度量数据进行计 算, 得出待评价软件在各软件质量评价目标上的评分; 00。

11、14 根据待评价软件在各软件质量评价目标的评分, 计算待评价软件综合质量评分。 0015 优选地, 在采集若干历史软件的目标度量数据时, 本方法进一步包括: 0016 根据各历史软件的软件质量评价目标*T1,T2,Tm寻找最相关的人群进行评分, 采集各历史软件质量评价目标评分数据 0017采集各历史软件的软件过程度量数据 0018采集各历史软件的软件代码度量数据 说明书 1/18 页 4 CN 110196814 A 4 0019采集各历史软件的人因度量数据 0020 其中j为历史软件的编号, N为历史软件的数量, i为个软件质量评价目标的编号, m 为软件质量评价目标的数量。 0021 优选。

12、地, 采集各历史软件的软件代码度量数据后, 本方法进一步包括: 0022通过数据聚合技术, 将各历史软件的软件代码度量数据 聚合为描述软件整体的数据 0023 其中k的值取决于数据聚合技术。 0024 优选地, 采集各历史软件质量评价目标评分数据和人因度量数据后, 本方法进一 步包括: 0025 为每个人因度量HFi分配一个用于修正人因度量对主观评分影响的影响因子 i, 对 第j个软件的每个软件质量评价目标评分修正为tmjtmj+HFi i,j1,2,N。 0026 优选地, 采集各历史软件的目标度量数据后, 本方法进一步包括: 0027通过数据聚合技术, 将各历史软件的软件代码度量数据 聚合。

13、为描述软件整体的数据其中k的值 取决于数据聚合技术; 0028将软件过程度量数据代码度量聚合值人因度量数据作为自变量集 合将修正后的软件软件质量 评价目标评分Tmj作为因变量集合对N组自变 量与因变量进行Spearman相关性分析, 筛选掉与因变量无关的自变量, 得到各历史软件质 量评价目标Ti,i1,2,m的相关自变量集合 0029 优选地, 确定BP神经网络的拓扑结构时, 本方法进一步包括: 0030 建议m个独立的三层BP神经网络模型, 第一层的神经元个数等于软件质量评价目 标Ti的相关自变量集合中的元素个数, 第三层的神经元个数为1, 第二层 的神经元个数采用试验法确定。 0031 优。

14、选地, 训练各评价目标对应的神经网络模型时, 本方法进一步包括, 对于第i个 BP神经网络NNi, 其训练数据为(IV1j,IV2j,Tij),j1,2,N。 采用交叉验证法将N组 数据划分为训练集与测试集, 使用训练集训练BP神经网络直至成本函数收敛, 再使用测试 集计算其正确率 。 0032 优选地, 获取待评价软件的目标度量数据时, 本方法进一步包括: 0033给出选取的软件质量评价目标子集*Ti的相关自变量集合 说明书 2/18 页 5 CN 110196814 A 5 的并集, 记为IVq, 获取待评软件的软件度量集合IVq的数据。 0034 优选地, 计算待评价软件综合质量评分后,。

15、 本方法进一步包括: 0035 根据灵敏度分析结果对待评价软件进行薄弱环节分析。 0036 从上面所述可以看出, 本发明提供的软件质量评价方法, 通过确定软件质量评价 目标的项目和其权重, 采集历史软件的目标度量数据, 并建立BP神经网络拓扑结构, 使用历 史软件的软件目标度量数据, 对BP神经网络模型进行训练, BP神经网络可以保证模型的准 确性与适应性, 通过学习历史软件的特征, 评价结果更为准确客观, 使用训练后的BP神经网 络模型对采集到的待评价软件的目标度量数据进行计算, 得出软件质量评价目标评分, 并 根据权重加权计算得出软件综合质量评分, 可以对软件的质量生成直观准确的评分结果,。

16、 且通过各软件质量评价目标评分, 可以方便地得知待评价软件的薄弱环节。 附图说明 0037 图1为本发明实施例的软件质量评价方法流程示意图; 0038 图2为本发明实施例的BP神经网络模型训练逻辑示意图。 具体实施方式 0039 为使本发明的目的、 技术方案和优点更加清楚明白, 以下结合具体实施例, 并参照 附图, 对本发明进一步详细说明。 0040 需要说明的是, 本发明实施例中所有使用 “第一” 和 “第二” 的表述均是为了区分两 个相同名称非相同的实体或者非相同的参量, 可见 “第一”“第二” 仅为了表述的方便, 不应 理解为对本发明实施例的限定, 后续实施例对此不再一一说明。 0041。

17、 本发明的实施例提供一种软件质量评价方法, 如图1所示, 包括以下步骤: 0042 训练软件质量评价模型, 其中包括: 0043 101确定软件质量评价目标及权重; 0044 在本发明的实施例中, 可通过问卷调查此部门的开发、 测试与管理人员, 确定其最 关注的软件质量评价目标集合*T1,T2,Tm, 根据每个软件质量评价目标的重要程度为其 分配权重 0045 102按照软件质量评价目标采集若干历史软件的目标度量数据; 0046 在本发明的实施例中, 目标度量数据包括自变量集合和因变量集合。 0047 103根据软件质量评价目标确定BP神经网络的拓扑结构; 0048 在本发明的实施例中, 对于。

18、m个软件质量评价目标, 建立m个独立的BP神经网络模 型。 0049 104使用历史软件的软件目标度量数据, 训练各评价目标对应的BP神经网络模型; 0050 使用软件质量评价模型计算得出待评价软件综合质量评分, 包括: 0051 105选择待评价软件质量评价目标; 0052 在本发明的实施例中, 从软件质量评价目标集合*T1,T2,Tm中选取所需子集为 本次评价活动的评价目标。 0053 106获取待评价软件的目标度量数据; 说明书 3/18 页 6 CN 110196814 A 6 0054 107使用选择的质量评价目标对应的BP神经网络, 对获取的目标度量数据进行计 算, 得出待评价软件。

19、在选择的软件质量评价目标的评分; 0055 在本发明的实施例中, 将待评价软件目标度量数据分别输入其评价目标子集*Ti 各自对应的BP神经网络NNi, 计算软件质量评价目标*Ti的评分。 0056 108根据待评价软件在各软件质量评价目标的评分, 计算待评价软件综合质量评 分。 0057 在本发明的实施例中, 按照为软件质量评价目标分配的权重i,i1,2,m对 软件质量评价目标*Ti的评分进行加权, 即软件综合质量评分TallTii。 0058 本方法通过确定软件质量评价目标的项目和其权重, 采集历史软件的目标度量数 据, 并建立BP神经网络拓扑结构, 使用历史软件的软件目标度量数据, 对BP。

20、神经网络模型进 行训练, BP神经网络可以保证模型的准确性与适应性, 通过学习历史软件的特征, 评价结果 更为准确客观, 使用训练后的BP神经网络模型对采集到的待评价软件的目标度量数据进行 计算, 得出软件质量评价目标评分, 并根据权重加权计算得出软件综合质量评分, 可以对软 件的质量生成直观准确的评分结果, 且通过各软件质量评价目标评分, 可以方便地得知待 评价软件的薄弱环节。 0059 在本发明的实施例中, 在采集若干历史软件的目标度量数据时, 本方法进一步包 括: 0060 根据各历史软件质量评价目标*T1,T2,Tm寻找最相关的人群进行评分, 采集各 历史软件质量评价目标评分数据 00。

21、61采集各历史软件的软件过程度量数据 0062采集各历史软件的软件代码度量数据 0063采 集 各 历 史 软 件 的 人 因 度 量 数 据 0064 其中j为历史软件的编号, N为历史软件的数量, i为个软件质量评价目标的编号, m 为软件质量评价目标的数量。 0065 本发明通过寻找最相关的人群对软件质量评价目标进行评分, 如软件的实际用户 对软件的易用性有着更准确的体验; 软件设计与开发人员可能更了解软件的功能性、 互用 性与可移植性等; 而软件测试人员实际上也是软件的使用者, 他们体验的是软件的可维护 性, 与此同时大多数测试部门的测试活动也会着重于软件的功能性、 性能效率与可靠性。。

22、 可 以避免传统方法中专家打分的片面性, 降低评分的主观性, 通过引入软件过程度量数据和 软件代码度量数据, 软件的代码度量包含了大量软件设计与开发的信息, 这些数据与软件 的质量密切相关, 通过软件代码度量建立的质量评价模型可以指出哪些代码度量对改进软 件质量有所帮助, 从而为软件设计与开发提供具体可操作的反馈, 使日后开发的软件的质 量有实质性的提高。 说明书 4/18 页 7 CN 110196814 A 7 0066 软件的代码度量数据可以通过自动化测试工具(如Parasoft C+Test、 LDRA Testbed、 QA-C等)对源代码进行静态分析自动化收集, 大大提高了评价过程。

23、的可操作性。 0067 在本发明的实施例中, 采集各历史软件的软件代码度量数据后, 本方法进一步包 括, 通过数据聚合技术, 将各历史软件的软件代码度量数据 聚合为描述软件整体的数据其中k的值取决于数 据聚合技术。 0068 由于软件代码度量的每个数据描述的是软件的函数而不是软件本身, 因此本发明 采用数据聚合技术处理软件代码度量数据。 0069 在本发明的实施例中, 采集各历史软件质量评价目标评分数据和人因度量数据 后, 本方法进一步包括: 0070 为每个人因度量HFi分配一个用于修正人因度量对主观评分影响的影响因子 i, 对 第j个软件的每个软件质量评价目标评分修正为tmjtmj+HFi。

24、 i,j1,2,N。 0071 虽然选取了更有针对性的评分方式, 但特定人群对特定软件质量评价目标的评分 难免仍然带有一些主观误差, 对软件质量不太了解的评价人员给出的评分很有可能过于宽 松。 0072 本发明通过人因度量对评分中的主观或认知因素进行度量, 对软件质量评价目标 评分进行修正, 可以进一步降低评分的主观性。 0073 在本发明的实施例中, 采集各历史软件的目标度量数据后, 本方法进一步包括: 0074通过数据聚合技术, 将各历史软件的软件代码度量数据 聚合为描述软件整体的数据其中k的 值取决于数据聚合技术; 0075将软件过程度量数据代码度量聚合值人因度量数据作为自变量集 合将修。

25、正后的软件软件质量 评价目标评分Tmj作为因变量集合对N组自变 量与因变量进行Spearman相关性分析, 筛选掉与因变量无关的自变量, 得到各历史软件质 量评价目标Ti,i1,2,m的相关自变量集合 0076 在本发明的实施例中, 确定BP神经网络的拓扑结构时, 本方法进一步包括: 0077 建议m个独立的三层BP神经网络模型, 第一层(输入层)的神经元个数等于软件质 量评价目标Ti的相关自变量集合中的元素个数, 第三层(输出层)的神经 元个数为1, 第二层(隐含层)的神经元个数采用试验法确定。 0078 在本发明的实施例中, 训练各评价目标对应的神经网络模型时, 本方法进一步包 括, 对于。

26、第i个BP神经网络NNi, 其训练数据为(IV1j,IV2j,tij),j1,2,N。 采用交 说明书 5/18 页 8 CN 110196814 A 8 叉验证法将N组数据划分为训练集与测试集, 使用训练集训练BP神经网络直至成本函数收 敛, 再使用测试集计算其正确率 。 0079 在本发明的实施例中, 获取待评价软件的目标度量数据时, 本方法进一步包括: 0080给出选取的软件质量评价目标子集Ti的相关自变量集合的并 集, 记为IVq, 获取待评软件的软件度量集合IVq的数据。 0081 在本发明的实施例中, 计算待评价软件综合质量评分后, 本方法进一步包括: 0082 根据灵敏度分析结果。

27、对待评价软件进行薄弱环节分析。 具体包括根据灵敏度分析 结果给出对软件质量影响较大的软件度量与造成软件质量评价目标评分较低的软件度量, 并给出改进建议以提高软件质量。 0083 对于软件测试部门来说更希望将有限的人力与时间资源分配到软件薄弱的方面 来发现更多的问题, 而本方法为其指出软件薄弱的方面, 以此设计针对性的测试方法有助 于软件测试人员发现更多的问题。 0084 下面以某软件为例, 说明本发明公开的软件质量评价方法的实施过程。 0085 首先确定软件质量评价目标及其权重, 通过问卷调查此部门的开发、 测试与管理 人员, 从ISO-25010软件质量模型中确定其最关注的软件质量评价目标集。

28、合T1,T2, T10, 根据每个软件质量评价目标的重要程度为其分配权重结果如表1所示: 0086 0087 表1 0088 按照软件质量评价目标采集若干历史软件的目标度量数据, 0089 , 对第j个软件, 按表1的评价人群对其进行评分, 获得软件质量评价目标评分数据 说明书 6/18 页 9 CN 110196814 A 9 0090 采集软件过程度量数据, 即软件设计与开发阶段的度量数据时, 具体为采集第j个 软件的软件过程度量集合数据软 件过程度量如表2所示: 0091 0092 表2 0093 采集软件代码度量数据时, 对第j个软件的每个函数进行静态扫描, 收集软件代码 度量数据其中。

29、 n为第j个软件的函数总数。 收集的软件代码度量如表3所 示: 说明书 7/18 页 10 CN 110196814 A 10 0094 0095 表3 0096 采集人因度量数据时, 对第j个软件设计、 开发与管理人员进行问卷调查, 收集人 因度量数据收集的人因度量如表4所示: 说明书 8/18 页 11 CN 110196814 A 11 0097 0098 表4 0099 其中, 各人因度量数据的来源如表5所示。 说明书 9/18 页 12 CN 110196814 A 12 0100 0101 表5 0102 数据预处理: 0103 第 一 步 , 软 件 代 码 度 量 数 据聚 合。

30、 。 第 j 个 软 件的 软 件 代 码 度 量 数 据 为 其中 n为第j个软件的函数总数。 将第i个软件代码度量的数据 说明书 10/18 页 13 CN 110196814 A 13 聚合为一组描述软件整体的数据的值取决于 数据聚合技术, 数据聚合技术如表6所示: 0104 0105 表6 0106通过数据聚合技术可以将矩阵聚合为向量 0107 第二步, 软件质量评价目标评分数据修正。 为每个人因度量HFi分配一个影响因子 i, 用于修正人因度量对主观评分的影响, 对第j个软件的每个软件质量评价目标评分作此 修正: tkjtkj+HFi i,j1,2,24。 0108 将软件过程度量、。

31、 代码度量聚合值、 人因度量作为自变量集合 将修正后的软件质量评价 目标评分作为因变量集合24个历史软件的数 据如表7所示: 说明书 11/18 页 14 CN 110196814 A 14 0109 说明书 12/18 页 15 CN 110196814 A 15 0110 0111 表7 0112 第三步, 相关性分析筛选变量。 对这N组自变量与因变量进行Spearman相关性分 析, 筛选掉与因变量无关的自变量。 对于每个软件质量评价目标Ti,i1,2,10会得到其 相关自变量的集合i1,2,10。 在置信度为0.95的情况下与软件质量评 价目标存在显著相关性的自变量如表8所示: 说明书。

32、 13/18 页 16 CN 110196814 A 16 0113 0114 表8 0115 BP神经网络训练步骤如下: 0116 第一步, 确定BP神经网络的拓扑结构。 对于10个软件质量评价目标, 需建立10个独 立的三层BP神经网络模型。 对于第i个BP神经网络NNi, 其第一层(输入层)的神经元个数等 于软件质量评价目标Ti的相关自变量集合中的元素个数; 其第三层(输出 层)的神经元个数为1; 其第二层(隐含层)的神经元个数采用试验法确定。 10个BP神经网络 的拓扑结构如表9所示: 说明书 14/18 页 17 CN 110196814 A 17 0117 0118 表9 0119。

33、 第二步, BP神经网络训练。 对于第i个BP神经网络NNi, 其训练数据为(IV1j,IV 2j,tij),j1,2,24。 采用交叉验证法将24组数据划分为训练集与测试集, 使用训 练集训练BP神经网络直至成本函数收敛, 再使用测试集计算其正确率 。 训练结果如表10所 示: 0120 0121 表10 0122 软件质量评价模型使用 0123 第一步, 选择软件质量评价目标。 对于待评软件, 选择全部软件质量评价目标集合 说明书 15/18 页 18 CN 110196814 A 18 T1,T2,T10。 0124 第二步, 获取软件度量数据。 首先给出选取的软件质量评价目标子集Ti的。

34、相关 自变量集合的并集, 记为IVq。 获取待评软件的软件度量集合IVq的数 据。 最终待评软件的软件度量数据如表11所示: 0125 PM1PM2PM12CM1CM2CM60HF1HF2HF15 10.570.930.360.390.940.840.570.460.15 0126 表11 0127 第三步, 计算软件质量评价目标评分。 将软件度量数据分别输入软件度量评价目 标子集Ti各自对应的BP神经网络NNi, 计算软件质量评价目标Ti的评分。 软件质量评价 目标评分输出结果如表12所示: 0128 0129 0130 表12 0131 第四步, 计算软件综合质量评分。 按上表为软件质量评。

35、价目标分配的权重, 对软件 质量评价目标Ti的评分进行加权, 即软件综合质量评分TallTii0.78, 即此软件 的综合质量评分为0.78。 0132 第五步, 薄弱环节分析。 灵敏度分析部分结果如表13所示: 0133 0134 表13 0135 目前, 现有技术中对软件质量进行评价的方法主要有以下几种: 说明书 16/18 页 19 CN 110196814 A 19 0136 (1)基于专家评估的软件质量量化评价方法 0137 基于专家评估的软件质量量化评价方法采用软件质量-特性-子特性这种软件质 量分层模型, 首先专家给出对软件质量子特性的评分, 再通过因子加权累加法、 模糊综合评 。

36、判法或层次分析法等方法得到软件质量的分值。 这种方法操作简单而且适用性广泛, 但是 评价结果过于依赖于专家的水平。 0138 (2)相关标准的软件质量评价方法 0139 有许多已有标准(例如 GB/T 32904-2016软件质量量化评价规范 )基于软件质 量-特性-子特性-软件度量这种软件质量分层模型, 通过公式法与专家评估法对软件质量 进行评价。 要得到软件质量的评价结果, 首先要测量标准规定的软件测试与维护数据, 再根 据软件度量计算公式对其测量值进行计算, 最后通过专家评估给出的度量指标权值按照分 层模型向上加权获得最上层软件质量的分值。 这种方法通过软件度量数据减少了对专家的 依赖,。

37、 但是评价过程只能用于软件测试阶段之后而且软件度量数据获取成本较高。 0140 现有技术的软件质量评价方法中存在以下缺点: 0141 缺点1, 可操作性较差 0142 相关标准的软件质量评价方法中, 对于分层模型最底层的软件度量, 其测量值的 公式使用的数据来自于对软件开发与测试活动的一些计数与软件测试的一些结果。 如果软 件开发过程没有与标准给出的评价方式相适配或者软件实际测试并不充分, 在评价过程中 就需要重新进行很多计数活动与测试活动, 比如与I/O相关的代码行数、 有变更注释的模块 数、 通过可靠性测试获取的对应失效模式的测试用例数等, 这大大降低了这种评价方法的 可操作性。 0143。

38、 缺点2, 无法为软件质量的提高给出实质性的反馈 0144 上述评价方法中, 使用的软件质量评价指标为软件质量子特性或以测试数据计算 出的软件度量, 软件质量子特性是软件表现出来的特征, 标准使用的软件度量也没有涉及 软件的内部结构, 其评价结果无法对软件生命周期活动提供可操作的反馈, 不能实质性地 提高软件质量。 0145 缺点3, 专家评估带来的不准确性 0146 基于专家评估的软件质量量化评价方法所使用的评价指标为专家对软件质量子 特性的评分, 来自专家的主观判断, 子特性分数向上加权获得软件质量分数的权重也由专 家评估制定, 这种方法过于依赖专家的参与; 相关标准的软件质量评价方法虽然。

39、通过软件 度量来降低了评价过程中对专家的依赖程度, 但通过软件度量测量值向上加权获得软件质 量分数的权重也由专家评估制定; 而基于数据拟合方法的软件质量评价方法虽然通过数据 拟合方法建立了软件质量与软件质量评价指标之间的客观联系, 但数据依然来自专家的评 估。 0147 专家评估为评价过程带来的不准确性主要体现在两方面, 一是由于专家很难在短 时间内对被评软件有深入了解而带来系统误差, 二是由于专家领域经验或对软件质量的认 知带来的主观误差。 0148 缺点4, 软件差异带来的不准确性 0149 现有技术并未对其软件质量评价模型的适用范围给出限制, 相关标准的软件质量 评价方法既没有说明标准是。

40、依据何种类型软件建立的, 也没有说明标准的适用对象是何种 说明书 17/18 页 20 CN 110196814 A 20 类型的软件; 基于数据拟合方法的软件质量评价方法所使用的历史数据并没有体现软件之 间的差异, 在为不同类型软件进行质量评价的时候却使用同一个模型。 0150 软件差异(比如开发人群不同或者软件领域不同等)带来的不准确性有两个方面, 一是如果拟合数据存在软件差异而模型的输入没有考虑这种差异, 就会导致输入无法充分 描述输出的变化, 模型的评价结果很可能存在较大误差; 二是评价模型的使用上, 使用相同 开发人员开发的同领域软件数据进行拟合的评价模型如果应用于其他软件也可能会使。

41、评 价结果完全偏离真实结果。 0151 针对现有软件质量评价模型可操作性差、 不够准确客观、 无法提供有价值的反馈 等问题, 本发明建立基于神经网络的软件质量评价模型。 模型通过软件的代码度量、 软件度 量、 测试度量以及人因度量多方面对软件质量进行描述, 通过收集对软件有着更深入了解 的特定评价人群对特定软件质量评价目标的评价来提高评价的准确性, 并且通过人因度量 来减少模型的主观误差。 神经网络用于对这些度量与软件质量的关系进行拟合来提高模型 的准确性与适应性。 在评价模型的基础上, 建立软件度量与软件质量评价目标可定制化的 软件质量综合评价体系, 以适应不同领域用户的要求。 0152 一。

42、个可以提供准确的质量评价结果的软件质量综合评价体系对软件质量的提高 意义重大。 软件度量数据自动化采集的软件质量评价模型、 流程自动化的软件质量综合评 价大大简化了用户进行质量评价的成本。 这种软件质量综合评价方式除了可以对用户提供 准确的参考依据外, 也能提高软件管理人员、 开发与测试人员使用软件质量评价模型的信 心, 使他们更加关注软件质量。 软件质量评价结果更大的意义是为软件生命周期的过程提 供反馈, 软件评价结果对软件开发部门与测试部门都有重要参考价值。 软件规模与复杂性 的增加增大了软件测试的难度, 对于软件测试部门来说更希望将有限的人力与时间资源分 配到软件薄弱的方面来发现更多的问。

43、题, 而软件质量综合评价体系可以为其指出软件薄弱 的方面, 以此设计针对性的测试方法有助于软件测试人员发现更多的问题。 软件质量综合 评价体系会指出影响软件质量的软件设计与开发因素, 通过对这些因素的改善可以改进软 件开发部门设计与开发软件的方式, 合理有效地提高软件产品设计与开发的质量。 总的来 说, 软件质量综合评价体系可以使用户节约开发与测试成本的同时提高软件产品质量, 从 而提高用户信任度与市场竞争力。 0153 所属领域的普通技术人员应当理解: 以上任何实施例的讨论仅为示例性的, 并非 旨在暗示本公开的范围(包括权利要求)被限于这些例子; 在本发明的思路下, 以上实施例 或者不同实施例中的技术特征之间也可以进行组合, 步骤可以以任意顺序实现, 并存在如 上所述的本发明的不同方面的许多其它变化, 为了简明它们没有在细节中提供。 0154 本发明的实施例旨在涵盖落入所附权利要求的宽泛范围之内的所有这样的替换、 修改和变型。 因此, 凡在本发明的精神和原则之内, 所做的任何省略、 修改、 等同替换、 改进 等, 均应包含在本发明的保护范围之内。 说明书 18/18 页 21 CN 110196814 A 21 图1 说明书附图 1/2 页 22 CN 110196814 A 22 图2 说明书附图 2/2 页 23 CN 110196814 A 23 。

展开阅读全文
内容关键字: 软件 质量 评价 方法
关于本文
本文标题:软件质量评价方法.pdf
链接地址:https://www.zhuanlichaxun.net/pdf/11288712.html
关于我们 - 网站声明 - 网站地图 - 资源地图 - 友情链接 - 网站客服 - 联系我们

copyright@ 2017-2018 zhuanlichaxun.net网站版权所有
经营许可证编号:粤ICP备2021068784号-1