国产日韩欧美一区二区三区三州_亚洲少妇熟女av_久久久久亚洲av国产精品_波多野结衣网站一区二区_亚洲欧美色片在线91_国产亚洲精品精品国产优播av_日本一区二区三区波多野结衣 _久久国产av不卡

?

基于MFC和Access的航電加載數(shù)據(jù)管理軟件設(shè)計與實現(xiàn)

2018-01-28 21:07趙倩張燕平
電子技術(shù)與軟件工程 2017年18期

趙倩+張燕平

摘要

為了對機載航電設(shè)備的加載參數(shù)進行集中管理、并為設(shè)備的參數(shù)加載功能提供重要的準備工作,基于MFC框架、Access數(shù)據(jù)庫以及ADO數(shù)據(jù)庫訪問技術(shù),設(shè)計并實現(xiàn)了安裝在地面站計算機上的航電加載數(shù)據(jù)管理軟件。軟件的主要功能是:顯示、編輯和管理加載數(shù)據(jù),生成加載用數(shù)據(jù)文件,以及對數(shù)據(jù)文件進行解析后使用。實際使用效果證明:該軟件的用戶界面簡潔直觀、易學(xué)易操作、功能完善,并且可維護性和可擴展性好。

【關(guān)鍵詞】航電加載數(shù)據(jù)管理 軟件設(shè)計與實現(xiàn) MFC框架 Access數(shù)據(jù)庫 ADO數(shù)據(jù)庫訪問

航空電子系統(tǒng)是飛機上所有電子設(shè)備的綜合,涵蓋通信、導(dǎo)航、雷達、電子戰(zhàn)、飛行控制和管理等各個系統(tǒng)的電子子系統(tǒng),同時也包括這些系統(tǒng)間用于信息交換和資源共享的信息綜合系統(tǒng)。隨著計算機技術(shù)、數(shù)字通信技術(shù)和網(wǎng)絡(luò)技術(shù)的發(fā)展,航電系統(tǒng)也向綜合模塊化(IMA:Integrated Module Avionics)方向發(fā)展,其軟硬接口(ICD)涉及的信號量也在不斷增加,而且各種數(shù)據(jù)之間的交聯(lián)關(guān)系又非常復(fù)雜。

在大中型甚至小型飛機上,面對越來越多的應(yīng)用數(shù)據(jù),如:航路點有幾百個甚至上千個、飛行計劃數(shù)十條甚至上百條、超短波電臺上百條的波道參數(shù)、短波電臺的各種通訊參數(shù)等,僅靠人工在機載顯示器上使用機載輸入設(shè)備進行設(shè)置,效率低下、難以滿足用戶的使用要求。針對這種情況,通常配備專用的地面站計算機,使用安裝好的加載數(shù)據(jù)管理軟件對機上各設(shè)備的參數(shù)數(shù)據(jù)進行集中管理,然后將準備好的符合特定格式要求的數(shù)據(jù)文件放入數(shù)據(jù)傳輸裝置中,通過機載顯示器按照簡單的操作步驟讀取數(shù)據(jù)后統(tǒng)一加載到各機載設(shè)備中。

在這種應(yīng)用中,航電加載數(shù)據(jù)管理軟件提供了重要的準備工作,不僅要符合機載設(shè)備對數(shù)據(jù)的各種要求、滿足系統(tǒng)需求的所有功能,還需設(shè)計實現(xiàn)易學(xué)易用、簡潔直觀的操作界面供地面維護員等人員使用。

為了科學(xué)地管理不斷增大的加載數(shù)據(jù)量,并為用戶提供友好的界面顯示效果和操作方式,本文提出了基于MFC框架和Access數(shù)據(jù)庫技術(shù)的航電加載數(shù)據(jù)管理軟件設(shè)計方法,并對軟件進行了實現(xiàn),使用專業(yè)的數(shù)據(jù)庫工具管理加載數(shù)據(jù)內(nèi)容,使用微軟公司提供的Windows應(yīng)用程序方法設(shè)計并實現(xiàn)顯示界面和內(nèi)部邏輯,并通過ADO數(shù)據(jù)庫訪問技術(shù)實現(xiàn)數(shù)據(jù)庫與應(yīng)用程序的連接。

1相關(guān)理論與技術(shù)介紹

1.1MFC框架技術(shù)

MFC(MicrosoftFoundationClass,即微軟的基礎(chǔ)類)是微軟為了簡化程序員的開發(fā)工作所開發(fā)的一套C++類的集合,是一套面向?qū)ο蟮暮瘮?shù)庫,以類的方式提供給用戶使用,利用這些類,可以有效地幫助程序員完成Windows應(yīng)用程序的開發(fā)。

MFC的功能可分為用戶界面設(shè)計、文件操作、多媒體使用、數(shù)據(jù)庫訪問等。MFC的特性包括封裝、繼承、虛函數(shù)和消息映射。其中,CWnd是所有窗口類的基類,該類及其派生類封裝了Windows窗口的句柄,即HWND;通??芍苯邮褂肅Wnd類及其派生類,創(chuàng)建各種窗口,實現(xiàn)特定的功能。

1.2Access數(shù)據(jù)庫

數(shù)據(jù)庫(Database)是按照數(shù)據(jù)結(jié)構(gòu)組織、存儲和管理數(shù)據(jù)的倉庫。Access是Office系列軟件中用于管理數(shù)據(jù)庫的應(yīng)用軟件,可運行于各種Windows系統(tǒng)環(huán)境;Access繼承了Windows的特性,易于使用且界面友好,因此得到廣泛應(yīng)用。Access使用標準的SQL(Structured Query Language,結(jié)構(gòu)化查詢語言)作為數(shù)據(jù)庫語言,提供了強大的數(shù)據(jù)處理能力和通用性,是一個功能強大且易于使用的桌面關(guān)系型數(shù)據(jù)庫管理系統(tǒng)和應(yīng)用程序生成器。

1.3數(shù)據(jù)對象ADO技術(shù)

對于SQLServer或Access數(shù)據(jù)庫管理工具,采用面向?qū)ο蟮某绦蛟O(shè)計語言作為其前端開發(fā)工具時,有多種接口方式可供選擇,如:數(shù)據(jù)訪問對象技術(shù)JET、開放式數(shù)據(jù)庫連接性O(shè)DBC技術(shù)、遠程數(shù)據(jù)對象RDO技術(shù)、數(shù)據(jù)對象ADO技術(shù)等。

ADO(Active Data Objects)是一種基于COM(Component Object Model組件對象模型)技術(shù)和面向?qū)ο蟮臄?shù)據(jù)庫訪問技術(shù),可以訪問關(guān)系數(shù)據(jù)庫與非關(guān)系數(shù)據(jù)庫,目前主要用于訪問關(guān)系型數(shù)據(jù)庫。由于它是基于COM技術(shù)的,具有訪問速度快、占用資源小的優(yōu)點,并簡化了程序員數(shù)據(jù)存取的工作,便于使用。

2航電加載數(shù)據(jù)管理軟件設(shè)計

2.1主要功能和特點

針對某型直升機航空電子各設(shè)備的參數(shù)加載功能需求,為了對各設(shè)備的加載參數(shù)進行集中管理、并為參數(shù)加載功能提供重要的準備工作,本文基于MFC框架和Access數(shù)據(jù)庫技術(shù)設(shè)計并實現(xiàn)了一個新的航電加載數(shù)據(jù)管理軟件,程序通過ADO技術(shù)對數(shù)據(jù)庫進行訪問。軟件的主要功能是:所有加載數(shù)據(jù)的顯示、編輯和存儲,生成特定格式的數(shù)據(jù)文件用于加載,以及對加載用數(shù)據(jù)文件的解析與回放。

本文軟件主要由三部分構(gòu)成:數(shù)據(jù)層、用戶交互界面、加載用數(shù)據(jù)文件;三者之間存在數(shù)據(jù)交互,框架圖見圖1,詳細介紹見2.2和2.3節(jié)。

2.2數(shù)據(jù)庫設(shè)計

航電各設(shè)備的加載參數(shù)可按系統(tǒng)劃分,如:綜顯、導(dǎo)航、通信等;各系統(tǒng)下按模塊劃分,如:綜顯系統(tǒng)中含航路點和飛行計劃等模塊的數(shù)據(jù)、通信系統(tǒng)下含超短波電臺和短波電臺等模塊的數(shù)據(jù)。鑒于需進行參數(shù)加載的系統(tǒng)多、各系統(tǒng)下的模塊多,因此借助專業(yè)的數(shù)據(jù)庫工具管理數(shù)據(jù)。本文軟件涉及的數(shù)據(jù)量屬于中小型信息量級,采用Access數(shù)據(jù)庫足以實現(xiàn)對數(shù)據(jù)的有效管理。

應(yīng)用程序?qū)?shù)據(jù)庫的使用,不僅增快查詢數(shù)據(jù)的速度、減少數(shù)據(jù)冗余、節(jié)省存儲空間,并且可使數(shù)據(jù)與程序分離,數(shù)據(jù)完全獨立、便于管理,更好地實現(xiàn)數(shù)據(jù)的共享。設(shè)計數(shù)據(jù)庫時除了滿足現(xiàn)有功能的要求,還應(yīng)適應(yīng)表結(jié)構(gòu)在未來發(fā)生的變化,并使由變化導(dǎo)致的數(shù)據(jù)庫結(jié)構(gòu)沖突降低到最小。endprint

本文軟件數(shù)據(jù)庫的表結(jié)構(gòu)見圖1中數(shù)據(jù)層所示:每個系統(tǒng)中的每個模塊形成一個數(shù)據(jù)表,如:綜顯系統(tǒng)的航路點數(shù)據(jù)對應(yīng)一個數(shù)據(jù)表、飛行計劃數(shù)據(jù)對應(yīng)另一數(shù)據(jù)表…,其他系統(tǒng)的各模塊數(shù)據(jù)表設(shè)計類似。

2.3軟件架構(gòu)設(shè)計

圖1所示是軟件的整體架構(gòu)圖,下面給出三個主要構(gòu)成的具體信息。

(1)數(shù)據(jù)層:由Access數(shù)據(jù)表組成的數(shù)據(jù)管理中心,詳細內(nèi)容見2.2節(jié);

(2)用戶交互界面:直接面向使用者的顯示和操作界面,用MicrosoftVisualC++6.0平臺的基于對話框的編程技術(shù)實現(xiàn);程序讀取數(shù)據(jù)層的數(shù)據(jù)后將內(nèi)容顯示在交互界面上,使

用者在界面上對數(shù)據(jù)進行修改后可實時寫入數(shù)據(jù)層的對應(yīng)數(shù)據(jù)表中;

(3)加載用數(shù)據(jù)文件:是用于機載設(shè)備參數(shù)加載的數(shù)據(jù)文件,格式需符合與機載數(shù)據(jù)讀取設(shè)備(如:綜顯)之間定義好的接口控制文件要求。程序讀取數(shù)據(jù)層的數(shù)據(jù)進行處理后可生成加載用數(shù)據(jù)文件;另外,軟件也可對訪問到的加載用數(shù)據(jù)文件進行解析后寫入數(shù)據(jù)層對應(yīng)位置,并覆蓋原有內(nèi)容。

3航電加載數(shù)據(jù)管理軟件實現(xiàn)

本文軟件的開發(fā)工具是:WindowsXP操作系統(tǒng)環(huán)境下的Microsoft Visual C++6.0軟件開發(fā)工具和Microsoft Access 2003數(shù)據(jù)庫管理工具;運行環(huán)境要求是:Windows 2000及以上操作系統(tǒng)。

3.1用戶界面

3.1.1軟件主畫面

本文軟件主界面由一個基于MFC框架的對話框,并添加樹形控件、列表控件、按鈕等組成;整體布局分三部分,分別是左側(cè)由樹形控件實現(xiàn)的按系統(tǒng)和模塊劃分的目錄、中間由列表控件顯示的某系統(tǒng)某模塊的詳細數(shù)據(jù)顯示內(nèi)容、以及右側(cè)的三個功能鍵,其顯示效果如圖2所示。

(1)樹形目錄-按系統(tǒng)和模塊劃分:樹形目錄的一級節(jié)點按系統(tǒng)劃分,各系統(tǒng)下按模塊劃分二級節(jié)點;如有必要,還可依次劃分三級、四級節(jié)點,如:航路點可劃分為普通航路點和機場點等信息。目錄的組成應(yīng)層次清晰、劃分合理、一目了然;尤其是系統(tǒng)和模塊數(shù)量較大時,目錄的設(shè)計與實現(xiàn)直接影響界面的用戶友好性。

(2)詳細數(shù)據(jù)內(nèi)容列表:選中左側(cè)目錄任一最低級別節(jié)點后雙擊,中間列表出現(xiàn)對應(yīng)節(jié)點下所有的數(shù)據(jù)信息,這些信息從Access數(shù)據(jù)庫中提取得到。列表的每一列由數(shù)據(jù)的屬性值組成,如:航路點的屬性有“航路點號”、“緯度”、“經(jīng)度”、“高度”等;每行代表一項數(shù)據(jù),圖2列表中每行表示一個航路點。

從數(shù)據(jù)庫中提取數(shù)據(jù)在列表上進行顯示時,應(yīng)注意對數(shù)據(jù)進行適當(dāng)?shù)膿Q算,以保證顯示在界面上被用戶看到和使用的是直觀的、符合實際使用的數(shù)值,避免用戶自己進行計算、保證使用效果。

(3)功能鍵:主界面右側(cè)有三個功能鍵:生成文件、文件解析、取消。點擊“生成文件”鍵,可生成加載用數(shù)據(jù)文件,詳見3.2.1節(jié);點擊“文件解析”鍵,可解析并回放指定數(shù)據(jù)文件,詳見3.2.2節(jié)。點擊“取消”鍵,退出主界面,軟件運行結(jié)束。

3.1.2數(shù)據(jù)編輯畫面

雙擊主界面列表中的任一行數(shù)據(jù),彈出對應(yīng)數(shù)據(jù)的編輯窗口。圖3所示是綜顯系統(tǒng)-航路點目錄下一個機場點數(shù)據(jù)的編輯窗口。軟件以易用性為原則提供了多種數(shù)據(jù)修改方式,有下拉框、輸入框等,并給出數(shù)據(jù)的輸入范圍提示、以及輸入錯誤時的提示信息(如果有)。

數(shù)據(jù)修改完成后,點擊下方“保存”鍵,將修改后數(shù)據(jù)保存到Access數(shù)據(jù)庫并同步更新主界面列表的顯示,編輯窗口消失,回到主界面。點擊“取消”鍵,不對Access數(shù)據(jù)庫和主界面數(shù)據(jù)進行修改,數(shù)據(jù)內(nèi)容不變,編輯窗口消失,回到軟件主界面。

3.2Access數(shù)據(jù)庫與加載數(shù)據(jù)文件間數(shù)據(jù)轉(zhuǎn)化

軟件使用MFC的文件操作類實現(xiàn)對文件的打開、關(guān)閉、讀、寫、獲取文件信息等操作,使用ADO組件的Connection、Command和RecordSet對象等以及SQL語句實現(xiàn)程序與數(shù)據(jù)庫的連接、數(shù)據(jù)記錄的訪問和處理。

3.2.1加載數(shù)據(jù)文件的生成

完成數(shù)據(jù)的編輯、確認所有數(shù)據(jù)符合使用要求后,點擊主界面右側(cè)的“生成文件”鍵,彈出圖4所示的窗口提示使用者可生成加載用數(shù)據(jù)文件,并選擇路徑以存放文件。生成的數(shù)據(jù)文件需滿足接口控制文件的格式要求,因此軟件需對從Access數(shù)據(jù)庫提取的數(shù)據(jù)進行格式轉(zhuǎn)化。

3.2.2加載數(shù)據(jù)文件的解析與回放

實際應(yīng)用中,用戶經(jīng)常想在己有加載數(shù)據(jù)文件的基礎(chǔ)上對數(shù)據(jù)進行修改后,重新生成文件用于機載設(shè)備。針對這種功能,本文軟件提供了操作步驟進行實現(xiàn):點擊主界面右側(cè)的“文件解析”鍵,出現(xiàn)類似于圖4的窗口提示用戶選擇待解析文件,然后讀取文件將數(shù)據(jù)存儲到Access數(shù)據(jù)庫相應(yīng)位置、覆蓋原有數(shù)據(jù),并同步更新畫面顯示內(nèi)容。此后,用戶便可對新數(shù)據(jù)進行查看和修改,并可重新生成新的加載用數(shù)據(jù)文件。

4結(jié)論

本文基于MFC框架、Access數(shù)據(jù)庫和ADO數(shù)據(jù)庫訪問技術(shù)提出并實現(xiàn)了一種新的航電加載數(shù)據(jù)管理軟件,集中管理所有加載數(shù)據(jù)、為航電各子系統(tǒng)的參數(shù)加載功能提供了重要的準備工作。主要工作有:

(1)使用Access數(shù)據(jù)庫技術(shù)管理所有數(shù)據(jù),數(shù)據(jù)管理專業(yè)工具化、軟件實現(xiàn)和應(yīng)用不受數(shù)據(jù)量增大的局限;

(2)充分考慮使用者的使用習(xí)慣、不斷改進完善,設(shè)計實現(xiàn)了簡潔直觀的交互界面,讓使用者經(jīng)過少量培訓(xùn)甚至不需培訓(xùn),就能快速操作軟件;

(3)軟件架構(gòu)可擴展性好,若用于其他航電系統(tǒng),僅需按照新需求更改數(shù)據(jù)庫和數(shù)據(jù)文件的數(shù)據(jù)內(nèi)容,不需改動軟件架構(gòu),更改代價低。

實際使用效果說明:該軟件的用戶界面簡潔直觀、易學(xué)易操作、功能完善,并且可維護性和可擴展性好。

參考文獻

[1]馬建毅,鄭連澤.未來航空電子系統(tǒng)的發(fā)展方向[J].艦船電子工程,2014,34(03):4-8.

[2]牛強軍.航空電子系統(tǒng)的發(fā)展趨勢[J].西安航空技術(shù)高等??茖W(xué)校學(xué)報,2011,29(01):13-17.

[3]楊洋,嚴俊,谷清范.航空電子系統(tǒng)接口控制文檔工具的設(shè)計與實現(xiàn)[J].航空電子技術(shù),2014,45(01):24-29.

[4]王海青.航空電子系統(tǒng)綜合技術(shù)分析[J].飛機設(shè)計,2007,27(01):55-61.

[5]張雙,張磊,王曉陽.小型綜合航電加卸載技術(shù)研究[J].航空計算技術(shù),2011,41(04):128-131.

[6]張雙,茹偉,張磊.小型綜合座艙顯示系統(tǒng)軟件設(shè)計與實現(xiàn)[J].電光與控制,2013,20(06):62-65.

[7]孫鑫,余安萍.VC++深入詳解[M].北京:電子工業(yè)出版社,2007.

[8]姚領(lǐng)田.精通MFC程序設(shè)計[M].北京:人民郵電出版社,2006.

[9]郭琦,楊小輝,劉更等.基于關(guān)系型數(shù)據(jù)庫和Java內(nèi)容倉庫的機械產(chǎn)品仿真數(shù)據(jù)管理[J].機械設(shè)計與制造,2011,(05):237-239.

[10]孫晶晶,吳效明.基于Access數(shù)據(jù)庫的家庭健康監(jiān)護系統(tǒng)設(shè)計[J].醫(yī)療衛(wèi)生裝備,2012,33(03):21-24.

[11]蘇燕,梁武.基于Access數(shù)據(jù)庫教務(wù)管理系統(tǒng)的設(shè)計與實現(xiàn)[J].農(nóng)業(yè)網(wǎng)絡(luò)信息,2012,(10):135-137.

[12]楊富國.VisualC++程序開發(fā)案例解析[M].北京:清華大學(xué)出版社,北京交通大學(xué)出版社,2006:66-72.

[13]楊新安.電子扣費系統(tǒng)的設(shè)計與實現(xiàn)[D].西安:西安電子科技大學(xué),2012.

[14]馬玉濤.基于Intranet的遠程機房監(jiān)控系統(tǒng)的設(shè)計與實現(xiàn)[D].青島:中國海洋大學(xué),2009.

[15]楊得亮,崔松濤.基于VB和Access數(shù)據(jù)庫的電纜快速設(shè)計系統(tǒng)[J].計算機工程與設(shè)計,2011,32(12):4282-4285.

[16]石潤麗.海洋環(huán)境數(shù)據(jù)加載工具系統(tǒng)設(shè)計與實現(xiàn)[D].青島:中國海洋大學(xué),2011.endprint

宜城市| 屏东县| 察雅县| 苗栗县| 唐海县| 子洲县| 海丰县| 康保县| 宿迁市| 宁明县| 忻州市| 清流县| 泸定县| 环江| 彰武县| 石狮市| 定远县| 黄石市| 湖北省| 泗阳县| 汾西县| 视频| 奈曼旗| 滦平县| 和政县| 靖西县| 霍山县| 正蓝旗| 临湘市| 灵武市| 民权县| 巨鹿县| 许昌县| 肥乡县| 荔波县| 友谊县| 西宁市| 尖扎县| 巴塘县| 通山县| 密山市|