Technical articles
GJB5000B与DO-178B标准差异分析
随着现代武器装备中计算机技术发展的日新月异,软件在其中的比重越来越大,各种军用产品中的很多重要功能不得不依靠软件设计来完成,但传统的过程管理模式已满足不了日益增长的软件研制要求。
为了更好地保证软件产品的质量,提升企业软件研制能力,我国引入了在国际软件行业中已经非常成熟的软件能力成熟度模型(CMM)思想。2021年总装备部发布GJB5000B-2021《军用软件能力成熟度模型》,以评价软件研制单位是否具有相应的软件研制能力。通过GJB5000B认证评价,已经成为军用软件开发单位的基本要求。
军用航空装备不同与其他武器装备,它既要求实现既定的战斗力,又要求实现既定战斗力过程中的安全性。针对于这个特点,对军用航空器安全的重视程度也日益提高。现有的软件开发水平难以满足软件高安全性、高可靠性的要求。我国军机研发早已引入适航概念,对军用航空器提出了适航性要求,要求军用航空器按照符合适航性要求进行研发。RTCA DO-178B标准就是民用航空软件研发的指导性标准,是衡量是否满足适航性的重要依据。
GJB5000B和DO-178B为不同的标准,因为不同的需要而用于软件开发中,它们即具有一定的相似性,也有它们各自的典型特征。该文通过对GJB 5000B和DO-178B对比分析,来研究它们之间的差异,为依据上述两个标准进行软件开发的企业提供一些参考和思路。
一、 GJB5000B标准
1.1概述
军用软件能力成熟度模型是军用软件全生存周期过程技术和管理最佳实践的集合。这些实践按照实践域进行分类,指导组织实施精细化过程管理,不断改进组织过程,提高质量和过程绩效,提升顾客满意度。
1.2成熟度等级
军用软件能力成熟度模型分为五个等级,一级为初始级,二级为规范级,三级为全面级,四级为量化级,五级为卓越级,五级最高,每一等级是实现下一个等级的基础,实现分级递进。
组织应根据承担的任务情况及软件特点,按照GJB8000的规定达到相应的成熟度等级。
成熟度等级为一级的组织,应通过GJB9001为依据的武器装备质量管理体系认证,二级或以上等级的组织,应以本标准为依据通过军用软件能力成熟度相应等级评价。
二级规范级:已建立过程改进组织机构和过程规范,逐步积累组织资产;基于估计和项目特点,制定和维护项目计划,获取、开发和管理项目的需求并实施验证与确认;通过开展配置管理、质量保证、测量分析活动,监督其执行,确保项目可控。该等级的组织具备在同类项目中复制成功经验的能力。
三级全面级:全面建立并维护组织的标准过程集和组织的过程资产库,组织资产持续完善;按照组织标准过程,使用组织资产开展全生存周期项目管理、工程及支持活动。该等级的组织具备在组织范围内复制成功经验的能力。
四级量化级:建立了符合组织业务发展需要且较高的质量和过程绩效量化目标;采用量化分析管理技术,建立并维护过程绩效基线,对关键过程实施量化管理及原因分析,并基于量化结果进行领导决策。该等级的组织具备在组织范围内实施量化管理的能力。
五级卓越级:通过定量评估业务目标并分析绩效数据,识别组织内的关键问题和共性问题,主动并预测性地优化和改进组织过程,组织通过不断创新实现优质持续发展,整体绩效能力得以提升。该等级的组织具备应对复杂态势、自我优化、持续获得成功的能力。
图1 军用软件能力成熟度的五个等级
二、 DO-178B标准
DO-178B标准是由美国的航空无线电技术委员会(RTCA)所提出的一个航空工业的软件标准,标准名为“Software Considerations in Airborne Systems and Equipment Certification”。它的第一个正式版本是RTCA于1982年发布的,到1992年,经过多个行业联合的综合性更新发布了DO-178B(欧洲认可为ED-12B)。该标准也就是当前我国在航空业界所应用的版本,它是为了支持含有数字计算机的机载系统和设备的研制工作而开发的软件开发过程中应遵循的准则,适用于民用飞机机载系统软件的开发和合格审定。
2.1软件等级
按照DO-178B标准进行的机载系统软件开发活动都是从系统安全评估开始的。系统安全评估对系统在整个飞行过程中失效的影响进行了研究,并分析了其影响。在此基础上,被开发软件分为A、B、C、D、E五个级别。不同级别的软件,DO-178B对其要求也不同,该表还给出每类软件必须满足的过程目标总数。
2.2软件生命周期
DO-178B没有规定任何特定的生命周期,但它提供了软件开发的进程,它包括大部分的生命周期和它们之间的相互作用。DO-178B介绍以下三个过程:
(1)软件计划过程:计划过程定义和协调一个项目的软件开发和综合过程的活动。
(2)软件开发过程:这个过程定义生产软件产品的过程,这些过程是软件需求过程、软件设计过程、软件编码过程和软/硬件集成过程;
(3)软件综合过程:该过程是与贯穿整个软件生命周期的软件开发过程同时执行的。它确保软件生命周期过程及其输出正确性、受控和可信。综合过程是验证和确认、配置管理、软件质量保证和审定联络。
图2 机载软件生命周期过程
三、GJB5000B与DO-178B标准差异分析
3.1关注点不同
GJB5000B和DO-178B都是用于指导软件开发的标准,但是它们的目的和范围有很大的不同。DO-178B适用于民用飞机机载系统软件的开发和合格审定,GJB5000B则是一个通用的标准,在软件范围中广泛使用,机载软件只是其中的一部分。GJB5000B用来评估软件组织开发能力,专注于业务流程测量和改进。DO-178B则关注于软件产品的完整性和安全性。
3.2等级划分不同
两个标准都在水平上进行等级的划分,既GJB5000B和DO-178B都被分为五个等级,并围绕等级进行说明的。DO-178B是基于安全性的,通过软件对潜在失效状态的影响来划分,划分的是软件等级。对不同的软件等级提出了不同的目标,并规定了不同的活动程度来满足相应的目标。GJB5000B是基于组织开发能力来划分的,划分的是组织开发能力的成熟度。对不同级别的成熟度相关联的过程域不同,通过规定不同的实践来满足对应过程域目标,以证明自己成熟度的达到。这两个标准都提出了一个基于等级增量变化,在满足了低级别的基础上,向高级别演变的。在建立体系文件时,要将两者很好的集合起来考虑。
3.3过程域不同
GJB5000B和DO-178B都对开发过程给予了一定的指导,定义了一些软件生命周期过程。DO-178B标准要求最高等级软件满足66个目标,其软件生命周期包括九个过程,GJB5000B则包括22个过程领域。
GJB5000B虽然提供了比较完整的过程域,但是它并没有规定如何做以及做到何种程度,而DO-178B在这方面具有非常重要的指导意义。DO-178B定义了每个过程的目标、活动指导、满足目标所需的证据等。例如DO-178B给出了验证过程的方法(评审、分析和测试),并提出了必须达到的验证指标(语句覆盖、MC/DC覆盖等)。在建立体系文件时,可将此引入到GJB5000B中。
3.4灵活性不同
GJB 5000B和DO-178B都没有对某个确定活动需要遵循的规程和模板进行规定。用户必须形成自己的规程和模板,这也是用来证明自己满足目标的责任。且在针对不同用户时,可对自己的模板和规程进行调整。
GJB 5000B和DO-178B的另一个重要不同点是DO-178B不像GJB 5000B那样具有可裁剪性。在实践中应严格遵守DO-178B,或用替代的方法来满足相应的目标。
结语
通过以上的讨论,不难发现它们有各自的优点,同时也存在着很大的差异。通过GJB 5000B能获得更高的效率和更成熟的软件研制能力,通过DO-178B能获得更高品质的软件产品和审查认证的方法,二者不能相互替代,但可以同时使用。且随着时代的发展、各种标准的推广,军用航空软件的开发变得越来越规范。GJB 5000B和DO-178B两个标准的集成,能让它们在软件开发中发挥各自的优势,对提高军用航空软件的开发能力和确保软件的安全性具有重要的现实意义。
参考文献
[1] GJB5000B-2021军用软件能力成熟度模型.
[2] DO-178B Software Considerations in Airborne Systems and Equipment Certification[S]. RTCA,1992.
[3] DO-178B与GJB5000A对比分析研究.
[4] GJB5000A与DO-178B的结合实施方案.
技术文章