李军锋
(91404部队,秦皇岛 066000)
质量工作是装备工作的生命线,软件质量更是软件的生命。随着信息技术的发展,硬件软件化趋势愈加明显,软件质量已经成为影响和制约装备质量的主要因素和瓶颈,由软件缺陷引起的灾难性后果也不少见。自各行业开始关注软件质量以来至今已五十余年,国内外相关专家、学者投入了大量精力,在不断改进完善过程中,逐步形成了一系列软件质量模型、评价标准[1-10]。我国军用装备软件质量的研究,自2000年后逐渐起步并于2004年发布GJB2434A《军用软件产品评价》,十余年来也取得了丰富的成果[5]。但据了解,往往由于缺乏数据采集支撑,没有相对可行的质量量化指标,理论研究与实际应用的紧密结合尚有一定的差距。如何使软件质量评价模型和标准等切实落地,督导研发过程,提高装备软件质量,是迫切需要解决的问题。
ISO/ICE 250101中将软件质量定义为:反映软件产品满足规定需求和潜在需求能力的特征和特性的总和[3]。
MJ.Fisher将软件质量定义为:所有描述计算机优秀程度的特性的组合。也就是说为了满足软件的各项精确定义的功能、性能要求,符合文档化的开发标准,需要相应的给出或设计一些质量特性及其组合,要得到高质量的软件产品,就必须使这些质量特性满足[9]。
ANSI/IEEE Std.1061-1992中的标准将软件质量定义为:与软件产品满足需求所规定的和隐含的能力有关的特征或特性的全体,具体包括:
(1)软件产品中所能满足用户给定需求的全部特性的集合;
(2)软件具有所有的各种属性组合的程度;
(3)用户主观得出的软件是否满足其综合期望的程度;
(4)决定所用软件在使用中将满足其综合期望程度的合成特性。
综合上述定义理解,软件质量是软件的生命,它直接影响着软件的使用和维护。
软件质量评价是一项系统活动,包括最终产品的评价、开发过程的评价及若干相似功能的软件比较评价。在本文中软件工程质量评价的定义为:从测试试验阶段,在针对性的质量模型基础上,通过测试数据收集、主观评价,进行量化计算,并最终完成对软件工程化水平及开发质量评定的过程。
近年来,军用装备软件发展迅速,各类型新技术新装备陆续投入使用的背后,难免存在参与的研制单位众多,软件研发水平参差不齐,质量工作深入程度不一的情况。为使各部门掌握装备软件质量面貌,对关键质量问题引起重视,同时也为了便于各研制单位分析当前装备软件研发过程中存在的薄弱环节,以便进行持续有效地改进。
以客观公正、科学可行为基本指导思想,结合软件测试、装备试验及部队使用过程,从客观和主观两个角度提出装备软件质量评价模型,具体分为以下几个方面[4-5]:
客观部分,主要由第三方测评机构负责,结合装备软件测试过程收集评价数据:
(1)进入测试成熟度:对测评进入条件进行审查,并将审查结果作为评价数据;
(2)测试中的软件质量:采集软件测试过程数据,在此基础上进行评价。如软件需求是衡量软件质量的基础,不符合需求的软件就不具备质量,设计的软件应在功能、性能等方面都符合要求,并能可靠地运行;软件结构良好,易读、易于理解,并易于修改、维护;软件系统具有友好的用户界面,便于用户使用等。部分采用GJB2434A《军用软件产品评价》的相关内容,并在此基础上进行补充、裁剪或调整。
(3)技术状态稳定性:对软件版本的管理情况,内容代码的变更,实际进度与计划安排的相符性等进行评价。
主观部分,由测评机构、装备试验人员、部队使用人员结合软件测试、装备试验及日常使用的主观感受,通过问卷调查的方式收集评价数据:
(1)测评机构主观评价:主要包括软件的功能、性能、可靠性、界面友好性、安全性、代码质量、文档质量等的主观感受;
(2)试验使用主观评价:主要包括装备试验和部队使用过程中,相关人员对软件的功能、性能、可靠性、界面友好性等的主观感受。
根据国际国内惯例以及相关标准[1-3],软件质量由若干个特性组成,其中部分特性又可划分为若干个子特性,子特性又可进一步划分为若干度量指标也即度量元。参考相关国家军用标准中的层次分析方法,结合实际情况,提出装备软件质量评价模型[1-3,6],见图1。
图1 装备软件质量评价模型
在装备软件质量评价模型的基础上提出装备软件质量的特性和子特性,制定度量表,并通过提供一系列行之有效的度量元的方式,列出权值分配表,权值比例参考以往研究的基础上[4-6],征集相关单位及业内专家意见共同确定,具体度量元的选择及权值比例可在不同的软件评价活动过程中,结合实际情况进行适当调整,示例见表1。
表1 装备软件质量评价模型-度量元及权值分配表
对于每一个度量元要确定相应的目标测量值作为量化表示,以便对它们进行测量。在实际应用过程中,尽量选择那些成熟且简便易行的测量方法和技术,并保证测量结果易于使用[7-8],示例见表2。
表2 度量元量化方法表
按照度量权值设置,采用归一化的方式进行计算,定义度量元ijk的分值为mijk,最高分值(满分值)为Y_MAXijk,Ni为特性i的子特性个数,Nij为子特性ij的度量元个数,子特性、特性及整体评价的计算见公式[9-10]:
(1)度量元分值计算
利用表2采集统计各度量元的分值,其中度量元分值为0表示该度量元不得分,分值为-1表示该度量元对应的子特性不得分(分值为0),分值为-2表示包含该度量元的特性不得分(分值为0)。
(2)子特性、特性分值计算
根据公式(1)和公式(2)计算子特性和特性的分值。
(3)计算整体评价分值
根据公式(3),计算可得到软件质量整体评价分值,整体评价满分为1分,最低0分。
装备软件质量评价结果不设优、良、差之类等级分别,而是通过分析各项特性度量元得分情况,结合整体评价,整理形成装备软件质量评价报告,尽可能从科学角度提出软件质量在各环节存在的不足。评价结果同步通报相关单位,以便各自从状态掌握、问题整改及持续改进等角度促进装备软件质量不断提升。
软件质量尤其是军用装备软件的质量影响重大,本文提出的基于软件测试、装备试验及部队使用的装备软件质量评价模型,结合某大型装备系统软件的研发、测试、试验及部队使用过程研究,广泛征求相关单位意见建议,度量元易于采集,计算结果相对科学合理,并已成功试用实施。下一步将对装备试验及部队使用过程中的软件质量问题,从严重等级、影响后果等方面进行梳理分析,纳入客观部分特性度量,同时对部队使用评价内容适当调整,区别于装备试验度量采集,使之更加切合实际应用。进一步研究完善后可做为一种从实践角度出发的装备软件质量评价方法,或可形成标准规程得以推广应用。