版權說明:本文檔由用戶提供并上傳,收益歸屬內容提供方,若內容存在侵權,請進行舉報或認領
文檔簡介
1地理信息系統(tǒng)工程設計
GIS工程設計是針對軟件開發(fā)自身的特點,制定出符合GIS工程的軟件開發(fā)管理模式與相應的軟件開發(fā)管理規(guī)范,以便最終開發(fā)出高質量GIS的規(guī)劃設計過程。GIS工程設計必須遵循軟件工程的方法和原理,它主要包括系統(tǒng)需求分析、系統(tǒng)總體設計和詳細設計三個階段。1地理信息系統(tǒng)工程設計
其中在系統(tǒng)需求分析階段是要完全弄清楚系統(tǒng)的各種需求,較好地解決所開發(fā)的系統(tǒng)“做什么”的問題,并在系統(tǒng)需求說明書和數據要求說明書中詳盡和充分地闡述這些需求,而系統(tǒng)的總體設計和詳細設計是要解決“怎么做”的問題。
1.1需求分析需求分析階段的主要任務是確定系統(tǒng)的目標和總體功能,需求分析是軟件開發(fā)活動的第一步,獲得正確的需求分析結果和描述性文檔是軟件開發(fā)成功的前提。地理信息系統(tǒng)軟件的需求分析包括用戶對系統(tǒng)的功能和系統(tǒng)的性能的需求。地理信息系統(tǒng)包括的功能很多,但必須根據用戶的需要進行選擇。
1.1需求分析地理信息系統(tǒng)軟件的需求分析的考慮因素有:輸入功能地理數據管理地理數據查詢方式地理信息輸出系統(tǒng)性能1.1需求分析可行性分析的主要步驟如下:分析現有地理信息系統(tǒng)軟件的優(yōu)缺點;分析所開發(fā)的地理信息系統(tǒng)軟件的使用對象的要求;選擇需要開發(fā)的所有模塊,并分析已有算法的實用性地理空間數據管理模式的選擇;估計開發(fā)成本和時間;提交可行性分析報告。
1.1需求分析目前有許多方法用于支持需求規(guī)約,如:
功能分解方法數據流方法信息模型方法(實體關系模型)面向對象方法1.2總體設計總體設計是確定系統(tǒng)的總體框架。不同系統(tǒng)的總體設計方案不盡相同,但是主要內容框架相近,其主要涉及的內容如下:
1)制定系統(tǒng)的目標和規(guī)范:包括所開發(fā)系統(tǒng)的近期目標、中期目標和長遠目標;所涉及的一些規(guī)范,如國家和行業(yè)的標準規(guī)范等,系統(tǒng)軟硬件接日規(guī)約、系統(tǒng)開發(fā)過程中的編碼規(guī)范和命名規(guī)則,設計和開發(fā)文檔編寫規(guī)范等。1.2總體設計
2)系統(tǒng)結構的總體設計:包括系統(tǒng)的總體架構、子系統(tǒng)的劃分、總體網絡和硬件組成、軟件系統(tǒng)(包括操作系統(tǒng)、數據庫和應用軟件等)組成、數據庫組成、空間數據組織與存儲方法等。
3)處理方式設計:實現系統(tǒng)某些功能,如空間分析、統(tǒng)計和查詢等所涉及的一些算法以及評估這些算法性能的方式等,如響應時間、精度、誤差、吞吐量等。
1.2總體設計
4)數據結構設計:確定系統(tǒng)所涉及的文件系統(tǒng)的組織方式和結構,數據庫的模式、子模式,數據的完整性和完全性設計等。
5)數據庫初步設計:包括一致性設計、冗余性設計和防衛(wèi)性設計。
6)界面初步設計:包括系統(tǒng)整體風格,如登錄、圖形表現、屬性表現、查詢統(tǒng)計表現等界面。
1.2總體設計
7)可靠性設計:確定系統(tǒng)可靠性以及質量指標,設計和考慮相應的措施,以使得系統(tǒng)易于修改和維護。最后形成數據庫設計說明書、總體設計規(guī)格說明書、用戶手冊和初步的測試計劃等。在完成上述工作后,應當組織對總體設計工作的評審,并由用戶和開發(fā)商雙方對最后形成的數據庫設計說明書、總體設計規(guī)格說明書簽字確認。
1.3詳細設計詳細設計是在總體設計基礎之上進一步細化的結果,其主要內容包括:詳細的算法數據結構和數據模型面向對象方法實施的功能和使用數據之間的關系詳細的界面設計1.3詳細設計功能模塊之間的接口關系數據庫詳細設計數據字典測試用例形成詳細設計規(guī)格說明書和測試規(guī)格說明書。在完成詳細設計后,要組織評審,并由用戶和開發(fā)商雙方對最后形成的詳細設計規(guī)格說明書和測試規(guī)格說明書簽字確認。2地理信息系統(tǒng)工程的開發(fā)
系統(tǒng)功能實現系統(tǒng)測試系統(tǒng)使用和維護2.1系統(tǒng)功能實現系統(tǒng)功能實現就是將“系統(tǒng)需求”和“系統(tǒng)設計”變換成程序設計語言編寫的程序。在系統(tǒng)功能實現階段,首先要確定程序設計語言,其影響因素包括:系統(tǒng)的應用范圍、算法和計算復雜性、數據結構的復雜性、開發(fā)人員對計算機語言熟練的程度、語言的可移植性、運行效率、系統(tǒng)架構(系統(tǒng)應用模式,如B/S或C/S模式)等。目前,在GIS工程開發(fā)中,VC、VB、Java以及.net等都是較普遍的編程語言。
2.2系統(tǒng)測試在系統(tǒng)開發(fā)過程中和系統(tǒng)交付使用之前,必須進行嚴格的測試。系統(tǒng)測試包括兩個階段:單元測試系統(tǒng)測試2.2系統(tǒng)測試開發(fā)階段的單元測試也就是在編寫出每一個模塊之后就對它做必要的測試,編碼與單元測試屬于軟件生存周期中的同一個階段;2.2系統(tǒng)測試在單元測試之后,對軟件系統(tǒng)要進行各種綜合測試,也就是系統(tǒng)測試,即集成測試。系統(tǒng)測試包括功能測試和運行調試。功能測試是使用測試用例或示范區(qū)數據測試軟件各項功能涎行側試是在裝載了整個工程的空間數據以后,按運行要求進行調試,確定是否滿足功能與效率要求。2.3系統(tǒng)使用和維護
為了保證軟件的質量和可靠性,應力求在需求分析、系統(tǒng)設計(包括總體設計和詳細設計)等各個階段結束前,對各種文檔進行嚴格的技術評審。系統(tǒng)功能實現后在交付使用前必須進行嚴格的軟件測試,軟件測試是指按照特定的規(guī)程和流程,發(fā)現軟件錯誤的過程。軟件測試是根據軟件開發(fā)各階段規(guī)格說明書和程序的內部結構而精心設計一批測試用例,并用這些測試用例去運行程序,以發(fā)現程序的錯誤。3地理信息系統(tǒng)工程的開發(fā)模式
GIS工程的開發(fā)通常有三種模式:獨立開發(fā)單純二次開發(fā)集成二次開發(fā)3.1獨立開發(fā)獨立開發(fā)是指不依賴于任何GIS工具軟件,從空間數據的采集、編輯到數據的處理分析及結果輸出,所有的算法都由開發(fā)者獨立設計,然后選用某種程序設計語言,如VisualC++,Delphi,C++Builder,VJ+等,在一定的操作系統(tǒng)平臺上編輯實現。3.1獨立開發(fā)獨立開發(fā)的特點:無需依賴任何商業(yè)GIS工具軟件,減少了開發(fā)成本綜合程度和操作效率最高。但由于地理信息系統(tǒng)的復雜性,開發(fā)的工作量是十分龐大的,開發(fā)周期長。開發(fā)上投資的財力比較大。3.2單純二次開發(fā)單純二次開發(fā)指完全借助于地理信息系統(tǒng)工具軟件提供的二次開發(fā)語言進行應用系統(tǒng)開發(fā)。目前,商業(yè)化的地理信息系統(tǒng)工具軟件已經相當成熱,它們大多提供了可供用戶進行二次開發(fā)的宏語言,如ESRI的ArcView提供了Avenue語言,Maplnfo公司研制的MaplnfoProfessional提供了MapBasic語言等。用戶可以利用這些宏語言,以原GIS工具軟件為開發(fā)平臺,針對不同應用對象,開發(fā)出自己的應用程序。3.2單純二次開發(fā)單純二次開的特點:這種開發(fā)方式省時省心。二次開發(fā)宏語言中調用此動態(tài)鏈接庫,從而充分利用二次開發(fā)語言操縱地圖對象的強大功能。二次開發(fā)的宏語言作為編程語言只能算是二流,功能極弱,用它們開發(fā)出的應用程序界面不美觀,仍然不盡如人意。3.3集成二次開發(fā)集成二次開發(fā)是指利用專業(yè)GIS工具軟件如ESRI公司的MapObjects、ArcObjects、MapInfo公司的MapX或其提供的組件來實現GIS的基本功能,同時,采用通用軟件開發(fā)工具,尤其是可視化開發(fā)工具,如Delphi,VisualC++,VisualBasic,PowerBuilder等作為開發(fā)平臺,進行二者的集成開發(fā)。3.3集成二次開發(fā)組件GIS開發(fā)方法是把GIS的功能模塊劃分成多個控件,每個控件完成不同的功能,各個GIS控件之間以及GIS控件與其他非GIS控件之間,通過可視化的軟件開發(fā)工具,根據需要把實現各種功能的“積木”搭建起來,實現地理信息系統(tǒng)的各種功能以及應用系統(tǒng)。
GIS組件一般都包含若干功能單元,諸如空間數據獲取、坐標轉換、圖形編輯、數據存儲、數據查詢、數據分析、制圖表示等。3.3集成二次開發(fā)根據其實現的功能,GIS組件可分為如下3級結構:
1)基礎組件
面向空間數據管理,提供墓本的交互過程,并以靈活的方式與數據庫系統(tǒng)連接。
2)高級通用組件由基礎組件構造而成,面向通用功能,簡化用戶開發(fā)過程,如顯示工具組件、選擇工具組件、編輯工具組件、屬性瀏覽器組件等。它們之問的協(xié)同控制消息都被封裝起來。這級組件經過封裝后,使二次開發(fā)更為簡單。3.3集成二次開發(fā)
3)行業(yè)性組件抽象出行業(yè)應用的特定算法,固化到組件中,進一步加速開發(fā)過程。以GPS監(jiān)控為例,對于GPS應用,除了需要地圖顯示、信息查詢等一般的GIS功能外,還需要特定的應用功能,如動態(tài)目標顯示、目標鎖定、軌跡顯示等。這些GPS行業(yè)性應用功能組件被封裝起來后,開發(fā)者的工作就可簡化為設置顯示目標的圖例、軌跡顯示的顏色、鎖定的目標以及調用、接收數據的方法等。3.3集成二次開發(fā)集成二次開發(fā)的特點:可以充分利用GIS工具軟件完備的空間數據管理、分析功能,又可以利用其他面向對象可視化開發(fā)語言具有的高效、方便等編程優(yōu)點,集二者之所長,不僅能大大地提高應用系統(tǒng)的開發(fā)效率,而且使用可視化軟件開發(fā)工具開發(fā)出來的應用程序具有更好的外觀效果,更強大的數據庫功能,可靠性好,易于移植,便于維護,尤其是利用GIS組件進行集成開發(fā),更能體現出這些優(yōu)勢。4開發(fā)方法示例
國內外一些著名地理信息系統(tǒng)軟件廠商先后推出了各自組件產品(如ESRI公司的ArcObjects)和基于COM的GIS控件,如ESRI公司的MapObjects與Maplnfo公司的MapX等,國內有武漢吉奧技術有限公司的Geomap。組件產品功能強大,使得開發(fā)出的應用系統(tǒng)具有很好的靈活性、開放性和可擴展。選擇控件產品進行二次開發(fā),用戶可以根據開發(fā)的需要,選擇一種自己熟悉的二次開發(fā)語言來進行開發(fā),開發(fā)周期短、難度小。
本節(jié)將以ESRI公司的控件產品——MapObjects為例,簡單講述地理信息系統(tǒng)的開發(fā)方法。4.1在VB中使用MapObjects
1)裝入MapObjects控件4.1在VB中使用MapObjects
2)加入地圖控件并設置圖層
在窗體中加入地圖控件??梢酝ㄟ^在工具箱中拖曳地圖控件到窗體中加入地圖控件,然后根據需要再適當調整地圖控件的大小和位置。加入地圖控件后,還需要加入在地圖中顯示的數據??梢酝ㄟ^地圖控件的屬性對話框來選擇地圖中顯示的數據。4.1在VB中使用MapObjects
2)加入地圖控件并設置圖層
4.1在VB中使用MapObjects
3)運行工程
按運行菜單下的啟動命令,運行程序,將顯示如下圖所示的結果。
4.2在VC中使用MapObjects
1)使用應用程序向導來創(chuàng)建一個基于SDI的可執(zhí)行工程。
只需講它的視圖基類改成CformView就可以了。
4.2在VC中使用MapObjects
2)在應用程序中加入MapObjects控件
同VisualBasic一樣,如果要使用MapObjects控件,就必須將該控件加入到工程中。選擇Project菜單的AddToProject命令的ComponentsandControls子命令,打開其對話框。4.2在VC中使用MapObjects
3)在地圖中加入數據
溫馨提示
- 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
- 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯系上傳者。文件的所有權益歸上傳用戶所有。
- 3. 本站RAR壓縮包中若帶圖紙,網頁內容里面會有圖紙預覽,若沒有圖紙預覽就沒有圖紙。
- 4. 未經權益所有人同意不得將文件中的內容挪作商業(yè)或盈利用途。
- 5. 人人文庫網僅提供信息存儲空間,僅對用戶上傳內容的表現方式做保護處理,對用戶上傳分享的文檔內容本身不做任何修改或編輯,并不能對任何下載內容負責。
- 6. 下載文件中如有侵權或不適當內容,請與我們聯系,我們立即糾正。
- 7. 本站不保證下載資源的準確性、安全性和完整性, 同時也不承擔用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。
最新文檔
- 部編初中歷史八下第12課民族大團結教案
- 年產50萬套中醫(yī)醫(yī)療器械生產線技術改造項目可行性研究報告模板-立項拿地
- 中藥烏藥課件
- 2025-2030全球數字道路行業(yè)調研及趨勢分析報告
- 2025-2030全球SCR 尿素系統(tǒng)行業(yè)調研及趨勢分析報告
- 2025年全球及中國鉺鐿共摻光纖行業(yè)頭部企業(yè)市場占有率及排名調研報告
- 2025年全球及中國魚塘凈水器行業(yè)頭部企業(yè)市場占有率及排名調研報告
- 2025-2030全球汽車出風口空氣清新劑行業(yè)調研及趨勢分析報告
- 2025年全球及中國IG100氣體滅火系統(tǒng)行業(yè)頭部企業(yè)市場占有率及排名調研報告
- 2025年全球及中國電子學習開發(fā)服務行業(yè)頭部企業(yè)市場占有率及排名調研報告
- 2024年云南省中考英語題庫【歷年真題+章節(jié)題庫+模擬試題】
- 麻醉藥品、精神藥品月檢查記錄表
- 演示文稿國庫集中支付總流程圖
- 浙江省寧波市海曙區(qū)2022學年第一學期九年級期末測試科學試題卷(含答案和答題卡)
- 為了自由呼吸的教育
- 高考英語詞匯3500電子版
- 建院新聞社成立策劃書
- GB/T 19675.2-2005管法蘭用金屬沖齒板柔性石墨復合墊片技術條件
- 運動技能學習與控制課件第十三章動作技能的保持和遷移
- 2023年春節(jié)后建筑施工復工復產專項方案
- 電梯設備維護保養(yǎng)合同模板范本
評論
0/150
提交評論