天氣信息管理系統(tǒng)的設計與實現_第1頁
天氣信息管理系統(tǒng)的設計與實現_第2頁
天氣信息管理系統(tǒng)的設計與實現_第3頁
天氣信息管理系統(tǒng)的設計與實現_第4頁
天氣信息管理系統(tǒng)的設計與實現_第5頁
已閱讀5頁,還剩29頁未讀, 繼續(xù)免費閱讀

下載本文檔

版權說明:本文檔由用戶提供并上傳,收益歸屬內容提供方,若內容存在侵權,請進行舉報或認領

文檔簡介

1、南 陽 理 工 學 院本科生畢業(yè)設計(論文)學院(系): 軟件學院 專 業(yè): 軟件工程 學 生: 胡亮亮 指導教師: 劉嘵明 完成日期 2015 年 05 月南陽理工學院本科生畢業(yè)設計(論文)繁星天氣信息管理系統(tǒng)的設計與實現Design and Implementation of theFanXing Weather Information Management System總 計:畢業(yè)設計(論文) 27頁表 格: 6個圖 片: 22個繁星天氣信息管理系統(tǒng)的設計與實現南 陽 理 工 學 院 本 科 畢 業(yè) 設 計(論文)繁星天氣信息管理系統(tǒng)的設計與實現Design and Implementa

2、tion of theFanXing Weather Information Management System學 院(系): 軟件學院 專 業(yè): 軟件工程 學 生 姓 名: 胡亮亮 學 號: 1115115127 指導教師(職稱): 劉嘵明 講師 評 閱 教 師: 李倩偉 完 成 日 期: 2015年05月01日 南陽理工學院Nanyang Institute of Technology繁星天氣信息管理系統(tǒng)的設計與實現軟件工程 胡亮亮摘 要 隨著社會的進步和經濟的發(fā)展,天氣對人類的影響也日益的深遠,所以人們對于氣象變化的研究也愈發(fā)的頻繁,傳統(tǒng)的信息記錄方式已經很難滿足現今的龐大天氣數據?;?/p>

3、以上事實,使用了VS2010,SQL2005以及ADO對象接口進行開發(fā)。使用戶能夠注冊帳號并登錄系統(tǒng),對地區(qū)信息以及對應的天氣信息進行添加和修改并統(tǒng)計出來,還能夠根據用戶的需求生成圖表和導出到Excel表格中。用戶能夠清晰直觀的了解某一地區(qū)的一段時間的天氣變化,可以做為研究天氣變化規(guī)律的參考數據資料。關鍵詞 天氣信息;數據管理;圖表化Design and Implementation of theFanXing Weather Information Management SystemSoftware Engineering MajorHu LiangLiangAbstract: With s

4、ocial progress and economic development, the impact of weather on human increasingly far-reaching, so people for climate change research also increasingly frequent ,the traditional way of recording information has been difficult to meet the current huge weather data. Based on the above facts, use VS

5、2010,SQL2005 and ADO object interfaces designed this system. Enables users to register an account and log on to the system, add and modify information and corresponding weather information and statistics, can also generate charts based on users ' needs and export to Excel tables. Users can clear

6、 intuitive understanding of a region's weather for a while, and can be used as reference data of weather changes.Key words: Weather Information; Data Management; Graphed目 錄1 緒論11.1 項目研究背景11.2 項目研究目的與意義11.3 論文的組織結構22 相關技術及開發(fā)工具介紹22.1 相關技術22.2 開發(fā)工具33 系統(tǒng)分析33.1 可行性分析43.2 功能需求分析43.3 非功能需求分析54 系統(tǒng)設計64.1

7、 系統(tǒng)體系結構64.2 系統(tǒng)工作流程74.3 功能設計84.3.1 系統(tǒng)模塊劃分84.3.2 系統(tǒng)模塊功能94.4 數據庫設計104.4.1 概念結構設計104.4.2 邏輯結構設計115 系統(tǒng)實現125.1 開發(fā)環(huán)境125.2 功能實現135.2.1 注冊135.2.2 登錄145.2.3 主界面145.2.4 地區(qū)管理155.2.5 天氣管理185.2.6 圖表生成206 功能測試216.1 注冊功能測試216.2 登錄功能測試23參考文獻26致謝271 緒論1.1 項目研究背景隨著社會的進步和經濟的發(fā)展,人們的戶外活動也日益頻繁,各地的天氣情況越來越受到人們的關注,從氣象行業(yè)的發(fā)展歷程來

8、看,信息技術對氣象學科和氣象業(yè)務是起著決定性推動作用的。氣象觀測在17世紀就已經出現了,但到1870年以前,氣象預報基本上還是停留在單站天氣預報,原因很簡單,因為預報專家對氣象的整體狀態(tài)沒有明晰的了解1。1893年,無線電通信誕生了,由于無線電通信的誕生,到1930年之前,地面觀測網建立起來了,使得氣象科學家能夠從整體上了解到地面氣象要素,大氣波動和大氣運行的狀態(tài),由此天氣預報的實踐開始了。一些氣象學科的學派也開始誕生了。1928年,前蘇聯專家發(fā)明了無線電探空儀,使得大氣探測得以實現,特別是1939年前,高空探測站網的建立,使得人們對全球整體大氣運行狀態(tài)有了比較全面的了解,由此催生了氣象學科的

9、誕生和發(fā)展,許多氣象科學家是在1930年前后開始陸續(xù)出現的,像Rossby先生,此人在氣象界是非常著名的科學家,他提出了大氣長波理論,奠定了整個氣象學科的基礎,而如果沒有地面站網和高空站網所提供的大氣整體觀測資料,Rossby先生是無法提出該理論的;進一步說,如果沒有無線電通信技術,地面和高空站網是無論如何無法建立起來的。所以說,無線電通訊的誕生和在氣象部門的有效使用,促進了,或者說根本性地推動了氣象學科的發(fā)展。進入21世紀,信息技術進入高速發(fā)展階段,人們對于天氣的研究也越來多樣化,通過收集天氣信息,觀測天氣變化的規(guī)律,以期能夠促進人類社會發(fā)展。1.2 項目研究目的與意義傳統(tǒng)的人工用紙進行記錄

10、效率低、容易丟失,同時,處理信息和管理模式需向信息化、網絡化方式轉變,擴大信息共享。面對這樣的情況,及時的研發(fā)一套適用于天氣信息管理信息化軟件將有效彌補傳統(tǒng)方式的不足,并且能夠對氣象信息進行趨勢分析、數據共享等,開發(fā)這樣的一個系統(tǒng)對于提高氣象信息科學管理和預測分析工作具有重要意義3。天氣信息管理系統(tǒng)是為了管理一個地區(qū)和對應天氣等信息設計的。結合在實際天氣觀察和記錄工作中所遇到的問題和收獲,對社天氣信息系統(tǒng)在設計開發(fā)等方面進行研究,重點研究系統(tǒng)開發(fā)中所采用的軟硬件平臺規(guī)范、數據庫結構設計、開發(fā)工具的選擇與使用,從技術手段的角度闡述如何實現從傳統(tǒng)管理模式向信息化管理模式轉變,以及信息化管理的高效2

11、。通過現代科技研發(fā)出相關的軟件產品,我們可以使用新的方式記錄統(tǒng)計天氣信息,大大提高了氣象工作者的工作效率,也可以通過附加的一些功能對數據進行優(yōu)化展示,使數據可視化,方便相關工作者對數據結果進行處理,更快捷的做出初步的處理,得出研究的初步結論。1.3 論文的組織結構本文的具體結構安排如下:第一章,描述項目的選題背景,給出項目研究的目的與意義。第二章,詳細介紹一些本系統(tǒng)使用到的關鍵技術和開發(fā)平臺。第三章,通過收集和分析系統(tǒng)需求,描述了系統(tǒng)可行性分析、功能需求和非功能需求。第四章,詳細的描述系統(tǒng)的體系結構,并且簡述系統(tǒng)的每一個主要功能,對系統(tǒng)數據庫的設計做簡要說明。第五章,利用C+編程,基于MFC

12、Dialog應用程序,結合SQL Server 2008數據庫,利用ADO進行編程,說明系統(tǒng)各功能的實現方法等。第六章,搭建測試環(huán)境,進行系統(tǒng)功能測試。2 相關技術及開發(fā)工具介紹2.1 相關技術(1)CDC類CDC類定義的是設備上下文對象的類。CDC對象提供處理顯示器或打印機等設備上下文的成員函數,以及處理與窗口客戶區(qū)對應的顯示上下文的成員。通過CDC對象的成員函數進行所有的繪圖。類對設備上下文操作提供了成員函數,處理繪圖工具。安全型圖形設備接口(GDI)對象收集,以及處理顏色和調色板。它還為獲取和設置繪圖屬性、映射,處理視點、窗口擴展、轉換坐標,處理區(qū)域、剪貼、繪制直線及繪制簡單橢圓和多邊形

13、等形狀提供了成員函數。另外還為繪制文本、處理字體,使用打印機跳轉,滾動和播放元文件提供成員函數。使用CDC對象時要構造它,然后調用與它平等的、使用設備上下文的Windows函數的成員函數。(2)MFCMFC(MicrosoftFoundationClasses)是微軟基礎類庫的簡稱,是微軟公司實現的一個c+類庫,主要封裝了大部分的windows API函數,vc+是微軟公司開發(fā)的c/c+的集成開發(fā)環(huán)境,所謂集成開發(fā)環(huán)境,就是說利用它你可以編輯,編譯,調試,而不是使用多種工具輪換操作,靈活性較大。有時人們說vc呢也指它的內部編譯器,集成開發(fā)環(huán)境必須有一個編譯器內核,要不有什么用,例如DevC+其

14、中一個編譯器內核就是gcc。 MFC除了是一個類庫以外,還是一個框架,你應該試過,在vc+里新建一個MFC的工程,開發(fā)環(huán)境會自動幫你產生許多文件,同時它使用了mfcxx.dll。xx是版本,它封裝了mfc內核,所以代碼看不到原本的SDK編程中的消息循環(huán)等等東西,因為MFC框架幫你封裝好了,這樣你就可以專心的考慮你程序的邏輯,而不是這些每次編程都要重復的東西,但是由于是通用框架,沒有最好的針對性,當然也就喪失了一些靈活性和效率但是MFC的封裝很淺,所以效率上損失不大。(3)ADO一種程序對象,用于表示用戶數據庫中的數據結構和所包含的數據。在Microsoft Visual Basic編輯器中,可

15、以使用ADO對象以及ADO的附加組件(稱為Microsoft ADO Extensions for DLL and Security(ADOX))來創(chuàng)建或修改表和查詢、檢驗數據庫、或者訪問外部數據源。還可在代碼中使用ADO來操作數據庫中的數據。2.2 開發(fā)工具(1) Microsoft Visual Studio 2010Visual Studio是微軟公司推出的開發(fā)環(huán)境,是目前最流行的Windows平臺應用程序開發(fā)環(huán)境。Visual Studio 2010版本于2010年4月12日上市,其集成開發(fā)環(huán)境(IDE)的界面被重新設計和組織,變得更加簡單明了。Visual Studio 2010同時

16、帶來了 NET Framework 4.0、Microsoft Visual Studio 2010 CTP( Community Technology Preview-CTP),并且支持開發(fā)面向Windows 7的應用程序。除了Microsoft SQL Server,它還支持 IBM DB2和Oracle數據庫。(2) SQL Server 2005Microsoft SQL Server 2005 是一個全面的數據庫平臺,使用集成的商業(yè)智能 (BI)工具提供了企業(yè)級的數據管理。Microsoft SQL Server 2005數據庫引擎為關系型數據和結構化數據提供了更安全可靠的存儲功能,

17、使您可以構建和管理用于業(yè)務的高可用和高性能的數據應用程序。Microsoft SQL Server 2005 數據引擎是該企業(yè)數據管理解決方案的核心。此外 Microsoft SQL Server 2005 結合了分析、報表、集成和通知功能。這使您的企業(yè)可以構建和部署經濟有效的 BI 解決方案,幫助您的團隊通過記分卡、Dashboard、Web services 和移動設備將數據應用推向業(yè)務的各個領域。與 Microsoft Visual Studio、Microsoft Office System 以及新的開發(fā)工具包(包括 Business Intelligence Development

18、Studio)的緊密集成使 Microsoft SQL Server 2005 與眾不同。無論您是開發(fā)人員、數據庫管理員、信息工作者還是決策者,Microsoft SQL Server 2005 都可以為您提供創(chuàng)新的解決方案,幫助您從數據中更多地獲益。3 系統(tǒng)分析需求分析是描述建立一個計算機系統(tǒng)結構,描寫該系統(tǒng)具有什么目的、實現什么功能、所需功能性定義的工作。通過系統(tǒng)的分析產品需要,設計出符合系統(tǒng)定義的架構、流程結構、數據庫結構等。用戶并不了解軟件開發(fā)的相關知識和流程,開發(fā)者不清楚用戶所需要的功能性需求。這樣一種認知差異容易造成增加系統(tǒng)開發(fā)的難度。這就需要通過開發(fā)者與用戶進行系統(tǒng)可行性與功能性

19、的深入溝通,從而針對具體內容制定出一份詳實的需求分析文檔。事實證明,需求分析文檔的質量對最終成品的質量具有相當大的影響。3.1 可行性分析(1)經濟可行性天氣信息管理涉及到氣象、雨情等各種數據,具有非常大的科研和實際價值,于是建設一套天氣信息管理系統(tǒng)就非常必要,會給一個地區(qū)經濟和社會帶來顯著民生效應4。(2)技術可行性本系統(tǒng)采用的C+編程、MFC框架、ADO編程,PowerDesigner建模工具等為基礎開發(fā)技術,SQL Server2005作為數據庫。系統(tǒng)采用C/S結構,結合分層體系架構來進行設計,降低層與層之間耦合性,有利于開發(fā)和測試,也有利于功能擴展。3.2 功能需求分析信息管理系統(tǒng)就是

20、用戶在處理較多數據時,人工方法的效率是較為低下的,因為需要系統(tǒng)能夠有條理的快捷的處理龐大的數據。尤其是天氣信息,因為天氣信息包含了很多的要素。包括溫度,風向,風力,降雨量,濕度,紫外線強度等等。用戶在使用本系統(tǒng)的時候,能夠對使用系統(tǒng)的各個功能對包括用戶,地區(qū),天氣信息等進行操作。使其更方便的管理數據,讓工作人員能夠更方便的通過信息管理系統(tǒng)查看數據,得出研究結果。主要前臺功能如下:(1)注冊模塊用戶需要使用帳號密碼才能夠登錄系統(tǒng),所以在登錄之前需要注冊信息。用戶需要輸入基本信息進行注冊,所以用戶需要有用戶名,因為系統(tǒng)的用戶不止一位,為了防止用戶名重復,系統(tǒng)還需要對用戶的帳戶名進行重復性檢測,檢測

21、通過之后才能后注冊成功。注冊成功后用戶才能使用該系統(tǒng)。 (2)登錄模塊用戶在成功注冊完畢后,使用注冊賬號和密碼登錄系統(tǒng),賬戶名和密碼輸入正確之后成功登錄,之后進入系統(tǒng)主界面。 (3)區(qū)域管理模塊系統(tǒng)主界面需要有個管理地區(qū)的功能,因為我們在管理一個地區(qū)不同時段的天氣信息之前,肯定是先要管理不同的地區(qū),區(qū)域管理模塊下分為兩個小功能,一是新增區(qū)域功能,可以隨著用戶的需要添加新的地區(qū):首先是添加具體的區(qū)域,然后是區(qū)域所在的國家,省區(qū),下面是市級地區(qū)。二是查詢功能,當管理的地區(qū)過多的時候,有時候我們想要查看某一地區(qū)的情況就需要用到這一功能。然后在某個地區(qū)之下,管理這個地區(qū)的所有天氣信息。同樣在查詢中,我

22、們也需要先選擇查詢地區(qū)所在的國家,省,市,然后在選擇具體的區(qū)域,點擊查詢,系統(tǒng)給出該地區(qū)所有的天氣信息。 (4)天氣管理模塊在系統(tǒng)劃定了一個地區(qū)之后,我們才能夠對這個地區(qū)的天氣信息進行管理。在管理模塊下也分為新增天氣信息和查詢天氣信息,添加基本的天氣信息應該包含有,這個天氣信息所在的地區(qū),總體的一個天氣情況,再細劃分成降雨量,風向,風力,最高溫度以及最低溫度等;然后當我們需要查詢的時候,找到想要查詢的地區(qū)的信息,找到對應的地區(qū)的位置,然后就可以查到對應這個地區(qū)的所有的天氣信息。 (5)圖形統(tǒng)計模塊在我們收集到了某一地區(qū)的一段時間的天氣信息以后,為了用戶能夠更加直觀的了解這一地區(qū)在這一時間段的天

23、氣的變化,系統(tǒng)可以將溫度和降雨量分別生成折線圖和柱狀圖,使數據清晰易讀。 (6)導出excel模塊用戶在收集信息的時候可能是零散的,為了方便統(tǒng)計,用戶可以查詢某地區(qū)的所有天氣信息,并且可以導出到Excel表格中。方便做為數據資料保存。在本系統(tǒng)中,Excel其實是相當與另一個數據庫,系統(tǒng)只是把SQL中的數據保存到Excel這個數據庫中,實現數據的導出功能。當然在實際的應用中,我們也可以把數據以其他的形式導出來。后臺功能:數據庫的數據庫設計是建立數據庫及其應用系統(tǒng)的技術,是信息系統(tǒng)開發(fā)和建設中的核心技術。由于數據庫應用系統(tǒng)的復雜性,為了支持相關程序運行,數據庫設計就變得異常復雜,因此最佳設計不可能

24、一蹴而就,而只能是一種“反復探尋,逐步求精”的過程,也就是規(guī)劃和結構化數據庫中的數據對象以及這些數據對象之間關系的過程。數據的標準化有助于消除數據庫中的數據冗余。標準化有好幾種形式,但Third Normal Form(3NF)通常被認為在性能、擴展性和數據完整性方面達到了最好平衡。簡單來說,遵守3NF 標準的數據庫的表設計原則是:“One Fact in One Place”即某個表只包括其本身基本的屬性,當不是它們本身所具有的屬性時需進行分解。表之間的關系通過外鍵相連接。它具有以下特點:有一組表專門存放通過鍵連接起來的關聯數據。3.3 非功能需求分析(1)時間性能需求系統(tǒng)為桌面程序,使用客

25、戶端方式訪問,響應速度為5秒以內。(2)系統(tǒng)開放性需求基于主流WINDOWS平臺建設,使其具有良好的可擴充性和可移植性,系統(tǒng)可運行在主流的WINDOWS操作系統(tǒng)平臺上,便于以后系統(tǒng)的升級。遵循主流的標準和協議,不僅可以為系統(tǒng)與上級平臺系統(tǒng)交換信息提供便利,而且也有利于系統(tǒng)內部各部分之間交換信息,這將有助于提高系統(tǒng)擴充性。(3)界面友好性需求系統(tǒng)提供統(tǒng)一的操作界面和方式,操作界面美觀大方,布局合理,功能完善。使用戶能夠獲得最佳的操作體驗。(4)環(huán)境需求硬件環(huán)境:包括服務器端和客戶端,服務器端的最低配置要求為CPU 2GHZ、內存256MB、硬盤2T;客戶端最低配置為CPU 1GHZ、內存128M

26、B、硬盤500G。軟件環(huán)境:同樣包括服務器端和客戶端,服務器端采用Windows 2000 Server操作系統(tǒng),SQL Server 2005數據庫;客戶端為Windows 7操作系統(tǒng)4 系統(tǒng)設計4.1 系統(tǒng)體系結構系統(tǒng)采用C/S結構進行設計。C/S 結構的基本原則是將計算機應用任務分解成多個子任務,由多臺計算機分工完成,即采用“功能分布”原則。客戶端完成數據處理,數據表示以及用戶接口功能;服務器端完成DBMS(數據庫管理系統(tǒng))的核心功能。這種客戶請求服務、服務器提供服務的處理方式是一種新型的計算機應用模式。被廣泛應用于現在的軟件設計開發(fā)中。Client和Server常常分別處在相距很遠的兩

27、臺計算機上,Client程序的任務是將用戶的要求提交給Server程序,再將Server程序返回的結果以特定的形式顯示給用戶;Server程序的任務是接收客戶程序提出的服務請求,進行相應的處理,再將結果返回給客戶程序??蛻舳酥饕\行天氣信息管理系統(tǒng),服務器端運行SQL Server 2008數據庫,客戶端和服務器采用網絡進行通信5。天氣信息管理系統(tǒng)主要是完成天氣信息管理各個方面問題的實現,通過數據的收集,向用戶顯示具體各個地區(qū)信息(所在國家、所在省、所在城市、所在地區(qū))的具體天氣信息。用戶通過之前的新增,讓后可以查看某一段時間內,某個地區(qū)天氣趨勢圖,并且可以將結果導出excel。這種功能大大節(jié)

28、省了相關工作者的工作時間,提高工作者的工作效率。本系統(tǒng)為了提高程序的可讀性,可維護性,使用分層架構對程序進行分層,程序分為表示層、邏輯層和數據存儲層。層與層之間通過實體對象進行傳遞6。通過整理分析上面的結果,我們分析得出了以下有關于系統(tǒng)體系結構的邏輯圖,主要是分為3層。體系結構圖如圖41所示:圖41系統(tǒng)體系結構圖表示層:系統(tǒng)的主要操作界面,如登錄注冊界面,系統(tǒng)主界面,添加和修改界面等,業(yè)務邏輯層:就是整個系統(tǒng)的運做流程邏輯。業(yè)務實體就是在系統(tǒng)中存在的幾個實體以及之間的關系;數據訪問層就是系統(tǒng)通過代碼實現對數據庫的操作。4.2 系統(tǒng)工作流程天氣信息管理系統(tǒng)主要實現的就是用戶對天氣信息的管理和操作

29、。首先,用戶需要注冊一個可用的用戶名和賬戶,然后再打開登錄界面,輸入剛剛注冊的用戶名和密碼,輸入正確之后成功進入系統(tǒng)。然后在系統(tǒng)的主界面,用戶可以根據自己的需求使用系統(tǒng)提供的功能。比如用戶如果想添加天氣信息的話,首先需要選擇在哪個地區(qū)添加信息,如果系統(tǒng)中還未添加地區(qū)的話,用戶需要先進行添加地區(qū)的操作,添加完成之后,徐澤地區(qū),并且選擇添加日期,然后按照系統(tǒng)給出的界面進行相關的信息添加工作,全部完成之后,確定即可。用戶在收集信息的時候可能是零散的,為了方便統(tǒng)計,用戶可以查詢某地區(qū)的所有天氣信息,并且可以導出到Excel表格中。方便保存。Excel其實是相當與另一個數據庫,系統(tǒng)只是把系統(tǒng)的數據保存到

30、Excel這個數據庫中,實現數據的導出功能。當然在實際的應用中,我們也可以把數據以其他的形式導出來,具體的導出形式可以根據用戶的需要進行調整。注冊登錄流程圖如圖42所示:圖42注冊登錄流程圖4.3 功能設計4.3.1 系統(tǒng)模塊劃分按“分而治之”思想,進行模塊劃分。按照需求分析得出的結論,系統(tǒng)一共擁有六個大模塊。分別為:(1)注冊模塊:用戶只有注冊以后才可以訪問系統(tǒng),輸入用戶名和密碼,別人如果已經注冊的用戶名,是不可以在被注冊的。(2)登錄模塊:在系統(tǒng)注冊成功之后,就可以進行登錄(3)區(qū)域管理模塊:隨著關注的天氣信息擴大,可以關注新增的區(qū)域。可以通過查看區(qū)域,知道關注了那些地區(qū)。(4)天氣信息管

31、理模塊:當添加完新增地區(qū)以后,可以選擇新增的地區(qū),添加天氣信息。通過選擇具體的地區(qū)以后,可以查詢地區(qū)的具體天氣信息(5)圖形統(tǒng)計模塊:通過選擇之前添加的具體的地區(qū),選擇開始時間和結束時間,可以將天氣信息生成天氣趨勢圖(6)文件導出模塊:當查詢完天氣信息以后,可以導出相應的結果到excel4.3.2 系統(tǒng)模塊功能系統(tǒng)功能結構圖如圖43所示:圖43系統(tǒng)功能結構圖各模塊的具體操作流程信息如下:(1)注冊用戶需要使用帳號密碼才能夠登錄系統(tǒng),所以在登錄之前需要注冊信息。用戶需要輸入基本信息進行注冊,因為系統(tǒng)的用戶不止一位,為了防止用戶名重復,系統(tǒng)還需要對用戶的帳戶名進行重復性檢測,檢測通過之后才能后注冊

32、成功。注冊成功后用戶才能使用該系統(tǒng)。(2)登錄用戶在成功注冊完畢后,使用注冊賬號和密碼登錄系統(tǒng),賬戶名和密碼輸入正確之后成功登錄,之后進入系統(tǒng)主界面。(3)區(qū)域管理系統(tǒng)主界面需要有個管理地區(qū)的功能,因為我們在管理一個地區(qū)不同時段的天氣信息之前,肯定是先要管理不同的地區(qū),區(qū)域管理模塊下分為兩個小功能,一是新增區(qū)域功能,可以隨著用戶的需要添加新的地區(qū):二是查詢功能,當管理的地區(qū)過多的時候,有時候我們想要查看某一地區(qū)的情況就需要用到這一功能。然后在某個地區(qū)之下,管理這個地區(qū)的所有天氣信息。 (4)天氣管理在系統(tǒng)劃定了一個地區(qū)之后,我們才能夠對這個地區(qū)的天氣信息進行管理。在管理模塊下也分為新增天氣信息

33、和查詢天氣信息,添加基本的天氣信息應該包含有,這個天氣信息所在的地區(qū),總體的一個天氣情況,再細劃分成降雨量,風向,風力,最高溫度以及最低溫度等;然后當我們需要查詢的時候,找到想要查詢的地區(qū)的信息,找到對應的地區(qū)的位置,然后就可以查到對應這個地區(qū)的所有的天氣信息。(5)圖形統(tǒng)計在我們收集到了某一地區(qū)的一段時間的天氣信息以后,為了用戶能夠更加直觀的了解這一地區(qū)在這一時間段的天氣的變化,系統(tǒng)可以將溫度和降雨量分別生成折線圖和柱狀圖,使數據清晰易讀。(6)導出Excel用戶在收集信息的時候可能是零散的,為了方便統(tǒng)計,用戶可以查詢某地區(qū)的所有天氣信息,并且可以導出到Excel表格中。方便做為數據資料保存

34、8。4.4 數據庫設計通過系統(tǒng)業(yè)務分析和流程,在這個過程中提煉數據信息。本系統(tǒng)使用SQL Server2008數據庫,利用PowerDesigner建模工具創(chuàng)建項目數據庫的概念模型、邏輯模型,并生成SQL Server2008數據庫建立SQL腳本。數據庫設計步驟:(1)根據需求,得出需要有用戶來操作,所以有用戶信息,在管理天氣信息之前,同樣需要一個用來管理地區(qū)的實體,最后在加上天氣信息本身,最后我們得出本天氣信息管理系統(tǒng)擁有三個業(yè)務實體。分別是用戶信息,區(qū)域信息和天氣信息。(2)根據信息識別出實體以及實體之間的關系(3)根據實體關系識建立E-R圖(4)根據E-R圖,設計數據庫的概念結果和邏輯結

35、構5。4.4.1 概念結構設計根據我們的需求分析,提取實體信息,系統(tǒng)中一共有3個實體,即用戶、地區(qū)、天氣信息。(1)基本信息為:ID、賬號、密碼、刪除標記。(2)基本信息為:ID、區(qū)名稱、城市名稱、省名稱、國家名稱、刪除標記。(3)基本信息為:ID、天氣現象、風向、風力、更新時間、最高溫度、最低溫度、降雨量、刪除標記。(4) 用戶、地區(qū)和天氣信息各實體間的關系地區(qū)和天氣信息的關系:一對多(1:n),一個地區(qū)可以有多個天氣信息,某個天氣信息屬于某個地區(qū)。用戶實體是獨立的。因為用戶只是管理這些地區(qū)及其信息的,從結構上說和地區(qū)實體與天氣實體并不存在實體間關系。應用PowerDesigner進行繪制E

36、-R圖,如圖44所示:圖44系統(tǒng)E-R圖4.4.2 邏輯結構設計在建設系統(tǒng)之前,我們必須對系統(tǒng)所用到的數據進行大致的分類和具體的結構設計,既要做到清晰明了,又要能適應系統(tǒng)各項功能的調用,而不至于產生結構上的邏輯混亂,保證關鍵數據在意外情況下不會被破壞,可以說數據庫是系統(tǒng)的重中之重。數據庫設計要遵循一些規(guī)則,一個好的數據庫滿足一些嚴格的約束和要求。盡量分離各實體對應的表,一個實體對應一個表,搞清楚該實體有哪些屬性,對應有些什么字段,以及各實體之間有何種聯系。實體、屬性與聯系是進行概念設計時要考慮的三個元素,也是一個好的數據庫設計的核心10。根據本系統(tǒng)的需求分析,有如下表的設計 (1)用戶表(Us

37、erInfo表),存儲了用戶的信息。用戶注冊時,系統(tǒng)會將將注冊信息添加入該表,將用戶的注冊信息保存在數據庫中。用戶登陸時,通過將表單數據與數據庫中信息比對,進行驗證登錄,通過驗證登錄后可進行具體修改等操作。見表41:字段標識字段名類型說明idIDint主鍵,自增字段UserName賬號varchar(64)不能為空,不能重名Pwd密碼varchar(64)不能為空delDel刪除標記int默認為0,0:未刪除,1:刪除表41 用戶表(2)區(qū)域表(Area表),用戶登錄之后,如果需要修改區(qū)域信息,就需要用用到這張表,用戶需要將地區(qū)的具體名稱,所屬的國家,省和市依次填入,確認添加完成之后,系統(tǒng)將用

38、戶輸入的數據導入到數據庫中,數據庫就將用戶添加的區(qū)名稱,國家名稱,省名稱和市名稱保存完畢。見表42:字段標識字段名類型說明idIDInt主鍵,自增字段DistrictName區(qū)名稱varchar(64)不能為空CityName城市名稱varchar(64)不能為空ProvinceName省名稱varchar(64)不能為空NationName國家名稱varchar(64)不能為空delDelint默認為0,0:未刪除,1:刪除表42區(qū)域表(3)天氣信息表(WeatherInfo表),用戶在添加過區(qū)域之后,就可以對這個區(qū)域的天禧信息進行添加,這張表包含的字段有ID信息,區(qū)域名稱,天氣現象,風向,

39、風力,更新時間,最高溫度,最低溫度和降雨量。同添加區(qū)域信息一樣,用戶可以在界面中一次添加天氣的詳細信息。具體見表43:字段標識字段名類型說明idIDint主鍵,自增字段Are_id地區(qū)IDint外鍵,與地區(qū)表(Area)ID字段關聯Phenomena 天氣現象intDirection 風向intPower 風力intUpdateTime 更新時間datetime TempHigh 最高溫度float TempLow 最低溫度float RainFall降雨量float delDelint默認為0,0:未刪除,1:刪除11表43天氣信息表(4)表結構關系通過需求分析和數據庫結構可知,用戶表是單獨

40、的一個實體。天氣信息表是從屬于區(qū)域表的。5 系統(tǒng)實現5.1 開發(fā)環(huán)境硬件環(huán)境:處理器3.20GHZ以上;內存在2.96GB以上;軟件環(huán)境:Windows XP版本(或以上)數據庫系統(tǒng):SQL Server 2005輔助工具:VS 20105.2 功能實現5.2.1 注冊實現用戶輸入賬號信息進行注冊,界面為CRegisterDlg類,在該對話框上進行布局。要添加靜態(tài)文本框,編輯框和按鈕。靜態(tài)文本框是提示用戶右邊的編輯框應該輸入什么內容,在編輯框輸入具體的信息,在輸入完用戶名稱之后,點擊檢測按鈕,系統(tǒng)會判斷該用戶名稱是否已經被注冊。之后再輸入密碼,點擊確定完成注冊。(1)代碼實現部分判斷注冊者是否

41、輸入了用戶名void CRegisterDlg:OnBnClickedCheckButton()UpdateData(TRUE);/ 判斷用戶名不能為空if(m_szUSER = "")MessageBox(_T("用戶名不能為空!");return;檢測該用戶名是否已經被注冊CUserDao userDao;/ 創(chuàng)建CUserDao對象CPtrArray arrUser; / 創(chuàng)建CPtrArray對象if (!userDao.QueryInfobyUser(arrUser, m_szUSER)return;elseif (arrUser.GetSiz

42、e() = 0)MessageBox(_T("此用戶名可以注冊!");else if(arrUser.GetSize() > 0)MessageBox(_T("此用戶名已經被注冊!");else/ Do nothing(2)效果圖,如圖51:圖51用戶注冊界面5.2.2 登錄用戶注冊成功之后,在登錄界面上輸入自己的帳號和密碼。系統(tǒng)會將表單程序提交給處理程序,程序會將用戶輸入的信息和數據庫中已存在的帳號信息進行比對,判斷這個帳號是否存在,如果存在再判斷密碼是否正確,如果輸入正確。系統(tǒng)會進行反饋處理,顯示系統(tǒng)的主菜單界面,即登錄成功。 (1)代碼實現部

43、分/ 獲取用戶名?CString& CLoginDlg:GetUserName(void)return m_szUser;/ 獲取密碼CString& CLoginDlg:GetPassword(void)return m_szPwd;(2)效果圖,如圖52:圖52登錄界面圖5.2.3 主界面驗證用戶輸入的登錄信息,用戶就可以使用天氣信息管理系統(tǒng)。主界面為CWeatherInfoMgrDlg對話框,在該對話框上進行布局,并且加入菜單和工具欄11,主界面顯示了這個系統(tǒng)的主要功能,通過下拉選項來實現菜單的管理。用戶在點擊某一個功能的時候,系統(tǒng)會接收到用戶發(fā)出的信息,并打開相應的子界

44、面功能。如圖53所示:圖53系統(tǒng)主界面5.2.4 地區(qū)管理地區(qū)管理分為添加地區(qū)和查詢地區(qū)部分。(1)新增地區(qū)添加區(qū)域信息的界面是基于對話框開發(fā)的。在工作時候,系統(tǒng)會將用戶添加的記錄依次保存到數據庫中,完成區(qū)域信息的添加。對話框中有4個靜態(tài)文本控件、4個編輯控件、2個按鈕。如表51所示:控件個數說明靜態(tài)文本控件(Static Text)4分別對應“區(qū)域名稱”、“所在城市”、“所在城市”、“所在國家”編輯控件(Edit Control)4對應4個靜態(tài)文本的編輯框按鈕控件(Button)2“確定”、“取消”按鈕表51新增地區(qū)控件代碼實現:當點擊確定按鈕時,響應新增地區(qū)界面確定按鈕的函數。首先更新對話

45、框,判斷4個編輯控件的值是否為空。void CAddAreaDlg:OnBnClickedOk()UpdateData(TRUE);/ 更新對話框/ 判斷區(qū)域名稱、所在城市、所在省、所在國家統(tǒng)統(tǒng)不能為空if (m_szArea = "" | m_szCity = "" | m_szNation= "" | m_szProvi= "")MessageBox(_T("區(qū)域名稱、所在城市、所在省、所在國家統(tǒng)統(tǒng)不能為空!");return;如果區(qū)域名稱、所在城市、所在省、所在國家不為空,連接數據庫voi

46、d CAddAreaDlg:OnBnClickedOk()/ 將輸入的數據賦值給AreaInfo的成員變量CAreaInfo cAreaInfo;cAreaInfo.SetDistrict(m_szArea);cAreaInfo.SetCity(m_szCity);cAreaInfo.SetProvince(m_szProvi);cAreaInfo.SetNation(m_szNation);CAreaDao areaDao;/ 創(chuàng)建CAreaDao對象if (!areaDao.AddAreaInfo(cAreaInfo)MessageBox("添加失敗","提示

47、信息");return;elseMessageBox("添加成功","提示信息");return;效果圖,如圖54所示:圖54新增地區(qū)圖(2)查詢地區(qū)在用戶選擇要查詢的地區(qū)之后,系統(tǒng)會從數據庫的區(qū)域表中讀取數據,用select語句查找相應的信息,并將找到的信息結果顯示在界面上。查詢地區(qū)信息界面是基于對話框開發(fā)的。如表52所示:表52查詢地區(qū)控件控件個數說明靜態(tài)文本控件1顯示“區(qū)域名稱”編輯文本控件1用戶輸入區(qū)域名稱列表控件1顯示區(qū)域名稱的相應信息按鈕1查詢按鈕代碼實現當點擊查詢按鈕時,響應查詢地區(qū)界面查詢按鈕的函數。更新界面,連接數據庫,在數據

48、庫中查詢相應的區(qū)域信息,判斷是否成功。CUserDao userDao;/ 創(chuàng)建CUserDao對象CPtrArray arrUser; / 創(chuàng)建CPtrArray對象void CQueryAreaDlg:OnBnClickedQuery()SetListItem(m_szArea);void CQueryAreaDlg:SetListItem(CString& szArea)CAreaDao areaDao; / 創(chuàng)建CAreaDao對象CPtrArray arrArea;/ 存儲區(qū)域對象的數組if (!areaDao.QueryAreaInfo(arrArea, szArea)re

49、turn;else/ 首先將列表清空m_lcArea.DeleteAllItems();/ 逐行讀取數據for(int i = 0; i < arrArea.GetSize(); i+)CAreaInfo* pAreaInfo = (CAreaInfo*)arrArea.GetAt(i);/ 將區(qū)域信息添加到列表中m_lcArea.InsertItem(i, pAreaInfo ->GetNation();/ 把數據庫中記錄的ID與列表的列綁定,這個值并不顯示m_lcArea.SetItemText(i, 1, pAreaInfo->GetProvince();m_lcAre

50、a.SetItemText(i, 2, pAreaInfo->GetCity();m_lcArea.SetItemText(i, 3, pAreaInfo->GetDistrict();/ 把數據庫中記錄的ID與列表的行綁定,這個值并不顯示m_lcArea.SetItemData(i, pAreaInfo->GetId();/ 刪除區(qū)域信息類對象delete pAreaInfo;pAreaInfo = NULL;/ 清空數組arrArea.RemoveAll();return;效果圖,如圖55所示:圖55查詢地區(qū)界面5.2.5 天氣管理天氣信息管理功能包括:新增天氣信息、查詢

51、天氣信息、刪除天氣信息、修改天氣信息。(1)添加信息代碼實現點擊國家的下拉列表,從數據庫中查找所有的之前添加國家信息,之后會出現相應的下面的省市和地區(qū),依次點擊,選擇區(qū)域查詢。void CAddWeatherDlg:OnDropdownNationCombo()CAreaDao areaDao;/ 創(chuàng)建CAreaDao對象CPtrArray arrAreaInfo; / 存儲區(qū)域對象的數組if (!areaDao.QueryNationInfo(arrAreaInfo)return;elsem_cbNation.ResetContent(); / 清空區(qū)域下拉列表for (int i = 0;

52、 i<arrAreaInfo.GetSize(); +i)CAreaInfo* pAreaInfo = (CAreaInfo*)arrAreaInfo.GetAt(i);m_cbNation.AddString(pAreaInfo->GetNation();/ 刪除區(qū)域信息類對象delete pAreaInfo;pAreaInfo = NULL;arrAreaInfo.RemoveAll();return;效果圖。如圖56所示:圖56添加天氣信息界面(2)查詢天氣信息代碼實現12CAreaDao areaDao;/ 創(chuàng)建CAreaDao對象CAreaInfo areaInfo; /

53、 創(chuàng)建CAreaInfo對象if(!areaDao.QueryByArea(areaInfo, szNation, szPro, szCity, szArea)return;Elseint nAreId;nAreId = areaInfo.GetId();CWeatherDao weatherDao; / 創(chuàng)建CWeatherDao對象CPtrArray arrCard; / 創(chuàng)建CWeatherInfo對象if(weatherDao.QueryByAreId(arrCard, nAreId)for(int i = 0; i<arrCard.GetSize(); i+)CWeatherInfo* pAreaInfo = (CWeatherInfo*)arrCard.GetAt(i);m_clWeatherIfo.InsertItem(i, pAreaInfo->GetUpdateTime().Format("%Y-%m-

溫馨提示

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

評論

0/150

提交評論