王国辉 赵铁军
(陆军装甲兵学院兵器工程系 北京 100072)
装甲装备在论证、工程研制、生产部署、使用和保障的过程中会产生大量的设计资料、数据、图纸、模型,这些资料以纸质资料和PDF文档储存,在资料使用、管理、更新方面存在工作量大、效率低、成本高、周期长的难题。交互式电子技术手册IETM(Interactive Electronic Technical Manual)具有资料无纸化、装备信息全寿命管理、辅助维修等功能,并以人机交互的方式显示给官兵,提高了装甲装备信息化保障水平。现阶段IETM整体处于第四级水平,正向第五级发展,S1000D规范是现行标准中先进的、成熟的规范,欧洲的IETM开发平台大多使用S1000D规范,国内某大学按照GB/T24463设计IETM通用开发平台,设计系统功能实现方案,降低信息发布和维护的成本[1]。余容等[2]研究J2EE构建IETM制作平台的核心技术,提出资料模块化编制、标准化管理、电子化交付、交互式使用的方案。
IETM在装甲装备领域应用处于起步阶段,在航空领域应用较为成熟,空客公司的AirN@v系统已经很成熟,某型机载雷达开发IETM系统,提高维护效率,降低全寿命周期成本[3]。某型无人机根据GJB6600标准开发IETM系统,构建IETM的硬件和软件平台[4]。IETM应用带来巨大的经济效益和军事效益,美军LM2500汽轮机开发出IETM系统后,相对传统查找资料方法用时缩短一半,作业效率提高30%~60%。Patriot Missile 使用IETM每年节约纸张费25万美元。实践表明使用IETM很大程度降低了维修难度,节省了维修人员培训时间和经费,提高了装备的修理效率和故障隔离成功率。
现阶段很多公司开发出自己的IETM开发平台,PTC公司的Arbortext软件是成熟的IETM创作软件,由数据构造和转换平台、内容管理系统、发布引擎、IETM浏览器等组成,涵盖了IETM开发全过程。CORENA公司在ATA2200和S1000D标准下开发了LifeSTAR软件,采用多层设计具有良好的维护性和重用性,能支持S1000D规范的技术出版物全寿命周期业务过程。电子五所研发的IETM创作软件系统结构和PTC公司的产品类似,外挂XML编辑器和CGM图形编辑器,能实现IETM开发全过程的各项任务。
随着我国军工业的迅速发展,二代、三代装甲装备占据了陆军装备的主体,其结构复杂、电子元件数量巨大,在操作使用、维护保养、维修保障、故障分析方面比一代装备难度大,部队现阶段使用的资料以传统的纸质资料和PDF文档为主,在查找、管理、储存、更新、维护等方面难以适应装甲装备保障要求。IETM把技术资料制作成文字、表格、视频、动画、三维模型等储存在数据库中,把数据建立成数据模块,提高了数据共享性与互操作性[5]。采用先进的人机交互方式,提高使用效率,IETM能够实现资料信息无纸化、装备信息管理、辅助维修等功能,能满足装备保障需求,美国M1A2坦克使用“数字化诊断与预测工具箱”减少了工作量,极大地提高了故障诊断效率。装甲装备IETM开发流程如下:进行需求分析、选择项目规范、确定信息集和信息粒度、建立数据需求列表(DMRL)和数据模块(DM)、用公共源数据库(CSDB)管理数据,生成出版物模块(PM)。
UML具有统一标准、面向对象、独立于过程、可视化强、易于掌握理解等特点,适用于大型、复杂的装甲装备IETM建模。UML建模装甲装备IETM通过多张不同角度的视图清楚地描述部队需求、软件框架、系统的层次结构和整体特性,降低系统分析与设计难度,而且复用性好,创建的类和对象能在其他系统中使用,能在不同的编程实现语言和开发平台上运行,具有较好的跨平台适用性,易维护性高,缩短开发周期。
根据现阶段存在的问题和部队官兵的需求,开发装甲装备IETM系统,将其设计为系统、子系统、功能模块三层,如图1所示。该系统由六个子系统组成,每个子系统包含若干功能模块,每个子系统用一组模型描述,一个模型由一组视图组成,把这些模型和视图按照系统结构结合成IETM系统。具体过程如下:首先分析系统的功能要求和组成,建立静态模型分析系统的体系结构,然后根据功能划分子系统,分析子系统体系结构的分布,子系统使用的硬件设备及硬件之间的关系,用构件图、配置图对子系统的物理体系建模。把子系统进一步细化分解出功能模块,建立动态模型分析功能模块的动态行为和控制结构,整个过程比较复杂,要进行大量的数据和模型的处理。选用方法不当会造成以下问题,在建模与编程过程需要根据部队需求,不断评估并修改模型,工作量大、过程繁琐。装甲装备包括多种不同种类的车辆,这些车辆有相似的结构和特点,每种车辆独立开发IETM,不仅造成重复工作,还因选用的平台不同、技术不同,不利于形成体系,造成可维护性差。
图1 装甲装备IETM系统功能
各子系统功能如下:技术说明子系统用于官兵学习掌握装备基本特性和工作原理,能解决官兵对装备不了解、不熟悉的问题,达到普及装备基础知识的目的。操作使用子系统用于官兵掌握战备训练时装备使用方法和战时操作装备执行作战任务的方法,能解决实装训练成本高、用时长、受演训环境影响大的问题。维护保养子系统用于学习维护保养规范、方法、流程,辅助官兵进行维护保养工作。维修子系统辅助维修人员进行故障分析和故障隔离,修理员每进行一步操作,系统提示本步骤的操作方法,普通的修理员根据IETM系统的提示也能完成复杂的修理任务,从而降低复杂部件对修理人员的技术要求,缩短修理时间、提高故障隔离成功率。人员培训子系统让官兵首先学习,接着进行训练,然后进行考核,最后对教学和训练点评,能够完成人员培训任务[6],解决了培训经费高、周期长、环节多、协调难的问题。装备管理子系统具有装备管理的功能,对装备基本信息、使用信息、状态等记录储存[7],解决装备信息不完善的问题,为装备可靠性和保障性设计提供依据。
根据图1的分析得到的系统功能,为确定这些功能由哪类人员使用,需要通过建立用例模型进行分析,用例图能描述使用者需要的系统功能,一张装甲装备IETM用例图从一个方面描述用例模型,多张用例图就可以系统地描述整个用例模型,从而准确地描述部队需要的IETM功能[8]。用例模型使用图形化表示,人形符号表示执行者,椭圆符号表示用例,连接线表示关系,方框表示系统。根据不同人员类别执行的活动不同,把使用者划分为:系统管理员(高级军官、工程师),维修人员(工程师、技术军官和士兵),装备管理员(营长、连长),操作使用员(士兵)。根据使用者的活动行为绘制装甲装备IETM系统顶层用例图如图2所示,描述不同类别的使用者需要的IETM系统功能。
图2 装甲装备IETM顶层用例图
为了更加准确详细地描述使用者活动行为,把图2中的用例图进行分解,本文仅以顶层用例图中“培训”为例展开绘制第二层用例图。“培训”用例图包含四个用例:教学、虚拟训练、考核、点评。第二层用例图进一步细化可以绘制出若干个第三层用例图,以第二层用例图中“教学”为例,分解出第三层用例图,如图3所示,如果分析需要可以继续分解。用例分析是一个逐渐细化、逐层深入的过程,用例分析越细,越能全面地表达使用者的活动。
图3 “培训”用例的下属用例图
类图是系统的静态模型,可以描述系统的静态特性和逻辑结构。为了进一步描述系统内部类、类与类之间的关系,根据图2的分析建立装甲装备IETM系统类图如图4所示。图中定义类、属性和操作,把数据资料按照一定的粒度划分,按照编码规则编成DM,由DM组成操作使用、维护保养等PM储存在CSDB中,通过数据转化工具生成XSL并添加导航链接显示给客户端,官兵通过登录界面登录,进入到数据库管理界面使用信息。该图是装甲装备IETM系统面向对象设计的核心,顺序图、状态图等都是此基础上进一步描述系统特性[9]。
图4 装甲装备IETM系统类图
静态模型描述系统类、对象、属性等静态结构,不能描述对象的动态行为,考虑到对象间如何进行交互以及信息如何传递时,就要对动态过程分析,需要建立动态模型。动态模型描述动态行为和控制结构,反应描述活动者和用例、用例和用例之间的不同时刻地动态交互。
交互概况图能突出系统某一特定方面的交互整体,包含了顺序图、通信图、时序图,根据表达的需要灵活地结合这几种图,交互概况图之间有判断、控制、循环等活动。为了进一步分析图4中官兵使用IETM的过程,建立IETM技术资料查询交互概况图如图5所示,完整地描述了技术资料查询的动态交互过程。首先进行使用者身份验证,验证成功后进入资料查询界面,使用者可以根据需要选择不同的子系统查询资料,也可以反复查询不同的内容,使用完毕后退出系统。该图描述资料查询这类特定交互内容,能帮助开发人员理解如何构建交互整体,简化代码结构。
图5 IETM技术资料查询交互概况图
顺序图描绘系统在实际运作过程中,各个对象之间如何交互,不同时刻的信息交互[10],反应系统的时间特性和时间约束,一个消息都对应一个类操作或者状态机中引起转换的触发事件,用于建立逻辑模型[11]。为了分析行为序列和消息传递次序,把图5中查询资料进一步细化,分析消息交互过程,以故障维修为例构建顺序图,IETM故障维修顺序图如图6所示。该图构建了修理员用故障维修子系统进行交互式故障维修的过程,建立从故障查询开始到故障隔离结束完整的过程,能帮助系统开发者理解故障维修子系统的结构和信息交互过程。
图6 故障维修顺序图
活动图描述实现什么目标、作业结束后系统的状态,活动图有活动、状态和转移三种标记组件[12]。为了进一步分析图6中故障隔离过程,用活动图建立故障隔离工作流,以闩体不能控制在开闩位置为例,建立故障隔离活动图(如图7所示),描述故障排除流程和方法,逐步检查逐步排除,采用换件维修的方式排除闩体故障,该图能辅助修理员进行故障隔离。
图7 故障隔离活动图
软件设计包括逻辑和物理两个方面,上文构建的装甲装备IETM系统静态模型,完成了系统逻辑设计,接下来要分析和设计物理模型。部署图可以对硬件建模,描述软件的各个组件安装在哪个硬件上,硬件之间如何交互,部署图由节点和标记符组成。装甲装备IETM部署图如图8所示。装甲装备IETM系统基于B/S模式设计,把数据资料储存在数据库服务器的数据库内,并由DBMS管理,客户端把请求访问IETM的信息发送到HTTP服务器,应用服务器处理HTTP服务器和数据库服务器之间的数据交互,最后HTTP服务器返回请求的数据。该图表达了装甲装备IETM系统软件、硬件的物理结构和运行系统的结构,对设计系统整体架构提供依据。
图8 装甲装备IETM部署图
装甲装备IETM系统开发是复杂的工程,涉及到需求分析、功能设计、系统结构设计、数据库技术、交互技术等多种技术,UML建模是系统开发的一个重要环节,用UML进行需求分析、系统功能设计、生成代码框架,是下一步开发工作的前提。建立的UML模型在实际应用中具有以下效果:(1) UML可视化建模易于官兵、工程师、设计人员等不同人群的理解与沟通;(2) UML能对IETM系统进行有效划分,以用例驱动融入部队需求开发模型,建立的模型能全方位、多角度反应系统属性和活动,并把各组模型有机结合,表达系统逻辑结构和物理实现;(3) 装甲装备IETM系统用Java编程,UML能实现双向工程,从模型生成代码、从代码生成模型,保证代码一致性、简化了开发工作,用Rational Rose把图4中装甲装备IETM类图生成Java代码(如图9所示),如果需求变动只要在Rational Rose对相应的视图进行修改就可以重新生成代码,可维护性好;(4) 在后期开发工作中,UML能对数据库建模,建立关系模型,还能在对象模型和数据模型之间进行双向工程。装甲装备IETM数据模型用可扩展标记语言(XML)编写,UML有利于XML模块化和复用。
图9 UML类图生成Java代码
装甲装备IETM系统开发是一项复杂的工程,需要建立大量的模型,本文按照UML建模流程选取几个有代表性的角度建立模型并进行分析。本文首次将UML应用于装甲装备IETM系统建模。研究表明,UML适用于装甲装备IETM系统建模,能有效解决系统开发存在设计与实现脱节、工作量大、开发周期长的问题,提高系统复用性、易维护性,降低了开发难度。本文的建模方法和建立的模型对装甲装备IETM系统开发具有较高参考意义。