APP下载

复杂航空软件工程化管理研究

2017-02-10

航空标准化与质量 2017年6期
关键词:软件测试型号研制

黄 洋

随着航空装备数字化程度的提高,软件在航空装备中的比例和规模呈大幅上升趋势,但软件的质量和可靠性却差强人意,软件故障已成为航空装备事故发生的主要原因。根据理论研究和国内外实践经验,实施软件工程可有效提升软件质量,确保软件可靠性。

从国内型号软件研制现状来看,虽然研发单位都对软件过程进行了控制,但软件工程化总体水平仍较落后,软件质量难以保证,因此,制定一个适合我国国情的软件工程化管理体系,开展必要的软件工程化工作尤为重要。

1 软件工程研究现状

软件工程(Software Engineering)是应用计算机科学理论和技术以及工程管理原则和方法,按照预算和进度,实现满足用户要求的软件产品的定义开发、发布和维护的工程或以之为研究对象的学科。从1968年“软件工程”提出至今,已总结出多种软件工程方法和模型,包括国外的CMMI(Capability Maturity Model Integration)、ISO 9000,以及国内的军用软件研制能力成熟度模型、GJB 9001等。

能力成熟度集成模型(Capability Maturity Model Integration)是美国卡内基·梅隆大学软件工程研究所(SEI)从1986年开始研究并完成的。CMMI过程模式用于提高软件研发和管理能力,包括5 级:初始级(Initial)、可重复级(Repeatable)、已定义级(Defined)、已管理级(Managed)和优化级(Optimizing)。

ISO 9000系列标准是一组保证产品质量的标准,是欧盟认可的国际标准化组织制定的标准。其中,ISO 9001指导软件企业建立质量体系,对企业的管理和控制提出具体的质量要求。

GJB 5000A-2008《军用软件研制能力成熟度模型》用于提高军用软件研发和管理能力。军用软件研制能力成熟度模型分为ML1(初始级),ML2(已管理级),ML3(已定义级), ML4(已定量管理级), ML5(优化级)5个级别。此外,GJB 9001B—2009《质量管理体系要求》也进一步强调对软件工程化管理要求的细化。

2 复杂航空软件工程化综合管理框架

由于航空型号软件研制具有软件在飞机中的实现比率大幅上升、大部分软件为嵌入式软件、高可靠性和高安全性、参与研制的单位众多的特点,为了保证复杂软件系统的研发,需要按照软件工程化的理论、技术和方法进行软件研制工作。

软件工程化管理主要对软件开发过程、软件验证过程、软件质量管理过程和使用与维护过程进行管理。软件开发过程对开发各阶段的开发活动进行管理;软件验证过程主要是对软件测试和评审进行管理;软件质量管理主要包括软件分级管理、软件需求管理、软件文档管理、软件质量保证、软件配置管理、软件失效分析和纠正措施系统过程;软件维护是软件在交付使用后,因出现故障或改善原有性能等进行的修改,应加强对该阶段管理的强度。

软件工程化管理工作包括总体规划、组织建设、体系建设、标准与规范以及工具建设,分为5个部分。总体规划包含实施原则和实施策略;组织建设包括机构组成和人员组成;体系建设包括顶层要求、实施大纲以及工作规范;标准与规范主要是选择合适的标准和规范进行剪裁和融合;工具建设是软件研制单位为了提高软件开发效率,降低软件开发成本进行的基础建设。软件工程化管理的关键包括对软件开发过程的全过程控制、对软件质量的全方位管理和建立多层次的软件开发、管理体系。

软件工程化综合管理框架如图1所示。

3 软件工程实施重点

3.1 软件测试质量评价

软件测试质量评价是通过软件测试实践,在不同测试活动中选取了一系列度量元对软件测试工作质量进行评价,并对软件测试质量的评价值做出A、B、C、D的“模糊”评价。

软件测试质量评价包括合格性评价和模糊评价两个部分。合格性评价主要是对软件测评过程和活动是否按照相关国军标要求进行评价。模糊评价是在合格性评价通过的基础上,按照合理的软件测试评价模型,度量影响软件测试质量的相关因素,基于灰色理论给出软件测试质量的评价。本文提出的软件测试评价模型,分为测试需求、测试策划、测试设计、测试执行和测试总结5个活动,每个活动有若干个度量元。单元测试、部件测试、配置项测试和系统测试将分别按照以下的评价方法进行评价后,在进行加权集成评价。

软件测试工作质量评价框架如图2所示。

软件测试工作质量评价实施步骤如下:

● 对被测软件进行测评历史评价及文档质量评价。

● 进行合格性评价。评审组按照相关标准要求的目标进行审查,确定软件测试项目合格性。

● 进行“模糊评价”。确定各测试级别、测试活动的关联系数权重;确定每个度量元最优指标及权重;收集各度量元相关数据,计算实际值与最优指标的关联系数、单项活动综合关联系数、待评价对象测试活动综合关联系数及综合关联系数。

● 进行综合评价,确定综合评判定量要求,计算综合评价值,根据综合评价值判定测评项目所处的档位并排序。

3.2 软件研制工具管理

目前,软件研制工具管理在型号管理中是一个盲区,将软件研制工具纳入统一管理可降低使用多种工具带来的多种风险、减少工具使用冲突,提高型号软件研制质量,便于工程管理和评价。

国内外对于软件研制工具管理较为系统和完整的标准是RTCA DO-330《软件工具资格鉴定考虑》,但其以目标为基础的鉴定方法并不适合我国遵循过程导向标准的现行软件研制体制。

因此,借鉴RTCA DO-330的工具鉴定思想,结合目前我国型号管理现状,制定了软件研制工具管理实施方法。软件研制工具管理实施框图如图3所示。具体实施步骤如下:

● 确定软件研制工具管理范围,包括型号软件开发工具和验证工具;

● 调研拟承担型号项目单位预计使用的开发工具和测试工具,了解目前主流工具的使用情况;

● 按照软件级别和工具类型对工具进行分级,自研的开发工具、验证工具与商用工具具有不同的级别;

● 在承研单位计划使用该工具前完成工具鉴定;

● 工具鉴定时承研单位根据工具等级提交审查资料;评审组根据审查单对工具资料进行会议审查(必要时可进行现场抽测),并给出审查结论。

4 复杂软件工程化管理实践和应用

软件工程化的实施重点是软件开发过程。软件工程化管理的实践和应用主要从软件生存期各阶段过程控制、软件全方位质量管理、软件组织过程3个方面开展。

4.1 软件生存期各阶段过程控制

在航空型号软件实施软件生存期各阶段过程控制中,按照GJB 2786A-2009《军用软件开发通用要求》的要求,将软件开发过程分为系统分析与软件定义、软件需求分析、软件设计、软件实现、软件测试、软件验收与交付和软件使用与维护7个阶段。在软件工程化实施过程中对每个阶段的进入条件、主要工作、阶段产品和完成标志进行规定。

以软件需求分析阶段为例,规定进入软件需求分析阶段的条件是软件开发任务书已完成并通过评审、软件开发项目组成立并且软件配置管理功能基线已建立。规定该阶段主要进行软件需求分析和制定软件开发计划,工作产品是软件开发计划、软件需求规格说明、软件接口说明和数据要求说明。并规定需求阶段的完成标志是所有阶段产品均完成、软件开发计划经批准后生效、软件需求规格说明通过评审并且完成分配基线的建立。

4.2 软件全方位质量管理

通过分级管理、软件评审管理、软件配置管理、软件测试管理和建立软件失效报告、分析和纠正措施系统等5个方面,对型号软件实施软件全方位质量管理。

4.2.1 建立软件分级管理

根据软件失效后的危害,将软件划分为关键、重要和一般3个等级。由于飞机上软件多,管理成本较大,对不同级别的软件在文档管理、评审管理和测试管理上进行分级管理。

对于关键软件,要求完成GJB 2786A要求的全部软件文档,并且对每个开发阶段都要进行外部评审,软件测试要求完成单元测试、部件测试、配置项/系统测试。对于重要和一般软件,可按照规定进行适当裁剪。

4.2.2 进行软件评审管理

在型号软件的评审管理中,对软件不同阶段的产品评审进行区别管理。评审方式分为正式评审和内部评审。正式评审在质量管理部门组织下进行。内部评审是在软件项目组内完成的评审,评审过程、内容和要求,以及评审组的成员和负责人均由该项目组长确定。

在型号软件研制的系统分析/软件定义阶段、软件需求分析、配置项/系统测试、软件验收阶段进行外部评审,在软件设计、软件实现和单元测试阶段进行内部评审。

4.2.3 进行软件配置管理

对型号软件进行软件配置管理,将软件开发的阶段产品纳入配置管理基线中,源程序、文档或数据任何一个变更均要通过配置管理相关程序的审查批准。

在型号级和承研单位级均建立开发库、受控库和产品库,装机软件统一从型号级配置库中进行提取。在软件配置管理过程中要建立配置管理组织机构、制定软件配置管理计划、进行软件配置管理活动、记录并报告软件配置管理状态、进行软件配置管理审核。

4.2.4 进行软件测试管理

对型号软件进行软件内部测试管理和独立测试管理。

对承研单位内部测试工作进行内部测试管理,评估承研单位内部验证能力,评审研制主管部门参加内部测试重要节点,抽查内部测试质量。

对第三方测试、鉴定测评以及定型测评进行独立管理,要求各阶段测评工作邀请同行专家进行内部评审,研制主管部门参与大纲评审、总结评审等重要节点的评审,并对定型测评的测试结果进行抽查。

4.2.5 建立软件失效报告、分析和纠正措施系统

在型号软件完成系统测试后,建立软件的失效报告、分析和纠正措施系统(SFRACAS),将软件的失效加以记录、报告,找出失效原因,并采取纠正措施。

SFRACAS的工作要完成软件问题报告、软件问题影响分析、软件纠正措施和软件失效报告、分析和纠正措施系统报告。

软件问题报告是纠正措施的过程输入,对软件问题进行分类和分级,将软件问题分为文档问题、程序问题、设计问题及其他问题4类,并根据问题严重程度分为关键、重要、一般和建议改进4个等级。

对软件问题进行影响分析主要体现在费用、进度、风险以及对合同的影响等方面。对软件问题进行影响分析后,按照问题的类型和等级进行优先次序的分类,采取有效的纠正措施,完成软件SFRACAS报告。

4.3 软件组织过程

型号软件组织过程主要进行培训、过程监督及工具建设。培训主要由总师单位和技术支撑单位负责研制体系专项培训和专项技术培训。过程监督依据型号相关要求标准及相关法规,编写监督检查实施方案,确定检查目标,对参研单位的研制情况和各项能力进行检查,以督促软件研制,及早发现问题,及早采取纠正措施。工具建设是构建软件工程环境,包括软件开发过程支撑工具、质量保证工具、项目管理工具和团队协作工作环境4类。目前型号软件研制单位都具备一定的开发基础和工具积累,新项目开始前选用工具应充分考虑本单位工具使用历史,适当选用和增加开发和管理工具,从而提高软件产品质量和开发效率。

5 结束语

本文在对软件工程方法、过程及航空型号软件工程化现状充分调研的基础上,提出了航空型号软件工程化的总体构架以及软件工程化实施重点,并对软件测试质量及软件研制工具管理进行了着重探讨;对灰色理论和软件测试工作的度量元进行了研究,提出了合格性评价结合模糊评价的测试质量评价方法;参照RTCA DO-330标准,结合国内航空型号软件研制现状,提出了软件研制工具管理方法。该方法可在航空型号软件工程中应用,以解决复杂软件研制管理的问题。

[1] 阮廉,陆民燕,韩峰岩. 装备软件质量和可靠性管理[M]. 北京:国防工业出版社,2006.

[2] 孙旭,杨顺昆,刘斌. 复杂航空软件工程化综合管理框架[J]. 现代电子技术. 2012,35(24).

[3] 杨芙清. 软件工程技术发展思索[J]. 软件学报.2005,16(1).

[4] WONGTHONGTHAM P,KASISOPHA N,CHANG E,et al.A software engineering ontology as software engineering knowledge representation[C]//Third International Conference on Convergence and Hybrid Information Technology.Busan:ICCIT,2008.

[5] DILLONTS,CHANGE,WONGTHONGTHAM P.Ontology-base software engineering:software engineering 2.0[C]//19th Australian Conference on Software Engineering.perth:IEEE,2008.

猜你喜欢

软件测试型号研制
软件测试方向人才培养“1+X”融合研究
仿生眼的研制有新突破
关于提高航天型号计划完成率的思考
航天型号批生产管理模式的思考
型号产品配套管理模式探索与实践
基于OBE的软件测试课程教学改革探索
航天型号全要素管理的初步实践
航天软件测试模型构建与应用
一种新型固定翼无人机的研制
XV-24A垂直起降验证机的研制与发展