一种潜艇作战软件质量评价的新方法
2008-04-24关帅,孙雅囡,朱清浩
1 引 言
潜艇战术应用软件主要是指那些用于完成潜艇指控系统辅助指挥决策功能的应用软件[1],它为艇长在极短的时间内作出正确的决策判断发挥重要的辅助决策作用,其质量的优劣直接关系到战斗的胜败、人员的生命安全。因而对潜艇战术应用软件质量的评价,一方面是对人员、装备负责,提高艇长对软件的信任度,从而真正加大战争的信息化程度;另一方面也是对软件质量负责,促进软件质量的提高,并加强软件自身的适用性。
软件质量评价是软件工程中的一个重要内容[2]。如同软件的功能一样,在软件经设计与开发之后具备功能的同时,软件的质量高低也就构造在软件之中了。
目前,研究软件质量评价的方法多采用模糊综合评判法[3-7],该方法可有效地进行复杂系统评价,但各个指标的模糊隶属度函数构造无统一标准,且权重分配是根据经验直接得到,主观因素在评价过程中影响很大,会使最终评价结果受隶属度函数和权重选择的影响而出现不同的结果,最终影响质量评价结果的准确性。本文旨在运用专家知识确定软件质量指标对最终软件质量评价影响的重要度,运用软件质量指标进行修正,并作为模型的初始输入,以提高最终评价结果的准确性。然后通过神经网络[8]建立软件质量属性与质量评价结果之间的关系,使最终的评价模型更加准确客观。
2 软件质量评价指标体系
影响软件质量的因素很多,在评价一个软件的质量时,首先应遵循一定的原则建立一套合理、有效的评价指标体系,而指标体系应尽可能充分反映软件产品质量的基本因素。通过分析潜艇战术应用软件的特点,本文依据ISO/IEC9126[9]标准用于度量软件质量的评价指标。ISO/IEC9126标准是当前国际上流行的软件质量评价标准,在已经正式出版的ISO/IEC9126-PartI(软件质量模型)中,将软件质量用6个外部属性表示,即功能性、可靠性、可维性、效率、可移植性、可用性。
3 基于专家知识与神经网络的潜艇战术应用软件质量评价模型
对软件进行评价是一个多属性决策问题,其评价过程是建立质量子属性集合到质量评价结果之间的映射关系,即f:dij→q,其中dij为软件第i个质量属性对应的第j个子属性,q为质量评价结果。对于潜艇战术应用软件,可以采用分层分析的方法进行质量评价,而各子层因素对上层的评价可以采用相同的分析方法。本文通过建立基于专家知识与神经网络的软件质量评价模型来对其进行研究。
3.1 基于专家知识的软件质量属性权重的获取
在获得潜艇战术应用软件的质量属性指标体系后,通过利用专家知识对软件质量属性的重要性进行初始权重分配,以确定软件质量属性对软件质量评价影响的重要度,在此采用基于专家知识的相邻比较法确定初始权重。
3.2 神经网络结构及其学习算法
本文采用3层BP神经网络,设BP网络输入层节点数为m,隐层节点数为p,输出层节点为n,学习算法如下:
1) 初始化。对所有权值赋以随机任意小值,并对阈值设定初始值。
2) 给定训练样本。即提供输入向量X和期望的目标输出向量D。
3) 计算实际输出。隐层节点和输出层节点的输出可分别由下式计算。
隐层节点输出:
(1)
输出层节点输出:
(2)
式(1)、式(2)中,ωij、vjk分别为输入层、隐层与输出层之间的连接权值;φj、θk分别为隐层和输出层的节点阈值;f( )为神经元的激励函数,一般取Sigmoid函数模型,即
4) 计算期望值与实际输出值之间的误差,即
(3)
式中,dk为网络期望输出值;yk为网络实际输出。
5) 调整权值。输出层神经元权系数的修正。
Δωjk=ηyk(1-yk)(dk-yk)uj
(4)
隐层神经元权系数修正。
(5)
式(4)、式(5)中,0<η<1为学习效率。
6) 返回第二步重复,直至误差E满足系统精度要求为止。
3.3 神经网络训练数据的获取
模糊综合评判是目前进行复杂系统评价的主要方法,该方法能够综合考虑影响软件质量属性的多方面定量和定性的指标因素,但由于指标隶属度函数的选择以及指标权重的选取都带有主观性,往往使最终评价结果出现偏差。本文采用基于专家知识与神经网络的软件质量评价模型,利用模糊综合评判方法获取该模型的训练数据和测试数据来训练神经网络,既能发挥模糊综合评判的优势,又能克服其中的不足。
4 潜艇战术应用软件质量评价
4.1 评价方法
软件质量评价方法的具体步骤如下:
1) 建立软件质量评价体系,模糊化各质量属性。
2) 基于专家知识确定质量属性之间的相对权重系数,并归一化处理。
3) 利用权重系数修正质量属性,并将修正后的质量属性作为软件质量评价模型的输入。
4) 将用模糊综合评价法得到的数据作为训练样本训练神经网络。
5) 用训练好的神经网络对潜艇战术应用软件进行质量评价。
4.2 潜艇战术应用软件质量评价的算例
首先,建立潜艇战术应用软件的质量评价体系。该软件具有可靠性、效率、可用性、功能性、可维性、可移植性等6个外部属性,从而建立软件质量属性集F={f1,f2, …,f6},表1为软件质量评价论域集V。采用高斯函数建立隶属度函数对质量属性fi进行模糊化处理。
表1 软件质量评价论域集V
表2 潜艇战术应用软件质量属性权重确定
最后,利用模糊综合评判法得到的数据训练神经网络,并对训练好的模型评价结果进行验证。本文利用模糊综合评判法获得100组数据,其中80组用来训练神经网络,20组作为模型的测试数据。图1为潜艇战术应用软件质量评价模型的测试图。由图1可见,在对潜艇战术应用软件进行的20次质量评价中,本文提出的基于专家知识与神经网络的软件质量评价方法与应用模糊综合评判法获得的结果基本一致。但是由于本文利用专家知识对属性进行修正处理后再作为模型的输入,充分体现了不同属性对最终质量评价结果影响的重要度,又利用神经网络强大的并行计算与自学习能力,使评价模型更加符合潜艇战术应用软件高时效性的特点,评价结果更趋客观、合理。
图1 潜艇战术应用软件质量评价模型测试
5 结 论
本文提出的基于专家知识与神经网络的潜艇战术应用软件质量评价方法,是在对模糊综合评判法研究的基础上,将专家知识和神经网络相结合建立的一种评价模型。对潜艇战术应用软件的质量评价进行分析,验证了该方法的可行性和有效性,从而为软件质量评价提供了一种有效的途径。
参考文献:
[1] 黄文斌,薛昌友.潜艇作战软件[M].北京:兵器出版社,2002.
[2] PRESMAN R S.软件工程实践者的研究方法[M].梅宏,译.北京:机械工业出版社,2002.
[3] 周津慧,王宗,杨宗奎,等.基于模糊评价方法的软件质量评价研究[J].系统工程与电子技术,2004,26(7):988-991.
[4] 陈建明,王海峰.软件质量模型及其评价[J].微电子学与计算机,2003,20(5):64-67.
[5] 王成才,汤伟,肖丽雯,等.软件质量评价的定量评价方法[J].计算机工程,2003,29(14):95-97.
[6] 杨杨.计算机软件质量模糊综合评价方法[J].小型微型计算机系统,2000,21(3):313-315.
[7] 马思群,王红珍,孙彦彬.基于模糊理论的软件质量评价方法应用研究[J].大连交通大学学报,2007,28(4):18-21,36.
[8] 杨根兴,高大启,宋国新.基于神经网络的软件质量综合评价方法[J].华东理工大学学报:自然科学版,2004,30(3):292-295.
[9] ISO/IEC FCD 9126-1.Information technology-software product quality.Part 1:Quality model (draft)[S].International Organization of Standardization,2001.