航空嵌入式软件工程师、航电系统认证人员、适航工程师、军用/民用航空软件开发人员。
理解DO-178C标准的核心概念(软件生命周期、目标、符合性证据)。
掌握基于DO-178C的航空软件计划、开发、验证与配置管理流程。
能够独立编写DO-178C要求的软件计划文档、设计文档与测试报告。
DO-178C概述:DO-178C(机载系统合格审定中的软件考虑)的地位与作用;DO-178C的发展历程(DO-178A、DO-178B到DO-178C);与其他标准(DO-254硬件、ARP4754A系统)的关系;FAA/EASA对DO-178C的接受。
软件等级(DAL):软件等级的定义(A、B、C、D、E级);DAL(设计保证等级)的确定依据(失效条件分类:灾难性、危险、主要、次要、无影响);不同等级对开发过程的要求差异。
软件生命周期过程:DO-178C定义的三大过程(软件计划过程、软件开发过程、软件综合过程);软件生命周期模型的选择(瀑布模型、V模型、增量模型);各阶段输出的数据项。
软件计划过程:PSAC(软件合格审定计划)的编写;SDP(软件开发计划);SCMP(软件配置管理计划);SQAP(软件质量保证计划);计划的评审与批准。
软件开发过程(需求阶段):高等级需求(系统需求分配)与低等级需求(软件需求)的定义;需求的特性(清晰、准确、可验证、可追踪);需求评审与确认;需求管理工具。
软件开发过程(设计阶段):软件架构设计(层次化、模块化);设计方法(结构化设计、面向对象设计);设计评审;设计约束(安全、性能、内存)。
软件开发过程(编码阶段):编码标准(MISRA C/C++、JSF++);代码的规范性检查;代码的复杂度控制;单元测试的准备;与操作系统的集成。
验证过程:验证的目标(确保满足需求、无意外功能);验证方法(评审、分析、测试);需求的覆盖度分析;结构覆盖度分析(语句覆盖、分支覆盖、MC/DC覆盖)。
测试过程:测试级别(单元测试、集成测试、硬件/软件集成测试、系统测试);测试用例的设计(基于需求、基于边界、基于失效);测试环境的搭建(仿真、目标机);测试结果的记录与分析。
配置管理:配置项的定义;基线管理;变更控制流程;版本管理工具(SVN、Git、ClearCase);问题报告与纠正措施。
质量保证与审定联络:SQAP的执行;过程符合性检查;审计与评审;与审定机构的联络;符合性证据的整理;审定数据的提交。
综合实战项目:基于DO-178C的典型航空软件(如飞行管理计算机模块、发动机参数监视器)的开发文档编写与合规性演练,包含PSAC编写、需求定义、设计文档、测试用例与覆盖度分析。