版權說明:本文檔由用戶提供并上傳,收益歸屬內容提供方,若內容存在侵權,請進行舉報或認領
文檔簡介
1、<p> 本科畢業(yè)論文(設計)</p><p> 題 目:基于GIS校園查詢系統(tǒng)的研究與實現(xiàn)</p><p> 學 院:</p><p> 學生姓名:</p><p> 專 業(yè):計算機科學與技術</p><p> 班 級:</p><p> 指導教師:<
2、/p><p> 起止日期:</p><p> 基于GIS校園查詢系統(tǒng)的研究與實現(xiàn)</p><p><b> 摘 要</b></p><p> 在GIS(地理信息系統(tǒng))普遍應用于各個領域的同時,也帶來了地理空間數(shù)據(jù)查詢的偉大變革。同樣校園查詢系統(tǒng)也需要變革,使得校園查詢變的更有效、更快速、更便捷。校園查詢系統(tǒng)采用了圖文
3、并茂的方式為用戶提供了詳盡的地理信息和相關數(shù)據(jù)信息。本文的校園查詢系統(tǒng)采用組件式GIS開發(fā)方式,結合3D建模技術、數(shù)據(jù)庫技術進行的開發(fā)。使用Google SketchUp(3D草圖建筑大師)構建校園3D草圖模型。這里的數(shù)據(jù)庫技術主要是指采用ArcGIS空間數(shù)據(jù)庫技術將地理信息和相關數(shù)據(jù)信息相結合起來。從而實現(xiàn)了地理信息和其他相關數(shù)據(jù)信息的儲存、管理、決策,使用戶能通過本程序查看到校園的空間信息和其他相關數(shù)據(jù)信息。</p>
4、<p> 【關鍵詞】校園查詢,組件式GIS,3D建模 </p><p> Researching And Completing Based on GIS for Query System of Campus</p><p><b> Abstract</b></p><p> GIS (geographic informat
5、ion system) is commonly used in various fields, at the same time, it also brings great transformation of geospatial data query. While campus query system also needs to change, making the campus query becomes more efficie
6、nt, faster and more convenient. Campus query system uses the picture and text description to provide users with detailed geographic information and related data. In this article, campus query system uses the component GI
7、S, 3D modeling technology and databa</p><p> 【Keywords】Campus Query, COM GIS, 3D Modeling</p><p><b> 目錄</b></p><p><b> 摘 要I</b></p><p> Ab
8、stractII</p><p><b> 1 緒論1</b></p><p><b> 1.1研究背景1</b></p><p> 1.2 國內GIS發(fā)展及現(xiàn)狀1</p><p><b> 1.3課題意義2</b></p><p>&
9、lt;b> 1.4論文結構2</b></p><p><b> 2 可行性分析4</b></p><p> 2.1技術可行性分析4</p><p> 2.2經濟可行性6</p><p> 2.3法律可行性6</p><p><b> 3 需求分析
10、7</b></p><p><b> 3.1業(yè)務分析7</b></p><p><b> 3.2建模分析8</b></p><p><b> 4 系統(tǒng)分析10</b></p><p> 4.1 系統(tǒng)總體設計10</p><p>
11、; 4.2 數(shù)據(jù)庫設計11</p><p> 4.3 系統(tǒng)詳細設計12</p><p><b> 5 系統(tǒng)實現(xiàn)14</b></p><p> 5.1 系統(tǒng)架構14</p><p> 5.2 系統(tǒng)編碼15</p><p><b> 6 系統(tǒng)測試17</b>
12、;</p><p> 6.1 測試理論知識介紹17</p><p> 6.2 測試用例17</p><p> 6.3 測試結果18</p><p> 6.4 系統(tǒng)整體截圖20</p><p> 7 總結與展望22</p><p><b> 參考文獻23</
13、b></p><p><b> 1 緒論</b></p><p><b> 1.1研究背景</b></p><p> 現(xiàn)代信息網(wǎng)絡的快速發(fā)展,網(wǎng)絡科技的不斷的普及。人們在信息網(wǎng)絡中的海洋里,不斷的去獲取各種各樣的信息,人們對接受的信息的形式也不在局限于以前的幾個文字和幾張圖片,人們希望通過更加直觀,更加方便的方
14、式去獲取更多的信息。地理信息本身的復雜使得人們有時候無法簡單的從圖和文字中獲取準確的信息。人們平時所接觸的信息中,80%與地理信息相關【1】。在我們的校園中同樣也會遇到和地理位置相關的信息,例如不能知道目的地所在的具體位置,或者對學校的建筑布局不甚理解而帶來很多困難。</p><p> 校園信息查詢結構同樣也需要變革,如何讓人們去快速、方便的在進校前就能了解一個學校的概況就是這次研究的課題。一張地圖或幾個路標也
15、許是人們以前常用的手段,但是在計算機網(wǎng)絡技術快速發(fā)展的今天,人們完全有能力通過計算機編程讓我們更方便的了解一個學校的概況。通過基于GIS校園查詢系統(tǒng)的研究與實現(xiàn)有效的解決這些問題。這是一個面向全體師生的可以查看整個校園信息的系統(tǒng)。這也將成為校園新的信息源,將校園地理位置與空間數(shù)據(jù)結合起來,為用戶提供圖文并茂地校園查詢系統(tǒng)。</p><p> 1.2 國內GIS發(fā)展及現(xiàn)狀</p><p>
16、 我國GIS的發(fā)展比較晚自80年代初開始。1980年中國科學院感應應用研究所的成立標志著全國第一個地理信息系統(tǒng)研究室的建立?,F(xiàn)在GIS已在很多部門和領域得到應用,并引起了政府部門的高度重視。從應用方面看,地理信息系統(tǒng)已在農作物調查與結產、金融、環(huán)境保護、保險、資源開發(fā)、通訊、能源、地圖測繪、運輸與導航、土地管理、自然災害的監(jiān)測與評估、林業(yè)、軍事、犯罪分析、交通、城市規(guī)劃建設、110報警系統(tǒng)公共汽車調度等方面得到了具體應用。</p
17、><p> 例如,以ArcGIS軟件為系統(tǒng)平臺的“青藏鐵路運營綜合監(jiān)控中心系統(tǒng)”,對青藏鐵路的運營過程、安全生產以及突發(fā)事件處理實現(xiàn)全過程監(jiān)視、預警與協(xié)調指揮,同時對突發(fā)事件的應急救援指揮提供決策支持。還有奧運會的安保問題、汶川地震和玉樹地震的救災重建工作等都用到了地理信息系統(tǒng)相關的技術。</p><p> 在這短短的近幾十年中,GIS(地理信息系統(tǒng))快速的發(fā)展成為了一門綜合的應用系統(tǒng),它
18、有效的結合了各種信息像地理位置和有關的視圖,并把地理學、GPS技術、CAD技術、幾何學、計算機科學以及它的各種應用對象、Internet、遙感、多媒體技術還有虛擬現(xiàn)實等多種技術融為一體。同時,它利用數(shù)據(jù)庫技術與計算機圖形技術進行采集、存儲,然后再進行編輯、顯示、轉換、分析,最后輸出地理圖形和其屬性數(shù)據(jù)。GIS可以根據(jù)需要將這些信息圖文并茂的輸出給用戶,生動形象更易于一般用戶理解,便于分析及決策使用。地理信息系統(tǒng)被廣泛的應用于各種領域,使
19、得GIS的發(fā)展越來越快,也愈發(fā)體現(xiàn)出地理信息系統(tǒng)的重要性。</p><p><b> 1.3課題意義</b></p><p> 隨著社會的發(fā)展、“數(shù)字地球”概念的提出、人類生存空間的不斷地變化,在GIS的知識的不斷傳播,GIS系統(tǒng)的不斷發(fā)展,使得GIS系統(tǒng)在未來的社會的地位越來越重要。在地球數(shù)字化的過程中,校園的數(shù)字化也旨在必行。校園GIS查詢系統(tǒng)能有效的解決在校
20、園中經常遇到的和地理位置信息相關的問題,例如老師、同學們去某個教室上課、家長到學校找學生、學生到某部門找老師等。對于外來的家長、學生、來賓對你的學校不甚了解,對于他們來說尋找某一建筑也許是一件令人頭痛的事?;贕IS校園查詢系統(tǒng)是一個面向全校師生的,可以瀏覽全校的地理信息系統(tǒng)。系統(tǒng)將學校的空間和相關的數(shù)據(jù)有效的結合起來,在人們進行查詢的時候顯示給人的信息不再是單純的數(shù)據(jù),而是圖文并茂,給人更直接的信息源。此外,系統(tǒng)將給學生、家長、老師等
21、帶來方便,后續(xù)還可以開發(fā)WebGIS讓人們在網(wǎng)上也能了解到校園信息來提高校園的知名度。</p><p><b> 1.4論文結構</b></p><p><b> 本論文結構如下:</b></p><p> 第一章是緒論,具體劃分了研究背景、國內GIS發(fā)展及現(xiàn)狀、課題意義和論文結構四個小節(jié)。第一節(jié)介紹了基于GIS校園
22、查詢系統(tǒng)的研究背景。第二節(jié)介紹了國內GIS發(fā)展及現(xiàn)狀。第三節(jié)介紹了課題意義。第四節(jié)介紹論文結構。</p><p> 第二章是可行性分析,具體劃分了技術可行性、經濟可行性和法律可行性三個小節(jié)。第一節(jié)分析了開發(fā)本系統(tǒng)的技術是可行的。第二節(jié)分析了開發(fā)本系統(tǒng)的經濟成本是可行的。第三節(jié)從法律方面介紹了開發(fā)本系統(tǒng)是可行的。</p><p> 第三章是需求分析,具體劃分了業(yè)務分析和系統(tǒng)建模兩個小節(jié)。
23、第一節(jié)根據(jù)系統(tǒng)的設計思想給出了業(yè)務流程圖。根據(jù)業(yè)務流程圖具體分析了本系統(tǒng)的功能。第二節(jié)給出了系統(tǒng)具體模型,采用了ER信息模型。</p><p> 第四章是系統(tǒng)設計,具體劃分了系統(tǒng)總體設計、數(shù)據(jù)庫設計和系統(tǒng)詳細設計三個小節(jié)。第一節(jié)給出了系統(tǒng)的層次圖,通過層次圖看出系統(tǒng)的功能。第二節(jié)詳細介紹了開發(fā)本系統(tǒng)所建立的數(shù)據(jù)庫表,補充介紹系統(tǒng)的功能。第三節(jié)給出了主要模塊的流程圖,通過這些流程圖體現(xiàn)系統(tǒng)的功能。</p&g
24、t;<p> 第五章是系統(tǒng)實現(xiàn),具體劃分了系統(tǒng)架構和系統(tǒng)編碼兩個小節(jié)。第一節(jié)介紹了開發(fā)系統(tǒng)代碼的命名規(guī)范和開發(fā)本系統(tǒng)的程序示例截圖。第二節(jié)給出了兩段具有代表性的模塊代碼,通過這些代碼看出如何實現(xiàn)本系統(tǒng)。</p><p> 第六章是系統(tǒng)測試,具體劃分了測試理論知識介紹、測試用例、測試結果和完整測試截圖,通過這章詳細介紹,了解測試的理論知識,通過截圖效果展示說明系統(tǒng)開發(fā)符合預期的結果。</p&
25、gt;<p> 第七章是總結和展望。這節(jié)介紹了自己的通過研究與實現(xiàn)本系統(tǒng)收獲了什么以及對GIS(地理信息系統(tǒng))的展望。</p><p><b> 2 可行性分析</b></p><p> 2.1技術可行性分析</p><p> 基于GIS校園查詢系統(tǒng)采用相對比較簡單快速的組件式GIS開放方式,軟件程序開發(fā)工具使用了Visu
26、al Studio 2008(VS)和ArcEngine??臻g數(shù)據(jù)庫的建立、決策和管理使用軟件ArcGIS。3D模型草圖使用工具Google SketchUp來完成。最后一些需要儲存的數(shù)據(jù)使用MSSQL數(shù)據(jù)庫來儲存。</p><p> ?。?)系統(tǒng)使用的開發(fā)語言是C#(C sharp)。C#是最近幾年新起的一門面向對象的編程語言。C#語言繼承了一些C和C++的特性,同時也摒棄了他們的一些不足。C#有以下的特點:&
27、lt;/p><p> 第一:C#效率與安全性</p><p> 在程序的編寫過程中,程序員或多或少的會犯一些小錯誤,如變量未初始化、大括號的漏泄等。雖然多是些小錯誤,但一旦一個系統(tǒng)作為一個產品在使用后,就算是一個最簡單的錯誤糾正起來也可能要付出極其昂貴的代價。C#語言的設計能夠有效的解決這些常見的問題,它自帶的資源回收減輕了程序員內存管理的負擔。而且在C#語言中變量由環(huán)境自動初始化。它使開
28、發(fā)者用更少的代碼做更多的事,同時也不易出錯。</p><p> 第二:C#對現(xiàn)有的網(wǎng)絡編程新標準的支持</p><p> 為提高性能,C#允許讓XML數(shù)據(jù)同struct數(shù)據(jù)類型一一對應進行映射,而不是class。少量的數(shù)據(jù)使用這種處理方法是非常有效的。Microsoft .NET平臺可以輕松的幫助程序員構建應用程序框架。任何組件都可以通過C#的內置特性轉化為XML的網(wǎng)絡服務,然后通過I
29、nternet被各種操作系統(tǒng)上運行的軟件調用。擴展可以應用于任何對象上的元數(shù)據(jù),是C#語言所允許的,因為它支持類型定義的。程序設計人員在領域中定義特有屬性,并可以把他們應用與類、接口等等。然后,通過編程程序員去檢查每一個元素的屬性。做完這些可以讓很多工作變得輕松。</p><p> 第三:C#的擴展交互性</p><p> 在實際的經驗表明有些應用程序仍然需要一些底層的代碼,C#采用以
30、下對策來解決這一問題:1. 內置COM(組件對象模型)和基于Windows平臺API的支持;2.允許使用純指針(NP,Native Pointer),但是不是無限的。在C#中,產生一個對象就會產生一個COM對象。系統(tǒng)開發(fā)人員無需顯式的實現(xiàn)其他COM接口和IUnknown.這些功能都已經內置了.類似的,C#不管它是用什么編程語言,總是可以調用已有的COM對象。C#有個特殊的功能,任何純API都可以被程序調用。這意味這使用C#的程序員不用徹
31、底放棄原有的C或C++的代碼,可以在原來的基礎上編寫程序。COM和純API多為使用者在C#開發(fā)平臺中使用提供了方便的功能。</p><p> 第四:C#對版本的更新的支持</p><p> 更新軟件組件是一項很容易出錯的工作,因為代碼的修改可能無意間改變原有程序的語義。為協(xié)助開發(fā)者進行這項工作,C#為版本的更新提供內在的支持。例如,方法重載必須顯式聲明。這樣可以防止編碼錯誤,保證版本更
32、新的靈活性。同時內部也支持了對接口和接口的繼承。這些特性讓用C#開發(fā)的復雜的軟件框架可以在不停地維護中更新發(fā)展。</p><p> 總體來說,有個這些特性強大了項目的后續(xù)版本,同時也減少后期開發(fā)成本?!?】。</p><p> ?。?)軟件使用,組件式GIS開發(fā)方式</p><p> 組件式GIS是把一個復雜的功能進行模塊劃分,分為能完成不同功能的多個控件作為基
33、本思想。通過可視化的開發(fā)工具集成各個GIS控件及其他非GIS控件之間,形成最終的GIS應用。這就如同堆積木,把控件看成積木,按需求把實現(xiàn)各種功能的控件搭建起來,這樣就構成了一個完整的應用系統(tǒng)。組件式GIS的小巧靈活價格便宜、無須專門GIS開發(fā)語言、強大的GIS功能、開發(fā)簡捷、更加大眾化等優(yōu)點多是傳統(tǒng)GIS工具所沒有?!?】。</p><p> ?。?)ArcGIS軟件介紹</p><p>
34、 ArcGIS產品線為用戶提供一個可伸縮的,全面的GIS平臺。ArcObjects涉及面極廣從細粒度的對象到粗粒度的對象,這些對象提供了全面的GIS功能。使用ArcObjects完成的ArcGIS產品都為開發(fā)者提供一個包括嵌入式GIS(ArcGIS Engine),桌面GIS(ArcGIS Desktop)以及服務端GIS(ArcGIS Server)的應用開發(fā)容器。</p><p> ArcGIS Engi
35、ne提供了一套的嵌入式ArcGIS組件,應用于ArcGIS Desktop框架之外。通過ArcGIS Engine開發(fā)者可以在現(xiàn)存的應用或者構建完整的客戶化應用中,嵌入GIS邏輯來定制的GIS應用,為多個用戶提供不同的面向GIS的解決方案【4】。</p><p> ?。?)三維模型Google SketchUp</p><p> Google SketchUp是一套優(yōu)秀的面向設計方案、面
36、向創(chuàng)作過程的3D建筑模型設計工具,其創(chuàng)作過程不僅能自由表達設計者的思想也能滿足客戶的即時溝通的需要,它可以在電腦上直接構思在電腦上直接創(chuàng)作,簡化了很多復雜的三維建模的過程。</p><p> 簡潔的界面、短期內掌握使用、適用范圍廣闊、方便的推拉功能、快速生成任何破面圖、多種3D文件格式等特色多使Google SketchUp成為一個優(yōu)秀工具軟件。它可以幫助使用快速做出草圖,也能幫助使用者做出優(yōu)秀的、渲染效果逼真
37、的三維場景。對與常見的模型,同樣你可以直接到網(wǎng)上下載下來直接使用。還具有不同顯示模式的透視,草稿,線稿,渲染等功能,方便設計。定位陰影和日照,逼真了模型場景。面向設計者的空間尺寸與文字的標注,使得設計者從細節(jié)上把模型做的更好?!?】。</p><p> (5)MSSQL介紹</p><p> MSSQL是指微軟的SQL Server數(shù)據(jù)庫服務器,它是一個數(shù)據(jù)庫平臺,提供數(shù)據(jù)庫的從服務器
38、到終端的完整的解決方案,其中數(shù)據(jù)庫服務器部分,是一個數(shù)據(jù)庫管理系統(tǒng),用于建立、使用和維護數(shù)據(jù)庫。SQL Server一開始并不是微軟自己研發(fā)的產品,而是當時為了要和IBM競爭時,與Sybase合作所產生的,其最早的發(fā)展者是Sybase,同時微軟也和Sybase合作過 SQL Server 4.2版本的研發(fā),微軟亦將SQL Server 4.2移植到Windows NT(當時為3.1版),在與Sybase終止合作關系后,自力開發(fā)出SQL
39、Server 6.0版,往后的SQL Server即均由微軟自行研發(fā)【5】。</p><p><b> 2.2經濟可行性</b></p><p> 軟件使用的Visual Studio 2008和MSSQL是微軟提供的免費的版本,已經能滿足本次開發(fā)了,故不在另外去購買更高版本了。而Google SketchUp同樣有免費版本和專業(yè)版本,這里使用Google Ske
40、tchUp免費版本來實現(xiàn)3D草圖的完成。ArcGIS和ArcEngine兩個均為綠色破解版本,同時相關所有軟件書籍可以到導師或圖書館借閱。因此,本次軟件開發(fā)所需的投資符合自身條件,經濟可行性良好。</p><p><b> 2.3法律可行性</b></p><p> 本系統(tǒng)的開發(fā)純屬個人研究和學習,并未用于任何商業(yè)用途,同時保證絕對不會在未經ERIS該公司同意而肆
41、意將破解版本軟件到處散播是不會受任何法律的約束的。因此,本次軟件的開發(fā)的法律可行性是良好的。</p><p> 綜上所述,本次開發(fā)基于GIS校園查詢系統(tǒng)的研究與實現(xiàn)在技術可行性、經濟可行性和法律可行性方面多是滿足條件的,因此可以進行本次軟件開發(fā)。</p><p><b> 3 需求分析</b></p><p><b> 3.1業(yè)
42、務分析</b></p><p> 基于GIS校園查詢系統(tǒng)是面向廣大師生和校外來者一個系統(tǒng)。因此,系統(tǒng)不需要用戶賬號密碼訪問系統(tǒng)。系統(tǒng)只要包含了兩大塊功能模塊:訪問者功能模塊和管理員功能模塊。</p><p> 訪問者的權限只有瀏覽和查詢,具體的功能有對地圖的放大縮小、全圖查看、三維場景顯示、屬性查詢和幫助。而管理員權限除了包含訪問者的權限外,同時還有添加圖層、打開系統(tǒng)文件、
43、保存、編輯等功能。</p><p> 訪問者的功能模塊圖如下圖3-1所示:</p><p> 從業(yè)務流程圖上可以看到校園查詢系統(tǒng)大致流程,對于每個功能的處理多有各自的要求,根據(jù)業(yè)務的不同和實際需求有不同的差別。上圖是一個面向訪問者的系統(tǒng)功能模塊圖,系統(tǒng)在管理的編輯和修改完成后,訪問可以直接使用軟件進行查詢和瀏覽。訪問者只是從系統(tǒng)里獲取詳細的校園信息,而無法對數(shù)據(jù)做任何改動。</p
44、><p> 管理員模塊的功能組成如下圖3-2:</p><p> 同時系統(tǒng)沒有增加注冊功能,只是在系統(tǒng)設計時添加了管理員的賬戶,管理員還可以進行登錄、修改密碼,這兩個功能在3-2管理員功能模塊上沒有列出。</p><p> 所有功能列表如下表3-1:</p><p><b> 表3-1功能表</b></p>
45、;<p><b> 3.2建模分析</b></p><p> 建模是為了更好的理解復雜的事物屬性和事物間的關系。模型就是將一個具體的實體對象進行抽象分析,作一種書面性的描述。通常的模型由一些組織這些符號和圖形符號的規(guī)則組成。其中結構化分析是建模活動中的一種,有時候為了開發(fā)復雜的軟件系統(tǒng),對系統(tǒng)地分析要從各個不同的角度去抽象出系統(tǒng)的特性。并且,經常使用較精確表示方法構造模型,
46、驗證模型是否滿足實際的需求,并在程序設計的過程中逐漸的與現(xiàn)實有關的細節(jié)加進模型當中,最終由程序來實現(xiàn)模型。</p><p> 通常為了清楚準確的描述實體對象數(shù)據(jù),程序員會建立一個概念性的信息模型(也有稱之為數(shù)據(jù)模型)。信息模型中包含相互關聯(lián)的信息有3種:數(shù)據(jù)對象的屬性、數(shù)據(jù)對象及數(shù)據(jù)對象間相互連接的關系。ER圖(實體-聯(lián)系圖)是建立信息模型比較常用的一種圖,用ER圖建立的模型稱之為ER圖。下面本次使用ER圖來建
47、立本系統(tǒng)的信息模型,如下圖3-3所示。</p><p><b> 4 系統(tǒng)分析</b></p><p> 4.1 系統(tǒng)總體設計</p><p> 本系統(tǒng)是基于C/S(Client/Server)客戶端-服務端的架構體系,主要面向的是訪校的各種人群。系統(tǒng)通過Client客戶端接受訪問者的請求,然后由Server服務端對請求進行響應處理,并返
48、回處理結果。因為本系統(tǒng)的客戶業(yè)務比較簡單,所以C/S可以是一體機形式,也可以是遠程網(wǎng)絡訪問形式。本次系統(tǒng)設計采用一體機形式,相對于遠程網(wǎng)絡訪問客戶端訪問服務端模式,一體機形式開發(fā)極其簡單,在同一臺機器上同時安裝客戶端和服務端。但是,一體機同樣有很多弊端,比如后期維護相當麻煩、系統(tǒng)故障必須有相關的維修人員去及時維修等。鑒于本系統(tǒng)的主要是研究GIS(地理信息系統(tǒng))方向,因此采用最簡單的模式和體系方便開發(fā)。</p><p&
49、gt; 系統(tǒng)的開發(fā)采用模塊化編程,結合快速原型模型方式開發(fā)。模塊化編程主要是為后期的軟件維護和再次開發(fā)提供便捷,也大大簡化了后期的軟件的測試。同時,模塊化編程使得代碼的結構清晰有條理性,提高代碼的可讀性,使得下次維護系統(tǒng)的即使不是軟件原班人馬,也可以在短期內看懂代碼,并完成維護工作。因為此次是第一次接觸GIS開發(fā),采用快速原型方式開發(fā),可以不斷的在上一次的程序中添加新的功能,便于一邊研究一邊完成系統(tǒng)的功能。</p>&l
50、t;p> 在總體設計階段,對不同的對象的功能組,可分為公共功能模塊和管理員功能模塊,使得條理清晰,便于后期的有針對性編寫代碼。將其功能用結構層次圖如下圖4-1所示。</p><p> 整個系統(tǒng)橫向可以清晰的劃分成4個模塊,它們分別是:查詢模塊--負責查詢空間數(shù)據(jù)庫和屬性數(shù)據(jù)庫,并返回訪問者需要的空間數(shù)據(jù)和相關數(shù)據(jù)信息,顯示在界面上。登錄模塊--管理員登錄,并獲取相關的操作權限。管理員賬戶管理模塊--更改
51、原先密碼,保護賬戶安全。數(shù)據(jù)管理模塊--適時的更新數(shù)據(jù)庫里的信息,以達到系統(tǒng)數(shù)據(jù)庫的信息與校園的信息同步。</p><p> 縱向系統(tǒng)可以劃分3個層:表現(xiàn)層(View)--主要是界面和信息顯示;控制層(Controller) --負責數(shù)據(jù)的接收請求和返回響應;模塊層(Model)--負責數(shù)據(jù)的處理,如查詢、修改等等,也負責與數(shù)據(jù)的連接。這也就是MVC架構模式。</p><p><b
52、> 4.2 數(shù)據(jù)庫設計</b></p><p> MSSQL數(shù)據(jù)庫設計是項目開發(fā)和系統(tǒng)設計中的非常重要的一個環(huán)節(jié),良好的數(shù)據(jù)庫結構設計不僅可以大大簡化SQL語句去完成大部分的數(shù)據(jù)交互功能,而且還能提高對數(shù)據(jù)庫訪問效率。良好的數(shù)據(jù)庫結構設計還關系到軟件維護和二次開發(fā),所以必須對系統(tǒng)需求和功能有良好的分析。只有掌握了系統(tǒng)全局的需求,才能開始設計數(shù)據(jù)庫。</p><p>
53、 數(shù)據(jù)庫設計主要是在數(shù)據(jù)庫內建立表格,并整理表格間的關系,可以通過程序對這些數(shù)據(jù)進行增、刪、改、查等操作,本系統(tǒng)主要含有的表格有:</p><p> 表4-1 Admin_user(管理員用戶表)</p><p> 表4-2Attr_pic(屬性圖片表)</p><p> Geodatabase(空間數(shù)據(jù)庫)的建立與設計。</p><p&g
54、t; 一個空間數(shù)據(jù)庫的建立要進行詳細的設計,包括空間數(shù)據(jù)庫將包含那些地理要素、地理要素集、對象表、幾何網(wǎng)絡、關系類型等【1】。之后是才是建立空間數(shù)據(jù)庫以及建立它的組成項和加載數(shù)據(jù)到數(shù)據(jù)庫中。這里不詳細說明如何收集建立空間數(shù)據(jù)庫和建立空間數(shù)據(jù)庫了,這里列一張本系統(tǒng)用到的屬性表的內容。</p><p> 表的建立應該有良好的習慣,在每個表里建立一個主鍵,一般我們使用邏輯主鍵,而不使用業(yè)務主鍵,這樣做方便某些表增加
55、外鍵等一些表間關系的操作。這簡化了一個系統(tǒng)以后的功能擴展和維護提供,不至于到時候要重新對原來的表和數(shù)據(jù)進行修改。</p><p> 4.3 系統(tǒng)詳細設計</p><p> 在為系統(tǒng)的設計時,作為開發(fā)者應該擁有長遠的目光。一個系統(tǒng)軟件不是一個消耗品,而應該是一個可持續(xù)使用的產品。這就要求系統(tǒng)的設計不是簡簡單單的完成功能,同樣要考慮到如何讓自己的系統(tǒng)如何更穩(wěn)定、界面更友好、功能更易拓展、后
56、期更易維護。所以在詳細設計中,也應該盡量從軟件工程學的角度進行設計。</p><p> 系統(tǒng)主要面向的是所有來校訪問的人員,所以任何人都有使用系統(tǒng)的權限。系統(tǒng)是即開即用,在系統(tǒng)初始化后任何人都可以直接使用各種查詢功能。流程圖如下圖4-2所示。</p><p> 管理員需要登錄后才能獲得權限,并對數(shù)據(jù)庫和其他數(shù)據(jù)進行修改等操作。登錄后的管理員可以修改自己的密碼。流程圖如下圖4-3所示。&
57、lt;/p><p><b> 5 系統(tǒng)實現(xiàn)</b></p><p><b> 5.1 系統(tǒng)架構</b></p><p><b> 1.編程規(guī)范</b></p><p> ?。?)類命名:為了方便代碼的可讀性和代碼的可維護性,類名一般采用一個英文單詞和多個英文單詞構成,且每個單
58、詞首字母大寫。</p><p> ?。?)字段名:字段名均為小寫英文單詞。</p><p> ?。?)屬性名:屬性命名一般和字段單詞相同,但是首字母大寫。</p><p> ?。?)方法名:方法命名一般第一個單詞均為小寫,其他單詞首字母大寫。</p><p> (5)訪問權限:根據(jù)需求多方法和屬性用public、private等修飾詞修飾。
59、為了軟件具有更高的封裝效果,通常多屬性使用private修飾,外界通過使用屬性中的get()和set()方法對其訪問和修改,以提高系統(tǒng)安全。</p><p> ?。?)文件格式:對代碼文件使用統(tǒng)一的格式,一般格式如下圖5-1所示。</p><p><b> 類的引用:</b></p><p><b> 圖5-1類的引用</b
60、></p><p> 命名空間:namespace + 包含該文件的文件夾名。</p><p> 代碼編寫規(guī)范大致如下圖5-2所示:</p><p><b> 圖5-2編碼規(guī)范</b></p><p> 2.系統(tǒng)結構目錄截圖</p><p><b> 5.2 系統(tǒng)編碼&l
61、t;/b></p><p> 經過系統(tǒng)的分析后,使用代碼來實現(xiàn)系統(tǒng)功能,這里我們在這貼出比較代表性的代碼,代碼主要為了說明一些主要功能的具體實現(xiàn)。這里主要貼出數(shù)據(jù)庫連接代碼和實現(xiàn)訪問者查詢功能的代碼。</p><p> 數(shù)據(jù)庫連接部分代碼如下:</p><p> string dataDir = AppDomain.CurrentDomain.BaseD
62、irectory;//獲取基目錄路徑</p><p> if (dataDir.EndsWith(@"\bin\Debug\") || dataDir.EndsWith(@"\bin\Release\"))//判斷基目錄路徑是否以 “\bin\Debug\”或“\bin\Release\”結尾</p><p>
63、;<b> {</b></p><p> dataDir = System.IO.Directory.GetParent(dataDir).Parent.Parent.FullName;//獲取dataDir的父目錄的全路徑,并重新賦給dataDir</p><p> AppDomain.CurrentDo
64、main.SetData("DataDirectory", dataDir);</p><p> //設置當前應用程序集的"DataDirectory"為dataDir的值</p><p><b> }</b></p><p> SqlConnection conn = new SqlConnect
65、ion(@"Data Source=.\SQLEXPRESS;AttachDBFilename=|DataDirectory|\Admin_user.mdf;</p><p> Integrated Security=True;User Instance=True");//</p><p> conn.Open();//打開數(shù)據(jù)庫連接</p
66、><p> 實現(xiàn)用戶功能代碼如下:</p><p> private void button1_Click(object sender, EventArgs e)//放大按鈕</p><p><b> {</b></p><p> axMapControl1.MousePointer =
67、esriControlsMousePointer.esriPointerZoomIn;</p><p><b> flag = 2;</b></p><p><b> }</b></p><p> private void button2_Click(object sender, EventArgs e)//縮小按
68、鈕</p><p><b> {</b></p><p> axMapControl1.MousePointer = esriControlsMousePointer.esriPointerZoomOut;</p><p><b> flag = 1;</b></p>&
69、lt;p><b> }</b></p><p> private void button3_Click(object sender, EventArgs e)//漫游按鈕</p><p><b> {</b></p><p> axMapControl1.MousePointer = esriControls
70、MousePointer.esriPointerPan;</p><p><b> flag = 3;</b></p><p><b> }</b></p><p> private void button4_Click(object sender, EventArgs e)//全圖按鈕</p><
71、;p><b> {</b></p><p> axMapControl1.Extent = axMapControl1.FullExtent;</p><p><b> }</b></p><p> private void axMapControl1_OnMouseDown(object sender,
72、IMapControlEvents2_OnMouseDownEvent e)</p><p><b> {</b></p><p> ESRI.ArcGIS.Geometry.IEnvelope ipEnv;</p><p> if (flag == 2)</p><p><b> {&l
73、t;/b></p><p> ipEnv = axMapControl1.TrackRectangle();</p><p> axMapControl1.Extent = ipEnv;</p><p><b> }</b></p><p> else if (flag == 1)</p>&
74、lt;p><b> {</b></p><p> //ipEnv = axMapControl1.TrackRectangle();</p><p> ipEnv = axMapControl1.Extent;</p><p> ipEnv.Expand(2, 2, true);</p><p> axM
75、apControl1.Extent = ipEnv;</p><p><b> }</b></p><p> else if (flag == 3)</p><p><b> {</b></p><p> ipEnv = axMapControl1.Extent;</p>&l
76、t;p> axMapControl1.Pan();</p><p><b> }</b></p><p><b> }</b></p><p><b> 6 系統(tǒng)測試</b></p><p> 6.1 測試理論知識介紹</p><p>
77、 軟件的產生是應需求而生,有需求才有軟件的市場。一個軟件的質量不僅僅取決與這個軟件實現(xiàn)了什么功能,而是要看這個軟件總體的使用情況,如軟件的異常處理情況、軟件運行性能高低等等。如何保證一個軟件在交給客戶之后能正常使用并良好的運行,這就涉及到了軟件測試這方面的知識。</p><p> 軟件的測試和軟件的可靠性與重要性是分不開的。只有通過測試并達到預期效果的軟件,才能算是一個軟件,不然不能說是軟件,而是一些程序代碼。
78、什么是軟件測試,軟件測試的目標,在漫長軟件的研究中已經有了定義了。所謂測試是為了發(fā)現(xiàn)程序中的錯誤和不足而去運行系統(tǒng)。錯誤包含很多方面,其中最主要是指前期系統(tǒng)設計時的邏輯錯誤和代碼書寫錯誤。</p><p> 任何軟件的測試都可以使用黑盒測試和白盒測試,這兩種測試有各自的優(yōu)缺點,也會根據(jù)不同的情況而使用,甚至在某些情況下可以一起使用。在知道一個系統(tǒng)軟件的具體功能的情況下,我們可以通過軟件功能是否能正常使用來測試軟
79、件。但是在考慮功能的情況下,我們可以通過了解軟件內部的工作流程來進行測試,檢查軟件內部動作是否按照規(guī)格說明書的規(guī)定來正常進行。前一種就是所謂的黑盒測試,而后一種就是白盒測試。</p><p> 測試軟件時,我們把程序看成一個黑盒,不考慮內部的結構和處理過程。我只測試程序的接口來檢查程序的功能是否符合規(guī)格說明里的規(guī)定在運行。還有程序能否在接收輸入數(shù)據(jù)之后,產生預期的輸出效果。同時,也在測試一個程序的完整性。因此,
80、黑盒測試又被稱為功能測試。</p><p> 相對于黑盒測試,白盒測試可以說是與之相反的測試方法。白盒測試把軟件看成是一個透明的盒子,測試人員在知道其內部結構和算法處理的情況下進行測試。這是一種對程序內部邏輯的測試,對系統(tǒng)程序結構的一種檢查,看是否能和預期的一樣產生正確的結果。所以,白盒測試又被成為結構測試。</p><p> 因為本系統(tǒng)功能相對比較簡單,所以采用功能測試比較符合本系統(tǒng)
81、的實際情況。</p><p><b> 6.2 測試用例</b></p><p><b> 查詢功能測試:</b></p><p> 1.打開軟件,加載地圖。</p><p> 2.更改地圖路徑或在文件夾中去掉地圖文件,打開軟件,加載地圖。</p><p> 3.使
82、用放大功能按鍵,在地圖上找任意點進行放大。</p><p> 4.使用放大功能按鍵,在地圖上找任意點,不停的放大。</p><p> 5.使用縮小功能按鍵,在地圖上找任意點進行縮小。</p><p> 6.使用放大功能按鍵,在地圖上找任意點,不停的縮小。</p><p> 7.使用漫游功能按鍵,在地圖上隨意拖拽,任意移動。</p
83、><p> 8.使用全圖功能按鍵,恢復全圖景象。</p><p> 9.連續(xù)使用全圖功能按鍵,恢復全圖景象。</p><p> 管理員登錄功能測試:</p><p> 1.輸入正確用戶名和密碼,點擊登錄。</p><p> 2.輸入正確用戶名和錯誤密碼,點擊登錄。</p><p> 3.
84、輸入錯誤用戶名和正確密碼,點擊登錄。</p><p> 4.輸入錯誤用戶名和錯誤密碼,點擊登錄。</p><p> 5.不輸入用戶名或不輸入密碼,點擊登錄。</p><p> 管理員密碼修改功能測試:</p><p> 1.輸入正確的舊密碼和兩次一樣的新密碼,點擊修改。</p><p> 2.輸入正確的舊密碼
85、和兩次不一樣的新密碼,點擊修改。</p><p> 3.輸入正確的舊密碼和輸入兩次與舊密碼一致的新密碼,點擊修改。</p><p> 4.輸入錯誤的舊密碼和輸入兩次一樣的新密碼,點擊修改。</p><p> 5.在舊密碼框貨密碼框不輸入任何東西,點擊修改。</p><p><b> 6.3 測試結果</b><
86、;/p><p> 表6-1查詢功能測試結果</p><p> 表6-2管理員登陸功能測試結果</p><p> 注:Admin_user(管理員賬戶數(shù)據(jù)表)中內置一個用戶名為admin,密碼為123456的賬戶</p><p> 表6-3管理員登陸功能測試結果</p><p> 6.4 系統(tǒng)整體截圖</p&
87、gt;<p> 用戶查詢功能模塊截圖。</p><p> 在這里只舉查詢圖和放大效果圖。</p><p> 點擊具體的某一塊區(qū)域,進行查詢顯示信息對話框。</p><p> 圖6-1查詢圖 圖6-2放大效果圖</p><p> 管理員登陸功能截圖。<
88、;/p><p> 文件->管理員登錄->隱藏當前窗口顯示登錄對話框,在這里舉兩個登錄失敗的例子。</p><p> 圖6-3登錄密碼錯誤圖 圖6-4登錄用戶名無效圖</p><p> 管理員修改密碼截圖。</p><p> 登錄成功后,編輯->修改密碼,同也具兩個錯
89、誤的例子。</p><p> 圖6-5舊密碼錯誤圖 圖6-6新密碼不一致圖</p><p> 通過測試可以發(fā)現(xiàn),測試的預期結果和測試的實際結果一致,說明已經實現(xiàn)了系統(tǒng)設計的功能,并對一些預期的人為或非人為的異常進行了處理,到此系統(tǒng)的設計基本完成。</p><p><b> 7 總結與展望
90、</b></p><p> 本系統(tǒng)是面向訪校人員的一個查詢軟件,實現(xiàn)了一些簡單的常規(guī)功能,對地圖的縮放、全圖和漫游。同時,增加了一個管理員功能模塊,提供一個可以修改更新系統(tǒng)內容的途徑。通過程序設計讓我了解到了,未來的信息軟件可能更注重信息表達能力的強弱、信息顯示是否實時等方面。這也是信息產業(yè)發(fā)展的一個趨勢。</p><p> 在過去幾十年里,GIS發(fā)展迅速,其應用領域的也在
91、不多的擴展。換句話說很多領域多開始努力關注地理信息系統(tǒng)這個方向了。地理信息系統(tǒng)本身具有多種表達能力,圖像、圖形、聲音、文字等表達方式豐富了人們獲取信息的途徑。當前GIS的應用已經漸漸地貼近人們的日常生活,像城市規(guī)劃、交通管理、自然資源管理、環(huán)境保護、生態(tài)農業(yè)、水利建設等等。也許未來的GIS能走進社區(qū)管理、家庭生活、個人應用。</p><p> 現(xiàn)在是信息產業(yè)時代,技術不斷的在更新?lián)Q代,人總是嘗試將一些現(xiàn)有的技術
92、在不同的環(huán)境下實驗,然后移植到不同的平臺上,從而以適應時代的發(fā)展和人們的需求。人們已經開始研究移動GIS,像目前人們在研究的WAP GIS在手機上的應用。手機的普及率和其快速發(fā)展,使得移動GIS的出現(xiàn)不再是偶然。網(wǎng)絡的普及以及網(wǎng)站的流行,WebGIS也成為了未來發(fā)展的一個方向。WebGIS的發(fā)展可以滿足人們足不出戶就享受到地理信息系統(tǒng)帶來的全球化空間信息技術所帶來的便利。人們可以通過互聯(lián)網(wǎng)進行查詢、分析、決策的輔助和管理自己所需的空間信
93、息。</p><p> 總得來說,GIS的快速發(fā)展讓它從科研領域普及到了經濟生產領域,未來的發(fā)展趨勢讓它越來越貼近人們生活應用,或許在未來GIS產品會發(fā)展成為和手機、電腦一樣不可缺少的一件必備品。</p><p><b> 參考文獻</b></p><p> [1] 池建.精通ArcGis地理信息系統(tǒng)[M].清華大學出版社,2011.&l
94、t;/p><p> [2] Julia Case Bradley,Anita C.Millspaugth.C#.NET程序設計[M].清華大學出版社,2008.</p><p> [3] 劉光,劉小東.地理信息系統(tǒng)二次開發(fā)教程[M].科學出版社,2004.</p><p> [4] 邱洪鋼等.ArcGIS Engine開發(fā)[M].人民郵電出版社,2010.<
溫馨提示
- 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
- 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯(lián)系上傳者。文件的所有權益歸上傳用戶所有。
- 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁內容里面會有圖紙預覽,若沒有圖紙預覽就沒有圖紙。
- 4. 未經權益所有人同意不得將文件中的內容挪作商業(yè)或盈利用途。
- 5. 眾賞文庫僅提供信息存儲空間,僅對用戶上傳內容的表現(xiàn)方式做保護處理,對用戶上傳分享的文檔內容本身不做任何修改或編輯,并不能對任何下載內容負責。
- 6. 下載文件中如有侵權或不適當內容,請與我們聯(lián)系,我們立即糾正。
- 7. 本站不保證下載資源的準確性、安全性和完整性, 同時也不承擔用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。
最新文檔
- 基于gis的校園社交網(wǎng)絡的研究與開發(fā)——畢業(yè)論文
- 基于gis的校園社交網(wǎng)絡的研究與開發(fā)——畢業(yè)論文
- 畢業(yè)論文——城市公交查詢系統(tǒng)的設計與實現(xiàn)
- 基于net的城市公交查詢系統(tǒng)的設計與實現(xiàn)——畢業(yè)論文
- 基于net的城市公交查詢系統(tǒng)的設計與實現(xiàn)——畢業(yè)論文
- 畢業(yè)論文——基于net的城市公交查詢系統(tǒng)的設計與實現(xiàn)
- 畢業(yè)論文---城市公交查詢系統(tǒng)的設計與實現(xiàn)
- 城市公交查詢系統(tǒng)的設計與實現(xiàn)畢業(yè)論文
- 城市公交查詢系統(tǒng)的設計與實現(xiàn)畢業(yè)論文
- 基于android系統(tǒng)的英語詞庫查詢程序的設計與實現(xiàn)——畢業(yè)論文
- 畢業(yè)論文(設計)基于web的城市公交查詢系統(tǒng)設計與實現(xiàn)
- 畢業(yè)論文——校園新聞發(fā)布系統(tǒng)的設計與實現(xiàn)
- 畢業(yè)論文基于gis的火車換乘系統(tǒng)
- 基于android系統(tǒng)的英語詞庫查詢程序的設計與實現(xiàn)——畢業(yè)論文
- gis課程設計--基于gis的校園多媒體查詢系統(tǒng)設計
- 畢業(yè)論文----基于android系統(tǒng)的公交信息查詢系統(tǒng)
- 基于java的公交查詢系統(tǒng) ——畢業(yè)論文
- 校園網(wǎng)絡系統(tǒng)的設計與實現(xiàn)畢業(yè)論文
- 畢業(yè)論文——信息查詢系統(tǒng)
- 畢業(yè)論文—校園卡轉賬系統(tǒng)的設計與實現(xiàn)
評論
0/150
提交評論