基于GJB 2786A-2009的军用软件质量评价技术研究

2015-03-28 09:41程新宇
航空标准化与质量 2015年3期
关键词:军用度量研制

程新宇 郑 军

(中航工业综合技术研究所, 北京 100028)

随着军用电子系统集成化、复杂化发展,军用软件综合化、高实时性特点,使得军用软件质量成为军用武器装备的重要审核内容。

软件质量评价技术作为软件质量控制的核心内容一直受到国内外专家学者的关注,并取得了不少成果。目前在学术界比较著名的软件质量关系型模型有Perry模型和Gillies模型,层次型模型有McCall模型、Boehm模型和ISO/IEC9126软件质量模型。与此同时国内和多个国际组织都制定了软件质量模型和评价过程的相关标准,ISO/IEC9126 Software Engineering-product Quality定义了软件质量模型,ISO/IEC14598 Software Product Evaluation定义了软件质量评价的基本过程,GJB 5236-2004《军用软件质量度量》定义了我国军用软件质量模型,GJB 2434A-2004《军用软件产品评价》定义了我国军用软件产品评价的基本过程。虽然目前学术界已经存在较多的软件质量评价模型,但上述质量模型和评价过程的理论性太强,造成其在工程应用中不易操作、不易实施,而针对军用软件特殊的软件研制过程和产品结构,现有的软件质量评价技术无法支撑其在工程中广泛、有效的应用。

本文基于ISO/IEC9126软件质量模型,结合GJB 2786A-2009《军用软件开发通用要求》,考虑军用软件本身及研制特点,软件的类型、软件重要度等级两方面因素,提出了基于军用软件研制过程的军用软件质量评价模型,以实现对军用软件质量的全面分析和客观评价。

1 软件质量模型

软件质量模型是对软件质量进行评价的基础,由4层结构组成,包括软件综合质量、软件质量主属性、软件质量子属性、软件质量度量元。其中软件质量度量元包括度量公式以及度量元所需数据的收集方法。

ISO/IEC 9126软件质量模型是软件工程界应用最广的软件质量模型,其包含功能性、可靠性、效率、可维护性、可移植性、易用性6个质量主属性,27个质量子属性,134个质量度量元(质量模型结构图如图1所示)。其从功能性、可靠性、效率、可维护性、可移植性、易用性6个大方面对软件质量进行评价。

图1 ISO/IEC9126软件质量模型图示

2 质量模型影响因素

ISO/IEC 9126软件质量模型从6个主属性、27个子属性对软件质量进行评价,其包含的134个软件质量度量元涵盖软件生命周期全过程,其中大部分软件质量度量元的计算方法及其度量元数据的收集方法高度抽象,很难在具体软件工程中应用,尤其不适用有着特殊软件研制过程和软件特点的军用软件质量评价过程。

本文考虑GJB 2786A-2009《军用软件开发通用要求》中软件质量影响因素和软件特点,对ISO/ IEC 9126软件质量模型进行裁剪和重新定义,以使其适用于军用软件质量评价过程。

2.1 GJB 2786A-2009中质量影响因素

GJB 2786A-2009《军用软件开发通用要求》中定义了军用软件从项目策划、系统需求分析到验收、产品评价全过程,其中要求在软件研制过程中和最终的软件产品交付阶段进行软件质量评价。

基于目前军用软件开发通用要求中定义的软件研制过程及各阶段所产生的阶段性产品(文档、代码、记录等),这极大地限制了软件质量模型的范围。

如ISO/IEC9126软件质量模型中的可维护性、易用性主属性,依据ISO/IEC 9126 Software Engineering-product Quality中对该主属性的定义,需要在维护阶段和用户使用阶段对软件维护及用户使用体验中数据进行收集,并采用用户评分的方法给出两个主属性中各质量度量元的所需数据。但在军用软件研制过程中,维护阶段和用户使用阶段并不系统地产生上述质量度量元所需数据,这直接导致可维护性和易用性质量主属性在工程应用中数据不易收集、主属性无法评价。

故军用软件质量评价技术必需依据GJB 2786A-2009《军用软件开发通用要求》中定义的软件研制过程及各阶段的输入输出。通过对GJB 2786A-2009《军用软件开发通用要求》中研制过程的分析,适用于军用软件研制过程的软件质量主属性包含功能性、可靠性、效率、可移植性4个主属性;适用于军用软件质量评价技术的质量度量元所需数据只能来源于软件系统需求分析、软件需求分析、设计、编码、测试阶段数据。

2.2 军用软件特点影响因素

由于军用软件大部分为独立加载的嵌入式软件,其本身对于可移植性要求不高,故适用于军用软件特点的软件质量主属性包含功能性、可靠性、效率3个主属性。

基于对国内外资料和大量工程经验的分析与总结,确定以下两种因素会对军用软件的质量子属性及质量度量元产生影响。

● 软件类型

军用软件根据其所在系统可划分为机电管理系统软件、控制系统软件、显示控制系统软件等多种不同类型,每种类型的软件具备自身特有的特性和系统要求,故每种类型的软件都应有相应的适合于该类软件的质量属性及度量元集合,来满足其特性需要和系统需要。

● 软件重要度等级

在国内外软件工程实践中,不同软件重要度等级的软件产品,开发、验证和验收等环节具有不同的目标要求。对于重要度高的软件,需要在软件生存周期中执行更为严格的软件质量控制才能达到客户提出的目标和要求,且最终交付的软件的安全性要求应该更高,质量应该更可靠。因此,不同重要度等级的软件,其开展软件质量工作的要求和内容不同,从而对软件质量模型的属性及相应度量元产生影响。

2.2.1 软件类型影响

按照军用软件系统功能,可以将军用软件划分为不同的软件类型。由于不同的软件类型具有不同的软件特性,则不同类型软件具有不同的软件质量子属性及度量元集合。

由于不同类型的军用软件,其系统对软件可靠性、安全性要求不同,本文从军用软件类型的不同要求为基础,对软件子属性及度量元范围给出建议,如表1所示,其中度量元的范围由GJB 2786A-2009《军用软件开发通用要求》中各研制阶段的输出确定,其选取过程以及度量元的计算公式、所需数据源收集方法在本文中不进行详述。

表1 基于软件类型的软件子属性及度量元范围

2.2.2 软件重要度等级影响

软件重要度等级是军用软件重点关注的软件特性,本文参考RTCA/DO-178B Software Considerations in Airborne Systems and Equipment Certification中软件重要度等级划分,对软件子属性及度量元范围给出建议如表2所示,其中度量元的范围由GJB 2786A-2009《军用软件开发通用要求》中各研制阶段的输出决定,其选取过程以及度量元的计算公式、所需数据源收集方法在本文中不进行详述。

表2 基于软件重要度等级的软件子属性及度量元范围

3 军用软件质量模型

我们综合考虑GJB 2786A-2009《军用软件开发通用要求》中质量影响因素和军用软件特点影响因素,给出特定军用软件质量模型的构建原则及属性说明,以针对不同军用软件给出适用于本软件工程中有效、可操作、易应用的军用软件质量模型。

3.1 质量模型构建准则

通过对软件类型和软件重要度等级的分析,确定了软件类型和软件重要度等级,并可依据下列军用软件质量模型构建准则,构建针对该软件的军用软件质量模型,其具体步骤如下:

● 分析软件类型特点依据表1选取军用软件质量属性及度量元集合;

● 依据软件重要度等级依据表2选取军用软件质量属性及度量元集合;

● 取软件类型和软件重要度等级所确定质量属性及度量元集合的并集。

● 当依据软件类型所确定的质量属性及度量元中存在更高软件重要度等级所确定的质量属性及度量元时,可依据软件的重要度等级进行适当增加或裁剪,以满足实际军用型号工作的要求;

● 当依据软件重要度等级确定的质量属性及度量元不适用于某类型软件时(属性无法测量),可以进行适当裁剪,以防止出现由于软件类型的特点而无法收集某些度量元数据的问题。

以军用配电系统软件为例。军用配电系统软件的重要度等级为A级,且属于“电源/电气/照明/告警”类型软件,该软件具有接口复杂特点。

由该软件类型决定的质量属性及度量元集合如表3所示。

表3 由软件类型确定的军用配电系统软件质量属性及度量元

依据表2,由该软件重要度等级决定的质量属性及度量元集合如表4所示。

依据本节提出的质量模型构建准则,取表3和表4的并集来确定军用配电系统军用软件质量模型,如图2所示,其包含3个主属性,6个子属性,27个度量元。

表4 由软件重要度等级确定的军用配电系统软件质量属性及度量元

3.2 质量模型属性说明

军用软件质量模型中软件功能性、可靠性、效率3大属性定义如下。

3.2.1 功能性

当软件在指定条件下使用时,软件产品提供满足明确和隐含要求的功能的能力。其包含适合性、准确性、数据的可交换性、与规范的符合性4个子属性。

适合性:考察软件产品为指定的任务和目标提供一组合适功能的能力。其包含软件需求项数密度、软件设计单元项数密度、需求实现的覆盖率、需求的稳定性、需求的可追踪性5个度量元。

准确性:考察软件产品提供所需精度要求及准确结果的能力。其包括计算的精准性度量元。

数据的可交换性:考察软件产品与其它交联系统、设备的交互能力。其包含数据的可交换性度量元。

与规范的符合性:考察软件过程、产品与GJB 5000A-2008《军用软件研制能力成熟度模型》、软件需求标准、软件设计标准、软件编码标准的一致性,质量保证评价、配置管理评价的有效性。

3.2.2 可靠性

当软件在指定条件下使用时,软件产品维持规定的性能级别的能力。由于软件本身不会损耗或老化,则主要由软件需求、设计和代码中的缺陷影响软件可靠性。其包含成熟性子属性。

成熟性:考察软件产品由缺陷而导致失效的可能程度。其包含代码缺陷密度,1、2、3级代码缺陷比率、代码缺陷解决、测试需求覆盖率、语句覆盖率、分支覆盖率、MC/DC覆盖率、软件安全性需求密度、避免失效(基于失效模式)、评审问题解决、内部测试质量11个度量元。

3.2.3 效率

在规定条件下,软件产品提供适当性能的能力。其包含时间特性子属性。

时间特性:考察在规定条件下,软件产品执行其功能时,提供适当响应和处理时间的能力。其包含响应时间(从系统发出指令到得到结果为止所需的时间,该时间必须有指令激发)和处理时间(系统完成自身处理功能所需的时间,该时间无需指令激发)两个度量元。

4 总结及展望

本文结合军用软件特点,参考了ISO/IEC9126软件质量模型,考虑了GJB 2786A-2009《军用软件开发通用要求》,依据军用软件类型、软件重要度等级方面因素,提出了适用于军用软件研制过程及特点的军用软件质量模型。

军用软件质量模型综合考虑了目前我国军用软件产品的研制阶段和过程,考虑了军用软件的安全性、可靠性、性能要求,使软件质量模型在不同类型和重要度等级的软件系统中易于应用,其符合现阶段军用软件质量分析工作的要求,能够融入现有军用软件研制过程和验证过程。工程实践表明,其能够为目前军用软件质量给出客观分析评价的模型基础,为我军军用软件质量评价工作提供有效的技术支撑。

[1] ISO 9126 Software Engineering-product Quality [S]. 2004.

[2] ISO/IEC 14598 Software Product Evaluation[S]. 2004.

[3] GJB 5236-2004 军用软件质量度量[S].

[4] GJB 2432A-2009 军用软件产品评价[S].

[5] GJB 2786A-2009军用软件开发通用要求[S].

[6] 熊策. 软件质量控制技术的研究与应用[D].硕士学位论文.中南大学. 2004.

[7] William E. Perry. Quality Assurance for Information Systems: Methods. Tools and Techniques[M]. New York: Johnwiley&Sons (September 1991).

猜你喜欢
军用度量研制
鲍文慧《度量空间之一》
大话军用卡车
仿生眼的研制有新突破
威力无比的军用霰弹枪
代数群上由模糊(拟)伪度量诱导的拓扑
一种新型固定翼无人机的研制
突出知识本质 关注知识结构提升思维能力
度 量
XV-24A垂直起降验证机的研制与发展
猜谜