陳行軍,劉興林,祁 薇
(大連艦艇學(xué)院作戰(zhàn)軟件與仿真研究所,遼寧 大連 116018;大連艦艇學(xué)院基礎(chǔ)部,遼寧 大連 116018)
?
設(shè)計模式的戰(zhàn)術(shù)標(biāo)圖系統(tǒng)數(shù)據(jù)組織與管理設(shè)計*
陳行軍1,劉興林1,祁薇2
(大連艦艇學(xué)院作戰(zhàn)軟件與仿真研究所,遼寧大連116018;大連艦艇學(xué)院基礎(chǔ)部,遼寧大連116018)
摘要:戰(zhàn)術(shù)標(biāo)圖系統(tǒng)是軍隊(duì)指揮自動化的基礎(chǔ)性工作之一,設(shè)計模式的使用有助于提高軟件設(shè)計質(zhì)量和開發(fā)效率。在闡述戰(zhàn)術(shù)標(biāo)圖系統(tǒng)以數(shù)據(jù)、視圖和控制器分離為基礎(chǔ)的總體結(jié)構(gòu)后,著重分析了系統(tǒng)在數(shù)據(jù)組織和管理方面的功能需求,結(jié)合Factory Method、Composite和State設(shè)計模式思想,提出了相應(yīng)設(shè)計模型。設(shè)計模式的使用,提高了戰(zhàn)術(shù)標(biāo)圖系統(tǒng)的穩(wěn)定性、可擴(kuò)展性和易維護(hù)性。
關(guān)鍵詞:戰(zhàn)術(shù)標(biāo)圖,設(shè)計模式,設(shè)計質(zhì)量,可擴(kuò)展性,開發(fā)效率
戰(zhàn)術(shù)標(biāo)圖是指在地形圖、地形略圖、航空影像或海圖等底圖上,用軍隊(duì)標(biāo)號和文字標(biāo)繪有關(guān)合同戰(zhàn)術(shù)情況的工作[1]。戰(zhàn)術(shù)標(biāo)圖系統(tǒng)則試圖以數(shù)字化標(biāo)圖代替人工紙上標(biāo)圖,具有自動化程度高、更新速度快、表現(xiàn)形式活,操作簡便,便于復(fù)制、修改、存儲和輸出等優(yōu)點(diǎn)[2],與現(xiàn)代戰(zhàn)爭瞬息萬變的節(jié)奏相適應(yīng),美、英等西方軍事強(qiáng)國早有成熟應(yīng)用。
國內(nèi)戰(zhàn)術(shù)標(biāo)圖系統(tǒng)的研究一方面是源于某些仿真系統(tǒng)希望以標(biāo)圖方式生成仿真所需要的想定[3];另一方面源于軍隊(duì)指揮自動化實(shí)現(xiàn)過程對軍事標(biāo)圖作業(yè)自動化的需要[4]。從發(fā)展趨勢看,王凈[5]和楊若鵬[6]等研究了如何實(shí)現(xiàn)與地理信息平臺和圖形顯示平臺無關(guān)的通用軍事標(biāo)圖系統(tǒng),趙振南[7]等則研究了基于發(fā)布/訂閱和消息中間件技術(shù)的分布式標(biāo)圖系統(tǒng)。從研究范圍來看,上述文獻(xiàn)主要集中于如何可視化表達(dá)復(fù)雜軍標(biāo)圖元、如何管控所標(biāo)繪出來的軍標(biāo)圖元及如何實(shí)現(xiàn)軍標(biāo)標(biāo)繪管理與電子海圖的解耦,至于如何更好地支持所標(biāo)繪軍標(biāo)圖元背后的戰(zhàn)術(shù)知識管理,則未見有相關(guān)研究。
實(shí)際上,戰(zhàn)術(shù)標(biāo)圖的過程是指揮員表達(dá)、傳遞和交流戰(zhàn)場情況及作戰(zhàn)企圖等相關(guān)知識的過程,但軍標(biāo)圖元本身的表達(dá)能力有限,局限于數(shù)量及空間位置的概略表達(dá),難以完整描述軍標(biāo)圖元背后的戰(zhàn)術(shù)知識,更難以滿足不同指揮員、不同情況下所關(guān)注重點(diǎn)不盡相同的需要。因此,本文在實(shí)現(xiàn)通用標(biāo)圖功能基礎(chǔ)上,設(shè)計了一個可收集、管理各類戰(zhàn)術(shù)知識的戰(zhàn)術(shù)標(biāo)圖系統(tǒng)。
好的系統(tǒng)設(shè)計源于對過去成功開發(fā)經(jīng)驗(yàn)的借鑒,由于戰(zhàn)術(shù)知識無法被窮舉,為了得到良好穩(wěn)定性、通用性和可擴(kuò)充性,本系統(tǒng)采用了設(shè)計模式[8]的思想,將其他項(xiàng)目開發(fā)中總結(jié)的經(jīng)驗(yàn)和自身項(xiàng)目的實(shí)際開發(fā)情況相結(jié)合,使開發(fā)人員可以更簡單方便地復(fù)用成功的設(shè)計和體系結(jié)構(gòu)。
本文工作組織如下:①先對系統(tǒng)的總體邏輯結(jié)構(gòu)進(jìn)行描述;②然后對系統(tǒng)的功能進(jìn)行簡要分析;③根據(jù)Factory Method、Composite和State設(shè)計模式思想并結(jié)合該系統(tǒng)的功能特點(diǎn)給出設(shè)計模型。
對系統(tǒng)的總體結(jié)構(gòu),采用層次化、模塊化的框架結(jié)構(gòu),將系統(tǒng)分為數(shù)據(jù)、視圖和控制器三部分。數(shù)據(jù)包括海圖數(shù)據(jù)、軍標(biāo)圖元數(shù)據(jù)及戰(zhàn)術(shù)數(shù)據(jù);視圖提供數(shù)據(jù)的展示,包括海圖、海圖上軍標(biāo)圖元的顯示、表頁及打印輸出結(jié)果;控制器實(shí)現(xiàn)對系統(tǒng)內(nèi)部狀態(tài)、人機(jī)交互方式、數(shù)據(jù)、視圖顯示同步及打印輸出的管控,是系統(tǒng)業(yè)務(wù)邏輯的體現(xiàn)。其系統(tǒng)總體結(jié)構(gòu)如圖1所示。
圖1總體結(jié)構(gòu)圖
從用戶使用角度來看,戰(zhàn)術(shù)標(biāo)圖系統(tǒng)的功能包括海圖操作、繪圖操作、文件操作和打印操作等方面,其設(shè)計在文獻(xiàn)[1-2,5-6]中都有討論,因此,本文側(cè)重于研究如何通過戰(zhàn)術(shù)標(biāo)圖,實(shí)現(xiàn)戰(zhàn)術(shù)知識的收集和管理,即總體結(jié)構(gòu)圖種數(shù)據(jù)模塊的數(shù)據(jù)組織方式設(shè)計和控制器模塊有關(guān)數(shù)據(jù)管理的設(shè)計。至于圖元布局、復(fù)雜軍標(biāo)圖元的顯示和表頁圖形對話框的顯示風(fēng)格等有關(guān)視圖模塊的設(shè)計,本文不予討論。
2.1數(shù)據(jù)組織功能需求
戰(zhàn)術(shù)標(biāo)圖系統(tǒng)中,數(shù)據(jù)的范圍涵蓋海圖數(shù)據(jù)、軍標(biāo)圖元數(shù)據(jù)和戰(zhàn)術(shù)數(shù)據(jù)。
海圖數(shù)據(jù)描述了當(dāng)前所使用海圖和海圖的顯示狀態(tài),包括當(dāng)前操作海圖的類型、圖幅名稱、比例尺及圖層顯示選擇等信息;軍標(biāo)圖元數(shù)據(jù)描述是何種軍標(biāo)、軍標(biāo)的顯示狀態(tài)及組合關(guān)系,包括軍標(biāo)圖元的類型、代碼、顏色、大小、線型、線寬、標(biāo)示號、位置及圖元的組合關(guān)系信息;戰(zhàn)術(shù)數(shù)據(jù)則是附加描述軍標(biāo)圖元所承載的戰(zhàn)術(shù)知識,根據(jù)具體情況的不同而不同。
上述數(shù)據(jù)類別中,多個軍標(biāo)可通過組合操作形成組合軍標(biāo),根據(jù)組合軍標(biāo)特點(diǎn),此種組合關(guān)系對系統(tǒng)設(shè)計有如下需求:
①組合對象需要涵蓋獨(dú)立軍標(biāo)和組合軍標(biāo);
②組合軍標(biāo)的初始狀態(tài)通過綜合被組合軍標(biāo)的狀態(tài)來確定,這些狀態(tài)包括是否可移動、是否可復(fù)制和是否可刪除等;
③組合軍標(biāo)在移動、刪除、框選、復(fù)制和剪切等軍標(biāo)操作方面,等同于獨(dú)立軍標(biāo);
④取消組合后,不影響被組合軍標(biāo)的狀態(tài)。
對于戰(zhàn)術(shù)知識,其特點(diǎn)是依附于軍標(biāo),可稱為軍標(biāo)的戰(zhàn)術(shù)屬性,但并非所有軍標(biāo)都有戰(zhàn)術(shù)屬性,且不同軍標(biāo)的戰(zhàn)術(shù)屬性可能不同;考慮到作戰(zhàn)方法的靈活性,戰(zhàn)術(shù)知識隨時都有可能被擴(kuò)充。這些特點(diǎn)對系統(tǒng)設(shè)計有如下需求:
①戰(zhàn)術(shù)屬性作為軍標(biāo)對象屬性的組成部分,需要被統(tǒng)一處理;
②不同類別的軍標(biāo)對應(yīng)不同的戰(zhàn)術(shù)屬性目標(biāo);③戰(zhàn)術(shù)屬性的采集應(yīng)具備良好可擴(kuò)展性。
2.2數(shù)據(jù)管理功能需求
基于系統(tǒng)總體框架,業(yè)務(wù)邏輯主要體現(xiàn)在數(shù)據(jù)管理模塊中,根據(jù)戰(zhàn)術(shù)標(biāo)圖系統(tǒng)在數(shù)據(jù)采集、修改、復(fù)制和保存等環(huán)節(jié)的特點(diǎn),對數(shù)據(jù)管理模塊的設(shè)計有如下需求:
①針對作用于軍標(biāo)圖元上的“屬性設(shè)置”命令,數(shù)據(jù)管理模塊決定是否關(guān)聯(lián)/關(guān)聯(lián)哪一類戰(zhàn)術(shù)屬性模板,包括屬性模板中的業(yè)務(wù)邏輯,如限定可添加兵力的范圍等;
②針對作用于軍標(biāo)圖元上的移動、刪除和剪切等操作,數(shù)據(jù)管理模塊根據(jù)內(nèi)部狀態(tài),決定軍標(biāo)對象的響應(yīng)方式;
③需要實(shí)時控制圖形和表頁這兩類視圖內(nèi)容的同步;
④需要實(shí)現(xiàn)繪圖操作的回退/恢復(fù)控制;⑤需要實(shí)現(xiàn)數(shù)據(jù)的導(dǎo)入和導(dǎo)出。
根據(jù)需求,本文使用Factory Method模式、Composite模式和State模式來解決戰(zhàn)術(shù)標(biāo)圖系統(tǒng)中數(shù)據(jù)組織與管理所面臨問題。
3.1 Factory Method模式的應(yīng)用
Factory Method(F_M)模式意義在于:定義一個用于創(chuàng)建對象的接口,讓子類決定實(shí)例化哪一個類,即將類的實(shí)例化延遲到其子類[8],它使得客戶在使用一組類的時候,可以在不改變使用方式的前提下,重新定義子類,以適應(yīng)性地滿足新的需求。
在戰(zhàn)術(shù)標(biāo)圖系統(tǒng)中,戰(zhàn)術(shù)屬性的種類紛繁復(fù)雜,對應(yīng)著不同種類的戰(zhàn)術(shù)屬性模板,但有關(guān)戰(zhàn)術(shù)屬性的收集、編輯和保存操作卻基本一致,且都與軍標(biāo)圖元一一對應(yīng)。這樣,就可以在軍標(biāo)圖元類CZJB上,關(guān)聯(lián)一個戰(zhàn)術(shù)屬性基類指針(m_pTactAttri),所有軍標(biāo)的戰(zhàn)術(shù)屬性類通過基類(CZJBTactAttri)派生而來,通過各自實(shí)現(xiàn)newObj()方法和Serialize()方法達(dá)成對戰(zhàn)術(shù)屬性對象的創(chuàng)建與序列號,如圖2所示。最終效果是統(tǒng)一了不同類型戰(zhàn)術(shù)屬性的處理方式,提高了系統(tǒng)的可維護(hù)性和可擴(kuò)展性。
圖2 F_M模式在標(biāo)圖系統(tǒng)中的應(yīng)用
3.2 Composite模式的應(yīng)用
文獻(xiàn)[2]闡述了Composite模式的原始結(jié)構(gòu)及在固定符號、文本之間相關(guān)位置及關(guān)系中的應(yīng)用,本文簡述此模式在數(shù)據(jù)組織與管理中的應(yīng)用,如圖3所示。通過這種設(shè)計,軍標(biāo)組(CZJBGroup)中可包含單個軍標(biāo)(CZJB),也可包含軍標(biāo)組自身,最終效果是實(shí)現(xiàn)了軍標(biāo)和軍標(biāo)組在響應(yīng)用戶輸入操作方面的統(tǒng)一,提高了組合的靈活性。
圖3 Composite模式在標(biāo)圖系統(tǒng)中的應(yīng)用
3.3 State模式的應(yīng)用
State模式的意義在于:允許一個對象在其內(nèi)部狀態(tài)改變時,改變它的行為,一個State對象封裝了一個與狀態(tài)相關(guān)的行為[8],它使得相互之間耦合度較小的系統(tǒng)狀態(tài)分布聚合于狀態(tài)對象,從而簡化了業(yè)務(wù)處理邏輯。
圖4 State模式在標(biāo)圖系統(tǒng)中的應(yīng)用
在戰(zhàn)術(shù)標(biāo)圖系統(tǒng)中,軍標(biāo)圖元需要根據(jù)不同的狀態(tài)對用戶的操作做出響應(yīng),不同軍標(biāo)圖元之間的狀態(tài)耦合度低。這樣,就可以在軍標(biāo)圖元類CZJB上,關(guān)聯(lián)一個狀態(tài)對象(CZJBAttriSet),如圖4所示,所有軍標(biāo)操作,包括移動、復(fù)制、剪切、組合和屬性設(shè)置等操作,都通過此類處理后,再決定軍標(biāo)對象的行為,并且通過與Composite模式的組合運(yùn)用,實(shí)現(xiàn)了包括根據(jù)需要,彈出不同類型戰(zhàn)術(shù)屬性設(shè)置對話框,最終統(tǒng)一了軍標(biāo)圖元在人機(jī)交互處理方面的一致性,提高了系統(tǒng)的可擴(kuò)展性。
本文根據(jù)戰(zhàn)術(shù)標(biāo)圖系統(tǒng)在數(shù)據(jù)組織與管理方面的需求,給出了結(jié)合Factory Method模式、Composite模式和State模式的系統(tǒng)設(shè)計模型,實(shí)現(xiàn)了圍繞軍標(biāo)圖元的人機(jī)交互及數(shù)據(jù)手機(jī)管理的統(tǒng)一處理,在滿足功能設(shè)計需求的同時,有利于系統(tǒng)并行開發(fā)過程的分工合作,而且在戰(zhàn)術(shù)知識發(fā)生變化需要對戰(zhàn)術(shù)標(biāo)圖系統(tǒng)實(shí)施擴(kuò)展時,只需要增加相應(yīng)的軍標(biāo)圖元和戰(zhàn)術(shù)屬性模板即可,從而使系統(tǒng)具有良好穩(wěn)定性、可擴(kuò)展性和易維護(hù)性。當(dāng)然在系統(tǒng)的設(shè)計過程中還應(yīng)用到了其他的一些設(shè)計模式,如支撐回退/撤銷功能的Memento模式,以及管理系統(tǒng)對鍵盤鼠標(biāo)消息的職責(zé)鏈模式等,其在通用標(biāo)圖系統(tǒng)中已有論述,本文不再涉及。
參考文獻(xiàn):
[1]李歡,孫茂印,湯曉安,等.數(shù)字化戰(zhàn)術(shù)標(biāo)圖系統(tǒng)關(guān)鍵技術(shù)研究[J].系統(tǒng)仿真學(xué)報,2008,20(10):2624-2628.
[2]賀志國,曾俊,陳天澤,等.設(shè)計模式在標(biāo)圖系統(tǒng)中的綜合應(yīng)用[J].計算機(jī)應(yīng)用研究,2005(9):176-179.
[3]滕宗平,俞一鳴,熊焰,等.作戰(zhàn)模擬系統(tǒng)中可視化想定編輯器的設(shè)計與實(shí)現(xiàn)[J].火力與指揮控制,2006,31(11):107-110.
[4]姚龍海,齊鋒.軍事標(biāo)圖系統(tǒng)中復(fù)雜軍標(biāo)的實(shí)現(xiàn)方法[J].系統(tǒng)工程與電子技術(shù),2000,22(2):60-63.
[5]王凈,劉建忠.基于COM結(jié)構(gòu)的軍事標(biāo)圖組件的設(shè)計與實(shí)現(xiàn)[J].測繪學(xué)院學(xué)報,2004,21(4):308-310.
[6]楊若鵬,楊建軍,黃偉.軍事標(biāo)圖系統(tǒng)體系結(jié)構(gòu)及關(guān)鍵技術(shù)[J].火力與指揮控制,2011,36(4):167-171.
[7]趙振南,周獻(xiàn)中.分布式標(biāo)圖系統(tǒng)關(guān)鍵技術(shù)研究[J].火力與指揮控制,2009,34(3):123-127.
[8]ERICH G,RICHARD H,RALPH J,et al. Design patterns [M].北京:機(jī)械工業(yè)出版社,2002.
Data Management and Organization Design in Tactics Plotting System
CHEN Xing-jun1,LIU Xing-lin1,QI Wei2
(1.Operation Software and Simulation Institute,Dalian Naval Academy,Dalian 116018,China;2. Department of Basic Science,Dalian Naval Academy,Dalian 116018,China)
Abstract:The tactics plotting system is one of basic wok of military command automation,the use of design patterns can help to improve software quality and development efficiency. After explaining the overall structure of tactical plotting system on the basis of data、view and controller separation,analyzing the functional requirements of the system in data organization and management,this paper proposes the corresponding design ideas combined with Factory Method,Composite and State design pattern. The use of design patterns to improve the system stability,scalability and maintainability.
Key words:tactics plotting,design patterns,design quality,scalability,development efficiency
作者簡介:陳行軍(1982-),男,湖南咸寧人,助理研究員。研究方向:輔助決策技術(shù)和軟件工程。
*基金項(xiàng)目:中國博士后基金資助項(xiàng)目
收稿日期:2015-01-08
文章編號:1002-0640(2016)02-0166-03
中圖分類號:TP319,TP391.9
文獻(xiàn)標(biāo)識碼:A
修回日期:2015-03-19