地理信息系統(tǒng)概論:第七講 地理信息系統(tǒng)工程設(shè)計(jì)與開(kāi)發(fā)_第1頁(yè)
地理信息系統(tǒng)概論:第七講 地理信息系統(tǒng)工程設(shè)計(jì)與開(kāi)發(fā)_第2頁(yè)
地理信息系統(tǒng)概論:第七講 地理信息系統(tǒng)工程設(shè)計(jì)與開(kāi)發(fā)_第3頁(yè)
地理信息系統(tǒng)概論:第七講 地理信息系統(tǒng)工程設(shè)計(jì)與開(kāi)發(fā)_第4頁(yè)
地理信息系統(tǒng)概論:第七講 地理信息系統(tǒng)工程設(shè)計(jì)與開(kāi)發(fā)_第5頁(yè)
已閱讀5頁(yè),還剩33頁(yè)未讀, 繼續(xù)免費(fèi)閱讀

下載本文檔

版權(quán)說(shuō)明:本文檔由用戶(hù)提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請(qǐng)進(jìn)行舉報(bào)或認(rèn)領(lǐng)

文檔簡(jiǎn)介

1地理信息系統(tǒng)工程設(shè)計(jì)

GIS工程設(shè)計(jì)是針對(duì)軟件開(kāi)發(fā)自身的特點(diǎn),制定出符合GIS工程的軟件開(kāi)發(fā)管理模式與相應(yīng)的軟件開(kāi)發(fā)管理規(guī)范,以便最終開(kāi)發(fā)出高質(zhì)量GIS的規(guī)劃設(shè)計(jì)過(guò)程。GIS工程設(shè)計(jì)必須遵循軟件工程的方法和原理,它主要包括系統(tǒng)需求分析、系統(tǒng)總體設(shè)計(jì)和詳細(xì)設(shè)計(jì)三個(gè)階段。1地理信息系統(tǒng)工程設(shè)計(jì)

其中在系統(tǒng)需求分析階段是要完全弄清楚系統(tǒng)的各種需求,較好地解決所開(kāi)發(fā)的系統(tǒng)“做什么”的問(wèn)題,并在系統(tǒng)需求說(shuō)明書(shū)和數(shù)據(jù)要求說(shuō)明書(shū)中詳盡和充分地闡述這些需求,而系統(tǒng)的總體設(shè)計(jì)和詳細(xì)設(shè)計(jì)是要解決“怎么做”的問(wèn)題。

1.1需求分析需求分析階段的主要任務(wù)是確定系統(tǒng)的目標(biāo)和總體功能,需求分析是軟件開(kāi)發(fā)活動(dòng)的第一步,獲得正確的需求分析結(jié)果和描述性文檔是軟件開(kāi)發(fā)成功的前提。地理信息系統(tǒng)軟件的需求分析包括用戶(hù)對(duì)系統(tǒng)的功能和系統(tǒng)的性能的需求。地理信息系統(tǒng)包括的功能很多,但必須根據(jù)用戶(hù)的需要進(jìn)行選擇。

1.1需求分析地理信息系統(tǒng)軟件的需求分析的考慮因素有:輸入功能地理數(shù)據(jù)管理地理數(shù)據(jù)查詢(xún)方式地理信息輸出系統(tǒng)性能1.1需求分析可行性分析的主要步驟如下:分析現(xiàn)有地理信息系統(tǒng)軟件的優(yōu)缺點(diǎn);分析所開(kāi)發(fā)的地理信息系統(tǒng)軟件的使用對(duì)象的要求;選擇需要開(kāi)發(fā)的所有模塊,并分析已有算法的實(shí)用性地理空間數(shù)據(jù)管理模式的選擇;估計(jì)開(kāi)發(fā)成本和時(shí)間;提交可行性分析報(bào)告。

1.1需求分析目前有許多方法用于支持需求規(guī)約,如:

功能分解方法數(shù)據(jù)流方法信息模型方法(實(shí)體關(guān)系模型)面向?qū)ο蠓椒?.2總體設(shè)計(jì)總體設(shè)計(jì)是確定系統(tǒng)的總體框架。不同系統(tǒng)的總體設(shè)計(jì)方案不盡相同,但是主要內(nèi)容框架相近,其主要涉及的內(nèi)容如下:

1)制定系統(tǒng)的目標(biāo)和規(guī)范:包括所開(kāi)發(fā)系統(tǒng)的近期目標(biāo)、中期目標(biāo)和長(zhǎng)遠(yuǎn)目標(biāo);所涉及的一些規(guī)范,如國(guó)家和行業(yè)的標(biāo)準(zhǔn)規(guī)范等,系統(tǒng)軟硬件接日規(guī)約、系統(tǒng)開(kāi)發(fā)過(guò)程中的編碼規(guī)范和命名規(guī)則,設(shè)計(jì)和開(kāi)發(fā)文檔編寫(xiě)規(guī)范等。1.2總體設(shè)計(jì)

2)系統(tǒng)結(jié)構(gòu)的總體設(shè)計(jì):包括系統(tǒng)的總體架構(gòu)、子系統(tǒng)的劃分、總體網(wǎng)絡(luò)和硬件組成、軟件系統(tǒng)(包括操作系統(tǒng)、數(shù)據(jù)庫(kù)和應(yīng)用軟件等)組成、數(shù)據(jù)庫(kù)組成、空間數(shù)據(jù)組織與存儲(chǔ)方法等。

3)處理方式設(shè)計(jì):實(shí)現(xiàn)系統(tǒng)某些功能,如空間分析、統(tǒng)計(jì)和查詢(xún)等所涉及的一些算法以及評(píng)估這些算法性能的方式等,如響應(yīng)時(shí)間、精度、誤差、吞吐量等。

1.2總體設(shè)計(jì)

4)數(shù)據(jù)結(jié)構(gòu)設(shè)計(jì):確定系統(tǒng)所涉及的文件系統(tǒng)的組織方式和結(jié)構(gòu),數(shù)據(jù)庫(kù)的模式、子模式,數(shù)據(jù)的完整性和完全性設(shè)計(jì)等。

5)數(shù)據(jù)庫(kù)初步設(shè)計(jì):包括一致性設(shè)計(jì)、冗余性設(shè)計(jì)和防衛(wèi)性設(shè)計(jì)。

6)界面初步設(shè)計(jì):包括系統(tǒng)整體風(fēng)格,如登錄、圖形表現(xiàn)、屬性表現(xiàn)、查詢(xún)統(tǒng)計(jì)表現(xiàn)等界面。

1.2總體設(shè)計(jì)

7)可靠性設(shè)計(jì):確定系統(tǒng)可靠性以及質(zhì)量指標(biāo),設(shè)計(jì)和考慮相應(yīng)的措施,以使得系統(tǒng)易于修改和維護(hù)。最后形成數(shù)據(jù)庫(kù)設(shè)計(jì)說(shuō)明書(shū)、總體設(shè)計(jì)規(guī)格說(shuō)明書(shū)、用戶(hù)手冊(cè)和初步的測(cè)試計(jì)劃等。在完成上述工作后,應(yīng)當(dāng)組織對(duì)總體設(shè)計(jì)工作的評(píng)審,并由用戶(hù)和開(kāi)發(fā)商雙方對(duì)最后形成的數(shù)據(jù)庫(kù)設(shè)計(jì)說(shuō)明書(shū)、總體設(shè)計(jì)規(guī)格說(shuō)明書(shū)簽字確認(rèn)。

1.3詳細(xì)設(shè)計(jì)詳細(xì)設(shè)計(jì)是在總體設(shè)計(jì)基礎(chǔ)之上進(jìn)一步細(xì)化的結(jié)果,其主要內(nèi)容包括:詳細(xì)的算法數(shù)據(jù)結(jié)構(gòu)和數(shù)據(jù)模型面向?qū)ο蠓椒▽?shí)施的功能和使用數(shù)據(jù)之間的關(guān)系詳細(xì)的界面設(shè)計(jì)1.3詳細(xì)設(shè)計(jì)功能模塊之間的接口關(guān)系數(shù)據(jù)庫(kù)詳細(xì)設(shè)計(jì)數(shù)據(jù)字典測(cè)試用例形成詳細(xì)設(shè)計(jì)規(guī)格說(shuō)明書(shū)和測(cè)試規(guī)格說(shuō)明書(shū)。在完成詳細(xì)設(shè)計(jì)后,要組織評(píng)審,并由用戶(hù)和開(kāi)發(fā)商雙方對(duì)最后形成的詳細(xì)設(shè)計(jì)規(guī)格說(shuō)明書(shū)和測(cè)試規(guī)格說(shuō)明書(shū)簽字確認(rèn)。2地理信息系統(tǒng)工程的開(kāi)發(fā)

系統(tǒng)功能實(shí)現(xiàn)系統(tǒng)測(cè)試系統(tǒng)使用和維護(hù)2.1系統(tǒng)功能實(shí)現(xiàn)系統(tǒng)功能實(shí)現(xiàn)就是將“系統(tǒng)需求”和“系統(tǒng)設(shè)計(jì)”變換成程序設(shè)計(jì)語(yǔ)言編寫(xiě)的程序。在系統(tǒng)功能實(shí)現(xiàn)階段,首先要確定程序設(shè)計(jì)語(yǔ)言,其影響因素包括:系統(tǒng)的應(yīng)用范圍、算法和計(jì)算復(fù)雜性、數(shù)據(jù)結(jié)構(gòu)的復(fù)雜性、開(kāi)發(fā)人員對(duì)計(jì)算機(jī)語(yǔ)言熟練的程度、語(yǔ)言的可移植性、運(yùn)行效率、系統(tǒng)架構(gòu)(系統(tǒng)應(yīng)用模式,如B/S或C/S模式)等。目前,在GIS工程開(kāi)發(fā)中,VC、VB、Java以及.net等都是較普遍的編程語(yǔ)言。

2.2系統(tǒng)測(cè)試在系統(tǒng)開(kāi)發(fā)過(guò)程中和系統(tǒng)交付使用之前,必須進(jìn)行嚴(yán)格的測(cè)試。系統(tǒng)測(cè)試包括兩個(gè)階段:?jiǎn)卧獪y(cè)試系統(tǒng)測(cè)試2.2系統(tǒng)測(cè)試開(kāi)發(fā)階段的單元測(cè)試也就是在編寫(xiě)出每一個(gè)模塊之后就對(duì)它做必要的測(cè)試,編碼與單元測(cè)試屬于軟件生存周期中的同一個(gè)階段;2.2系統(tǒng)測(cè)試在單元測(cè)試之后,對(duì)軟件系統(tǒng)要進(jìn)行各種綜合測(cè)試,也就是系統(tǒng)測(cè)試,即集成測(cè)試。系統(tǒng)測(cè)試包括功能測(cè)試和運(yùn)行調(diào)試。功能測(cè)試是使用測(cè)試用例或示范區(qū)數(shù)據(jù)測(cè)試軟件各項(xiàng)功能涎行側(cè)試是在裝載了整個(gè)工程的空間數(shù)據(jù)以后,按運(yùn)行要求進(jìn)行調(diào)試,確定是否滿足功能與效率要求。2.3系統(tǒng)使用和維護(hù)

為了保證軟件的質(zhì)量和可靠性,應(yīng)力求在需求分析、系統(tǒng)設(shè)計(jì)(包括總體設(shè)計(jì)和詳細(xì)設(shè)計(jì))等各個(gè)階段結(jié)束前,對(duì)各種文檔進(jìn)行嚴(yán)格的技術(shù)評(píng)審。系統(tǒng)功能實(shí)現(xiàn)后在交付使用前必須進(jìn)行嚴(yán)格的軟件測(cè)試,軟件測(cè)試是指按照特定的規(guī)程和流程,發(fā)現(xiàn)軟件錯(cuò)誤的過(guò)程。軟件測(cè)試是根據(jù)軟件開(kāi)發(fā)各階段規(guī)格說(shuō)明書(shū)和程序的內(nèi)部結(jié)構(gòu)而精心設(shè)計(jì)一批測(cè)試用例,并用這些測(cè)試用例去運(yùn)行程序,以發(fā)現(xiàn)程序的錯(cuò)誤。3地理信息系統(tǒng)工程的開(kāi)發(fā)模式

GIS工程的開(kāi)發(fā)通常有三種模式:獨(dú)立開(kāi)發(fā)單純二次開(kāi)發(fā)集成二次開(kāi)發(fā)3.1獨(dú)立開(kāi)發(fā)獨(dú)立開(kāi)發(fā)是指不依賴(lài)于任何GIS工具軟件,從空間數(shù)據(jù)的采集、編輯到數(shù)據(jù)的處理分析及結(jié)果輸出,所有的算法都由開(kāi)發(fā)者獨(dú)立設(shè)計(jì),然后選用某種程序設(shè)計(jì)語(yǔ)言,如VisualC++,Delphi,C++Builder,VJ+等,在一定的操作系統(tǒng)平臺(tái)上編輯實(shí)現(xiàn)。3.1獨(dú)立開(kāi)發(fā)獨(dú)立開(kāi)發(fā)的特點(diǎn):無(wú)需依賴(lài)任何商業(yè)GIS工具軟件,減少了開(kāi)發(fā)成本綜合程度和操作效率最高。但由于地理信息系統(tǒng)的復(fù)雜性,開(kāi)發(fā)的工作量是十分龐大的,開(kāi)發(fā)周期長(zhǎng)。開(kāi)發(fā)上投資的財(cái)力比較大。3.2單純二次開(kāi)發(fā)單純二次開(kāi)發(fā)指完全借助于地理信息系統(tǒng)工具軟件提供的二次開(kāi)發(fā)語(yǔ)言進(jìn)行應(yīng)用系統(tǒng)開(kāi)發(fā)。目前,商業(yè)化的地理信息系統(tǒng)工具軟件已經(jīng)相當(dāng)成熱,它們大多提供了可供用戶(hù)進(jìn)行二次開(kāi)發(fā)的宏語(yǔ)言,如ESRI的ArcView提供了Avenue語(yǔ)言,Maplnfo公司研制的MaplnfoProfessional提供了MapBasic語(yǔ)言等。用戶(hù)可以利用這些宏語(yǔ)言,以原GIS工具軟件為開(kāi)發(fā)平臺(tái),針對(duì)不同應(yīng)用對(duì)象,開(kāi)發(fā)出自己的應(yīng)用程序。3.2單純二次開(kāi)發(fā)單純二次開(kāi)的特點(diǎn):這種開(kāi)發(fā)方式省時(shí)省心。二次開(kāi)發(fā)宏語(yǔ)言中調(diào)用此動(dòng)態(tài)鏈接庫(kù),從而充分利用二次開(kāi)發(fā)語(yǔ)言操縱地圖對(duì)象的強(qiáng)大功能。二次開(kāi)發(fā)的宏語(yǔ)言作為編程語(yǔ)言只能算是二流,功能極弱,用它們開(kāi)發(fā)出的應(yīng)用程序界面不美觀,仍然不盡如人意。3.3集成二次開(kāi)發(fā)集成二次開(kāi)發(fā)是指利用專(zhuān)業(yè)GIS工具軟件如ESRI公司的MapObjects、ArcObjects、MapInfo公司的MapX或其提供的組件來(lái)實(shí)現(xiàn)GIS的基本功能,同時(shí),采用通用軟件開(kāi)發(fā)工具,尤其是可視化開(kāi)發(fā)工具,如Delphi,VisualC++,VisualBasic,PowerBuilder等作為開(kāi)發(fā)平臺(tái),進(jìn)行二者的集成開(kāi)發(fā)。3.3集成二次開(kāi)發(fā)組件GIS開(kāi)發(fā)方法是把GIS的功能模塊劃分成多個(gè)控件,每個(gè)控件完成不同的功能,各個(gè)GIS控件之間以及GIS控件與其他非GIS控件之間,通過(guò)可視化的軟件開(kāi)發(fā)工具,根據(jù)需要把實(shí)現(xiàn)各種功能的“積木”搭建起來(lái),實(shí)現(xiàn)地理信息系統(tǒng)的各種功能以及應(yīng)用系統(tǒng)。

GIS組件一般都包含若干功能單元,諸如空間數(shù)據(jù)獲取、坐標(biāo)轉(zhuǎn)換、圖形編輯、數(shù)據(jù)存儲(chǔ)、數(shù)據(jù)查詢(xún)、數(shù)據(jù)分析、制圖表示等。3.3集成二次開(kāi)發(fā)根據(jù)其實(shí)現(xiàn)的功能,GIS組件可分為如下3級(jí)結(jié)構(gòu):

1)基礎(chǔ)組件

面向空間數(shù)據(jù)管理,提供墓本的交互過(guò)程,并以靈活的方式與數(shù)據(jù)庫(kù)系統(tǒng)連接。

2)高級(jí)通用組件由基礎(chǔ)組件構(gòu)造而成,面向通用功能,簡(jiǎn)化用戶(hù)開(kāi)發(fā)過(guò)程,如顯示工具組件、選擇工具組件、編輯工具組件、屬性瀏覽器組件等。它們之問(wèn)的協(xié)同控制消息都被封裝起來(lái)。這級(jí)組件經(jīng)過(guò)封裝后,使二次開(kāi)發(fā)更為簡(jiǎn)單。3.3集成二次開(kāi)發(fā)

3)行業(yè)性組件抽象出行業(yè)應(yīng)用的特定算法,固化到組件中,進(jìn)一步加速開(kāi)發(fā)過(guò)程。以GPS監(jiān)控為例,對(duì)于GPS應(yīng)用,除了需要地圖顯示、信息查詢(xún)等一般的GIS功能外,還需要特定的應(yīng)用功能,如動(dòng)態(tài)目標(biāo)顯示、目標(biāo)鎖定、軌跡顯示等。這些GPS行業(yè)性應(yīng)用功能組件被封裝起來(lái)后,開(kāi)發(fā)者的工作就可簡(jiǎn)化為設(shè)置顯示目標(biāo)的圖例、軌跡顯示的顏色、鎖定的目標(biāo)以及調(diào)用、接收數(shù)據(jù)的方法等。3.3集成二次開(kāi)發(fā)集成二次開(kāi)發(fā)的特點(diǎn):可以充分利用GIS工具軟件完備的空間數(shù)據(jù)管理、分析功能,又可以利用其他面向?qū)ο罂梢暬_(kāi)發(fā)語(yǔ)言具有的高效、方便等編程優(yōu)點(diǎn),集二者之所長(zhǎng),不僅能大大地提高應(yīng)用系統(tǒng)的開(kāi)發(fā)效率,而且使用可視化軟件開(kāi)發(fā)工具開(kāi)發(fā)出來(lái)的應(yīng)用程序具有更好的外觀效果,更強(qiáng)大的數(shù)據(jù)庫(kù)功能,可靠性好,易于移植,便于維護(hù),尤其是利用GIS組件進(jìn)行集成開(kāi)發(fā),更能體現(xiàn)出這些優(yōu)勢(shì)。4開(kāi)發(fā)方法示例

國(guó)內(nèi)外一些著名地理信息系統(tǒng)軟件廠商先后推出了各自組件產(chǎn)品(如ESRI公司的ArcObjects)和基于COM的GIS控件,如ESRI公司的MapObjects與Maplnfo公司的MapX等,國(guó)內(nèi)有武漢吉奧技術(shù)有限公司的Geomap。組件產(chǎn)品功能強(qiáng)大,使得開(kāi)發(fā)出的應(yīng)用系統(tǒng)具有很好的靈活性、開(kāi)放性和可擴(kuò)展。選擇控件產(chǎn)品進(jìn)行二次開(kāi)發(fā),用戶(hù)可以根據(jù)開(kāi)發(fā)的需要,選擇一種自己熟悉的二次開(kāi)發(fā)語(yǔ)言來(lái)進(jìn)行開(kāi)發(fā),開(kāi)發(fā)周期短、難度小。

本節(jié)將以ESRI公司的控件產(chǎn)品——MapObjects為例,簡(jiǎn)單講述地理信息系統(tǒng)的開(kāi)發(fā)方法。4.1在VB中使用MapObjects

1)裝入MapObjects控件4.1在VB中使用MapObjects

2)加入地圖控件并設(shè)置圖層

在窗體中加入地圖控件。可以通過(guò)在工具箱中拖曳地圖控件到窗體中加入地圖控件,然后根據(jù)需要再適當(dāng)調(diào)整地圖控件的大小和位置。加入地圖控件后,還需要加入在地圖中顯示的數(shù)據(jù)??梢酝ㄟ^(guò)地圖控件的屬性對(duì)話框來(lái)選擇地圖中顯示的數(shù)據(jù)。4.1在VB中使用MapObjects

2)加入地圖控件并設(shè)置圖層

4.1在VB中使用MapObjects

3)運(yùn)行工程

按運(yùn)行菜單下的啟動(dòng)命令,運(yùn)行程序,將顯示如下圖所示的結(jié)果。

4.2在VC中使用MapObjects

1)使用應(yīng)用程序向?qū)?lái)創(chuàng)建一個(gè)基于SDI的可執(zhí)行工程。

只需講它的視圖基類(lèi)改成CformView就可以了。

4.2在VC中使用MapObjects

2)在應(yīng)用程序中加入MapObjects控件

同VisualBasic一樣,如果要使用MapObjects控件,就必須將該控件加入到工程中。選擇Project菜單的AddToProject命令的ComponentsandControls子命令,打開(kāi)其對(duì)話框。4.2在VC中使用MapObjects

3)在地圖中加入數(shù)據(jù)

溫馨提示

  • 1. 本站所有資源如無(wú)特殊說(shuō)明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請(qǐng)下載最新的WinRAR軟件解壓。
  • 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請(qǐng)聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶(hù)所有。
  • 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁(yè)內(nèi)容里面會(huì)有圖紙預(yù)覽,若沒(méi)有圖紙預(yù)覽就沒(méi)有圖紙。
  • 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
  • 5. 人人文庫(kù)網(wǎng)僅提供信息存儲(chǔ)空間,僅對(duì)用戶(hù)上傳內(nèi)容的表現(xiàn)方式做保護(hù)處理,對(duì)用戶(hù)上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對(duì)任何下載內(nèi)容負(fù)責(zé)。
  • 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請(qǐng)與我們聯(lián)系,我們立即糾正。
  • 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時(shí)也不承擔(dān)用戶(hù)因使用這些下載資源對(duì)自己和他人造成任何形式的傷害或損失。

最新文檔

評(píng)論

0/150

提交評(píng)論