王國(guó)輝 趙鐵軍
(陸軍裝甲兵學(xué)院兵器工程系 北京 100072)
裝甲裝備在論證、工程研制、生產(chǎn)部署、使用和保障的過(guò)程中會(huì)產(chǎn)生大量的設(shè)計(jì)資料、數(shù)據(jù)、圖紙、模型,這些資料以紙質(zhì)資料和PDF文檔儲(chǔ)存,在資料使用、管理、更新方面存在工作量大、效率低、成本高、周期長(zhǎng)的難題。交互式電子技術(shù)手冊(cè)IETM(Interactive Electronic Technical Manual)具有資料無(wú)紙化、裝備信息全壽命管理、輔助維修等功能,并以人機(jī)交互的方式顯示給官兵,提高了裝甲裝備信息化保障水平?,F(xiàn)階段IETM整體處于第四級(jí)水平,正向第五級(jí)發(fā)展,S1000D規(guī)范是現(xiàn)行標(biāo)準(zhǔn)中先進(jìn)的、成熟的規(guī)范,歐洲的IETM開(kāi)發(fā)平臺(tái)大多使用S1000D規(guī)范,國(guó)內(nèi)某大學(xué)按照GB/T24463設(shè)計(jì)IETM通用開(kāi)發(fā)平臺(tái),設(shè)計(jì)系統(tǒng)功能實(shí)現(xiàn)方案,降低信息發(fā)布和維護(hù)的成本[1]。余容等[2]研究J2EE構(gòu)建IETM制作平臺(tái)的核心技術(shù),提出資料模塊化編制、標(biāo)準(zhǔn)化管理、電子化交付、交互式使用的方案。
IETM在裝甲裝備領(lǐng)域應(yīng)用處于起步階段,在航空領(lǐng)域應(yīng)用較為成熟,空客公司的AirN@v系統(tǒng)已經(jīng)很成熟,某型機(jī)載雷達(dá)開(kāi)發(fā)IETM系統(tǒng),提高維護(hù)效率,降低全壽命周期成本[3]。某型無(wú)人機(jī)根據(jù)GJB6600標(biāo)準(zhǔn)開(kāi)發(fā)IETM系統(tǒng),構(gòu)建IETM的硬件和軟件平臺(tái)[4]。IETM應(yīng)用帶來(lái)巨大的經(jīng)濟(jì)效益和軍事效益,美軍LM2500汽輪機(jī)開(kāi)發(fā)出IETM系統(tǒng)后,相對(duì)傳統(tǒng)查找資料方法用時(shí)縮短一半,作業(yè)效率提高30%~60%。Patriot Missile 使用IETM每年節(jié)約紙張費(fèi)25萬(wàn)美元。實(shí)踐表明使用IETM很大程度降低了維修難度,節(jié)省了維修人員培訓(xùn)時(shí)間和經(jīng)費(fèi),提高了裝備的修理效率和故障隔離成功率。
現(xiàn)階段很多公司開(kāi)發(fā)出自己的IETM開(kāi)發(fā)平臺(tái),PTC公司的Arbortext軟件是成熟的IETM創(chuàng)作軟件,由數(shù)據(jù)構(gòu)造和轉(zhuǎn)換平臺(tái)、內(nèi)容管理系統(tǒng)、發(fā)布引擎、IETM瀏覽器等組成,涵蓋了IETM開(kāi)發(fā)全過(guò)程。CORENA公司在ATA2200和S1000D標(biāo)準(zhǔn)下開(kāi)發(fā)了LifeSTAR軟件,采用多層設(shè)計(jì)具有良好的維護(hù)性和重用性,能支持S1000D規(guī)范的技術(shù)出版物全壽命周期業(yè)務(wù)過(guò)程。電子五所研發(fā)的IETM創(chuàng)作軟件系統(tǒng)結(jié)構(gòu)和PTC公司的產(chǎn)品類(lèi)似,外掛XML編輯器和CGM圖形編輯器,能實(shí)現(xiàn)IETM開(kāi)發(fā)全過(guò)程的各項(xiàng)任務(wù)。
隨著我國(guó)軍工業(yè)的迅速發(fā)展,二代、三代裝甲裝備占據(jù)了陸軍裝備的主體,其結(jié)構(gòu)復(fù)雜、電子元件數(shù)量巨大,在操作使用、維護(hù)保養(yǎng)、維修保障、故障分析方面比一代裝備難度大,部隊(duì)現(xiàn)階段使用的資料以傳統(tǒng)的紙質(zhì)資料和PDF文檔為主,在查找、管理、儲(chǔ)存、更新、維護(hù)等方面難以適應(yīng)裝甲裝備保障要求。IETM把技術(shù)資料制作成文字、表格、視頻、動(dòng)畫(huà)、三維模型等儲(chǔ)存在數(shù)據(jù)庫(kù)中,把數(shù)據(jù)建立成數(shù)據(jù)模塊,提高了數(shù)據(jù)共享性與互操作性[5]。采用先進(jìn)的人機(jī)交互方式,提高使用效率,IETM能夠?qū)崿F(xiàn)資料信息無(wú)紙化、裝備信息管理、輔助維修等功能,能滿足裝備保障需求,美國(guó)M1A2坦克使用“數(shù)字化診斷與預(yù)測(cè)工具箱”減少了工作量,極大地提高了故障診斷效率。裝甲裝備IETM開(kāi)發(fā)流程如下:進(jìn)行需求分析、選擇項(xiàng)目規(guī)范、確定信息集和信息粒度、建立數(shù)據(jù)需求列表(DMRL)和數(shù)據(jù)模塊(DM)、用公共源數(shù)據(jù)庫(kù)(CSDB)管理數(shù)據(jù),生成出版物模塊(PM)。
UML具有統(tǒng)一標(biāo)準(zhǔn)、面向?qū)ο?、?dú)立于過(guò)程、可視化強(qiáng)、易于掌握理解等特點(diǎn),適用于大型、復(fù)雜的裝甲裝備IETM建模。UML建模裝甲裝備IETM通過(guò)多張不同角度的視圖清楚地描述部隊(duì)需求、軟件框架、系統(tǒng)的層次結(jié)構(gòu)和整體特性,降低系統(tǒng)分析與設(shè)計(jì)難度,而且復(fù)用性好,創(chuàng)建的類(lèi)和對(duì)象能在其他系統(tǒng)中使用,能在不同的編程實(shí)現(xiàn)語(yǔ)言和開(kāi)發(fā)平臺(tái)上運(yùn)行,具有較好的跨平臺(tái)適用性,易維護(hù)性高,縮短開(kāi)發(fā)周期。
根據(jù)現(xiàn)階段存在的問(wèn)題和部隊(duì)官兵的需求,開(kāi)發(fā)裝甲裝備IETM系統(tǒng),將其設(shè)計(jì)為系統(tǒng)、子系統(tǒng)、功能模塊三層,如圖1所示。該系統(tǒng)由六個(gè)子系統(tǒng)組成,每個(gè)子系統(tǒng)包含若干功能模塊,每個(gè)子系統(tǒng)用一組模型描述,一個(gè)模型由一組視圖組成,把這些模型和視圖按照系統(tǒng)結(jié)構(gòu)結(jié)合成IETM系統(tǒng)。具體過(guò)程如下:首先分析系統(tǒng)的功能要求和組成,建立靜態(tài)模型分析系統(tǒng)的體系結(jié)構(gòu),然后根據(jù)功能劃分子系統(tǒng),分析子系統(tǒng)體系結(jié)構(gòu)的分布,子系統(tǒng)使用的硬件設(shè)備及硬件之間的關(guān)系,用構(gòu)件圖、配置圖對(duì)子系統(tǒng)的物理體系建模。把子系統(tǒng)進(jìn)一步細(xì)化分解出功能模塊,建立動(dòng)態(tài)模型分析功能模塊的動(dòng)態(tài)行為和控制結(jié)構(gòu),整個(gè)過(guò)程比較復(fù)雜,要進(jìn)行大量的數(shù)據(jù)和模型的處理。選用方法不當(dāng)會(huì)造成以下問(wèn)題,在建模與編程過(guò)程需要根據(jù)部隊(duì)需求,不斷評(píng)估并修改模型,工作量大、過(guò)程繁瑣。裝甲裝備包括多種不同種類(lèi)的車(chē)輛,這些車(chē)輛有相似的結(jié)構(gòu)和特點(diǎn),每種車(chē)輛獨(dú)立開(kāi)發(fā)IETM,不僅造成重復(fù)工作,還因選用的平臺(tái)不同、技術(shù)不同,不利于形成體系,造成可維護(hù)性差。
圖1 裝甲裝備IETM系統(tǒng)功能
各子系統(tǒng)功能如下:技術(shù)說(shuō)明子系統(tǒng)用于官兵學(xué)習(xí)掌握裝備基本特性和工作原理,能解決官兵對(duì)裝備不了解、不熟悉的問(wèn)題,達(dá)到普及裝備基礎(chǔ)知識(shí)的目的。操作使用子系統(tǒng)用于官兵掌握戰(zhàn)備訓(xùn)練時(shí)裝備使用方法和戰(zhàn)時(shí)操作裝備執(zhí)行作戰(zhàn)任務(wù)的方法,能解決實(shí)裝訓(xùn)練成本高、用時(shí)長(zhǎng)、受演訓(xùn)環(huán)境影響大的問(wèn)題。維護(hù)保養(yǎng)子系統(tǒng)用于學(xué)習(xí)維護(hù)保養(yǎng)規(guī)范、方法、流程,輔助官兵進(jìn)行維護(hù)保養(yǎng)工作。維修子系統(tǒng)輔助維修人員進(jìn)行故障分析和故障隔離,修理員每進(jìn)行一步操作,系統(tǒng)提示本步驟的操作方法,普通的修理員根據(jù)IETM系統(tǒng)的提示也能完成復(fù)雜的修理任務(wù),從而降低復(fù)雜部件對(duì)修理人員的技術(shù)要求,縮短修理時(shí)間、提高故障隔離成功率。人員培訓(xùn)子系統(tǒng)讓官兵首先學(xué)習(xí),接著進(jìn)行訓(xùn)練,然后進(jìn)行考核,最后對(duì)教學(xué)和訓(xùn)練點(diǎn)評(píng),能夠完成人員培訓(xùn)任務(wù)[6],解決了培訓(xùn)經(jīng)費(fèi)高、周期長(zhǎng)、環(huán)節(jié)多、協(xié)調(diào)難的問(wèn)題。裝備管理子系統(tǒng)具有裝備管理的功能,對(duì)裝備基本信息、使用信息、狀態(tài)等記錄儲(chǔ)存[7],解決裝備信息不完善的問(wèn)題,為裝備可靠性和保障性設(shè)計(jì)提供依據(jù)。
根據(jù)圖1的分析得到的系統(tǒng)功能,為確定這些功能由哪類(lèi)人員使用,需要通過(guò)建立用例模型進(jìn)行分析,用例圖能描述使用者需要的系統(tǒng)功能,一張裝甲裝備IETM用例圖從一個(gè)方面描述用例模型,多張用例圖就可以系統(tǒng)地描述整個(gè)用例模型,從而準(zhǔn)確地描述部隊(duì)需要的IETM功能[8]。用例模型使用圖形化表示,人形符號(hào)表示執(zhí)行者,橢圓符號(hào)表示用例,連接線表示關(guān)系,方框表示系統(tǒng)。根據(jù)不同人員類(lèi)別執(zhí)行的活動(dòng)不同,把使用者劃分為:系統(tǒng)管理員(高級(jí)軍官、工程師),維修人員(工程師、技術(shù)軍官和士兵),裝備管理員(營(yíng)長(zhǎng)、連長(zhǎng)),操作使用員(士兵)。根據(jù)使用者的活動(dòng)行為繪制裝甲裝備IETM系統(tǒng)頂層用例圖如圖2所示,描述不同類(lèi)別的使用者需要的IETM系統(tǒng)功能。
圖2 裝甲裝備IETM頂層用例圖
為了更加準(zhǔn)確詳細(xì)地描述使用者活動(dòng)行為,把圖2中的用例圖進(jìn)行分解,本文僅以頂層用例圖中“培訓(xùn)”為例展開(kāi)繪制第二層用例圖。“培訓(xùn)”用例圖包含四個(gè)用例:教學(xué)、虛擬訓(xùn)練、考核、點(diǎn)評(píng)。第二層用例圖進(jìn)一步細(xì)化可以繪制出若干個(gè)第三層用例圖,以第二層用例圖中“教學(xué)”為例,分解出第三層用例圖,如圖3所示,如果分析需要可以繼續(xù)分解。用例分析是一個(gè)逐漸細(xì)化、逐層深入的過(guò)程,用例分析越細(xì),越能全面地表達(dá)使用者的活動(dòng)。
圖3 “培訓(xùn)”用例的下屬用例圖
類(lèi)圖是系統(tǒng)的靜態(tài)模型,可以描述系統(tǒng)的靜態(tài)特性和邏輯結(jié)構(gòu)。為了進(jìn)一步描述系統(tǒng)內(nèi)部類(lèi)、類(lèi)與類(lèi)之間的關(guān)系,根據(jù)圖2的分析建立裝甲裝備IETM系統(tǒng)類(lèi)圖如圖4所示。圖中定義類(lèi)、屬性和操作,把數(shù)據(jù)資料按照一定的粒度劃分,按照編碼規(guī)則編成DM,由DM組成操作使用、維護(hù)保養(yǎng)等PM儲(chǔ)存在CSDB中,通過(guò)數(shù)據(jù)轉(zhuǎn)化工具生成XSL并添加導(dǎo)航鏈接顯示給客戶端,官兵通過(guò)登錄界面登錄,進(jìn)入到數(shù)據(jù)庫(kù)管理界面使用信息。該圖是裝甲裝備IETM系統(tǒng)面向?qū)ο笤O(shè)計(jì)的核心,順序圖、狀態(tài)圖等都是此基礎(chǔ)上進(jìn)一步描述系統(tǒng)特性[9]。
圖4 裝甲裝備IETM系統(tǒng)類(lèi)圖
靜態(tài)模型描述系統(tǒng)類(lèi)、對(duì)象、屬性等靜態(tài)結(jié)構(gòu),不能描述對(duì)象的動(dòng)態(tài)行為,考慮到對(duì)象間如何進(jìn)行交互以及信息如何傳遞時(shí),就要對(duì)動(dòng)態(tài)過(guò)程分析,需要建立動(dòng)態(tài)模型。動(dòng)態(tài)模型描述動(dòng)態(tài)行為和控制結(jié)構(gòu),反應(yīng)描述活動(dòng)者和用例、用例和用例之間的不同時(shí)刻地動(dòng)態(tài)交互。
交互概況圖能突出系統(tǒng)某一特定方面的交互整體,包含了順序圖、通信圖、時(shí)序圖,根據(jù)表達(dá)的需要靈活地結(jié)合這幾種圖,交互概況圖之間有判斷、控制、循環(huán)等活動(dòng)。為了進(jìn)一步分析圖4中官兵使用IETM的過(guò)程,建立IETM技術(shù)資料查詢(xún)交互概況圖如圖5所示,完整地描述了技術(shù)資料查詢(xún)的動(dòng)態(tài)交互過(guò)程。首先進(jìn)行使用者身份驗(yàn)證,驗(yàn)證成功后進(jìn)入資料查詢(xún)界面,使用者可以根據(jù)需要選擇不同的子系統(tǒng)查詢(xún)資料,也可以反復(fù)查詢(xún)不同的內(nèi)容,使用完畢后退出系統(tǒng)。該圖描述資料查詢(xún)這類(lèi)特定交互內(nèi)容,能幫助開(kāi)發(fā)人員理解如何構(gòu)建交互整體,簡(jiǎn)化代碼結(jié)構(gòu)。
圖5 IETM技術(shù)資料查詢(xún)交互概況圖
順序圖描繪系統(tǒng)在實(shí)際運(yùn)作過(guò)程中,各個(gè)對(duì)象之間如何交互,不同時(shí)刻的信息交互[10],反應(yīng)系統(tǒng)的時(shí)間特性和時(shí)間約束,一個(gè)消息都對(duì)應(yīng)一個(gè)類(lèi)操作或者狀態(tài)機(jī)中引起轉(zhuǎn)換的觸發(fā)事件,用于建立邏輯模型[11]。為了分析行為序列和消息傳遞次序,把圖5中查詢(xún)資料進(jìn)一步細(xì)化,分析消息交互過(guò)程,以故障維修為例構(gòu)建順序圖,IETM故障維修順序圖如圖6所示。該圖構(gòu)建了修理員用故障維修子系統(tǒng)進(jìn)行交互式故障維修的過(guò)程,建立從故障查詢(xún)開(kāi)始到故障隔離結(jié)束完整的過(guò)程,能幫助系統(tǒng)開(kāi)發(fā)者理解故障維修子系統(tǒng)的結(jié)構(gòu)和信息交互過(guò)程。
圖6 故障維修順序圖
活動(dòng)圖描述實(shí)現(xiàn)什么目標(biāo)、作業(yè)結(jié)束后系統(tǒng)的狀態(tài),活動(dòng)圖有活動(dòng)、狀態(tài)和轉(zhuǎn)移三種標(biāo)記組件[12]。為了進(jìn)一步分析圖6中故障隔離過(guò)程,用活動(dòng)圖建立故障隔離工作流,以閂體不能控制在開(kāi)閂位置為例,建立故障隔離活動(dòng)圖(如圖7所示),描述故障排除流程和方法,逐步檢查逐步排除,采用換件維修的方式排除閂體故障,該圖能輔助修理員進(jìn)行故障隔離。
圖7 故障隔離活動(dòng)圖
軟件設(shè)計(jì)包括邏輯和物理兩個(gè)方面,上文構(gòu)建的裝甲裝備IETM系統(tǒng)靜態(tài)模型,完成了系統(tǒng)邏輯設(shè)計(jì),接下來(lái)要分析和設(shè)計(jì)物理模型。部署圖可以對(duì)硬件建模,描述軟件的各個(gè)組件安裝在哪個(gè)硬件上,硬件之間如何交互,部署圖由節(jié)點(diǎn)和標(biāo)記符組成。裝甲裝備IETM部署圖如圖8所示。裝甲裝備IETM系統(tǒng)基于B/S模式設(shè)計(jì),把數(shù)據(jù)資料儲(chǔ)存在數(shù)據(jù)庫(kù)服務(wù)器的數(shù)據(jù)庫(kù)內(nèi),并由DBMS管理,客戶端把請(qǐng)求訪問(wèn)IETM的信息發(fā)送到HTTP服務(wù)器,應(yīng)用服務(wù)器處理HTTP服務(wù)器和數(shù)據(jù)庫(kù)服務(wù)器之間的數(shù)據(jù)交互,最后HTTP服務(wù)器返回請(qǐng)求的數(shù)據(jù)。該圖表達(dá)了裝甲裝備IETM系統(tǒng)軟件、硬件的物理結(jié)構(gòu)和運(yùn)行系統(tǒng)的結(jié)構(gòu),對(duì)設(shè)計(jì)系統(tǒng)整體架構(gòu)提供依據(jù)。
圖8 裝甲裝備IETM部署圖
裝甲裝備IETM系統(tǒng)開(kāi)發(fā)是復(fù)雜的工程,涉及到需求分析、功能設(shè)計(jì)、系統(tǒng)結(jié)構(gòu)設(shè)計(jì)、數(shù)據(jù)庫(kù)技術(shù)、交互技術(shù)等多種技術(shù),UML建模是系統(tǒng)開(kāi)發(fā)的一個(gè)重要環(huán)節(jié),用UML進(jìn)行需求分析、系統(tǒng)功能設(shè)計(jì)、生成代碼框架,是下一步開(kāi)發(fā)工作的前提。建立的UML模型在實(shí)際應(yīng)用中具有以下效果:(1) UML可視化建模易于官兵、工程師、設(shè)計(jì)人員等不同人群的理解與溝通;(2) UML能對(duì)IETM系統(tǒng)進(jìn)行有效劃分,以用例驅(qū)動(dòng)融入部隊(duì)需求開(kāi)發(fā)模型,建立的模型能全方位、多角度反應(yīng)系統(tǒng)屬性和活動(dòng),并把各組模型有機(jī)結(jié)合,表達(dá)系統(tǒng)邏輯結(jié)構(gòu)和物理實(shí)現(xiàn);(3) 裝甲裝備IETM系統(tǒng)用Java編程,UML能實(shí)現(xiàn)雙向工程,從模型生成代碼、從代碼生成模型,保證代碼一致性、簡(jiǎn)化了開(kāi)發(fā)工作,用Rational Rose把圖4中裝甲裝備IETM類(lèi)圖生成Java代碼(如圖9所示),如果需求變動(dòng)只要在Rational Rose對(duì)相應(yīng)的視圖進(jìn)行修改就可以重新生成代碼,可維護(hù)性好;(4) 在后期開(kāi)發(fā)工作中,UML能對(duì)數(shù)據(jù)庫(kù)建模,建立關(guān)系模型,還能在對(duì)象模型和數(shù)據(jù)模型之間進(jìn)行雙向工程。裝甲裝備IETM數(shù)據(jù)模型用可擴(kuò)展標(biāo)記語(yǔ)言(XML)編寫(xiě),UML有利于XML模塊化和復(fù)用。
圖9 UML類(lèi)圖生成Java代碼
裝甲裝備IETM系統(tǒng)開(kāi)發(fā)是一項(xiàng)復(fù)雜的工程,需要建立大量的模型,本文按照UML建模流程選取幾個(gè)有代表性的角度建立模型并進(jìn)行分析。本文首次將UML應(yīng)用于裝甲裝備IETM系統(tǒng)建模。研究表明,UML適用于裝甲裝備IETM系統(tǒng)建模,能有效解決系統(tǒng)開(kāi)發(fā)存在設(shè)計(jì)與實(shí)現(xiàn)脫節(jié)、工作量大、開(kāi)發(fā)周期長(zhǎng)的問(wèn)題,提高系統(tǒng)復(fù)用性、易維護(hù)性,降低了開(kāi)發(fā)難度。本文的建模方法和建立的模型對(duì)裝甲裝備IETM系統(tǒng)開(kāi)發(fā)具有較高參考意義。