在现代飞行器的设计、试验和分析中,随着飞行器系统的日益复杂,飞行仿真实验占有越来越重要的地位。而飞行器系统的多样性和复杂性使得仿真软件的开发日趋复杂化,对软件开发的要求也越来越高。但与这种要求不相适应的是,在飞行仿真领域许多系统开发者还在沿用以前的老方法开发新系统。目前飞行仿真软件开发的弱点集中体现在软件开发过程、软件系统的分析与设计和编码方面,传统的仿真系统开发方法在很大程度上己不能适应复杂软件系统的开发要求,软件质量难以得到保证。在开发过程中暴露出的效率低下、结构混乱、重复性开发、可理解性和可维护性差等问题,是导致仿真软件系统失败的主要原因。因此迫切需要一种完善的、适应于飞行仿真系统开发特点的工程化方法来支持仿真系统的开发。
现代软件技术的发展,提出了一整套解决开发过程中所遇到的一系列问题的工程方法。为解决飞行仿真系统开发中的实际问题,本文将软件工程方法引入到仿真系统的开发中,提出了一套仿真系统开发过程和仿真程序分析与设计的优化方案,并对开发过程中的全面质量管理方法进行了研究,从而实现了软件工程方法在飞行仿真系统开发中的有效应用。
软件工程是一种运用系统的、规范的和可定量的方法来开发、运行和维护软件的工程化开发技术。它借鉴了传统工程的原则和方法,针对传统软件开发方法的缺点,以求高效地开发高质量软件。软件工程方法在软件系统开发过程中的优势主要体现在如下几个方面:对软件开发过程的优化;对软件分析与设计方法的优化;全面的软件质量管理体系。
软件开发过程主要包括需求、设计、实现、确认以及支持等活动,所有这些活动构成了软件的工程开发模式,定义了软件的生存周期。将其用明确的工程化方法描述出来,有助于规范开发的过程,提高开发的效率和质量。目前常用的开发模式有瀑布式模型、原型开发模型、螺旋模型、面向对象模型等。
在软件系统分析与设计方面,软件工程定义了一套比较完整的实现方案。分析是抽取相应需求的过程,设计是将需求转化为设计规格说明的过程。在系统分析与设计方面,目前比较流行并且适合于仿真系统开发的方法是面向对象的分析与设计方法。它在对象、类、方法和消息等概念的支持下,在现实系统的建模、分析与设计方面更直观有效。可用下面的等式来说明面向对象的方法:面向对象=对象十分类十继承十通过消息的通讯。
面向对象的方法将现实系统分解为一个个直观可理解的对象类,并在分类的基础上定义了类的属性和服务(类与类之间的通讯手段),然后在此基础上将类组装成为实际的软件系统,对软件开发的复杂度进行有效的控制。
质量保证在软件开发过程中占有很重要的位置,在软件工程方法中是依靠软件质量保证(SQA)活动对软件品质进行控制的。SQA是软件开发过程中一项有计划的规范性管理活动,它主要通过如下活动保证软件的开发过程和软件质量:技术方法的应用;正式技术评审的实施;软件测试;标准的执行、修改的控制;度量、记录和记录保存。
软件工程技术的应用改变了软件开发仅是一个纯粹编码过程的基本观念。软件工程方法有一套严格的开发模式和管理控制体系,从问题域的分析,到软件系统的设计、具体的编码实现,再到软件的测试、交付使用与维护,都有一套相应的解决方案,使整个软件开发的过程规范化、文档化,并且在软件系确保软件系统满足开发要求,最大限度地提高软件的质量。为了对以上质量因素进行评价与控制,根据仿真系统的特点综合考虑,可将仿真系统开发过程中的质量保证分为如下几个层次:仿真模型验证与校核;仿真软件测试;仿真软件评审;软件修改过程控制。这几方面的活动不仅仅是单纯的技术活动,还要包含对软件开发过程的管理活动,因此在实施过程中,必须在软件系统的需求分析阶段之前,制定具体的管理方法和实施步骤。
具体的实施步骤为:首先考察对SQA的需求,也就是对仿真系统开发中的软件质量保证和软件配置管理的状态(包含软件开发所采用的政策、过程和标准等)、组织以及SQA与软件开发中其他元素的关系的评价;其次是制定具体的SQA计划,并在一些SQA标准(如GB/T12504—90)的基础上,结合飞行仿真系统的特点,形成SQA计划的标准格式;最后是SQA的实施阶段。
SQA活动贯穿于仿真系统开发的全过程,是一种将技术手段与管理手段结合起来对飞行仿真软件质量进行控制的有效方法。软件工程方法的应用,不仅使整个仿真系统实现规范化,而且提高了软件的编制效率,在系统实现中体现了现代软件工程的思想。软件的编制实现模块化、组件化,提高了软件代码的重用性。软件工程的规范方法,大大提高了仿真软件系统的生产效率。软件的质量提高了,后期的维护工作量也减少了,并且系统更稳定,从而为飞行器的设计与分析提供了一个可靠的仿真试验平台。