航电软件开发标准与过程研究.doc_第1页
航电软件开发标准与过程研究.doc_第2页
航电软件开发标准与过程研究.doc_第3页
航电软件开发标准与过程研究.doc_第4页
航电软件开发标准与过程研究.doc_第5页
已阅读5页,还剩5页未读 继续免费阅读

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

软件开发过程 论文软件开发过程论文:航电软件开发标准与过程研究摘要:随着综合模块化航空电子系统研究的深入,其软件开发标准的重要地位日益突出,ARP4754和DO-178C共同构成了综合模块化航空电子系统软件开发的新标准。从标准内容与信息流程两方面论述了标准之间的关系,同时讨论了航电软件计划过程、开发过程和综合过程的子过程、目标及活动内容,提出了过程自动化和过程省略的基本概念与方法。关键词:航电软件;计划过程;开发过程;综合过程;过程自动化;过程省略在航空航天系统中,电子系统及其软件体现出日益重要的地位,成为系统性能提升和费用控制的关键因素。研究表明,现代航电系统的生命周期费用已占整个航空器的40,而这40中软件费用可占到851,系统软件的功能越来越强大、结构越来越复杂、成本越来越昂贵。例如F-22飞机的机载软件高达170万行代码,而F-35机载软件的规模则更是高达500万行2。在现代航电系统的软件研发过程中,46预算超支,35推迟交付,而此时软件的代码量却正以每10年超过200的速度在增长3。为了有效支持航电软件的开发,国内外众多专家学者都进行了大量的研究和实践工作,提出了许多新的开发思想、技术和工具,同时也逐步形成了各种各样的标准。这些标准针对不同领域,互有相同又互为借鉴、互为支持。它们共同的宗旨就是提高开发效率、降低开发费用、缩短开发周期、保证开发质量。1航电软件开发标准1.1航电系统开发的标准体系DO-178C4与ARP47545、DO-2546共同构成了航电系统开发的标准体系,在该体系中,ARP4754作为顶层标准定义了高集成或复杂航空器系统的认证过程。该标准基于航空器整机的运行环境及功能考虑,定义了航空器整机功能的系统生命周期,而细节的软件、硬件设计标准则分别由DO-178C和DO-254规范。DO-178C是由RTCA(Requirements and Technical Concepts for Aviation)和EUROCAE(European Organization foCivil Aviation Electronics)共同发布。参与撰写该标准的专家有来自航空设备的设计制造厂商,也有来自航空业界质量认证的权威机构。该标准给出了航空系统软件的开发过程,旨在确保开发的软件在功能上正确,在安全上可信,并能满足适航要求。1.2 ARP4754与DO-178C之间的信息流ARP4754与DO-178C分别针对于航空系统的系统生命周期和软件生命周期,两者之间的信息流。ARP4754分配给DO-178C的信息包括:(1)分配给软件的需求;(2)各个需求相应的开发保证级别,并为其描述相关的失效条件;(3)软/硬件接口描述;(4)设计约束,包括功能隔离和分区需求;(5)系统软件开发过程中的校验活动;(6)系统软件开发过程中的验证活动。经过系统生命周期将得到分配给软件的系统需求,此时开始从系统生命周期转向软件生命周期,同时指导标准从ARP4754转移到DO-178C。ARP4754和DO-178C定义了相同的开发保证级别。2航电软件生命周期过程在软件开发过程中,“目标”比“方法”更本质、更稳定。达成目标的方法会由于不同的公司而不尽相同,也会由于设计技术和设计工具的进步而发生变化,但是,需要达成的目标是不会改变的。因此,DO-178C标准并不指定采用的设计方法或开发工具。相反,它强调的是一种目标导向的做法:一方面,它要求给出明确的功能和性能目标;另一方面它要求给出验证这些目标的方式;再一方面它要求给出达成目标的指标及证明7。在这一思想的指导下,分析DO-178C标准中所规定的软件生命周期,有三类过程特别值得注意,它们构成了软件生命周期的一条主线,即软件的计划过程、开发过程以及综合过程。2.1软件计划过程软件计划过程产生各种软件计划,用于指导软件开发过程和软件综合过程。软件计划过程的目的是:定义满足系统需求和提供与级别一致的软件生产方法;定义软件生命周期,包括过程之间的内在关系、它们的顺序、反馈机制以及传输准则;确定软件生命周期环境,包括各个软件生命周期过程活动使用的方法和工具;确定与系统软件安全目标一致的软件开发标准等等。DO-178C规定了如下五个软件计划:(1)软件授权计划:所用开发方法的授权认证;(2)软件开发计划:定义软件生命周期和软件开发环境;(3)软件校验计划:定义软件校验过程满足的目标;(4)软件配置管理计划:定义软件配置管理过程满足的目标;(5)软件质量保证计划:定义软件质量保证过程满足的目标。2.2软件开发过程在软件开发过程中,DO-178C定义了如下四个软件开发过程:(1)软件需求过程:该过程的输入是分配给软件的系统需求,主要输出是软件系统的高级需求(HLR)。它包含了软件的功能需求、性能需求、软硬件接口和安全相关需求等内容;(2)软件设计过程:该过程的输入是软件高级需求、软件开发计划和软件设计标准,主要输出是设计描述,包括软件结构和低级需求(LLR);(3)软件编码过程:这一过程根据软件低级需求和软件结构编写软件的源代码。过程的主要结果是源码和目标码;(4)软件集成过程:该过程对源码和目标码进行编译、链接,并加载至机载系统或设备中。该过程应包含软件集成和软/硬件集成两个子过程。DO-178C标准明确规定,在整个软件生命周期中必须实现各个过程的可追踪性。针对这里所述的四个开发过程来说,至少要实现如下几个方面的追踪:系统需求与高级需求之间、高级需求与低级需求/软件结构之间、低级需求/软件结构与源码/目标码之间、源码/目标码与可执行代码之间。除此之外,还有很多数据与过程的追踪,如测试用例与软件需求之间、测试结果与测试用例之间的可追踪性等等。2.3软件综合过程在软件综合过程中,DO-178C规定了如下四个过程:(1)软件校验过程:该过程由软件校验计划定测和报告在软件开发过程中可能引入的错误,而错是软件开发过程的活动;(2)软件配置管理过程:该过程由软件配置管义,与其他软件生命周期过程协同执行,用于在软件中提供确定的、可控的软件配置;提供可执行目标代能力,当需要检查和修改时可快速复制;在软件生命供过程输入/输出的控制能力,保证过程活动的一致复性;通过控制配置项,建立配置基础,提供用于走断、修改控制的节点;提供控制,保证所有问题都被修改都被记录、提交和实现;通过控制软件生命周期出提供软件的证明;辅助判断软件产品与需求是否配置项维护了加密、恢复和控制数据;(3)软件质量保证过程:该过程由软件质量保义,用于审核软件的生命周期过程及其输出,确保其现,错误被检测、评估、跟踪和解决,其他软件生命周足了软件需求。软件质量保证过程提供软件生命周软件产品与需求是一致的证明,保证这些过程的执计划和标准一致;(4)证明联络过程:该过程用于在整个软件生命立应用程序与证明授权之间的通讯和理解,辅助软过程。2.4软件开发与综合过程的关系在航电软件开发过程中,软件综合过程与软件是并行执行的,在整个软件生命周期中,以软件开发线,在其各个子过程中实施相应的软件综合过程,其由两个以上的不同团队来完成,实现软件开发与软分离。软件生命周期中各个过程的关系可用软件计划过程是所有过程的起始点,根据软件计划的各种软件计划执行相应的软件生命周期活动。3航电软件开发的挑战与方法3.1面临的挑战正如前文所属,DO-178C是一个目标导向的标准指南,它并未从技术、方法上进行细致的规范,上述过程在实际工程中的实施会碰到很多的困难和挑战:(1)需求描述的困难:需求描述的一个困难是理解的歧义问题。在通常情况下,HLR和LLR是基于自然语言描述,辅以非规范图表完成的。然而,自然语言很容易产生歧义,即使采用标准对需求进行约束也是难免的。这些歧义不仅对开发工作带来很大的麻烦,而且对软件综合活动也制造了很大困难。因此在可能的情况下,应尽可能采用形式化语言来描述HLR和LLR,以便于理解和验证。需求描述的另外一个问题是在开发过程中存在多个不同级别的需求,如分配给软件的系统需求、HLR、LLR等等。软件开发过程中往往对同一需求在不同阶段重复地描述和反复地细化。这些重复的描述不仅成本很高,而且会引入错误,造成前后不一致的现象。(2)开发过程中引入的错误:在软件开发的四个过程中,每个过程都不可避免地会引入新的错误,同时前一个开发过程的错误到后一个开发过程会放大或叠加。因此,随着开发过程的进展,隐含的错误将越来越多,越来越大,越来越复杂。在这四个过程中,需求与设计阶段至关重要。需求与设计应当明晰容易混淆的问题,并提供清晰的、易于实现的解决方案。软件工程实践证明,在最初发现问题可以有效减少校验和反馈工作,因而在软件开发过程中,不应过早地进入软件编码和集成阶段。(3)验证过程的困难:软件验证最常用的方式就是走查和分析,这些走查和分析有两个目的:一个是检测软件是否满足需求;另一个目的是检测是否存在由系统安全确认过程定义的可能造成失效的错误。对机载软件这样具有高安全性要求的软件开发来说,验证过程不仅要求高、难度大,工作量也大得惊人。软件生命周期中验证的工作量常常达到50%以上,在一些特定领域甚至高达80%。3.2可行的方法针对这些困难和挑战,众多专家学者们做了许多研究和总结,也得出了一些新的开发思想和技术。概括起来,有两个思想比较突出:过程自动化和过程省略。(1)开发过程的自动化软件过程中充斥着繁琐的重复劳动,例如文档的开发与维护,版本与变更的控制、进度的跟踪与汇报等等,这些不仅要耗费大量的时间和精力,而且如果处理不当,还会直接影响项目产品的交付,甚至导致项目的失败8。软件开发过程自动化的目的,就在于使用适当的工具来完成或辅助开发者完成这些繁琐的劳动,将开发者从这些活动中脱离出来,专注于需要解决的领域问题,更加有效地发挥创造力,从而提升开发者和整体的开发能力。(2)综合过程的自动化和省略对于综合过程,同样可以采用软件工具来提高自动化程度。例如可以根据形式化描述的低级需求自动产生测试用例,再通过脚本程序批量运行测试用例,实现验证活动的自动化。在软件综合过程中,当所用开发工具、开发平台通过了同样级别或更高级别的质量认证时,该开发过程、开发结果以及软件的质量保证过程可以省略或部分省略。在软件综合过程中,可以通过软件工具自动记录软件的基线和配置,此时软件配置和证明联络过程也得以自动化。4结束语ARP4754和DO-178C标准为航电软件制定了严格的目标与过程标准,形成一套规范的开发流程。这些过程在实际工程项目中实现起来有多方面的困难,从成本、质量、安全性等多个方面来看,要求有更好的方法、手段和工具支持。在现有的航电软件开发环境中,SCADE、Rational等都是航电软件开发的有效工具,但离实际的工程需求还有一段距离。为了满足新一代航空电子系统的功能和性能需求,国内相关单位都开展了综合模块化航空电子系统的研究工作,并且已经在体系结构、信息标准等方面取得了阶段性成果。期待本文具有抛砖引玉的作用,为我国深入开展综合模块化航空电子系统的软件标准研究工作提供有益的参考。参考文献:1Price M.ASAAC&Avionics APIsC/ASAAC Conference,2005.2Athalye P,Maksimovic D,Erickson R.High-performance front-endconverter for avionics applicationsJ.IEEE Trans on Aerospaceand Electronic Systems,2003,39(2):462-470.3Wolf R.Parameters for Efficient Software CertificationEB/OL.http:/www.itk.ntnu.no.4RTCA.DO-178C software considerations in airborne systemsand equipment certificationS.Radio Technical Commission forAeronautics,Inc(.RTCA),Washington,DC,2008.5SAE.ARP 4754 Certification considerations for highly integrat-ed or complex aircraft systemsS.Society of Automotive Engi-neers,Washington,DC,19966RTCA.DO-254 Design assurance guidance for airborne e

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论