论文部分内容阅读
航空电子系统是一个包含座舱显示、飞行管理和通讯及导航等功能的复杂系统。目前国内在民机显示系统软件开发实际工程中采用以代码和文档为中心的传统软件开发方法,手工编码及验证工作量大,需求变更成本高,达到DO-178B适航要求需付出的代价高。现代软件工程中的模型驱动软件开发方法已成为国外机载软件研制中的主流方法,但是,国内在民机显示系统软件开发中使用模型驱动的方法尚属空白。如何在国内民机显示系统软件工程实际中提出并实施一套能符合适航审查Level A级目标要求的模型驱动软件开发方法,具有重大意义。针对上述问题,本文以某大型民机显示系统研发的实际项目为背景,研究提出了一种支持DO-178B标准、敏捷的、模型驱动的民机显示系统软件开发方法(Model-Driven Software Development Method for Civil Aircraft Display System,MDSDM),采用DOORS和SCADE等工具实现了从需求分析、架构设计、模型设计、代码生成、软件集成和软件验证的显示系统软件生命周期。并以发动机参数显示(EI)和简图页(Synoptic)两个典型的显示系统软件开发为例,阐述了该方法的具体应用,对该方法的可行性及有效性进行验证。本文工作主要包括:1)在需求过程中,MDSDM通过SCADE Display工具建立可视化的显示模型,及时与用户沟通并确认,并在软件设计过程中重用。EI应用实例的工程实施情况表明,需求变更率降低了52%,需求确认时间减少了33%,明显缩短了需求开发时间。2)在设计与实现过程中,MDSDM采用UML建立显示系统物理架构图、系统概要交联图和功能层级关系图;然后采用SCADE工具建立每个功能模块的架构模型、逻辑模型和细化的显示模型,基于逻辑模型与显示模型进行联合仿真以发现设计错误;基于上述SACDE模型自动生成代码;采用SCADE工具建立需求-模型-代码三者之间的可追溯关系。根据Synoptic实例的工程实施情况统计分析,项目的开发速度提升了约34%,千行代码缺陷率降低了约65%,明显提升了开发效率。3)在软件集成过程中,MDSDM提出了一种适合大规模多团队显示系统软件开发的自动化持续集成过程,设计并实现了支持上述过程的持续集成环境。该环境包括基于SVN工具的开发库、编译库和受控库,基于Bamboo的持续集成服务器,基于JIRA的集成问题管理工具。应用情况表明,软件自动化集成相较于传统集成,集成时间提高了近40倍,集成成功率提升了25%,发布周期缩短了1/3。4)软件验证包括软件需求测试、软件设计测试、软件集成测试和验证的验证等四方面,MDSDM方法的软件验证与传统方法的主要区别在于软件设计测试和集成测试。MDSDM采用SCADE工具的QTE测试环境实现基于模型的功能测试;采用SCADE工具的MTC模块实现功能模型的模型覆盖分析。应用情况表明,设计测试减少了10倍的工作量,结构或模型覆盖率分析工作量减少了23%,整个验证过程的验证活动工作量和代价减少了1/3以上。