基于DO- 178B 的大型客机机载软件符合性研究
2022-02-21彭文希
彭文希 谢 莉
(四川九洲空管科技有限责任公司,四川 绵阳 621000)
RTCA/DO-178B[1]规定了机载软件研制的目标以及为了达到这些目标所需的活动与设计考虑,但未提及实现的方法与手段,本文就此问题提出了一些实际可行的工程经验,包括生命周期阶段划分以及问题处理流程规划。与独立适航取证不同,随机适航由主机厂作为申请方向局方进行表明,机载电子设备供应商向主机厂提供技术支持,同时也需要通过主机厂的验证评审。在文献[2]中描述了SOⅠ1 至SOⅠ4 审查阶段的活动,但未涉及在软件研制过程中的问题处理流程分析以及如何完成主机厂的适航验证活动,文献[3]描述了机载电子设备的CTSOA 取证过程,重点倾向于对设备的制造符合性试验及软硬件审查概述,文献[4]中主要针对软件计划过程的活动研究,未涉及整个生命周期。本文对机载软件各阶段的具体实施过程作了详述。
1 软件生命周期研制阶段划分
1.1 软件生命周期概述
民用航空机载软件研制和审定指南的规定,机载电子设备的软件可分为3 个过程,分别是软件计划过程、软件开发过程、软件支持过程,过程的划分与关系如图1 所示。
图1 软件生命周期过程关系图
各过程的定义与相互关系描述如下:
a.软件计划过程:定义并协调软件开发和支持过程的活动,此过程属于软件生命周期中的软件计划阶段。
b.软件开发过程:生产软件产品的过程,这个过程包括软件需求过程(即软件需求阶段)、软件设计过程(即软件设计阶段)、软件编码过程(即软件编码阶段)和软件/硬件集成过程(即软件集成阶段)。
c.软件支持过程:确保软件生命周期过程及其输出正确、受控和可信。它包括软件验证过程、软件构型管理过程、软件质量保证过程和合格审定联络过程。
软件生命周期模型采用V 模型开发[5],图2 展示了开发模型架构。
图2 软件V 模型开发流程图
软件生命周期可划分为软件计划阶段、软件需求阶段、软件设计阶段、软件编码阶段、软件集成阶段、软件测试阶段和软件总结阶段等7 个阶段,软件构型管理过程、软件验证过程、软件质量保证过程和软件合格审定联络过程则贯穿7个阶段。机载软件生命周期各过程之间是一个相互补充并不断重复的过程,阶段产品是一个反复迭代、持续改进过程的结果。
1.2 软件研制阶段划分
软件研制过程不同阶段须满足不同的目标,为了达到这些目标所需要的活动和设计考虑应是什么,该如何既满足目标要求又能在实际工程中较好地实现?本文以C919 客机某机载软件随机适航为例结合文献[6],解析软件整个生命周期阶段的具体活动。
1.2.1 软件计划阶段
在软件计划阶段需完成软件开发过程的策划,确定软件生命周期,包括过程之间的内部关系、它们的顺序、反馈机理和转换准则,同时选择软件生命周期环境及软件开发模型,包括用于每一个软件生命周期活动的方法和工具,定义与系统安全目标相符的软件开发标准。
1.2.2 软件需求设计阶段
在软件需求设计阶段可采用SSR 方法[7]完成需求开发,建立软件高低级需求间的追溯关系,识别软件衍生需求,对其进行安全性评估,形成软件衍生需求安全性评估报告,若软件衍生需求有潜在的安全影响,则应在更上一层需求中增加建立系统需求,相应的衍生需求与之建立追溯关系。
1.2.3 软件编码与集成阶段
开发人员根据设计的软件架构和低级别需求编写符合软件编码标准的源代码,保证其可追踪性、可验证性、合理性及正确性。生成可执行目标码并将其加载到目标机中以完成软硬件集成,在验证过程开展软件代码的评审与分析和软件集成工程检查。
1.2.4 软件测试阶段
在软件测试阶段,验证软件是否满足高低级需求、软件架构所规定的内容,完成需求、语句、数据耦合和控制耦合覆盖分析,使得需求覆盖率和结构覆盖率达到规定值,对于不满足覆盖率要求的软件部件,应对代码结构进行分析,确认是否存在软件缺陷。在此阶段中通过测试、评审检测到的不符合性的或不正确的输入要反馈至软件需求过程、软件设计过程、软件编码过程、软件集成过程和软件计划过程。
1.2.5 软件总结阶段
证明整个软件生命周期符合RTCA/DO—178B 要求,以文本的形式总结研制过程,编制软件构型索引、软件生命周期环境构型索引、软件实施概要等,分析和比较实际软件研制过程及实际产生软件生命周期相关数据与软件合格审定计划的差异,对偏离情况进行说明。
在随机适航项目中还须完成主机厂的工程评审,评审后对相关软件评审问题进行处理归零,若涉及需上报主机厂批准的修改项,应先申请再整改,处理后发生变更的文件纳入软件构型管理受控库,变更后的文件还应考虑是否重新提交主机厂,以保证问题处理过程的前后关联性以及证据的完整性,因此软件生命周期应设计逻辑合理的问题处理流程以及变更控制过程。
2 问题报告和更改控制
2.1 问题概述
在机载软件研制过程中存在客户发起的需求变更或局方适航审查发现的工程问题,当接收到这些问题时将其转换为内部问题,内部问题又分为工程问题和QA(Quality Assurance)问题,再按照相应的工程问题或QA 问题处理机制进行处理。所有问题项应作为变更的输入,从而把构型管控与问题处理关联起来。
2.2 问题报告和更改控制处理机制
在局方审查的四个阶段中,证据链完整是最重要的特质,因此问题处理与变更的关联性也是整个软件研制过程的基本。QA 问题和工程问题处理机制说明如下:
a. QA 问题处理流程:填写QA 问题报告单并发送至问题责任人,责任人依据QA 问题报告单对相关工作进行整改并填写处理过程,每一份报告单应有唯一确定的标识号,实现问题可追溯性,项目的质量保证人员对整改措施及结果进行确认审核,完成问题闭环归零,同时保存相应的QA 问题报告单作为质量保证审核依据。
b. 工程问题处理流程如下:出现工程问题时在工程问题报告单中记录问题项,并对问题进行影响分析和评估,判定是否需要更改,如需更改还应判断是否需要提交主机厂批准。问题整改完毕后,由问题整改责任人完成工程问题报告单中问题处理情况的填写。
在问题整改完毕归零后应进行受控变更,变更流程为:a.当构型项产生更改时,填写变更申请,描述变更原因和影响域分析,同时应关联对应的工程问题报告单编号;
b.更改责任人对构型项实施更改,更改完成后经功能审核、师物理审核、质量审核和软件测试验证通过后入库。
QA 问题、工程问题的问题报告和更改控制流程图如图3所示。
图3 问题报告和更改控制流程图
结束语
机载电子设备软件适航过程工作量大,审查范围广而细,问题处理与更改控制贯穿于整个研制过程,也是适航审查的关注重点。按照SOⅠ1~SOⅠ4 四个阶段进行审查,分阶段表明软件符合性,能够有效地完成随机适航工作,同时明确机载设备供应商、主机厂与局方之间的分工关系,建立清晰的问题处理流程机制,可以更好地符合DO-178B 标准要求。