最新公告
  • 欢迎您光临欧资源网,本站秉承服务宗旨 履行“站长”责任,销售只是起点 服务永无止境!立即加入我们
  • 机载-178C的详细内容之前,你了解多少?

    原作者授权发布

    机载软件适航相关文件

    本来想讲一下软件的生命周期模型,但是在进入DO-178C的细节之前,还是想简单罗列一下其他软件适航相关的文件,让新手知道应该参考哪些文件。

    首先介绍 DO-178C 的补充文件。从版本C开始,RTCA分别提取了B版本中一些不清楚的内容,并生成了许多独立的文档作为DO-178C的补充文档。它的书写格式和章节与DO-178C完全相同,只是每章内容与178相同,都是斜体书写,真实添加的内容是正常的。这些文档包括 DO-330(软件工具鉴定注意事项)、DO-331(基于模型的开发和验证)、DO-332(面向对象和相关技术)和 DO-333(形式化方法)。只是笔者还没有遇到过在机载软件中使用面向对象技术和形式化方法的项目。根据国外指定工程代表(DER)的经验,由于适航审查成本高,这两种方法很少使用。有人收养。即使有的厂商使用C++等具有面向对象特性的语言,也会严格要求这些特性不能在编码标准中使用,所以没有必要表明符合332。因此,这两个文件可以在研究开始时忽略。

    最值得一看的文档是 DO-248C,Supporting Information for DO-178C 和 DO-278A,其实就是 DO-178C 的 QA。有很多关于178的高频问答,可以帮上大忙。了解 DO-178C。

    FAA 发布的 JobAid 详细说明了如何对机载软件进行适航审查,甚至包括每次适航审查会议的会议通知和日程安排模板,以及 DO-178B 的检查清单。不幸的是,目前它已经停产了。它的初衷是供DER使用,但如果软件开发者可以将其checklist作为内部软件质量人员对软件适航合规的检查工具,则可以大大提高合规概率。事实上,我们也要求许多供应商使用此清单进行内部自检。DER 还使用了 8110.49 号订单,其中涵盖了更多特殊情况的审查方法,例如对现场可加载软件和用户可更改软件的审查。

    然后是更深层次的内容,FAA 的 CAST 论文。这些文件是认证中心软件团队就许多有争议的问题给出的立场文件,告诉业界我们局对某个问题的看法。因此,最好在需要时检查一下。或者以后有时间,我会专门写一篇关于CAST Paper的文章。

    让我们继续回到178C的内容。

    软件生命周期模型

    参考百度百科的概念,软件生命周期是软件直到报废或停止的生命周期。这个周期包括产品问题定义、可行性分析、总体描述、系统设计、编码、调试和测试、验收和运行、维护和升级到退役等阶段。它是否类似于 DO-178C 中描述的各种过程?是的,一个完整的软件生命周期大概包括业务分析(Business Analysis,或可行性分析,包括真正决定启动项目前的所有分析工作)+DO-178C中要求的流程+运维流程,即据说DO-178C是真正决定开始一个软件项目到生产一个软件产品之后的所有过程的总和。

    RTCA 只要求 DO-178C 中的所有流程,但并未规定软件开发的各个子流程之间的顺序和反馈关系,以便给开发者留下足够的灵活性和可能性。这就像指定每个构建块的大小和形状。由您决定如何构建它,而这个按预定顺序构建的成品就是软件生命周期。常见的软件生命周期模型有瀑布模型、螺旋模型、V模型等。如下所示:

    瀑布模型

    螺旋模型

    V型

    不用仔细解释每个生命周期模型的过程,可以用百度或者知乎来了解。可见,无论选择哪个软件生命周期,都应该包括相应的需求、设计、编码、集成、测试验证等过程。要通过适航评审,可以选择任何生命周期模型,但要详细说明计划中采用的软件生命周期模型,包括软件生命周期过程、各过程之间的反馈关系、输入和输出,以及转让转让。指南和其他信息。

    接下来,根据DO-178C,简要描述每个软件生命周期过程的要求。

    软件规划过程

    软件规划过程的目的自然是编写计划和标准。这些计划文件包括软件认证计划(PSAC)、软件开发计划(SDP)、软件验证计划(SVP)、软件配置管理计划(SCMP)和软件质量保证计划(SQAP);标准文档只有C级及以上的要求,包括软件需求标准、软件设计标准、软件编码标准。如果使用基于模型的方法软件生命周期模型v,则需要添加软件模型标准。其中,软件认证计划是总纲,也是民航总局在筹划阶段需要正式使用型式资料审批表(AAC-039表)审批的唯一文件(其余文件为作为证明文件提供给 CAAC,民航总局只为其办理审批手续)。得到正式认可的)。

    作为五个文件的中心,软件认证计划需要概括软件规划过程、软件开发过程、软件验证过程、软件配置管理过程和软件质量保证过程,而其余的计划则分别细化每个过程。描述,包括每个过程的输入和输出、转入和转出准则、过程活动、执行组织或角色、与其他过程的反馈关系、使用的环境工具等。此外,认证计划还需要说明一些特殊的考虑,例如使用以前开发的软件、停用代码、商业货架产品软件、可现场加载的软件等各种会引起局方注意的话题。, 即使这些特性在本项目中没有用到,也需要列出和解释。每个计划的内容要求见DO-178C第11章的相关要求。另外,以后有时间我会写几个大图相关内容的模板和例子供大家参考。

    最后,在软件策划阶段结束前,所有的计划和标准都要经过内部流程的批准和签字,最后必须由相关的质量保证人员签字确认计划内容已经满足DO的要求-178C 和相应的质量保证流程已经实施。签名后,所有文档都应包含在配置管理存储库中。

    软件规划过程的目标见 DO-178C 附录 A 的表 A-1:

    规划过程中有七个目标。先说一下这张表的读法。第一列是目标内容的描述;第二列是目标来自 178C 的哪一章;第三列是完成目标应该进行的活动,也指向178C对应的章节;第四栏(包括四个子栏ABCD)表示这个目标需要哪些软件等级,比如第二个目标,对软件生命周期过程的详细描述,不需要D级软件,即D级软件。虽然软件也需要写五个计划,但是计划的内容可以大大减少。另外,空心⚪表示没有独立性要求,即同一个人可以编写和查看这些内容;第五列是目标的输出形式;第六列是输出文件的内容对应178C的哪一章;最后四个小时一栏是配置管理需求,分为①和②,分别指CC1和CC2(控制类1和控制类2,总之CC1类数据需要更强的配置管理策略,即主要用于软件更新或修改,关键文件是软件产品的一部分;CC2数据需要松散的配置管理策略,以降低管道成本,主要是一些记录文件,与软件本身无关。对于所涉及的配置管理活动在这两种控制类型中,请参考 DO-178C Section 7.3 Table 7-1)。

    从图中可以看出,策划阶段的前四个目标是五个计划的内容需求,目标5需要准备标准文档,目标6和7是软件质量保证过程的要求以及软件配置管理流程。质量保证人员可以在计划过程结束之前检查合规性。

    软件开发过程

    软件开发过程应按照软件开发计划的要求进行。软件开发过程包括需求、设计、编码和集成四个子过程。软件开发计划中应明确定义各个子过程之间的反馈关系。如果发现任何输入在子流程中存在问题,则应向其源子流程提供反馈。

    软件需求过程是接受系统分配给软件的需求,并进一步分解系统分配给软件的需求以获得高级软件需求的过程。好的,两个问题:

    1.系统对软件的要求是什么?

    系统需求确定后,在系统架构设计中是采用硬件实现还是软件+硬件的方式实现就很清楚了。如果是后者,还需要确定哪些需求由软件实现,哪些需求由硬件实现。如果确定某个需求由软件实现,则称为系统分配给软件的需求。

    2.什么是高级软件需求和低级软件需求?

    高级软件需求是软件人员在获得系统赋予软件的需求后,进一步细化得到的软件需求。底层需求就是我们通常所说的设计。在通用软件开发领域,软件设计一般可以包括大纲设计和详细设计,而在DO-178C中,大纲设计称为软件架构,详细设计称为低层次需求。只是你要把传统的详细设计文档的内容逐条列出,以需求条目的形式表达出来,并与高级需求一一跟踪。

    在软件需求的过程中,所有生成的高级软件需求都应该与相应的系统需求进行跟踪,即记录每个高级软件需求是从哪个系统需求生成的。一种常见的做法是使用excel分别为系统需求和软件高级需求的需求标识符制作映射关系表。当然,有很多工具可以做到这一点,比如著名的 DOORS 工具,它可以将其中管理的所有需求之间的追溯关系导出为 Excel 映射表。值得注意的是软件生命周期模型v,这个映射表应该是双向的(就是做两张表,不要以为我罗嗦),并且从系统需求到高级软件需求的映射可以证明每个系统需求都被用来分解没有遗漏的系统需求;从软件高层需求到系统需求的跟踪,可以证明所有的软件高层需求都是有原因的,即没有随机添加的功能。

    那么就不能有额外的要求吗?并不真地。RTCA 在这里也为软件留下了足够的灵活性。如果将所有的系统需求分解,发现当这些需求不足以实现软件时,可以根据需要增加一些需求。这些需求称为派生需求。在高级软件需求阶段添加的就是派生的高级需求,在低级软件需求阶段添加的就是派生的低级需求。由于软件的体系结构考虑,通常会添加衍生需求。例如,有些软件在实现时需要嵌入式操作系统支持,系统需求只提供功能需求。使用特定的操作系统。但是,在软件获得系统需求后,根据软件架构,一旦决定使用操作系统,就应该添加与操作系统相关的功能作为派生需求。所有派生的需求都应说明派生的原因,并交由系统人员和安全人员进行评估,以确定是否对系统的安全性产生影响。

    软件设计过程、软件编码过程和软件集成过程与我们通常的软件开发过程类似。有两点需要注意:

    1.软件高层需求、软件底层需求、软件源代码之间需要保持双向跟踪表。有人说如何追踪源代码?有一种方法可以介绍,对于每个低级需求对应的那几行代码,在这几行代码之前添加注释,在注释中为代码写一个标签,在跟踪表中引用这个标签。简而言之,所有需要跟踪的元素都应该为双向跟踪表编号。

    站内大部分资源收集于网络,若侵犯了您的合法权益,请联系我们删除!
    欧资源网 » 机载-178C的详细内容之前,你了解多少?

    常见问题FAQ

    免费下载或者VIP会员专享资源能否直接商用?
    本站所有资源版权均属于原作者所有,这里所提供资源均只能用于参考学习用,请勿直接商用。若由于商用引起版权纠纷,一切责任均由使用者承担。更多说明请参考 VIP介绍。
    提示下载完但解压或打开不了?
    最常见的情况是下载不完整: 可对比下载完压缩包的与网盘上的容量,若小于网盘提示的容量则是这个原因。这是浏览器下载的bug,建议用百度网盘软件或迅雷下载。若排除这种情况,可在对应资源底部留言,或 联络我们.。
    找不到素材资源介绍文章里的示例图片?
    对于PPT,KEY,Mockups,APP,网页模版等类型的素材,文章内用于介绍的图片通常并不包含在对应可供下载素材包内。这些相关商业图片需另外购买,且本站不负责(也没有办法)找到出处。 同样地一些字体文件也是这种情况,但部分素材会在素材包内有一份字体下载链接清单。
    欧资源网
    一个高级程序员模板开发平台

    发表评论