分享几篇有关DO-178和GJB5000对比的论文,2024年最新2024-2024历年华为跳动Golang面试真题解析

先自我介绍一下,小编浙江大学毕业,去过华为、字节跳动等大厂,目前阿里P7

深知大多数程序员,想要提升技能,往往是自己摸索成长,但自己不成体系的自学效果低效又漫长,而且极易碰到天花板技术停滞不前!

因此收集整理了一份《2024年最新Golang全套学习资料》,初衷也很简单,就是希望能够帮助到想自学提升又不知道该从何学起的朋友。
img
img
img
img
img

既有适合小白学习的零基础资料,也有适合3年以上经验的小伙伴深入学习提升的进阶课程,涵盖了95%以上Go语言开发知识点,真正体系化!

由于文件比较多,这里只是将部分目录截图出来,全套包含大厂面经、学习笔记、源码讲义、实战项目、大纲路线、讲解视频,并且后续会持续更新

如果你需要这些资料,可以添加V获取:vip1024b (备注go)
img

正文

这几篇论文分别是:

《DO-178B与GJB5000A对比分析研究》

《DO-178C与军用软件体系融合探索》

《GJB5000A与DO-178B_C的综合应用研究》

《GJB5000A与DO-178B的结合实施方案》

《对比DO-178C与GJB5000A浅析软件适航关注点》

《航空机载软件适航性审定标准DO-178C与软件管理标准GJB5000A的比较分析》

《满足GJB5000A认证和DO-178C要求的航空软件研制体系建设》

《浅析DO-178B与GJB5000A标准对航空软件研制要求的差异》


之前简单介绍过一下DO178和GJB5000,文章链接:GJB5000A与DO178B/C简介及对比


《DO-178B与GJB5000A对比分析研究》

摘要:近几年,GJB5000A大力推行,很多军工企业已经完成了一定成熟度等级的体系认证工作,并在软件项目中贯彻实施;而适航思想在军用航空器中的引入,又使得DO-178B标准的应用成为今后军用和民用航空器软件开发的发展趋势。该文将DO-178B标准和GJB5000A进行对比分析,并给出对比分析结果总结,为依据上述两个标准进行软件开发的企业提供一些参考和思路。

随着现代武器装备中计算机技术发展的日新月异,软件在其中的比重越来越大。
各种军用产品中的很多重要功能不得不依靠软件设计来完成,但传统的过程管理模式已满足不了日益增长的软件研制要求。
为了更好地保证软件产品的质量,提升企业软件研制能力,我国引入了在国际软件行业中已经非常成熟的软件能力成熟度模型(CMM)思想。2008年,总装备部依据CMM发布了GJB5000A-2008《军用软件能力成熟度模型》,以评价软件研制单位是否具有相应的软件研制能力。通过GJB5000A认证评价,已经成为军用软件开发单位的基本要求。目前,我国已有许多单位取得了二级、三级体系认证,通过贯彻GJB5000A的要求不断改进软件开发过程。
军用航空装备不同与其他武器装备,它既要求实现既定的战斗力,又要求实现既定战斗力过程中的安全性。针对于这个特点,对军用航空器安全的重视程度也日益提高。

现有的软件开发水平难以满足软件高安全性、高可靠性的要求。我国军机研发引入了适航概念,对军用航空器提出了适航性要求,要求军用航空器按照符合适航性要求进行研发。RTCADO-178B是民用航空软件研发的指导性标准,是衡量是否满足适航性的重要依据。
DO-178B和GJB5000A为不用的标准,因为不同的需要而用于软件开发中。它们即具有一定的相似性,也有它们各自的典型特征。该文通过对DO-178B和GJB5000A对比分析,来研究它们之间的差异,为依据上述两个标准进行软件开发的企业提供一些参考和思路。

1DO-178B概述
DO-178B是由美国的航空无线电技术委员会(RTCA)所提出的一个航空工业的软件标准,标准名为“Software Considerations in Airborne Systems andEquipmentCertification”。它的第一个正式版本是RTCA于1982年发布的,到1992年,经过多个行业联合的综合性更新发布了DO-178B(欧洲认可为ED-12B)。该标准也就是当前我国在航空业界所应用的版本,它是为了支持含有数字计算机的机载系统和设备的研制工作而开发的软件开发过程中应遵循的准则,适用于民用飞机机载系统软件的开发和合格审定。
1.1软件等级
按照DO-178B标准进行的机载系统软件开发活动都是从系统安全评估开始的。系统安全评估对系统在整个飞行过程中失效的影响进行了研究,并分析了其影响。在此基础上,被开发软件分为A、B、C、D、E五个级别。表1给出软件的五个级别的定义和其对应的失效状态。不同级别的软件,DO-178B对其要求也不同,该表还给出每类软件必须满足的过程目标总数。

1.2软件生命周期
DO-178B没有规定任何特定的生命周期,但它提供了软件开发的进程,它包括大部分的生命周期和它们之间的相互作用。DO-178B介绍以下三个过程:
(1)软件计划过程:计划过程定义和协调一个项目的软件开发和综合过程的活动。
(2)软件开发过程:这个过程定义生产软件产品的过程,这些过程是软件需求过程、软件设计过程、软件编码过程和软/硬件集成过程:
(3)支持过程:该过程是与贯穿整个软件生命周期的软件开发过程同时执行的。它确保软件生命周期过程及其输出正确性、受控和可信。综合过程是验证和确认、配置管理、软件质量保证和审定联络。
根据DO-178B的描述仍然可以总结出它所建议使用的生命周期过程,如图1所示。DO-178B中还定义了每个过程的输入、目标、活动、输出、转换准则和满足这些目标的一些考虑。对于不同等级的软件,DO-178B要求的过程目标、输入/输出、活动也不同。DO-178B附表A中以表格的形式,总结了不同软件等级在软件过程中的目标和输出。例如D级软件在验证过程中只需要对高级需求进行验证,而A级软件则需要对各级需求进行验证并达到相应的覆盖率。每一级软件目标都是在其低一等级软件目标的基础上递增的,图2给出了每个软件级别的目标。

在这里插入图片描述

[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-GqYAZKd4-1665241842085)(C:\Users\10521\AppData\Roaming\Typora\typora-user-images\image-20221008220828833.png)]

2GJB5000A概述
2003年,总装备部发布了GJB5000-2003《军用软件能力成熟度模型》,2008年发布了以CMMIDEV1.2版为基础制定的GJB5000A-2008版。能力成熟度模型为软件开发的组织提供了如何获得软件开发和维护流程控制的指南。
2.1成熟度等级
GJB5000A建议软件开发过程的成熟度分为五个等级。一个组织的成熟度等级标志着组织软件开发过程的有效性。下面简要描述这五个层次:
第1级:初始等级:在这个等级上,该组织没有任何定义的过程且开发活动是随意、无序的。成功和可重复性依赖于个人/团队,但有没有来自组织的结构性帮助。
第2级:已管理级:在已管理级,按照组织的方针建立了有效地项目管理体系,并确保项目已按照方针进行策划并得到执行。新的项目能重复以往项目的成功实践。

第3级:已定义级:已定义级是建立在项目管理的基础上,组织的标准过程集已建立,并随着时间推移而不断改进。
第4级:已定量管理级:在这个等级上,组织和项目为质量和过程绩效建立了定量目标,并将其用作管理过程的准则。
第5级:优化级:在这个等级上,整个组织是专注于持续的过程改进。根据对过程中固有变异的共因的定量的理解,进行过程优化从而避免过程中问题的再次发生。
以上每个成熟度等级都是下一个成熟度等级的必要基础,因此过程的成熟度级别是不能跨域的,而是随着组织达到一个等级的过程域的所有专用目标和共用目标才能向下一个成熟度等级增进。

2.2过程域

过程域是为了实现每一成熟度等级的目标,组织需要集中力量改进的软件过程。
从表2可以看出每一个成熟度等级都与若干过程域相关。每一级的过程域也描述出了软件开发过程所需的活动。

[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-zemsFjV7-1665241842085)(C:\Users\10521\AppData\Roaming\Typora\typora-user-images\image-20221008220905534.png)]

[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-X5AzHHkV-1665241842085)(C:\Users\10521\AppData\Roaming\Typora\typora-user-images\image-20221008220922757.png)]

[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-VHL2M71L-1665241842086)(C:\Users\10521\AppData\Roaming\Typora\typora-user-images\image-20221008220945685.png)]

3比较与分析

通过以上对两个标准的介绍,对两个标准之间的差异性和相似性做一下对比分析。

3.1关注点的异同
DO-178B和GJB5000A都是用于指导软件开发的标准,但是它们的目的和范围有很大的不同。DO-178B适用于民用飞机机载系统软件的开发和合格审定。GJB5000A则是一个通用的标准,在软件范围中广泛使用,机载软件只是其中的一部分。GJB5000A用来评估软件组织开发能力专注于业务流程测量和改进。DO-178B则关注于软件产品的完整性和安全性。
3.2等级划分的异后
两个标准都在水平上进行等级的划分,既DO-178B和GJB5000A都被分为五个等级,并围绕等级进行说明的。DO-178B是基于安全性的,通过软件对潜在失效状态的影响来划分,划分的是软件等级。对不同的软件等级提出了不同的目标,并规定了不同的活动程度来满足相应的目标。GJB5000A是基于组织开发能力来划分的,划分的是组织开发能力的成熟度。对不同级别的成熟度相关联的过程域不同,通过规定不同的实践来满足对应过程域目标,以证明自己成熟度的达到。这两个标准都提出了一个基于等级增量变化,在满足了低级别的基础上,向高级别演变的。在建立体系文件时,要将两者很好的集合起来考虑。
3.3过程域的异同

D0-178B和GJB5000A都对开发过程给予了一定的指导,定义了一些软件生命周期过程。DO-178B标准,要求最高等级软件满足66的目标,其软件生命周期包括九个过程。GJB5000A包括22个过程领域。
现将DO-178B软件生命周期过程和GJB5000A的过程域进行映射,见表3。
经过表3的对比分析,可以看出DO178B和GJB5000A过程并不能完全映射,且类似过程的关注点也不同。GJB5000A虽然提供了比较完整的过程域,但是它并没有规定如何做以及做到何种程度,而DO-178B在这方面具有非常重要的指导意义。
DO-178B定义了每个过程的目标、活动指导、满足目标所需的证据等。例如DO-178B给出了验证过程的方法(评审、分析和测试),并提出了必须达到的验证指标(语句覆盖、MC/DC覆盖等)。在建立体系文件时,可将此引入到GJB5000A中。

3.4灵活性的异同
DO-178B和GJB5000A都没有对某个确定活动需要遵循的规程和模板进行规定。用户必须形成自己的规程和模板,这也是用来证明自己满足目标的责任。且在针对不同用户时,可对自己的模板和规程进行调整。
DO-178B和GJB5000A的另一个重要不同点是DO-178B不像GJB5000A那样具有可裁剪性。在实践中应严格遵守DO-178B,或用替代的方法来满足相应的目标。

4结语
通过以上的讨论,不难发现它们有各自的优点,同时也存在着很大的差异。通过DO-178B能获得更高品质的软件产品和审查认证的方法;通过GJB5000A能获得更高的效率和更成熟的软件研制能力,二者不能相互替代,但可以同时使用。且随着时代的发展、各种标准的推广,军用航空软件的开发变得越来越规范。DO-178B和GJB5000A两个标准的集成,能让它们在软件开发中发挥各自的优势,对提高军用航空软件的开发能力和确保软件的安全性具有重要的现实意义。



《DO-178C与军用软件体系融合探索》

摘要:

本文通过对比D0-178C与基于GJB5000A建立的军用软件体系,分析两者的共性和差异,探索将D0-178C融入军用软件体系的方法和途径。对比结果表明,D0-178C与军用软件体系相辅相成,在GJB5000A软件体系基础上进行适航软件开发更为方便有效,D0-178C中软件分级管理、软件测试等要求可以补充完善军用软件体系,促进软件过程改进。两者的融合可以使机载软件承制单位软件研发过程既能满足军用软件要求又能满足适航需要。

引言

近10年来,对GJB5000A《军用软件研制能力成熟度模型》持续推进,很多军工单位已经完成军用软件研制能力成熟度二级评价,部分单位持续改进、完成三级或四级评价。基于GJB5000A建立的软件体系在军用软件项目中得到贯彻和实施。而民用航空领域,D0-I78 C Software Considerations in Airborne Systems and Equipment Certification是各国民航局机载软件适航审查公认标准。当前,随着民用航空市场的开放和军机适航要求的提出,按D0-178C适航要求进行机载软件开发成为军用软件承制单位的新任务,如何同时实施D0-178C和GJB5000A成为亟需解决的问题。本文对比D0-178C与基于GB5000A二级所建的软件体系,分析它们之间的差异,研究两者融合的可能性和方法,为航空机载软件开发单位提供参考和思路。

1GJB5000A概述
GJB5000A–2008《军用软件研制能力成熟度模型》参照CMMI1.2(CapabilityMahurityModel Integration)制定。CMM/CMMI是美国国防部委托卡内基梅隆大学软件研究所(SEI)开发,用于改善软件研制过程和提升软件产品质量的标准。自1991年,SEI先后发布了CMM(SW-CMM)1.0、CMMI12及CMMI1.3,2016年发布了CMMI2.0.原总装备部为了提升军用软件研制质量,2005年参照CMM1.0制定
GJB5000A规定了软件研制和维护活动中主要软件管理过程和工程过程实践!1,为软件研制过程提供了一系列规范动作和过程改进方法,从制度和管理上保证军用软件开发过程质量。

2DO-178C概述
1982年,由美国航空无线电技术委员会(RTCA)与欧洲民航设备组织(EUROCAE)发布在民用航空机载软件安全保证方面具有里程碑意义的D0-178.之后发布了D0-178A、D0-178B【31,较之于DO-178A面向软件开发技术和开发方法的特点,1992年发布的DO-178B则贯彻“面向目标”和“面向过程”的原则,尽量少地涉及具体软件技术和开发方法,因此DO-178B成为一个较为稳定的版本。直到2011年RTCA发布了DO-178C,该版本完全继承了DO-178B,但纠正了DO-178B中的错误,澄清了嗨涩和描述不清的章节,采用了更加严谨的措辞,编制了一系列补充文档应对新的软件技术和方法,并强调文档的完整性。

3异同分析
3.1标准差异对比D0-178C与GJB5000A两份标准推出的目的是一致的:通过规范流程、约束开发过程保障软件产品质量,但也存在如下差别。
(1)应用对象不同GJB5000A是军用软件研制单位过程评估和改进的依据,主要是为了评判一一个组织或企业软件研制能力,以组织为审查对象,明确组织的目标、实践,通过提升整个组织的软件研制能力来确保该组织研制的软件产品质量。而D0-178C作为民航局软件适航审查依据,评判的是机载软件产品是否合格【4,并且民用航空器上的所有机载软件均须通过适航审定才能使用。
(2)着重点不同GJB5000A着重于通过规定的模型框架建立制度化和规范化的软件体系以提高组织的软件研制能力。
没有强制特定做法,具有较强的灵活性。而D0-178C着重从系统安全的角度,描述航空机载软件研制过程应实现的目标、遵循的原则和具体的要求,具有较强的实践性、操作性,也体现了高安全领域对产品近似“刻板”的要求,无额外“发挥”空间〔4。

(3)覆盖范围不同
DO-178C聚焦于工程及其直接相关的管理活动,而GJB5000A将软件工程、系统工程、采购三个学科集成到一个框架下,涵盖了工程活动以及项目管理、过程管理等支持活动。从表1对比可见,软件需求管理、软件质量保证、配置管理和软件计划过程等是两者均要求的,适航联络过程是DO-178C特有的,对于有适航要求的项目可在组织软件体系中增加适航联络过程。

[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-NoKiJhHf-1665241842086)(C:\Users\10521\AppData\Roaming\Typora\typora-user-images\image-20221008221652690.png)]

(4)分级管理差异

GJB5000A核心思想是把软件开发视为一个过程,通过如图1所示的5个成熟度等级,衡量软件开发管理能力。初始级没有对应的过程域,已管理级(二级)对应7个过程域,已定义级(三级)在二级的基础上增加11个过程域,达到优化级(五级)时则要求执行全部的22个过程域。

[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-lIezCN7a-1665241842087)(C:\Users\10521\AppData\Roaming\Typora\typora-user-images\image-20221008221723980.png)]

D0-178C根据软件失效对飞机安全性的影响程度,将软件等级划分为A、B、C、D和E5个等级,A级最高,E级最低。A级软件要应用D0-178C的全部目标,E级软件没有安全性影响,不要求任何D0-178C目标4.随着软件级别的上升,D0-178C对应的目标随之增加,需要执行的验证活动增多,其中要求独立性的验证活动也随之增加。此外,D0-178C配置管理为实现严格管理与管理成本的均衡,采用CC1和CC2两类管理,对不同级别软件文档,采取不同的控制类。GJB5000A没有涉及这样具体的要求,因此,D0-178C软件分级管理思想可以融合到军用软件体系中。

[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-AwRd0qBX-1665241842087)(C:\Users\10521\AppData\Roaming\Typora\typora-user-images\image-20221008221804023.png)]

3.2车软件生命周期过程对比分析
GJB5000A与DO-178C均要求覆盖整个软件生命周期。依据GJB5000A二级对7个过程域的要求,建立的典型漾布模型软件生命周期过程如图2所示,软件生命周期的各个过程均有对应国军标指导,如GJB2786《军用软件开发通用要求》指导软件开发过程:GIB5235《军用软件配置管理》指导配置管理过程。基于GJB5000A二级建立体系过程主要是将各个过程域的目标和实践制度化,形成体系文件,指导软件项目的开发和管理。
DO-178C定义的机载软件生命周期过程,如图3所示,主要包括软件计划过程、软件开发过程和软件综合过程。
软件的开发过程包括软件需求过程、设计过程、编码过程和集成过程,软件综合过程则包括软件验证过程、软件配置过程、软件质量保证过程和审定联络过程。
表3将基于GJB5000A二级建立的软件体系中典型软件生命周期模型与DO-178C要求的软件生命周期模型进行对比,不难发现,绝大部分工作是重合的,差别较大的主要集中在软件测试过程。
基于GJB5000A二级建立的软件体系,软件测试工作一般依据GJB/Z141《军用软件测试指南》,大而DO-178C强调软件验证不是简单的测试,而是评审、分析和测试相互结合。DO-178C对软件测试要求具体详细,如D0-178C对不同级别软件提出语句覆盖、判定覆盖、MCDC覆盖要求,同时明确软件测试层级【s】:基于需求的低层测试、基于需求的集成测试、基于需求的软/硬件测试,并特别注明“如果基于需求的软/硬件测试能够满足基于需求的覆盖和结构覆盖要求,则不必进行低层测试”。对于承担机载软件研制单位,D0-178C中详细的软件测试要求可以指导单位软件测试标准的制定,通过制度化融入到软件体系中。

[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-XHdMZqff-1665241842087)(C:\Users\10521\AppData\Roaming\Typora\typora-user-images\image-20221008222003326.png)]

[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-gY34FvQH-1665241842087)(C:\Users\10521\AppData\Roaming\Typora\typora-user-images\image-20221008222019416.png)]

[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-57jxAqzY-1665241842088)(C:\Users\10521\AppData\Roaming\Typora\typora-user-images\image-20221008222030737.png)]

[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-xyFcwz5H-1665241842088)(C:\Users\10521\AppData\Roaming\Typora\typora-user-images\image-20221008222047649.png)]

3.3软件生命周期数据对比分析

军用软件生命周期中产生的数据主要依据GJB438B《军用软件开发文档通用要求》,但可以根据项目对文档灵活剪裁。D0-178C则严格规定适航审查时所需要的软件生命周期数据。由表4可见,军用软件体系所要求的大部分生命周期数据包含D0-178C所要求的生命周期数据,此外,D0-178C对软件需求标准、软件设计标准和软件编码标准的要求可以加入到现有的软件体系中,促进组织的软件过程改进。

[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-RdY3y4F4-1665241842088)(C:\Users\10521\AppData\Roaming\Typora\typora-user-images\image-20221008222229487.png)]



《GJB5000A与DO-178B_C的综合应用研究》

摘要:

针对软件研制单位目前存在的型号软件研制必须同时满足GJB5000A与适航软件研制标准的要求,通过对GJB5000A与DO-178B/C的对比分析,提出一种将GJB5000A与DO-178B/C相互融合的方法,并对方法实际工程实践时应注意的问题进行了说明。

引言

近些年来,我国军机研制正处于由三代向新一代快速过渡发展阶段,武器装备处于更新换代的关键时期,嵌入式软件的应用需求日趋增多,软件的规模、应用范围、功能和性能都呈指数级增长,软件逐步成为武器装备的灵魂与核心。“军工产品,质量第一”始终是武器装备研制的指导思想,大量事例说明,软件已逐步成为制约装备质量与可靠性的瓶颈。
为保证软件质量,各级机关和型号均展开了深入探索。如在某些型号软件研制过程中,通过采用“借鉴思想、引入方法而”的指导思想,将适航软件标准D0-
178C《机载系统和设备合格审定中的软件考虑》引入型号研制,取得突出成果。近几年,GJB5000A《军用软件研制能力成熟度模型》也在武器装备研制一线全面推广,通过GJB5000A标准认证逐步成为承担武器装备软件研制必备的入口条件。推进军机软件适航及GJB5000A成为解决机载软件研制面临问题的主流思想。

对机载软件研制单位而言,一方面为承担软件研制任务而全面提升软件研制能力,必须推行GJB5000A;另一方面,所产生的软件必须通过军用适航符合性审查,因此软件研制必须同时满足两个标准的要求。为降低管理成本,建立一套同时符合两个标准的研制体系是一条必由之路。在工程实践中,研制单位始终面临以下问题:第一,GJB5000A究竞能否成为DO-178B/C的替代方法;第二,如何在GJB5000A的基础上推进适航;第三,如何解决DO-178C中提出的新一代软件研制技术的应用。

1 GJB5000A与D0-178B/C对比分析

GJB5000A源自SEI于2006年8月发布的能力成熟度模型集成(CMMI)1.2版,采用分级表示法,按预先确定的过程域集来定义组织的改进路径并用成熟度等级进行表示,将组织的软件研制能力成熟度分为5个等级,包含22个过程域,如图1所示。

[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-qhsMXOEf-1665241842088)(C:\Users\10521\AppData\Roaming\Typora\typora-user-images\image-20221008222657769.png)]

DO-178C标准面向机载软件的适航问题,在DO-178B的基础上,针对22年以来机载软件研制的技术和管理变化,增加了模型开发、工具鉴定、面向对象方法等技术,其核心思想是开发保证等级(DAL),通过对软件开发需达到目标的考核,证明系统对软件的功能分配与软件需求、软件实现高度一致,保证不可接受的失效已被消除,即“软件能够可靠地完成设计者所期望的工作”。根据软件失效对飞机安全性的影响程度,将软件划分为A~E五个等级,A级最高(导致灾难性事故,如发动机控制器软件),E级最低(对安全没有影响,如乘客娱乐系统软件)。对A级软件提出了应实现71个目标。

[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-0epSYrJ4-1665241842088)(C:\Users\10521\AppData\Roaming\Typora\typora-user-images\image-20221008222801942.png)]

美国联邦航空管理局(FAA)进行过D0-178B/C与CMMI的对比分析,产生的结果如下:
1)D0-178B/C更关注软件策划过程,包括工程策划和管理策划;
2)D0-178B/C更关注软件标准,包括软件需求标准、设计标准及编码标准;
3)D0-178B/C更关注过程需达到的日标2,而CMMI关注过程的改进;
4)D0-178B/C更关注软件在目标机的集成情况,软/硬件集成测试是D0-178B/C强制要求;
5)D0-178B/C为保证设备安全性而采用了分区保护机制、多版本非相似软件等措施,而CMMI对安全关键软件与非安全关键软件的研制无明确区分;
6)CMMI在测试过程域中不强调正常范围与鲁棒性测试用例,而DO-178B/C中正常范围与鲁棒性测试用例是测试用例编制的依据;
7)语句覆盖、判定覆盖、MC/DC覆盖是DO-178/C对不同级别软件提出的覆盖率要求,而CMMI对此无要求:
8)CMMI无软件合格审定的概念,也无相关审定文档要求;
9)DO-178/C配置管理为实现严格管理与管理成本的均衡,而采用CC1和CC2类管理,及对不同的文档及不同的软件级别,可灵活采用配置管理方法,而CMMI无此考虑;

10)CMMI无显式转段准则要求。
通过对比,FAA认为,D0-178/C面向的是特定产品上驻留的安全关键软件,按照软件关键程度划分软件应达到的目标;而CMMI面向通用的工程方法、项目管理及过程改进,通过过程域划分及对各过程域工程实践的考察,表明软件研制单位具有的能力水平。因此CMMI不能成为D0-178/C的替代实践,但存在一定共性,可进行相互融合。

2在适航项目中推进GJB5000A的方法

在美国某些FAA委任工程代表(DER)认为,实施D0-178/C标准的基础是CMMI2级或3级。因此,首先必须明确推进适航软件研制的基础是GJB5000A2级及2级以上单位。
通过对标准的研究及大量工程实践的总结,建立一套同时满足军用适航及GJB5000A要求的体系文件的方法需要经过5个步骤,过程模型如图3。

[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-yFctskWO-1665241842089)(C:\Users\10521\AppData\Roaming\Typora\typora-user-images\image-20221008222953366.png)]

5个步骤实施的关键包括:
1)对现有过程的评估。如果软件研制单位存在已定义的软件过程,首先需要对现有过程进行检查,标识其与D0-178B/C标准的差距,需考虑:
a)对指定的软件开发保证等级,现有过程产生结果与D0-178B/C目标要求是否存在差距; b)现有过程在不同项目或产品线之间是否一致; c)项目过程是否经过GJB5000A内部评估; d)项目过程是否经过GJB5000A现场评估; e)项目能力成熟度要求是否满足客户要求。
如果以上任何问题未满足,那么需要对过程进行修订,在修订时,需同时考虑D0-178/C和GJB5000A的要求。
2)建立GJB5000A和D0-178/C的映射关系。从D0-178/C开始,将每一个目标映射至GJB5000A的过程及输出,由此,可得到已满足D0-178C目标的过程及产品及存在的偏离。此映射分析的执行由公司选定的专家队伍执行,或聘请外部专家执行,专家队伍应至少包含GJB5000A及D0-178/C领域的专家。
3)寻求合格审定机构的介入。如果试图引入GB5000A,那么在过程建立初期就最好寻求软件合格审定机构的介入并认可,以确保建立的过程满足适航规章的要求。近些年来,随着航空电子系统的发展,软件开发方法不断推陈出新,软件研制单位经常是直到合格审定执行前,才与合格审定机构协商软件开发方法,因而软件合格审定容易遭到否决。软件研制过程引入GJB5000A是研制单位与合格审定方协商的结果剧,过程提供的证据如果不足以支撑过程需达到的目标,那么过程便无效,尽早协商,可降低过程的风险。
4)寻求产品线之间的一致性。许多软件研制单位在某些特定工程领域软件研制能力极强,如自动驾驶仪、飞控等,而在其他产品线,如综显就能力较差,管理混乱。适航项目最好保证不同产品线之间过程的一致性,当使用新技术、新过程时,应召集各生产线人员协商解决,这样可以保证人员在不同生产线之间的流动性,并极大降低合格审定的成本。
5)寻求适航专业力量的帮助。GJB5000A过程的建立,需要与专业的适航软件人员沟通,保证建立过程的实效。
6)维护及改进过程。GJB5000A过程一旦建立,维护和持续改进是十分重要④,要求软件开发方按照GJB50O0A的IDEAL模型持续过程改进。否则,一旦发生人员流动或研发技术变更,过程就难以维系。

[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-4nHzP6rO-1665241842089)(C:\Users\10521\AppData\Roaming\Typora\typora-user-images\image-20221008223135232.png)]

3新一代软件研制技术的应用
2012年DO-178C发布时,同时以附件形式发布了以模型开发、形式化验证、面向对象、工具鉴定等为代表的新一代软件研制技术。推进GJB5000A与适航软件研制的融合,必须解决如何在型号软件研制中运用这些技术。以模型开发为例,模型开发的主要特征是:第一,通过图形化需求,消除需求二意性,解决需求传递的脆弱性问题;第二,通过早期仿真解决需求问题,缩短开发周期,减少软件的缺陷和错误;第三,通过自动代码生成,解决编码问题,提高开发效率。将模型开发同型号软件研制相结合的方法如图4所示。

4结束语
随着型号质量要求的不断提高,GJB9001B、GJB5000A、适航标准、型号规范等的实施,军用型号研制的工程化水平与管理水平得到了极大的提升。但同时,由于型号研制工程化体系不统一,也确实造成研制单位必须同时需要满足众多型号不同的工程化要求而疲于奔命的情况。GJB5000A发展的主题是本地化、实效化,促进体系融合,建立一套符合单位实情、满足军方要求的统一的工程化体系,以统一的流程和产品满足众多型号的质量要求,可有效地解放生产力,提高研发效率。
本文提出的将GJB500A与DO-178B/C标准相互融合的方法在型号研制一线进行了应用,取得了一些初步成效,目前仍在持续改进,具有一定的推广价值。



《GJB5000A与DO-178B的结合实施方案》

摘要:在机载软件研制过程中将GJB5000A与D0-178B进行结合实施对提高软件安全性和可靠性有着重要意义。首先对CJB5000A和D0-178B进行了介绍,然后将D0-178B中的所有目标逐条与GJB5000A进行对比,并给出了对比结果。结果表明D0-178B中没有与GJB5000A相冲突的目标,因此二者完全可以在软件研制过程中进行结合实施。最后,基于对标准特,点的分析,给出了GJB5000A与D0-178B结合实施的方案。

0引言
GJB5000A《军用软件研制能力成熟度模型》是由中国人民解放军总装备部批准发布的标准。该标准定义了军用软件研制能力成熟度的模型,并规定了软件研制和维护活动中的主要软件管理过程和工程过程的实践。很多军工企业都在着手建立和实施CJB5000A过程体系,因为这不仅能提高企业自身的软件研制能力,满足自身发展需要,而且是企业获取某些军用软件研制合同的必备资质条件。为此,国内已有许多相关单位的研究人员对CJB5000A标准的内容和实施方法进行了研究3-71
DO-178B《机载系统和设备合格审定中的软件考虑》是由美国航空无线电技术委员会(RadioTechnicalCommissionfor Aeronautics,RTCA)于1992年正式发布的标准,是一套民用航空机载软件研制和审定的指南*-10.随着我国航空工业DO-178B主要用于民用航空机载软件的适航认证,但是为了提高军用飞机机载软件的安全性,在军用飞机机载软件的研国家的军用项目也逐渐开始走DO-178B路线。与民机不同的是,军机不需要做严格意义上的适航认证,一般是根据DO178B标准做一个符合性审查。

的符合性审查。此时,企业将面临需要将GJB5000A与D0-
178B结合起来实施的问题。Kong等16】将GJB5000A和D0-
178B进行了对比,并通过举例说明了二者在软件过程控制中的综合方式。但是,Kog等仅从过程(域)的层面对两个标准进行了对比,没有给出一个具体的结合实施方案。本文将从更具体、更本质的目标层面对CJB5000A和D0-178B进行对比分析,并在此基础上给出两个标准的结合实施方案。

1CJB5000A标准
GJB5000A将组织的软件研制能力成熟度由低到高分为五个等级,分别是初始级、已管理级、已定义级、已定量管理级和优化级!。除初始级之外,每个成熟度等级都包括若千个过程域(ProcessArea)。其中:
1)已管理级包括:配置管理、测量与分析、项目监控、项目策划、过程和产品质量保证、需求管理、供方协议管理;
2)已定义级包括:决策分析和决定、集成项目管理、组织过程定义、组织过程焦点、组织培训、产品集成、需求开发、风险管理、技术解决方案、确认、验证;
3)已定量管理级包括:组织过程绩效、定量项目管理;
4)优化级包括:原因分析和决定、组织创新和部署。
GJB5000A对初始级组织的软件研制过程无任何要求。组织要达到除初始级之外的某个成熟度等级,除了需要实施该成熟度等级包含的过程域之外,还需实施比该成熟度等级低的所有等级所包含的过程域。每个过程域包含若干专用目标和公用日标,当一个过程域包含的所有目标均被实现时,则认为该过程域已被实现。为了对目标的实现进行指导,GJB5000A还为每个专用目标制定了若干专用实践,为每个公用目标制定了若干公用实践。为了达到某个目标,组织必须执行该目标包含的实践或者可接受的替代实践
CJB5000A中只有专用目标和公用目标是必需的部件。在评估中,满足目标是确定过程域是否已实现且已满足的基础。对于软件企业而言,可以参考GJB5000A标准中给出的专用实践和公用实践,并结合企业自身的实际情况,制定出满足GJB5000A中各过程域目标的软件过程体系。

2DO-178B标准
DO-178B标准将软件研制活动划分为软件计划过程、软件开发过程(包括软件需求过程、软件设计过程、软件编码过程和集成过程)和软件综合过程(包括软件验证过程、软件配置管理过程、软件质量保证过程和审定联络过程)。为了保证标准的相对稳定性,DO-178B标准采用面向自标的策略。针对每个过程,DO-178B都给出了实施该过程时应该达到的目标。标准中尽可能不涉及特定的技术或手段,这是因为目标可以是相对稳定的,而具体的技术或手段则可能随着软件技术的发展而变得不再适用。
一个项目的软件研制过程是否满足DO-178B中的目标,需要通过软件研制过程中的各种输出来进行证明,这些输出称为软件生存周期数据。按照配置管理控制要求,可将软件生存周期数据分为以下两类:控制类1(ControlCategory1,周期数据进行配置管理时,属于CC1的软件生存周期数据必须满足DO-178B中的软件配置管理过程的所有目标,而属于CC2的软件生存周期数据则只需要满足部分目标。
DO-178B标准将航空器的失效状态分为灾难性的、严重的、较重的、较轻的和无影响的五类。按照可能引起航空器的失效状态,DO-178B将机载软件划分为A、B、C、D、E五个等级,分别对应上述五类失效状态。DO-178B标准中共规定了66个目标,在研制过程中,机载软件根据其软件等级来确定需要满足的目标、目标的独立性要求以及相关数据的控制类别,详细说明可参见DO-178B的附件A中的表A-1到A-1091.

3GJB5000A与D0-178B对比分析
3.1对比说明对于适航认证而言,只要软件研制过程的输出(即软件生存周期数据)能够证明D0-178B中的相关目标己被满足,则认为该软件产品能够满足适航认证的要求。至于满足目标所用的具体方法或技术,D0-178B则不作要求。鉴于此,本文将把D0-178B中的66个目标逐条与GJB5000A的相关内容进行对比。对比结果采用表格的形式描述,对于D0-178B中的每个目标,在表格中给出GJB5000A中与之对应的过程域、专用/共用目标、专用/共用实践和典型工作产品,如果GJB5000A中不存在与之直接对应的相关内容,则注明“不直接对应”。
3.2对比结果限于篇幅,这里只给出部分对比结果,见表1~表3。

[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-DjoYevd0-1665241842089)(C:\Users\10521\AppData\Roaming\Typora\typora-user-images\image-20221008223839623.png)]

3.3对比结果分析
通过对比结果(含未给出的部分)可以看出:
1)DO-178B中,除了审定联络过程,其余过程的大部分目标都能在CJB5000A中找出与之对应的过程域(包括专用共用自标、专用/共用实践)。
2)DO-178B中审定联络过程的三项目标完全是为了满足软件合格审定机构的审查要求而提出的,因此CJB5000A中没有与之对应的目标和实践,需要新增相关内容。
3)DO-178B中没有与GJB5000A相冲突的目标,这给二者的结合实施带来可能。

4GIB5000A与DO-178B结合实施方案
基于对标准的分析可以看出,DO-178B以系统安全性评估为依据,着重从适航的角度,描述航空机载软件研制过程应该遵循的原则、方法和具体要求,这些要求在某些方面如验证过程表现得更严格、细致。而GJB5000A着眼于通过规范软件开发过程来提高组织的软件研制能力,针对的是所有军用软件研制过程,具有很强的灵活性和适应性。GJB5000A是一个框架和行动指南,能容纳很多特定领域标准的具体要求,包括DO-178B。对于已经按照GJB5000A建立组织软件过程改进体系的单位,如要兼容DO-178B,只需将DO-178B中一些特定、细致的要求补充进本组织软件过程改进体系,而不需要另起炉灶。
在这里插入图片描述
在这里插入图片描述

一般而言,组织的GJB5000A软件过程改进体系通常包括三个层次的文件:第一层为过程方针或总则,阐述过程改进方针,是进行软件过程改进的基本法规。第二层为过程文件,是对某一过程涉及的所有活动以及活动之间的依赖关系和次序的综合描述。第三层为指导性文件、模板及检查表:指导性文件是对某一具体作业任务的操作要求和步骤进行详细描述的文件,如规程、指南与方法等;模板是开展各活动时需使用的文档或表格的格式;检查表用于检查过程及工作产品的符合性,如过程检查表、工作产品检查表及评审要素检查表等。
假定企业已经按照GJB5000A建立了软件过程改进体系,为兼容D0-178B,重点需要对组织软件过程改进体系中第三层文件进行修改和补充,主要包括以下方面:
1)在关于项目策划方面的过程文件中增加如下要求:需对软件和系统进行安全性评估,并确定软件安全性等级。相应地在指导性文件中增加一份指南文件专门阐述如何对软件进行安全性评估,以及如何确定软件的安全性等级,同时制定相应的模板文件。

2)在关于项目策划方面的过程文件中增加如下要求:与软件开发计划同步制定软件合格审定计划;在项目开发开始之前制定软件需求标准、设计标准及编码标准等开发标准。
与此相应的,在指导性文件中给出如何制定软件合格审定计划的指南,同时配以相应的模板文件,制定组织的软件需求标准、设计标准及编码标准指南,以供项目团队选用。
3)依据D0-178B软件验证过程各项目标要求,对工作产品检查表和评审要素检查表进行补充修改,如增加与目标机兼容、可执行目标代码的健壮性等要求;同时在指导性文件中修改或补充对测试和验证的详细要求,如测试覆盖(语句覆盖、分支覆盖、MC/DC覆盖)、对可执行目标代码的验证等,以指导测试和验证活动的开展。
4)在关于配置管理的过程文件中,增加描述基线和配置项追踪关系管理要求;在指导性文件中补充对软件加载过程控制和软件工具的配置管理要求,同时配以相应的软件配置管理计划文档模板。
5)依据D0-178B审定联络过程各项目标要求,在指导性

文件中增加关于审定联络的规程文件,在提供符合性证明时,规定应同时提交所用软件工具的符合性证明材料,即进行所谓的工具鉴定。
6)在指导性文件中增加一份裁剪指南,内容包括:依据软件类别(航空机载软件)、软件安全性等级(AVB/C/D/E)对相关活动进行裁剪,同时明确相关活动的独立性要求。

5结语

GJB5000A标准可用于改进和评估军工企业软件研制能力,而D0-178B标准则为民用航空机载软件的研制和审定提供了指南。当企业承担军用飞机机载软件的研制任务时,军方用户可能要求企业将上述两个标准结合实施。本文首先介绍了GJB5000A和D0-178B标准,然后对两个标准进行了对比分析。对比结果表明:D0-178B中,除了审定联络过程,其余过程的大部分自标都能在GJB5000A中找出与之对应的过程域(包括专用/共用目标、专用/共用实践),而且D0-178B中没有与GJB5000A相冲突的目标,因此完全可以在软件研制过程中将二者结合实施。最后,本文给出了GJB5000A和D0-178B结合实施的方案,该方案能够用于指导相关企业建立同时实施GJB5000A和D0-178B的软件过程改进体系。



《对比DO-178C与GJB5000A浅析软件适航关注点》

摘要:深刻理解DO-178C和GB5000A标准对于提升机载软件开发能力具有重要意义。从软件生命周期、标准分级模式分析两者的共同点;从标准实现的目标、着眼点,对软件生命周期各过程的要求分析两者的不同,点。根据对比,从软件计划阶段、需求阶段、测试阶段、配置管理过程等分析软件适航关注点,并给出总结,为软件适航提供一些参考。

一、DO-178C标准简介

网上学习资料一大堆,但如果学到的知识不成体系,遇到问题时只是浅尝辄止,不再深入研究,那么很难做到真正的技术提升。

需要这份系统化的资料的朋友,可以添加V获取:vip1024b (备注Go)
img

一个人可以走的很快,但一群人才能走的更远!不论你是正从事IT行业的老鸟或是对IT行业感兴趣的新人,都欢迎加入我们的的圈子(技术交流、学习资源、职场吐槽、大厂内推、面试辅导),让我们一起学习成长!
适航关注点》

摘要:深刻理解DO-178C和GB5000A标准对于提升机载软件开发能力具有重要意义。从软件生命周期、标准分级模式分析两者的共同点;从标准实现的目标、着眼点,对软件生命周期各过程的要求分析两者的不同,点。根据对比,从软件计划阶段、需求阶段、测试阶段、配置管理过程等分析软件适航关注点,并给出总结,为软件适航提供一些参考。

一、DO-178C标准简介

网上学习资料一大堆,但如果学到的知识不成体系,遇到问题时只是浅尝辄止,不再深入研究,那么很难做到真正的技术提升。

需要这份系统化的资料的朋友,可以添加V获取:vip1024b (备注Go)
[外链图片转存中…(img-C6PL0qUi-1713198445102)]

一个人可以走的很快,但一群人才能走的更远!不论你是正从事IT行业的老鸟或是对IT行业感兴趣的新人,都欢迎加入我们的的圈子(技术交流、学习资源、职场吐槽、大厂内推、面试辅导),让我们一起学习成长!

  • 18
    点赞
  • 27
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值