基于CNET的公交查詢系統設計與實現畢業論文_第1頁
基于CNET的公交查詢系統設計與實現畢業論文_第2頁
基于CNET的公交查詢系統設計與實現畢業論文_第3頁
基于CNET的公交查詢系統設計與實現畢業論文_第4頁
基于CNET的公交查詢系統設計與實現畢業論文_第5頁
已閱讀5頁,還剩45頁未讀 繼續免費閱讀

基于CNET的公交查詢系統設計與實現畢業論文.doc 免費下載

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

文檔簡介

1、 . . . 基于C#.NET的公交查詢系統設計與實現目錄摘要VAbstractVI第1章緒論11.1前言11.1.1系統開發背景11.2選題目的與意義11.2.1選題目的11.2.2選題意義21.3系統開發環境與簡介21.3.1硬件部分21.3.2軟件部分2第2章需求分析42.1需求分析概述42.1.1需求分析的基本任務一個階段42.2實體聯系圖(E-R圖)52.2.1實體聯系圖概述52.2.2符號系統52.2.3公交實體聯系圖62.3層次方框圖72.4數據流圖(DFD)82.4.1數據流圖概述82.4.2符號系統82.4.3畫圖原則92.4.4公交DFD圖92.5系統功能模塊劃分112.5

2、.1用戶查詢模塊112.5.2管理員模塊11第3章詳細設計123.1系統詳細設計123.1.1系統總體功能設計123.1.2系統各功能模塊詳細設計123.2.數據庫設計123.2.1數據庫設計步驟133.2.2數據庫設計原則143.3公交數據庫詳細設計153.3.1公交站點的數據庫設計153.3.2公交線路的數據庫設計153.3.3公交線路信息數據庫設計163.3.4公交城市信息數據庫設計173.3.5公交管理員信息數據庫設計183.4數據庫關系圖19第4章實現214.1系統界面設計與實現214.2用戶功能模塊總體設計224.2.1用戶主界面功能模塊設計與實現234.2.2線路查詢模塊244.

3、2.3站點查詢254.2.4公交換乘查詢264.3管理員功能模塊274.3.1系統管理員登陸界面設計284.3.2添加路線和站點信息294.3.3刪除線路和站點314.3.4修改路線站點信息32第5章結論不足和展望345.1結論345.2不足345.3展望34參考文獻36致37附件38附件1.線路查詢模塊實現代碼38附件2.站點查詢實現代碼40附件3.公交換乘查詢代碼42附件4.管理員登陸代碼44附件5.刪除站點代碼45附件6.修改信息代碼46附件7.增加信息代碼48畢業論文(設計)原創性聲明本人所呈交的畢業論文(設計)是我在導師的指導下進行的研究工作與取得的研究成果。據我所知,除文中已經注明

4、引用的容外,本論文(設計)不包含其他個人已經發表或撰寫過的研究成果。對本論文(設計)的研究做出重要貢獻的個人和集體,均已在文中作了明確說明并表示意。 作者簽名: 日期:畢業論文(設計)授權使用說明本論文(設計)作者完全了解*學院有關保留、使用畢業論文(設計)的規定,學校有權保留論文(設計)并向相關部門送交論文(設計)的電子版和紙質版。有權將論文(設計)用于非贏利目的的少量復制并允許論文(設計)進入學校圖書館被查閱。學校可以公布論文(設計)的全部或部分容。的論文(設計)在解密后適用本規定。 作者簽名: 指導教師簽名:日期: 日期:注意事項1.設計(論文)的容包括:1)封面(按教務處制定的標準封面

5、格式制作)2)原創性聲明3)中文摘要(300字左右)、關鍵詞4)外文摘要、關鍵詞5)目次頁(附件不統一編入)6)論文主體部分:引言(或緒論)、正文、結論7)參考文獻8)致9)附錄(對論文支持必要時)2.論文字數要求:理工類設計(論文)正文字數不少于1萬字(不包括圖紙、程序清單等),文科類論文正文字數不少于1.2萬字。3.附件包括:任務書、開題報告、外文譯文、譯文原文(復印件)。4.文字、圖表要求:1)文字通順,語言流暢,書寫字跡工整,打印字體與大小符合要求,無錯別字,不準請他人代寫2)工程設計類題目的圖紙,要求部分用尺規繪制,部分用計算機繪制,所有圖紙應符合國家技術標準規。圖表整潔,布局合理,

6、文字注釋必須使用工程字書寫,不準用徒手畫3)畢業論文須用A4單面打印,論文50頁以上的雙面打印4)圖表應繪制于無格子的頁面上5)軟件工程類課題應有程序清單,并提供電子文檔5.裝訂順序1)設計(論文)2)附件:按照任務書、開題報告、外文譯文、譯文原文(復印件)次序裝訂3)其它摘要隨著“公交先行,節能減排,低碳生活”概念的提出,使得各大城市的公共交通得到迅速的發展,因此乘客需要實時的查詢公交系統的信息以便出行,在此背景下,本文最主要采用vs2010來實現公交查詢系統的設計采用SQL Server2008數據庫來實現系統所需的數據需求。在公交查詢系統設計過程中考慮用戶查詢的模塊為:線路查詢、站點查詢

7、、換乘查詢,管理員模塊則應該包括對數據增、刪、查、改等操作,對于數據庫設計應該體現出數據之間明確的聯系關系。關鍵詞:數據庫、vs2010、公交查詢、管理員AbstractAs the bus first, energy conservation and emissions reduction, low carbon life concept is put forward, make the city public transportation to get rapid development, so the passengers need to real-time information qu

8、ery of public transportation to travel, in this context, in this paper, the main vs2010 is used to realize the bus query system design using SQL Server2008 database to realize data requirements required by the system. At the bus query system design considering user query module is: in the process of

9、 route query, site query, change to the query, the administrator module should include the data to add, delete, check, change, such as operation, for the database design should embody the definite contact relationship between data. Key words: database, vs2010, bus query, administrator43 / 50第1章 緒論1.

10、1 前言1.1.1 系統開發背景出行是人類生活的基本活動之一。城市的快速發展、科技的發展以與環保意識的增強,對城市公共交通的發展趨勢的快速性、舒適性、便捷性、環保等方面提出更高要求。先進的信息技術也促進了公共交通技術的發展,從而為乘客提供了良好的出行條件,并且能夠逐漸滿足市民出行多樣化的交通需求。為城市的進一步發展提供便捷條件,對于城市公共交通來說,必然要優先發展公交,因此,公共交通的地位也不斷得到提升。 公交換乘系統的算法研究與應用D .太原:中北大學.2009:28-31 趙敏2005年以來,中國先后印發了關于優先發展城市公共交通的意見等系列文件正式確立了公交優先發展的戰略思想,為優先發展

11、城市公共交通指明了方向,有力推動了中國城市公交事業的發展。截止2009年底到全國公共汽電車運營線路網總長度28.9萬公里,公交專用車道里程達7452公里,10余個城市開通運營快速公交路線,公交運輸總量達到780億人次。 崛起中的中國城市基礎設施建設發展研究 黃新文隨著城市公交的快速發展和節能減排的理念升入人心,使得人們的出行越來越選擇以公交的方式出行,并且由于城市的人口居住以與就業形態的已經形成,協調好公交的換乘、增加交通可達性勢在必行。隨著城市的發展,必然帶來道路基礎設施的擴展,公交線路隨之增長,有些城市多達上百條,以至于居民難以掌握大量的公交信息,為出行帶來了一定的困擾。因而,公交查詢系統

12、便應運而生。1.2 選題目的與意義1.2.1 選題目的隨著節能減排低碳生活的提出,以與公交先行的理念日漸深入人心,建立一個公交查詢系統是公眾出行的迫切需要人們對于出行的要求增多,對公交系統的需求也逐漸的增加,公交的監督也方便顧客的監督和查詢。建立完善的公交線路網也是我國對于公共交通的一個長遠計劃,而在整個公共交通中公交又占有相當大的比重,建立一個公交查詢系統則可以為顧客的出行提供很直接、便捷的出行方案。1.2.2 選題意義市是省省會,是我國陸開放城市與西南地區的重要的交通通信樞紐、工業基地、商貿和旅游服務城市,城市道路交通的發展從某種意義上講可以制約或促進整個城市的發展方向。 貴陽市城市交通發

13、展研究 歐艷玲 XX大學博碩論文 2004目前的公共交通現狀如下:市區由中心區、小河、龍洞堡、花溪、白云、等地組成,12米以上的道路291.41公里,公交運營車輛截止到2010年12月共計1576輛,市、郊線路150條,車運量達到5.9億人次,承擔了全市約70%的客運量 貴陽市城市公共交通的現狀與對策研究。在這種情況下城市公交的查詢系統則可以做到:1、城市公交查詢系統能夠最快、最方便的滿足人們的出行需要,幫助人們正確的選擇公交出行的線路,提高人們的出行速率。2、城市公交查詢系統是智能公交的重要組成部分,智能公交系統是一個整體工程,而公交查詢系統則屬于智能公交查詢系統的軟件組成部分。3、作為省會

14、城市則可以幫助外來人員快速的查詢到公交信息,提高人們的出行的效率和城市的綜合的地位。1.3 系統開發環境與簡介 系統開發環境分為兩部分1.硬件部分、2.軟件部分1.3.1 硬件部分一般電腦配置即可1.3.2 軟件部分軟件部分包括SQL Server 2008數據庫、Microsoft Visual Studio 2010(一)數據庫采用SQL Server 2008數據庫數據庫可以理解為存儲數據的倉庫。他是按照一定的組織方式存儲的相互有關的數據的集合,這些數據不僅彼此關聯而且可以動態變化。它具有以下幾個特點:1、數據結構化2、數據共享3、數據的獨立性5.數據的一致性與正確性在數據庫中最核心的一

15、部分為DBMS即數據庫管理系統他是使用戶能夠實現數據加工的數據管理系統,為用戶提供以下幾個功能:1、建庫功能2、數據的操作功能:實現對數據的增、刪、查、改等功能 數據庫技術與應用SQL Server 2005教程 詹英 主編 清華大學(二)編程軟件采用Microsoft Visual Studio 2010Visual Studio是Windows 平臺應用程序的開發環境,它是建立在IDE(統一開發環境)的基礎之上,可用于開發多種不同類型的應用程序第2章 需求分析2.1 需求分析概述需求分析是軟件定義時期的最后一個階段,需求分析指的是在建立一個新的或改變一個現存的電腦系統時描寫新系統的目的、圍

16、、定義和功能時所要做的所有的工作。需求分析是軟件工程中的一個關鍵過程。在這個過程中,系統分析員和軟件工程師確定顧客的需要。只有在確定了這些需要后他們才能夠分析和尋求新系統的解決方法。2.1.1 需求分析的基本任務一個階段它的基本任務是準確地回答“系統必須做什么?”這個問題。需求分析的任務還不是確定系統怎樣完成他的工作,而僅僅是確定系統必須完成那些工作,也就是對目標系統提出完整、準確、清晰、具體的要求 軟件工程導論(第五版) 張海藩 編著 清華大學 。具體說需求分析的任務有以下幾個方面:(一)、確定對系統的綜合要求通常對軟件系統有下述幾個方面的綜合要求:1、功能需求這方面的需求制定系統必須提供的

17、服務。通過需求分析應該劃分出系統必須完成的所有功能2、性能需求性能需求指定系統必須滿足的定時約束或容量約束,通常包括速度(響應時間、信息量速率) 基于C/S與B/S結合模式的農業專家信息服務平臺設計研究 劉濤1 溫曉莉2 河北農業科學20103、可靠性和可用性需求可靠性需求定量地指定系統是的可靠性,可用性與可靠性密切相關,它量化了用戶可以使用系統的程度,例如:“在任何時候主機或備份機上的機場雷達系統應該至少有一個是可以用的,而且在一個月在任何一臺計算機上蓋系統不可以用的時間不能超過總時間的2%。”44、出錯處理需求5、接口需求6、約束7、逆向需求8、將來可能提出的要求(2)分析系統的數據要求每

18、一個系統在本質上都是處理信息的,系統必須處理的信息與系統得到的信息在很大的程度上決定了系統的“面貌”,因此必須分析系統的數據要求,而分析系統的數據要求通常采用建立數據模型的方法即實體聯系圖(2.2節)。復雜的數據由許多基本的數據元素組成,數據結構表示數據元素之間的邏輯關系。利用數據字典可以全面的定義數據,但是數據字典不夠形象直觀。為了提高可理解性,我們可以用層次方框圖和Warnier圖輔助描繪數據結構。2.2 實體聯系圖(E-R圖)2.2.1 實體聯系圖概述為了把用戶的數據要求清楚、準確的描述出來,系統分析員通常建立一個概念性的數據模型。概念性數據模型是一種面向問題的數據模型,是按照用戶的觀點

19、對數據建立的模型。它描述了從用戶角度看到的數據,它反映了用戶的顯示環境,而且與在軟件系統中的實現方法無關2.2.2 符號系統在實體聯系圖中包含3種相互關系的信息如表格 1所示:表格 1 ER圖符號圖形名稱描述數據對象數據對象時對軟件必須的復合信息的抽象。所謂復合信息是指具有一系列不同性質或屬性的事物,僅有單個值的事物(例如,寬度)不是數據對象屬性數據對象一般具有若干特征,這些特征就稱為數據對象的屬性,例如:數據對象“學生”,具 有學號、性別、出生日期和系別等特征,這些就是它的屬性。 聯系實體之間可能會有各種關系。例如,“學生”與“課程”之間有“選課”的關系。這種實體和實體之間的關系被抽象為聯系

20、。在實體聯系圖中,聯系用聯結有關實體的菱形框表示,如圖1.9所示。聯系可以是一對一(1:1),一對多(1:N)或多對多(M:N)的,這一點在實體聯系圖中 也應說明。例如在大學教務管理問題中,“學生”與“課程”是多對多的“選課”聯系聯系。 實體-聯系方法講義 2.2.3 公交實體聯系圖在本文中的公交E-R圖如圖 21所示:圖 21 公交E-R圖2.3 層次方框圖層次方框圖是用樹形結構的一系列多層次的矩形框描繪數據的層次結構。樹形結構的頂層是一個單獨的矩形框,它代表完整的數據結構,下面的各層矩形框代表這個數據的子集,最底層的各個框代表組成這個數據的實際數據元素(不能再分割的元素)。在本文中的公交查

21、詢系統層次方框圖如圖 22所示:圖 22 層次方框圖2.4 數據流圖(DFD)2.4.1 數據流圖概述數據流圖(DFD)是一種圖形化技術,它描繪信息流和數據流從輸入移動到輸出的過程中所經受的變換。在數據流圖中沒有任何具體的物理部件,他只是描繪數據在軟件中流動和被處理的邏輯過程。數據流圖是系統邏輯功能的圖形表示,即使不是專業的計算機技術人員也容易理解它,因此,他是分析員與用戶之間幾號的通信工具。此外數據流圖設計時只需考慮系統必須完成的基本邏輯功能,完全不需要考慮怎樣具體地實現這些功能,因此他也是進行軟件設計的很好的出發點。2.4.2 符號系統數據流圖通常包含以下幾種符號:符號名稱說明正方形表示數

22、據的源點或終點圓角矩形代表數據的變換處理開口矩形代表數據存儲箭頭表示數據流,即特定數據的流動方向2.4.3 畫圖原則畫圖原則:(1)數據流圖上所有圖形符號只限于以上四種基本圖例(2)頂層數據流圖必須包含4種基本元素;(3)頂層數據流圖上的數據流必須封閉在外部實體之間;(4)至少有一個數據輸入流和一個數據輸出流;(5)在數據流圖中必須按層給處理框加編號,該編號表明該加工處;在那一層以與上下層父圖與子圖的對應關系;(6)規定數據流圖與他上一層的一個處理對應,兩者的輸入數據流和輸出數據流必須一致,即父圖與子圖平衡,還應該在數據流圖中繳入必要地說明以幫助用戶理解;(7)圖上的每個元素都應該有名字,數據

23、流和數據文件名字表明流動的數據是什么,而處理的名字應表明處理做了說明事情。2.4.4 公交DFD圖圖 23 公交DFD圖2.5 系統功能模塊劃分一個系統可以看成是由多個小模塊組成,這些小模塊之間應該具有高聚、低耦合的特點:耦合:是對一個軟件結構不同模塊之間互聯程度的衡量。而耦合程度取決于模塊時間接口的復雜程度,進入或訪問一個模塊的點,以與通過接口的數據。耦合包括以下幾種:1、數據耦合 2、控制耦合 3、特征耦合 4、公共耦合。聚:聚標志著一個模塊各個元素之間的彼此結合程度。聚包括以下幾種:1、功能聚 2、順序聚 3、通信聚 4、過程聚 5、時間聚 6、邏輯聚 7、偶然聚。公交查詢系統可以看成是

24、由兩個大模塊組成即:用戶查詢模塊和管理員模塊。2.5.1 用戶查詢模塊用戶查詢模塊主要供用戶使用其主要完成的對公交信息的查詢,這些查詢包括公交站點、公交線路以與公交站點到站點的額查詢(公交換乘插敘)并將查詢的結果通過一定的方式顯示出來,并且需要制定一個“選擇框”以便用戶進行模糊查詢。2.5.2 管理員模塊管理員在公交查詢系統中擁有最高的權限,它能夠對公交信息進行增、刪、查、改等一系列工作,當然對于管理員模塊需要進行身份驗證,當正確以后才能進行操作。第3章 詳細設計3.1 系統詳細設計系統的詳細設計階段其根本目標是確定應該怎樣具體的實現所要求的系統,也就是經過這個階段的設計工作,應該得到對系統的

25、準確描述,從而在編碼階段可以把整個描述直接翻譯為用vs2010編寫的程序代碼,在這一階段不是實現軟件的具體代碼編寫3.1.1 系統總體功能設計系統功能詳細設計主要表述系統的功能架構如圖1.3.1所示圖 31 系統功能架構3.1.2 系統各功能模塊詳細設計對于用戶模塊來說就是完成對信息的查詢功能并返回值如圖,對于管理員來說不僅可以查詢公交的信息還可以對公交信息進行增、刪、查、改等工作如圖 32、圖 323所示:圖 32 功能圖 圖 33 功能圖3.2 .數據庫設計數據庫設計是指對于一個給定的應用環境,構造(設計)優化的數據庫邏輯模式和物理結構,并據此建立數據庫與其應用系統,使之能夠

26、有效地存儲和管理數據,滿足各種用戶的應用需求,包括數據管理需求和數據操作需求。 數據庫系統概論M.高等教育, 王珊、薩師煊 2008.12數據庫設計的好壞,直接影響到系統的功能能否實現,數據操作是否簡單。設計良好的數據庫很容易使用,并且能夠保護數據的有效性。而設計不好的數據庫雖然能夠發揮相當的作用,但是可能會導致數據的無效、錯誤或者丟失。 公交線路查詢系統的數據庫設計 王軍 武威職業學院3.2.1 數據庫設計步驟建立了數據庫的步驟:數據庫系統的生存期可劃分為:需求分析、概念結構設計、邏輯結構設計、物理結構設計、實施和運行維護七個階段,而需求分析和概念結構設計可以獨立于任何數據庫管理系統而進行。

27、邏輯結構設計和物理結構設計與選用的 DBMS(database management system)密切相關。我們通常把前五個階段稱為“數據庫的分析和設計階段”,后兩個階段稱為“數據庫的實現與運行階段。” 時素平.基于組件式 GIS 的城市公眾查詢系統的設計與實現D.昆明理工大學(1)需求分析:在這一步需要做的主要工作是收集數據庫所有的信息容和處理要求,并對其進行分析。 (2)概念結構設計:經過需求分析后,在這個階段把用戶的需求加以解釋,并用概念模型(概念模型是現實世界到信息世界的抽象,具有獨立于具體的數據庫實現的優點,因此它是用戶和數據庫設計人員之間進行交流的語言。)表達出來。(3)邏輯結構

28、設計:這個階段的主要任務是利用數據庫管理系統所提供的工具將信息世界中的概念模型映射為計算機世界中為數據庫管理系統所支持的數據模型,并且將其用數據描述語言表達出來。 (4)物理結構設計:數據庫的物理設計是指對數據庫存儲結構和存儲路徑的設計,即將數據庫的邏輯模型在實際的物理存儲設備上加以實現,從而建立一個具有較好性能的數據庫。 基于ArcSDE技術的空間數據庫建設 周迪民、陳學工 湘潭師范學院學報:自然科學版- 2007(5)數據庫實施:數據庫實施和運行維護階段的主要工作是:裝入數據,投入使用,同時根據數據庫運行中所產生的問題以與用戶提出的需求不斷完善和提高數據庫的功能以與性能3.2.2 數據庫設

29、計原則建庫原則 在建立數據時應遵循以下幾個原則:(1)組織有序、層次分明。公交信息查詢系統對數據的存取訪問需要數據庫有序的組織在一起,方便查詢使用(2)最小冗余度原則。數據庫的設計要遵循最小冗余度原則數據應該盡可能的不重復達到減少數據存儲的冗余量,最終節省數據的存儲空間這時因為同一個系統如果包含有大量重復的數據,這不但會浪費大量的存儲空間,還會存在潛在的不一致危險,即同一記錄在不同文件中可能不一樣(如,在一個文件中修改了某一個數據而沒在另外的文件中沒有修改相應的數據)。最小冗余度也是數據庫的一大優勢 (3)數據獨立性原則。數據獨立性原則指的是數據的存放應盡可能地與使用它的應用程序相獨立。數據獨

30、立性可以分為數據的物理獨立與數據的邏輯獨立兩個方面。由于有了數據的獨立性,數據庫系統就可以使用戶數據與物理數據完全分開,因此,可以使用戶擺脫了繁瑣的物理存儲細節。由于用戶程序不依賴于物理數據,從而降低用戶程序的維護開銷。 (4)標準化、規化原則。在建立數據庫時應該合理規定數據庫的名稱(例如:公交站點可以命名為BusStation,公交線路可以命名為BusLine),保證系統數據能夠滿足應用要求。 (5)系統可靠性、安全、完整性原則。一個數據庫系統的可靠性主要體現在其軟硬件故障率小、運行可靠、出了故障時能迅速恢復到可用狀態等幾個方面。數據庫的安全性是指系統對數據的保護能力,防止非法使用所造成的數

31、據泄密和破壞。即對系統數據進行控制,使用戶可以按照系統規定的規則來訪問數據,以防止數據有意或無意地泄露。數據庫的完整性原則是指數據的正確性、有效性以與兼容性。完整性檢查可以將數據控制在有效的圍,或保證數據之間滿足一定的關系。開發人員通常通過設置各種完整約束條件來解決這一問題。 基于 ArcGIS Engine 的城市公眾信息查詢系統研究 以西安市為例 董快鴿3.3 公交數據庫詳細設計公交數據庫的設計主要包括了公交的站點數據庫設計、公交線路的設計、城市的設計、和其他的一些設計,在統立好一個名為“公交數據庫”的數據庫后分別建立各個數據的分表分別對這些表進行設計3.3.1 公交站點的數據庫設計公交數

32、據站點的設計如圖表格 2 公交站點字段表所示:表格 2 公交站點字段表表名:BusStation(公交站點)字段名數據結構說明BusInfoIDNvarchar(255)數字 對應 busInfo表 IDStationNvarchar(255)車站點稱,例如:貴大StationIndexFloat車站的序號(人為規定一個方向進行排序)其實體聯系圖(ER圖)如圖 34 實體-聯系圖所示:圖 34 實體-聯系圖3.3.2 公交線路的數據庫設計公交數據線路的設計如圖表格 3 公交線路字段表所示:表格 3 公交線路字段表表名:BusLine(公交線路)段名數據結構說明IDFloat數字 (對應BusI

33、nfo表中BusLine ID)AreaIDFloatAreaID(對應Area表ID)LineCodeNvarchar(255)公交線路其實體聯系圖(ER圖)如圖 35 實體E-R圖所示:圖 35 實體E-R圖3.3.3 公交線路信息數據庫設計公交數據線路信息的設計如表格 4 公交線路信息字段表所示:表格 4 公交線路信息字段表表名:BusInfo字段名數據結構說明IDNvarchar(255)數字 對應BusStation表中的BusInfo idBusLineIDFloat對應BusLine表IDStartTimeFloat起點首班車時間EndTimeFloat起點末班車時間LastSt

34、artTimeFloat終點首班車時間 LastEndTimeFloat終點末班車時間TimeInfoNvarchar(255)首末車時間說明TicketSystemNvarchar(255票制CarfareNvarchar(255)全程票價元KMNvarchar(255)線路長度公里OtherInfoNvarchar(255)其他信息BusInfoIndexFloat排序其實體聯系圖(ER圖)如圖 36 實體E-R圖所示(只包含部分屬性):圖 36 實體E-R圖3.3.4 公交城市信息數據庫設計公交城市數據庫主要用于存放不同的城市信息,其公交城市信息數據庫設計如表格 5 城市字段表所示:表格

35、 5 城市字段表表名:Area(城市)字段名數據結構說明IDFloat數字ProvinceNvarchar(255)省份CityNvarchar(255)城市例如:市City2Nvarchar(255)城市短名稱例如:PinyinNvarchar(255)拼音其實體聯系圖(ER圖)如圖 37 實體E-R圖所示:圖 37 實體E-R圖上面的四實體聯系圖通過合并就可以得到公交數據庫的完整的實體聯系圖(如圖 21 公交E-R圖所示)通過上面的設計我們得到了四數據庫表這四數據庫表為Area.dbo、BusInfo.dbo、BusLine.dbo、BusStation.dbo,利用這四表可以實現公交數據

36、信息的查詢,但是對于管理員來說,這四表只能夠查詢而不能夠限制用戶只進行數據的查詢,而不進行數據的增、刪、查、改等操作因此還需要建立一系統管理員驗證表(qadmin表)3.3.5 公交管理員信息數據庫設計公交管理員數據庫的設計如表格 6 管理員字段表所示:表格 6 管理員字段表表名:qadmin字段名數據結構說明adusersnchar(50)存放系統管理員的用戶名用于登陸驗證adpwdnchar(50)存放系統管理員的登陸密碼用于登陸驗證其實體聯系圖(ER圖)如圖 38 實體E-R圖所示:圖 38 實體E-R圖此時當系統管理員輸入用戶名和密碼,通過查詢與設計的表qadmin中的adusers和

37、adpwd作比較,如果一致則進入系統管理員的增、刪、查、改等界面,如果不一致則無法進入到系統界面,從而能實現了管理員功能模塊驗證功能。3.4 數據庫關系圖通過上面的分析我們可以得出數據表Area.dbo、BusInfo.dbo、BusLine.dbo、BusStation.dbo之間存在疑點的關系,我們可將其關系畫為如圖 39 關系圖所示,通過這圖可以清晰的反應四數據表之間的對應關系。圖 39 關系圖第4章 實現4.1 系統界面設計與實現系統設計是新系統的物理設計階段。根據系統分析階段所確定的新系統的邏輯模型、功能要求,在用戶提供的環境條件下,設計出一個能在計算機網絡環境上實施的方案,即建立新

38、系統的物理模型。對于公交查詢系統主要涉與兩個方面:1、用戶功能模塊設計2、系統管理員模塊設計,其設計界面如圖 41 系統主界面所示:圖 41 系統主界面其中當點擊”用戶查詢模塊”后進入用戶操作主界面,同理當點擊”系統管理員模塊”后則進入到系統管理員登陸模塊如圖 42 用戶查詢主界面和圖 49 管理員登錄所示。考慮到有一些線路和站點是查詢率較高的因此在主界面中設計了熱門信息的查詢按鈕,以方便用戶快速的查詢到這些熱門信息,線路實現的關鍵代碼如下:Dictionary p = new Dictionary(); string a = button3.Text; p.Add(a, a); string

39、 sql = SELECT Area.City, BusLine.LineCode, BusStation.Station FROM (Area INNER JOIN BusLine ON Area.ID = BusLine.AreaID) INNER JOIN BusInfo ON BusLine.ID = BusInfo.BusLineID) INNER JOIN BusStation ON BusInfo.ID = BusStation.BusInfoID WHERE (Area.City=市) AND (BusLine.LineCode = a); DataTable dt = Sql

40、Helper.GetDataTable(sql, p); richTextBox1.Clear(); for (int i = 0; i dt.Rows.Count; i+) string str = string.Concat(dt.RowsiCity.ToString(), , dt.RowsiLineCode.ToString(), , dt.RowsiStation.ToString(); richTextBox1.AppendText(str + n); 同理可得到主界面中公交站點查詢的代碼,而在公交站點和線路查詢模塊中的代碼也和它類似。4.2 用戶功能模塊總體設計用戶的功能模塊主要

41、用于完成信息的查詢與反饋操作是系統設計核心之一。其模塊可以細分為以下幾個小模塊:1、線路查詢模塊2、站點查詢3、公交換乘查詢這些模塊又是在一個用戶主界面功能模塊中來具體實現的。4.2.1 用戶主界面功能模塊設計與實現用戶主界面是供用戶進行數據的一系列操作所使用的,其界面至少包含站點、線路、換乘查詢等部分。最終設計的界面如圖 42 用戶查詢主界面所示:圖 42 用戶查詢主界面對于用戶主界面來說不存在代碼部分的設計,界面中的容全為vs2010中的組件,其中1標注部分為textBox組件其主要作用是讓用戶輸入插敘的條件,2標注部分為listBox,其主要作用是將滿足帶有文本框中容的所有數據都顯示出來

42、以供用戶選擇,3標注部分為label(標簽)組件,其主要作用是用于標注后面組件的意義或者是用途,4標注部分為button(按鈕)組件,其主要作用是當單擊該按鈕時顯示出相應的信息來,在最下方的組件為richTextBox,其主要作用是將信息的結果顯示出來,以便人們查看。4.2.2 線路查詢模塊對于一個公交查詢系統,在公交線路的查詢常會知道某條線路或者是某條線路的部分名稱(例如模糊的知道線路名稱中有20這兩個數字可能是線路203、201等)來查詢這條線路所經過的站點名稱,這時線路查詢模塊則會根據模糊查詢功能將所有的帶有20的公交線路列舉出來供用戶選擇(如圖 43 模糊線路顯示),在單擊查詢后將結果

43、列舉出來(如圖 44 公交線路查詢結果)。圖 43 模糊線路顯示圖 44 公交線路查詢結果其編碼思路是通過模糊查詢將查詢結果通過一個數組在循環添加到listBox列表中,通過獲取選定的listBox中的數據傳到textBox中在進行查詢。其關鍵代碼為:string sql = SELECT Area.City, BusLine.LineCode, BusStation.Station FROM (Area INNER JOIN BusLine ON Area.ID = BusLine.AreaID) INNER JOIN BusInfo ON BusLine.ID = BusInfo.BusL

44、ineID) INNER JOIN BusStation ON BusInfo.ID = BusStation.BusInfoID WHERE (Area.City=市) AND (BusLine.LineCode Like a); DataTable dt = SqlHelper.GetDataTable(sql, p); richTextBox1.Clear(); for (int i = 0; i dt.Rows.Count; i+) string str = string.Concat(dt.RowsiCity.ToString(), , dt.RowsiLineCode.ToStri

45、ng(), , dt.RowsiStation.ToString();4.2.3 站點查詢在公交站點的查詢常會知道某個站點的全部或者是某歌站點的部分名稱(例如模糊的知道站點名稱中有貴大這兩個數字可能是貴大花溪區、貴大科技學院等)來查詢經過這個站點的所有的線路,這時站點查詢模塊則會根據模糊查詢功能將所有的帶有“貴大”的公交站點數據列舉出來供用戶選擇(如圖 45 模糊站點顯示),在單擊查詢后將結果列舉出來(如圖 46 公交站點查詢結果)。圖 45 模糊站點顯示圖 46 公交站點查詢結果公交站點查詢編碼的思路、代碼和線路查詢的思路、代碼基本一致。4.2.4 公交換乘查詢在公交查詢系統中經常會用到換乘

46、查詢,其作用是查詢經過兩個站點的公交線路,比如知道起點站的名字或是模糊名字(例如:貴大或貴)和終點站的名字或模糊名字(例如:六廣門或六)通過這兩個站點選取listBox中出現的站點名或是直接用這兩個站點名(這兩個站點名正確才可以直接使用)來查詢所有經過這兩個站點的公交線路信息,如圖 47 模糊顯示和圖 48 站點到站點的查詢結果所示。圖 47 模糊顯示圖 48 站點到站點的查詢結果4.3 管理員功能模塊對于公交查詢系統來說,公交線路、站點等信息不是一成不變的,對于用戶來說過時的公交線路、站點信息沒有多大的用處。因此需要進行數據的實時更新,即對數據的操作實現增刪查改功能,使得軟件的查詢具有實際的

47、意義方便人們的出行。當然對于數據的更新并不是所有的人群都可以而是一些固定的人群即在公交查詢數據庫中的表“admin”中存在的人才可以進行更改,以防止數據被亂改等現象,這時就需要設計管理員模塊。其模塊可以細分為以下幾個小模塊:1、管理員登錄模塊2、信息修改模塊3、信息增加模塊4、信息刪除模塊當然系統管理員還可以查詢數據,其查詢模塊和用戶的查詢模塊處于同一位置,即管理員的查詢模塊即為用戶的查詢模塊。4.3.1 系統管理員登陸界面設計登陸界面設計的意義在于防止外來人員進入到修改界面中修改數據造成數據的破壞,首先在公交系統設計的主頁面中添加一個新的窗體既為管理員的登陸窗體,在登陸窗體中分別添加按鈕(確

48、定按鈕、清空按鈕如果填寫錯誤則可以清空輸入的容、取消按鈕)、標簽(用于標注用戶名和密碼)、文本(輸入數據使用)如圖 49 管理員登錄所示:圖 49 管理員登錄在屬性窗口中設置第二個文本框的PasswordChar屬性為字符“*”,在設置窗體的CanceButton屬性為button3,這樣當用戶單擊“取消”按鈕后,DialogResult屬性值就是Cancel。 C#語言程序設計基礎(第二版) 鄭宇軍 編著 清華大學當用戶輸出密碼和用戶名之后單擊確定就會與數據庫進行查詢比對如果正確則會跳轉到下一個窗體,如果不正確則彈出“錯誤”窗口(如圖 410 登錄錯誤界面提示所示),清空按鈕則可以清空輸入的

49、用戶名和密碼的容。圖 410 登錄錯誤界面提示4.3.2 添加路線和站點信息在上一步中當我們輸入正確的用戶名和密碼之后就可以進入到系統管理員的操作界面,對于“添加路線和站點”界面設計如圖 411 信息增加界面:圖 411 信息增加界面此時就可以添加線路信息和站點信息,但是要注意到各個字段之間的對應關系,在添加數據的時候應對照下方的文字部分。其關鍵代碼如下:string sql = insert into BusLine (ID,AreaID,LineCode) VALUES (id,arearid,linecodeid);/數據庫插入語句Dictionary p = newDictionary

50、();/字典變量,使其對應傳值 p.Add(id, id); p.Add(arearid, arearid); p.Add(linecodeid, linecodeid);SqlHelper.ExecuteNonQuery(sql ,p );MessageBox.Show(增加信息成功|);4.3.3 刪除線路和站點同理對于系統的刪除界面進行如圖 412 刪除界面的界面設置:圖 412 刪除界面此時當點擊對應的按鈕時,對于線路則會刪除整條的數據信息(ID、AreaID、LineCode)以與表BusInfo中所對應的信息記錄,對于站點則會將這條站點的信息刪除但是當刪除這個站點時應查看是否有別的

51、線路進過如果有則不該刪除,以免影響其他的線路信息,因此需要設計一個MessageBox消息框,在消息框代碼中添加MessageBox.Show(是否刪除, 警告?, MessageBoxButtons.YesNoCancel)7則可以實現重要數據提示功能,以免誤刪。關鍵代碼:MessageBox.Show(是否刪除, 警告?, MessageBoxButtons.YesNoCancel);string Station = textBox2.Text;string sql = delete from BusStation where Station=LineCode;Dictionary p =

52、 newDictionary(); p.Add(Station, Station);SqlHelper.ExecuteNonQuery(sql, p);MessageBox.Show(刪除信息成功!);4.3.4 修改路線站點信息對于一個完整的管理員模塊還需要具備修改數據信息的功能,“修改路線站點信息”界面和增加界面大體一致如圖 413 修改界面所示:圖 413 修改界面此時只需按照說明填寫即可。其關鍵代碼如下:string selectsql = select ID,AreaID,LineCode from BusLine where LineCode=LineCode;/必填容用于查詢信息

53、Dictionary p = newDictionary(); p.Add(id, id); p.Add(ArearID, ArearID); p.Add(LineCode, LineCode);DataTable dt = SqlHelper.GetDataTable(selectsql, p);if (dt.Rows .Count 0 )/判斷要修改的線路存不存在 string sql = UPDATE BusLine SET id=id,AreaID=ArearID,LineCode=LineCode where LineCode=LineCode;Dictionary p1 = newDictio

溫馨提示

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

評論

0/150

提交評論