隨著網(wǎng)絡(luò)" title="網(wǎng)絡(luò)">網(wǎng)絡(luò)技術(shù)的發(fā)展,,尤其是.NET技術(shù)的飛速發(fā)展,,使得實(shí)現(xiàn)較為復(fù)雜的網(wǎng)絡(luò)系統(tǒng)設(shè)計(jì)已成為可能,也為系統(tǒng)的集成和二次開(kāi)發(fā)提供了一個(gè)平臺(tái),。為了滿足通信指揮訓(xùn)練的實(shí)際需要和網(wǎng)絡(luò)應(yīng)用進(jìn)一步發(fā)展的要求,,在此提出了一種B/S模式下基于GIS的通信指揮網(wǎng)上訓(xùn)練系統(tǒng)設(shè)計(jì)。
1 GIS及其控件簡(jiǎn)介
地理信息系統(tǒng)(geographic information system,,GIS)是整個(gè)地球或部分區(qū)域的資源環(huán)境在計(jì)算機(jī)" title="計(jì)算機(jī)">計(jì)算機(jī)中的縮影,,是反映人們賴以生存的現(xiàn)實(shí)世界的現(xiàn)狀與變遷的各類(lèi)空間數(shù)據(jù)及描述這些空間數(shù)據(jù)特征的屬性,是在計(jì)算機(jī)軟件和硬件的支持下,,以一定的格式輸入,、存儲(chǔ)、檢索,、顯示和綜合分析應(yīng)用的技術(shù)系統(tǒng)。
GIS的基本功能包括空間數(shù)據(jù)輸入,、數(shù)據(jù)處理,、數(shù)據(jù)存儲(chǔ)與組織、空間查詢與分析,、圖形與交互顯示等,。MapX是基于ActiveX技術(shù)的可編程組件,是在MapInfo公司為Microsoft" title="Microsoft">Microsoft Office開(kāi)發(fā)的可視化地圖組件DataMap的基礎(chǔ)上推出的,。它提供了真正的對(duì)象聯(lián)接與嵌入控件,,能夠同標(biāo)準(zhǔn)的編程語(yǔ)言,如delphi,VB,,VC++等結(jié)合進(jìn)行開(kāi)發(fā),。MapX具有如下特點(diǎn):
(1)按圖層組織計(jì)算機(jī)地圖,可以與數(shù)據(jù)庫(kù)中的圖表實(shí)現(xiàn)真正的交融,。
(2)使用的圖層為矢量圖層,,可以進(jìn)行無(wú)限的放大或縮小。
(3)采用組件技術(shù),,縮短程序開(kāi)發(fā)周期,。MapX可以脫離MapInfo平臺(tái)運(yùn)行,并且提供了一個(gè)流線化的對(duì)象模型,,大量的方法和事件,,高效的屬性頁(yè)和默認(rèn)值,以及其他向?qū)?,以此?lái)幫助簡(jiǎn)化應(yīng)用開(kāi)發(fā),。
該系統(tǒng)利用VC++編譯器進(jìn)行編程,在整個(gè)開(kāi)發(fā)過(guò)程中,,根據(jù)具體功能要求,,采用了基于組件技術(shù)的二次開(kāi)發(fā),在本系統(tǒng)設(shè)計(jì)中,,二次開(kāi)發(fā)主要是通過(guò)與MapX控件的集成,,將電子地圖功能嵌入到本系統(tǒng)中。
2 系統(tǒng)設(shè)計(jì)
2.1 總體設(shè)計(jì)
“通信指揮網(wǎng)上訓(xùn)練系統(tǒng)”是以總隊(duì)指揮自動(dòng)化信息網(wǎng)為平臺(tái),,為各級(jí)領(lǐng)導(dǎo)機(jī)關(guān)提供相關(guān)通信信息及通信人員訓(xùn)練服務(wù)而建立的通信訓(xùn)練平臺(tái),。系統(tǒng)包含了人員、信息管理,、模擬訓(xùn)練,、指揮輔助決策、信息綜合網(wǎng)絡(luò)發(fā)布等子系統(tǒng),。系統(tǒng)總體設(shè)計(jì)圖如圖1所示,。其中,模擬訓(xùn)練子系統(tǒng)為核心部分,,采用VC++與MapX相結(jié)合進(jìn)行二次開(kāi)發(fā),,內(nèi)容主要包括軍事標(biāo)圖、訓(xùn)練指定想定作業(yè),、創(chuàng)建新的想定作業(yè),、數(shù)據(jù)庫(kù)操作等幾大部分。在此重點(diǎn)對(duì)這一子系統(tǒng)進(jìn)行設(shè)計(jì)分析,。
2.2 主要功能模塊設(shè)計(jì)
2.2.1 用戶信息管理模塊
負(fù)責(zé)用戶權(quán)限管理,、用戶信息管理等業(yè)務(wù),。系統(tǒng)權(quán)限層次劃分為參謀、高級(jí)參謀,、專(zhuān)家,、系統(tǒng)管理員。
(1)參謀,。為權(quán)限最低用戶,,也是該系統(tǒng)的主要服務(wù)對(duì)象,通信人員均可以通過(guò)網(wǎng)絡(luò)申請(qǐng)成為參謀,,以用戶名和警官證號(hào)雙重登陸后進(jìn)行個(gè)人信息修改,、資料檢索、學(xué)習(xí)案例,、訓(xùn)練等,。只可以查看自身信息。
(2)高級(jí)參謀,。通信部門(mén)的領(lǐng)導(dǎo)登陸可以申請(qǐng)成為高級(jí)參謀,,登陸后在進(jìn)行學(xué)習(xí)、訓(xùn)練的同時(shí),,還可以查看各參謀的信息,,并對(duì)各參謀的訓(xùn)練效果進(jìn)行評(píng)價(jià)。
(3)專(zhuān)家,。由系統(tǒng)管理員任命生效,,一名專(zhuān)家可以參與多個(gè)參謀和高級(jí)參謀的指揮訓(xùn)練任務(wù),專(zhuān)家的權(quán)限在于給所負(fù)責(zé)參謀的訓(xùn)練進(jìn)行評(píng)判,。
(4)系統(tǒng)管理員,。為系統(tǒng)最高權(quán)限用戶,負(fù)責(zé)高級(jí)參謀和專(zhuān)家的任命工作,,以及數(shù)據(jù)庫(kù)的全面維護(hù)管理,。同時(shí)可以根據(jù)需要對(duì)各用戶權(quán)限進(jìn)行進(jìn)一步劃分。
.2.2 軍事標(biāo)圖模塊
由于軍用地圖的繪制要求精度高,,保密級(jí)別高,,不允許未經(jīng)上級(jí)批準(zhǔn)的單位和個(gè)人擅自制作軍用地圖。因此,,對(duì)軍用電子地圖大都是進(jìn)行二次開(kāi)發(fā),,以滿足訓(xùn)練和作戰(zhàn)等需要。
該模塊負(fù)責(zé)作戰(zhàn)區(qū)域和行動(dòng)路線的軍事標(biāo)圖,,標(biāo)圖的目的是把信息用可視化的形式在地圖上顯示出來(lái),以方便從地圖上觀測(cè)各種數(shù)據(jù),,結(jié)合所選擇的通信裝備進(jìn)行數(shù)字化標(biāo)圖,,給作戰(zhàn)人員一種直觀的印象,。在標(biāo)圖的過(guò)程中,可以實(shí)現(xiàn)重點(diǎn)部分的放大或縮小,,實(shí)現(xiàn)通信指揮訓(xùn)練過(guò)程中圖上基本作業(yè)功能,,以達(dá)到提高受訓(xùn)人員識(shí)圖用圖能力的目的。
MapX在VC++中實(shí)現(xiàn)標(biāo)圖主要包括電子地圖功能的嵌入以及根據(jù)實(shí)際需要完成的各項(xiàng)應(yīng)用功能,。(1)Project>Ad To Project>Files,,選擇MapX.cpp和MapX.h(即將MapX支持類(lèi)庫(kù)加入工程文件)。這2個(gè)文件包含用于對(duì)MapX控件進(jìn)行訪問(wèn)的類(lèi)定義和方法實(shí)現(xiàn),。
(2)定義一個(gè)CmapX對(duì)象:
(3)聲明一個(gè)常量:
(4)對(duì)象實(shí)例的創(chuàng)建,。將(1)中兩文件加入工程后,用視圖類(lèi)的構(gòu)造函數(shù)聲明全局變量,,并在響應(yīng)WM_CREATE消息的OnCreate()函數(shù)創(chuàng)建地圖對(duì)象,,代碼如下:
(5)圖形工具。包含實(shí)現(xiàn)圖形的移動(dòng),、放大,、縮小、居中和地圖的編輯等功能,,只需設(shè)定MapX對(duì)象的CurrentTool屬性即可,,具體可調(diào)用以下函數(shù)來(lái)實(shí)現(xiàn)。
2.2.3 專(zhuān)家評(píng)判模塊
在對(duì)通信指揮人員的訓(xùn)練結(jié)果進(jìn)行評(píng)分時(shí)還要負(fù)責(zé)對(duì)其長(zhǎng)期訓(xùn)練效果做出客觀評(píng)價(jià),。對(duì)于指定想定模塊的訓(xùn)練由系統(tǒng)本身設(shè)定的正確答案對(duì)訓(xùn)練人員進(jìn)行評(píng)分,,對(duì)于新的想定模塊的訓(xùn)練由網(wǎng)上的專(zhuān)家進(jìn)行評(píng)判。
3 數(shù)據(jù)庫(kù)設(shè)計(jì)
數(shù)據(jù)庫(kù)在一個(gè)系統(tǒng)中占有非常重要的地位,,數(shù)據(jù)庫(kù)結(jié)構(gòu)設(shè)計(jì)的好壞將直接對(duì)應(yīng)用系統(tǒng)的效率以及實(shí)現(xiàn)的效果產(chǎn)生影響,。合理的數(shù)據(jù)庫(kù)結(jié)構(gòu)設(shè)計(jì)可以提高數(shù)據(jù)存儲(chǔ)的效率,保證數(shù)據(jù)的完整和一致,。同時(shí)合理的數(shù)據(jù)庫(kù)結(jié)構(gòu)也將有利于程序的實(shí)現(xiàn),。本系統(tǒng)采用SQLServer2005作為后臺(tái)數(shù)據(jù)庫(kù)管理系統(tǒng)。如何實(shí)現(xiàn)對(duì)數(shù)據(jù)庫(kù)的訪問(wèn)是系統(tǒng)設(shè)計(jì)的重中之重,。本系統(tǒng)采用ADO數(shù)據(jù)庫(kù)訪問(wèn)技術(shù),,以實(shí)現(xiàn)對(duì)數(shù)據(jù)庫(kù)的設(shè)置操作和實(shí)時(shí)訪問(wèn)。由于在默認(rèn)的情況下,,VC++不支持ADO對(duì)象,,所以在通過(guò)ADO對(duì)象訪問(wèn)數(shù)據(jù)庫(kù)時(shí)需要將ADO庫(kù)文件導(dǎo)入到工程中。導(dǎo)入代碼為:#import” c:ProgramFilesCommon FilesSystemadomsado15.dll”no_namespace rename ( “ EoF”,,“ adoEOF”)rename(“BOF”“ad-oBOF”),。
4 結(jié)語(yǔ)
在此從基于B/S結(jié)構(gòu)的Web技術(shù)研究出發(fā),完成了通信指揮訓(xùn)練系統(tǒng)的設(shè)計(jì)和實(shí)現(xiàn),。采用B/S模式避免了客戶端復(fù)雜的開(kāi)發(fā)過(guò)程,,提高了系統(tǒng)的整體開(kāi)發(fā)效率,,系統(tǒng)的可維護(hù)性和可擴(kuò)展性好。根據(jù)實(shí)際情況,,采用了基于GIS的開(kāi)發(fā)平臺(tái),,不僅滿足了通信人員日常的基本訓(xùn)練需求,還為處突,、反恐,、執(zhí)行重大軍事任務(wù)提供了一個(gè)經(jīng)驗(yàn)平臺(tái)。
該設(shè)計(jì)采用了B/S模式代替?zhèn)鹘y(tǒng)的C/S模式,,提高了系統(tǒng)的整體性能和開(kāi)發(fā)效率;在Visual C++等編程工具開(kāi)發(fā)的應(yīng)用程序中,,以組件的形式直接將GIS功能控件MapX嵌入其中,實(shí)現(xiàn)了地理信息系統(tǒng)的各類(lèi)功能,。