

版權說明:本文檔由用戶提供并上傳,收益歸屬內容提供方,若內容存在侵權,請進行舉報或認領
文檔簡介
1、<p> 畢業(yè)設計(論文)任務書</p><p> 計算機工程 系 計算機網絡技術 專業(yè) 09 級</p><p> 教研室主任批準(簽字): 年 月 日</p><p> 系主任批準(簽字): 年 月 日</p&g
2、t;<p> 一、 畢業(yè)設計(論文)題目:</p><p> 公交查詢系統(tǒng) </p><p> 二、畢業(yè)設計(論文)的目的要求:</p><p> 用JSP語言和MySQL數據庫做一個公交查詢系統(tǒng),具有查詢線路的功能。 用戶可以進行站點換乘查詢、線
3、路查詢、站點查詢、留言反饋等操作。管理員則可以對公交線路信息進行更新維護。 </p><p> 三、完成的工作內容:</p><p> 用戶可以注冊,登錄
4、</p><p> 管理員可以對線路管理,進行增刪改操作 </p><p> 用戶可以完成最多換乘兩次的線路查詢 </p><p>
5、; 用戶可以進行意見反饋 </p><p> 四、學生應交出的設計(論文)文件:</p><p> 公交查詢系統(tǒng)源代碼 </p>
6、<p> 畢業(yè)設計論文 </p><p> 五、發(fā)任務日期: 20 12 年 3 月 14 日</p><p> 六、完成日期: 20 12 年 5 月 16
7、 日</p><p> 設計(論文)指導人簽字: </p><p> 設計人、作者 簽字: </p><p> 注:本設計(論文)任務書填寫一式兩份。一份由指導人送系部保存。一份由學生附入設計(論文)說明書內。</p><p><b> 摘要</b></
8、p><p> 如今計算機網絡發(fā)展非常迅速,時間的重要性對于人們來說不言而喻,人們出行越來越注重時間的節(jié)約,城市公交已經成為出行的一種主要的方式,本文結合公交運行的實際來對公交查詢系統(tǒng)進行可行性研究,通過詳實的問題定義與需求分析并且進行了合理的設計,提出了在B/S模式下的三層體系結構,應用了當前最流行的MyEclispe開發(fā)環(huán)境,用當今主流的網站開發(fā)技術jsp語言進行開發(fā),后臺采用了以目前最穩(wěn)定的MySQL數據庫為開
9、發(fā)平臺。目前,該信息系統(tǒng)已經完成了模塊的需求分析、數據庫設計以及應用程序設計的工作,并且主要模塊運行有效、穩(wěn)定。該系統(tǒng)可以幫助查詢人員找到能最快到達目的地,并且節(jié)約費用。通過瀏覽器查詢和計算機網絡全面聯網,實現中心控制、自動更新、更多的查詢方式。從這方面來說,此系統(tǒng)具有美好的應用前景。</p><p> 關鍵詞:公交查詢系統(tǒng),MySQL,JSP</p><p><b> Ab
10、stract</b></p><p> Now computer network development very quickly, the importance of time for people to self-evident, people pay more and more attention to the travel time saving, city bus travel has b
11、ecome one of the main way, combining with the actual operation of the bus to query information system of public transport for feasibility research, through detailed problem definition and demand analysis and the reasonab
12、le design, put forward the B/S model with three layers of the system structure, the application of </p><p> Keywords: Bus Search System, MySQL, JSP </p><p><b> 前言</b></p>
13、;<p> 我國城市公交乘客信息系統(tǒng)的發(fā)展處于一個落后的水平,廣大乘客可以獲得信息的方式很少,我國公交乘客信息系統(tǒng)的現狀特點如下:</p><p> (1) 我國乘客一般獲得公交信息的方式局限于電話,交通圖,向熟人問訊等常規(guī)方式。乘客可以獲得的公交信息較少。</p><p> (2) 基本上沒有實時信息。除了幾個少數城市,乘客可以通過分布于城市中的若干電子站牌獲得一些公
14、交車輛的運營信息以外,在其它城市“出行中”的乘客無法獲得任何實時信息。</p><p> 由上所述,我國公交乘客信息系統(tǒng)總體上處于較低水平。較低的發(fā)展水平既是發(fā)展的困難,也是發(fā)展的機遇。我們應將發(fā)展公交乘客信息系統(tǒng)作為一個提高公交效率,增強公交吸引力的重要手段。</p><p> 這里指的公交查詢系統(tǒng)就是網絡上的公交查詢網站,它的出現解決了現代公交乘客信息系統(tǒng)中的很多不足的地方,它的主
15、要優(yōu)勢體現在省時、經濟、準確,這三個方面。從省時這個角度講,根據公交查詢系統(tǒng)人們可以選擇從出發(fā)地到目的地的所有乘坐路線,在所有的的乘車路線中按自己的路線選擇。可以選擇直達的,這樣節(jié)省的是車上時間。車下時間的節(jié)省更是很明顯的,不用再在路邊或者打電話詢問熟人了,由于現代網絡的普及使得普通公民上網的時間和機會越來越多,所以人們可以很容易的從公交查詢網站捕獲到自己需要的信息,這節(jié)省的是車下時間。經濟這方面也得到很好的體現,由于現代公交乘客信息系
16、統(tǒng)存在的消息捕獲得不到保證,在這個時間就是金錢的時代人們可不愿意乘錯車而錯失自己的金錢。準確性是整個公交系統(tǒng)中的一個重點也是人們最希望得到保證的,公交查詢系統(tǒng)根據公交線路的調整及時更新數據庫使得人們不必為自己的錯誤記憶或是不熟悉線路而付出時間和金錢的代價,目的才是最終想要的,所以準確性才是最重要的。</p><p><b> 目錄</b></p><p><b
17、> 前言5</b></p><p> 第一章 系統(tǒng)概述8</p><p> 1.1 開發(fā)背景8</p><p> 1.2 選題的意義8</p><p> 1.3 系統(tǒng)簡介8</p><p> 1.3.1 系統(tǒng)功能9</p>
18、<p> 2.3.2 系統(tǒng)運行環(huán)境9</p><p> 1.3.3 系統(tǒng)開發(fā)工具9</p><p> 1.4 現狀與前景9</p><p> 第二章 JSP語言與開發(fā)環(huán)境介紹10</p><p> 2.1 JSP語言簡介11</p><p> 2.2 JSP技術優(yōu)
19、勢12</p><p> 2.3 MySQL語言介紹13</p><p> 2.4 MyEclispse開發(fā)環(huán)境簡介14</p><p> 2.5 Tomcat運行環(huán)境簡介15</p><p> 第三章 公交查詢系統(tǒng)詳細設計17</p><p> 3.1 需求分析17</p
20、><p> 3.1.1 系統(tǒng)運行環(huán)境需求分析17</p><p> 3.1.2 功能需求分析17</p><p> 3.2 系統(tǒng)功能模塊劃分17</p><p> 3.2.1 系統(tǒng)總體結構設計17</p><p> 3.2.2 系統(tǒng)功能結構設計19</p><p> 3.2.
21、3 用戶權限的界定20</p><p> 3.3 系統(tǒng)數據庫設計21</p><p> 3.3.1 概念模型設計21</p><p> 3.3.2 數據表的設計及功能22</p><p> 3.3.3 詳細數據庫結構設計22</p><p> 3.4 線路管理的功能實現25&l
22、t;/p><p> 3.4.1 添加線路25</p><p> 3.4.2 更新線路21</p><p> 3.5 查詢模塊的功能實現27</p><p> 3.5.1 站點換乘21</p><p> 3.5.2 站點查詢21</p><p> 3.5.3 用戶留言
23、22</p><p><b> 參考文獻32</b></p><p><b> 致 謝33</b></p><p><b> 附 錄34</b></p><p><b> 第一章 系統(tǒng)概述</b></p><p>&l
24、t;b> 1.1 開發(fā)背景</b></p><p> 隨著,國民經濟的進一步增長,中國的城市化步伐越來越快。大都市、大城市、小城鎮(zhèn),不斷的涌現,大量的農村戶口涌入城市,進一步加劇了城市的擴大化。</p><p> 現在,在任一城市,雖有大量的出租車可乘,但公交車仍是大多然民眾的首選。當公交線路較少時,乘客很容易找到一條可選線路,但當公交線路、公交站點較多時,找一條可
25、選的經濟的乘車路線就不是一件容易的事。</p><p><b> 1.2 選題的意義</b></p><p> 當今時代是飛速發(fā)展的信息時代。在各行各業(yè)中離不開信息處理,這正是計算機被廣泛應用于信息管理系統(tǒng)的環(huán)境。計算機的最大好處在于利用它能夠進行信息管理。使用計算機進行信息控制,不僅提高了工作效率,而且大大的提高了其安全性。</p><p&g
26、t; 尤其對于復雜的信息管理,計算機能夠充分發(fā)揮它的優(yōu)越性。計算機進行信息管理與信息管理系統(tǒng)的開發(fā)密切相關,系統(tǒng)的開發(fā)是系統(tǒng)管理的前提。本系統(tǒng)就是為了更好管理門診信息信息而設計的。</p><p> 本系統(tǒng),僅側重于智能查詢的實現,以作為一畢設計之用,提高軟件工程的實踐能力。</p><p><b> 1.3 系統(tǒng)簡介</b></p><p&
27、gt; 1.3.1 系統(tǒng)功能</p><p> 1. 用戶注冊,登錄,分類查詢;</p><p> 2.管理員對公交線路管理。</p><p> 1.3.2 系統(tǒng)運行環(huán)境</p><p> 該系統(tǒng)采用Browser/Server模式進行設計: 在服務器上運行Web發(fā)布服務器、數據庫程序,操作系統(tǒng)為Windows2000/
28、XP/2003 server,其上運行瀏覽器程序,服務器和客戶機可為同一設備。</p><p> 1.3.3 系統(tǒng)開發(fā)工具</p><p> 該系統(tǒng)采用JDK Java環(huán)境進行開發(fā),數據庫服務器為MySQL,WEB發(fā)布服務器為Tomcat Server;客戶端使用瀏覽器運行程序,整個系統(tǒng)調試成功。</p><p> 1.4 現狀與前景 </p>
29、<p> 公交查詢系統(tǒng)現狀分析:鑒于中國目前的經濟發(fā)展狀況,中國人出行還是以公交車為主,所以每個城市的公交系統(tǒng)都比較龐大發(fā)達。目前的公交查詢系統(tǒng),基本上具備一下功能:采用站點換乘查詢、線路查詢、站點查詢三種查詢形式,不僅能夠查詢到線路的起停站點,同時還能夠分析出換乘車輛情況。 </p><p> 公交查詢系統(tǒng)的發(fā)展前景:未來的公交查詢系統(tǒng),將是基于B/S架構,通過瀏覽器查詢,通過計算機網絡
30、全面聯網,實現中心控制、自動更新、更多的查詢方式等更多更強大的功能。</p><p> 第二章 JSP語言與開發(fā)環(huán)境介紹</p><p> 2.1 JSP語言簡介</p><p> JSP(Java Server Pages)是由Sun Microsystems公司倡導、許多公司參與一起建立的一種動態(tài)網頁技術標準。 JSP技術是用JAVA語言作為腳本語言的,J
31、SP網頁為整個服務器端的JAVA庫單元提供了一個接口來服務于HTTP的應用程序。 </p><p> 在傳統(tǒng)的網頁HTML文件(*.htm,*.html)中加入Java程序片段(Scriptlet)和JSP標記(tag),就構成了JSP網頁(*.jsp)。Web服務器在遇到訪問JSP網頁的請求時,首先執(zhí)行其中的程序片段,然后將執(zhí)行結果以HTML格式返回給客戶。程序片段可以操作數據庫、重新定向網頁以及發(fā)送 ema
32、il 等等,這就是建立動態(tài)網站所需要的功能。所有程序操作都在服務器端執(zhí)行,網絡上傳送給客戶端的僅是得到的結果,對客戶瀏覽器的要求最低,可以實現無Plugin,無ActiveX,無Java Applet,甚至無Frame。 </p><p> JSP是基于Java Servlet以及整個Java體系的Web開發(fā)技術。在傳統(tǒng)的網頁HTML文件中加入Java程序片段和JSP標記,就構成了JSP網頁。Web服務器在遇到
33、訪問JSP網頁的請求時,首先執(zhí)行其中的程序片段,然后將執(zhí)行結果以HTML格式返回給客戶?!?】所有程序操作都在服務器端執(zhí)行,網絡上傳送給客戶端的僅是得到的結果,對客戶瀏覽器的要求很低。如圖1所示,在用戶連接JSP網站時,用戶請求網頁,JSP頁面獨自響應請求,將用戶對網頁的請求轉化為對數據的請求,通過Java處理請求并將返回的數據封裝成HTML頁面返回給用戶。</p><p> 2.2 JSP技術優(yōu)勢
34、</p><p> 利用JSP編寫的程序有許多優(yōu)勢:</p><p> 1.程序寫一次,到處可以運行:JSP在設計時,充分考慮到應用平臺的無關性。依賴于Java的可移植性,JSP得到目前許多流行OS平臺的支持,可在Apache、Netscape、IIS等服務器上執(zhí)行。</p><p> 2.執(zhí)行速度快:JSP頁面只需編譯一次轉化為Java字節(jié)代碼,其后
35、一直駐留于服務器內存中,加快了對JSP頁面的響應速度。若不考慮JSP頁面第一次編譯所花的時間,則JSP的響應速度要比ASP快的多。</p><p> 3.Java的優(yōu)勢:JSP技術是用Java語言作為腳本語言的??缙脚_、成熟、健壯、易擴充的Java技術使得開發(fā)人員的工作在其他方面也變得容易和簡單。在Windows系統(tǒng)被懷疑可能會崩潰時,Java能有效地防止系統(tǒng)崩潰。Java語言通過提供防止內存泄漏的方法,在內存
36、管理方面大顯身手。加之,JSP為應用程序提供了更為健壯的意外事件處理機制更大的發(fā)揮了Java的優(yōu)勢。</p><p> 2.3 MySQL語言介紹</p><p> MySQL是現在流行的關系數據庫中其中的一種,相比其它的數據庫管</p><p> 理統(tǒng)(DBMS)來說,MySQL具有小巧、功能齊全、查詢迅捷等優(yōu)點,關鍵的是它是免費的,可以在Internet上
37、免費下載到,并可免費使用,對于一般中小型,甚至大型應用都能夠勝任。</p><p> MySQL具有以下優(yōu)點:</p><p> 1.首先是速度。對于MySQL來說,速度是他們追求的主要目標之一,基于這個原因,MySQL在以前的文檔中也曾經說過并不準備支持事務和觸發(fā)器。但是在最新的文檔中,我們看到MySQL 4.0.2-alpha已經開始支持事務,而且在MySQL的TODO中,對觸發(fā)器
38、、約束這樣的注定會降低速度的功能也列入了日程。但是,仍然有理由相信,MySQL將有可能一直保持速度的優(yōu)勢。【4】</p><p> 2.MySQL更流行,流行對于一個商業(yè)軟件來說,也是一個很重要的指標,流行意味著更多的用戶,意味著經受了更多的考驗,意味著更好的商業(yè)支持、意味著更多、更完善的文檔資料。</p><p> 3.MySQL更適宜在Windows環(huán)境下運行。MySQL作為一個本
39、地的Windows應用程序運行(在NT/Win2000/WinXP下,是一個服務), 在Windows運行中,MySQL更加的穩(wěn)定。</p><p> 4.MySQL使用了線程,在不同線程之間的環(huán)境轉換和訪問公用的存儲區(qū)域顯然要比在不同的進程之間要快得多。</p><p> 5.MySQL可以適應24/7運行。在絕大多數情況下,你不需要為MySQL運行任何清除程序。</p>
40、<p> 6.MySQL在權限系統(tǒng)上更為完善。MySQL允許你定義一整套的不同的數據級、表級和列級的權限。對于列級的權限。MySQL還允許你指定基于主機的權限。</p><p> 7.由于MySQL 4.0.2-alpha開始支持事務的概念,因此事務對于MySQL不再僅僅成為劣勢。相反,因為MySQL保留無事務的表類型。這就為用戶提供了更多的選擇。 </p><p>
41、 2.4 MyEclispse開發(fā)環(huán)境簡介</p><p> 在 Sun 正式發(fā)布 JSP(JavaServer Pages) 之后,這種新的 Web 應用開發(fā)技術很快引起了人們的關注。 JSP 為創(chuàng)建高度動態(tài)的 Web 應用提供了一個獨特的開發(fā)環(huán)境。按照 Sun 的說法, JSP 能夠適應市場上包括 Apache WebServer,IIS4.0 在內的 85% 的服務器產品。</p><
42、;p> MyEclipse 這樣功能完整且成熟的開發(fā)環(huán)境,是由藍色巨人IBM 所釋出。IBM 花了4 千萬美金開發(fā)這個IDE(Integrated Development Environment)。</p><p> 第一版1.0 在2001 年11 月釋出,隨后逐漸受到歡迎。MyEclipse已經成為開放原始碼計劃(Open Source Project),大部分的開發(fā)扔然掌握在IBM手中,但是有一部
43、份由eclipse.org的軟件聯盟主導。【10】</p><p> 2.5 Tomcat運行環(huán)境簡介</p><p> 要編寫JSP的程序,至少需要具備以下3個條件。</p><p> 1.一臺和網絡相連的PC機或者工作站,從而可以下載必需的軟件</p><p> 2.在計算機上安裝java,并進行環(huán)境變量的設置。</p>
44、;<p> 3.在計算機上安裝JSP引擎,比如Tomcat。這些都可以去官方網站下載。</p><p><b> 安裝和配置jdk</b></p><p> 可以到http://java.sun.com/下載J2SDK并完成安裝。,完成安裝后,需要設置環(huán)境變量,如果操作系統(tǒng)是Windows xp,則用鼠標右鍵單擊”我的電腦”,選擇”屬性高級環(huán)境變量
45、”。如圖2-1所示:</p><p> 圖 2-1 系統(tǒng)屬性</p><p> 設置環(huán)境變量如圖2-2所示:</p><p><b> 圖2-2 環(huán)境變量</b></p><p> 在“系統(tǒng)變量”下面的”新建”按鈕,依次建”classpath”,”java_home”,以及”path”環(huán)境變量。其內容如下所示:&
46、lt;/p><p> java_home=c:\j2sdk1.4.2_10</p><p> classpath=.\;c:\j2sdk1.4.2_10\lib\tools.jar;c:\j2sdk1.4.2_10\lib\dt.jar;c:\j2sdk1.4.2_10\jre\lib</p><p> path=c:\j2sdk1.4.2_10\bin</
47、p><p> 完成以上設置后,可以新打開一個DOS窗口,分別鍵入java和javac測試一下,如果一切正常,就表明JDK安裝成功,從而可以進行下面的工作了。</p><p> 圖2-3 測試jdk安裝成功</p><p> Tomcat是一個免費的開源的Serlvet容器,它是Apache基金會的Jakarta項目中的一個核心項目,由Apache,Sun和其它一些
48、公司及個人共同開發(fā)而成。由于有了Sun的參與和支持,最新的Servlet和Jsp規(guī)范總能在Tomcat中得到體現。Tomcat被JavaWorld雜志的編輯選為2001年度最具創(chuàng)新的java產品,可見其在業(yè)界的地位。 </p><p> Tomcat 最新版本是4.0x。4.0x與3.x的架構不同,而是重新設計的。Tomcat4.0x中采用了新的Servlet容器:Catalina,完整的實現了Servlet2
49、.3和Jsp1.2規(guī)范。Tomcat提供了各種平臺的版本供下載,可以從http://jakarta.apache.org上下載其源代碼版或者二進制版。由于Java的跨平臺特性,基于Java的Tomcat也具有跨平臺性。 </p><p> 在Tomcat中,應用程序的部署很簡單,你只需將你的WAR放到Tomcat的webapp目錄下,Tomcat會自動檢測到這個文件,并將其解壓。你在瀏覽器中訪問這個應用的Jsp
50、時,通常第一次會很慢,因為Tomcat要將Jsp轉化為Servlet文件,然后編譯。編譯以后,訪問將會很快。另外Tomcat也提供了一個應用:manager,訪問這個應用需要用戶名和密碼,用戶名和密碼存儲在一個xml文件中。通過這個應用,輔助于Ftp,你可以在遠程通過Web部署和撤銷應用。當然本地也可以。 </p><p> Tomcat不僅僅是一個Servlet容器,它也具有傳統(tǒng)的Web服務器的功能:處理Ht
51、ml頁面。但是與Apache相比,它的處理靜態(tài)Html的能力就不如Apache。我們可以將Tomcat和Apache集成到一塊,讓Apache處理靜態(tài)Html,而Tomcat處理Jsp和Servlet。這種集成只需要修改一下Apache和Tomcat的配置文件即可。 </p><p> Tomcat的下載地址為Java的官方網站http://jakarta.apache.org 下載完了后安裝,設置Tomcat
52、的默認端口,系統(tǒng)自動默認為”8080”,其它設置選項可以根據Tomcat的幫助文檔來設置。安裝Tomcat后,需要按照JDK的方法創(chuàng)建系統(tǒng)變量。在變量名中輸入”TOMCAT_HOME”,在變量中輸入”C:\tomcat”,然后單擊確定,配置完畢后,需要重新啟動計算機后,環(huán)境變量才能生效。</p><p> 如果一切操作正確的話,在瀏覽器地址欄輸入http://localhost:8080/,可以得到如下圖所示運
53、行結果:</p><p> 圖 2-4 TOMCAT安裝測試</p><p> 第三章 公交查詢系統(tǒng)詳細設計</p><p><b> 3.1 需求分析</b></p><p> 3.1.1 系統(tǒng)運行環(huán)境需求分析</p><p> 操作系統(tǒng):Win2000/XP/2003。</p&
54、gt;<p> 軟件配置:系統(tǒng)必須安裝有JDK,TOMCAT,MySQL數據庫。</p><p> 數據庫配置:MySQL在PC機中新建數據庫,建立各個數據表。</p><p> 3.1.2 功能需求分析</p><p> 系統(tǒng)的主要開發(fā)包括,客戶端應用程序主要是指前臺的開發(fā)和后臺控制。服務器端數據庫的初始化,數據表,關系圖的建立,刪除。<
55、;/p><p> 1.站點換乘查詢——只要在我們設計的首頁中相應的地方輸入起站點和要到達的目的地站點,點擊“查詢”按鈕,就可以查到你要到達目的地的乘車方式,這里的乘車方式可以是直達線路,或換乘一次或兩次的路線。</p><p> 2.后臺管理——這個后臺管理系統(tǒng)體現了人性化的設計??梢愿鶕粚嶋H的線路的增添、線路的修改進行改進。只要在管理員登陸后,就可以增加線路、修改線路、刪除線路、等來
56、完成與實際相符合的路線。這一功能更加的體現了公交線路的靈活性。</p><p> 3.2 系統(tǒng)功能模塊劃分</p><p> 3.2.1 系統(tǒng)總體結構設計</p><p> 公交查詢系統(tǒng)主要分為兩個模塊:前臺線路查詢模塊,后臺數據管理模塊。如圖3-1所示:</p><p> 圖3-1 系統(tǒng)總體結構設計圖</p><
57、p> 系統(tǒng)可以分為三層:顯示層,業(yè)務邏輯層,數據訪問層。項目結構如圖3-2所示:</p><p> 圖3-2 項目結構圖</p><p> 3.2.2 系統(tǒng)功能結構設計</p><p> 公交查詢子系統(tǒng)是這個系統(tǒng)的一個重要的模塊,它快捷、方便、準確的提供了乘客所需要的乘車路線。</p><p><b> 一、查詢模塊
58、</b></p><p> 1.輸入出發(fā)站點和目標站點,進入系統(tǒng)服務類根據給定的條件進行查找,查找的具體步驟為:</p><p> (1)先用sql語句查詢同時含有起點和終點的線路,是直達線路。</p><p> ?。?)如果列表為空,說明沒有直達線路。</p><p> ?。?)用第二個sql語句查詢起點和終點的中轉站點,根
59、據中轉站點查詢出換乘一次可以到達的情況。</p><p> ?。?)如果上面的sql語句返回空集,即沒有中轉站點,換乘一次不能到達終點,就查詢換乘兩次的情況</p><p> ?。?)寫查詢語句找出可以換乘的車次,并得到中轉的站點,就得到換乘兩次的實現路線。</p><p> ?。?)最后返回一個包含所有能夠從出發(fā)站點出發(fā),并且能夠到達目標站點的所有的換車次數不超過
60、2次的乘車路線。</p><p> 查詢模塊圖如圖3-3所示:</p><p> 圖3-3 查詢模塊圖</p><p><b> 二.后臺管理模塊</b></p><p> 后臺管理模塊是很重要的一個模塊,為了防止普通用戶隨意修改路線,我們使用用戶權限界定,只有管理員可以進入,進行整個系統(tǒng)數據的修改工作。<
61、/p><p><b> 后臺管理模塊</b></p><p> 1.添加線路:添加一條新的線路。</p><p> 2.修改線路:更新線路信息。</p><p> 3.刪除線路:對線路必要的刪除操作。</p><p> 圖3-4 后臺管理模塊圖</p><p> 3
62、.2.3 系統(tǒng)用戶權限的界定</p><p> 為保證系統(tǒng)數據的安全性,防止非法訪問數據和出現數據丟失、數據隨意改變現象,需要對數據庫實施保護。主要保護措施是:防止非法訪問,對使用權限做出劃分,不同身份的人員進入系統(tǒng)后操作的權限進行界定;防止故障的產生必定進行定期的備份。具體說明如下:</p><p> 在用戶管理與權限設置方面,根據系統(tǒng)的實際情況和從簡化系統(tǒng)出發(fā),對于前臺所有乘客都是
63、開放的,但后臺數據庫做嚴格的權限控制,只能管理員才能進入。</p><p> 使用整個系統(tǒng)的人員,可以劃分為兩類:</p><p> 1.管理員:管理員對系統(tǒng)擁有最高權限,可以對后臺控制模塊進行操作,可以控制整個系統(tǒng)的所有數據的增,刪,改操作,這一角色由系統(tǒng)設計人員直接設定。</p><p> 2.普通用戶: 普通用戶,權限低,在公交查詢系統(tǒng)他可以進行所有的線
64、路查詢的權利,但是沒有增加和修改路線的權限。</p><p> 3.3 系統(tǒng)數據庫設計</p><p> 數據庫設計是指對于一個給定的應用環(huán)境,構造最優(yōu)的數據庫模式,建立數據庫及其應用系統(tǒng),使之能夠有效地存儲數據,滿足各種用戶的應用需求(信息要求和處理要求)。數據庫和設計概述:</p><p> (1)數據庫是信息系統(tǒng)的核心和基礎,把信息系統(tǒng)中大量的數據按一
65、定的模型組織起來,提供存儲、維護、檢索數據的功能,使信息系統(tǒng)可以方便、及時、準確地從數據庫中獲得所需的信息。</p><p> ?。?)數據庫是信息系統(tǒng)的各個部分能否緊密地結合在一起以及如何結合的關鍵所在。</p><p> (3)數據庫設計是信息系統(tǒng)開發(fā)和建設的重要組成部分。【2】</p><p> 3.3.1 概念模型設計(E-R圖)</p>
66、<p> 數據模型是是數據特征的抽象,從抽象層次上描述了系統(tǒng)的靜態(tài)特征、動態(tài)行為和約束條件,為數據庫系統(tǒng)的信息表與操作提供一個抽象的框架。描述了數據結構、數據操作及數據約束。 </p><p> E-R模型的基本概念 </p><p> ER圖概念化地構建實體間關系的模型,這使得它們區(qū)別于數據庫模型圖。ER圖的理念是:項目所有參與者能理解ER圖。ER圖由不同實體類型、關系、
67、特性和類型構成。實體是諸如用戶的實際對象,有時更抽象,但必須有業(yè)務意義。特性用于描述實體,關系用于實體之間。(1)實體:現實世界中的事物;</p><p> ?。?)屬性:事物的特性;</p><p> ?。?)聯系:現實世界中事物間的關系。實體集的關系有一對一、一對多、多對多的聯系。【4】</p><p><b> 本系統(tǒng)的ER圖:</b>
68、;</p><p> 圖3-5 E/R圖的表示</p><p> 3.3.2 數據表的設計及功能</p><p> 根據以上這些步驟就可以創(chuàng)建一個數據庫,依次建立下列表結構:</p><p><b> 用戶基本信息表</b></p><p><b> 用戶類別表</b&
69、gt;</p><p><b> 公交車基本信息表</b></p><p><b> 公交車類別表</b></p><p><b> 站點基本信息表</b></p><p><b> 公交車站點關聯表</b></p><p>
70、;<b> 用戶留言表</b></p><p> 3.3.3 詳細數據庫結構設計</p><p><b> 1.用戶基本信息表</b></p><p> 用戶基本信息表中存放的是用戶登陸時所需要或者記錄用戶的基本信</p><p> 息,包含比如登陸名,密碼等。用戶基本信息表的建立主要是記
71、錄用戶最常用的一些信息。</p><p> 表3.1 t_user</p><p><b> 2.用戶類別表</b></p><p> 用戶類別分為兩類:管理員和普通用戶。</p><p> 表3.2 t_user_type</p><p> 3. 公交車基本信息表</p>
72、<p> 公交車基本信息表存放的是公交線路的基本信息,包括始發(fā)站、終點站、首班車、末班車、票價、所經站點等信息。</p><p> 表3.3 t_bus</p><p><b> 4.公交車類別表</b></p><p> 公交車分為:市區(qū)線路,市郊線路,城際線路,村村通,機場巴士。</p><p>
73、 表3.4 t_bus_type</p><p><b> 5.站點基本信息表</b></p><p> 站點基本信息包括站點編號,站點名稱。</p><p> 表3.5 t_stop</p><p> 6.公交車站點關聯表</p><p> 該表存放每條公交線路對應的所有站點的編號和
74、名稱信息。</p><p> 表3.6 t_bus_stops</p><p><b> 7.用戶留言表</b></p><p> 存放用戶留言的內容及用戶的id信息。</p><p> 表3.7 t_comment</p><p> 3.4 線路管理的功能實現</p>&
75、lt;p> 管理更新功能是針對系統(tǒng)維護而設計的。隨著城市現代化的發(fā)展,公路部分線路也會有相應的變化。為使本系統(tǒng)能跟上發(fā)展,與現實保持同步,管理更新功能也是舉足輕重的。其中包括站點管理和線路管理。</p><p> 在數據庫中每路公交車都有其相應的公交線路。當現實中的某個因素改變時,數據庫中的記錄也要有相應同步的變化。線路管理就是對線路信息進行相應的更新。輸入相應的線路編號,線路名稱和類型后保存數據到數據
76、庫當中。</p><p> 3.4.1 添加線路</p><p> 輸入要添加的新線路的所有信息,點擊提交,添加線路完成。</p><p><b> 圖3-6 添加線路</b></p><p> 3.4.2 更新線路</p><p> 將要更改的信息更新,點擊提交,則更新完成。</
77、p><p><b> 圖3-7 更新線路</b></p><p> 3.5 查詢模塊的功能實現</p><p> 公交查詢模塊是用戶與系統(tǒng)進行交互的直接媒介。除了要完成用戶的請求外,更需要從用戶的角度出發(fā),以人為本。設計出人性化的交互頁面。查詢模塊主要有文本框和提交按鈕組合而成。從實際出發(fā)對于公交查詢系統(tǒng)而言,用戶輸入始發(fā)站,終點站后提交請求
78、,后臺數據庫查詢系統(tǒng)為系統(tǒng)列出符合條件的公交班次。當然,用戶還可以選擇第二種查詢方式:選擇要查詢的線路,提交后用戶自動列出該路公交車所路經的站點。</p><p> 3.5.1 站點換乘功能</p><p><b> 直達線路</b></p><p> 輸入起點和終點后,通過sql語句查詢出同時含有起始站點和終點名稱的線路。</p&
79、gt;<p> 2.需要換乘一次的查詢</p><p> 先通過一個sql語句查詢出中轉站點。然后查詢出從起點到中轉站點</p><p> 的線路,和從中轉站點到終點的線路,就得到了換乘一次的換乘方式。查詢中轉站點的sql語句:</p><p> select stop_name,stop_no from t_stop where stop_n
80、o in(</p><p> select A.stop_no from </p><p> (select distinct stop_no from t_bus_stops where bus_no in </p><p> (select bus_no from t_bus_stops where stop_no in </p><p
81、> (select stop_no as id1 from t_stop where stop_name='鵝歸店'))) A, (select distinct stop_no from t_bus_stops where bus_no in </p><p> (select bus_no from t_bus_stops where stop_no in </p>&
82、lt;p> (select stop_no as id2 from t_stop where stop_name='旱西門'))) B where A.stop_no = B.stop_no);</p><p> 如輸入從鵝歸店到旱西門:</p><p> 圖3-8 換乘一次的線路查詢</p><p> 查詢結果先列出要乘坐的所有線路
83、的信息,然后提供具體的站點換乘方案,如下圖:</p><p> 圖3-9 換乘一次的查詢結果</p><p> 3.需要換乘兩次的查詢</p><p> 有的起點和終點之間沒有中轉站點,也就是換乘一次不能到達,只有換乘兩次。分別找到起點和終點所在線路:</p><p> select bus_no from t_bus_stops w
84、here stop_no=</p><p> (select stop_no as id1 from t_stop where stop_name='鵝歸店');</p><p> 依次循環(huán)該線路其他站點編號,找出包含其他站點的所有線路:</p><p> select distinct stop_no from t_bus_stops whe
85、re bus_no in</p><p> (select bus_no from t_bus_stops where stop_no= </p><p> (select stop_no as id1 from t_stop where stop_name='鵝歸店'));</p><p> 如鵝歸店到蘋果苑,需要換乘兩次:</p>
86、;<p> 圖3-10 換乘兩次的線路查詢</p><p><b> 查詢結果:</b></p><p> 圖3-11 換乘兩次的查詢結果</p><p> 3.5.2 站點查詢功能</p><p> 輸入某個站點,從線路站點關聯表中查詢出包含該站點的所有線路。如:含有大南門站點的線路有1路,2路
87、,9路,及線路的具體信息。</p><p> 圖3-12 站點查詢</p><p> 3.5.3 用戶留言功能</p><p> 用戶登錄后對網站可以提建議,輸入信息標題和信息內容,點擊發(fā)送,就會在上面的表格中顯示出留言用戶的用戶名,留言時間,和留言內容等。</p><p> 圖3-13 用戶留言</p><p&g
88、t;<b> 結論</b></p><p> 隨著五月的到來,畢業(yè)設計也接近尾聲,對畢業(yè)設計也該做一個總結了。整個畢業(yè)設計從拿到題目到完成設計總共經歷了大致下面幾個階段。</p><p> 首先分析了現代公交信息系統(tǒng)的現狀,重點目的在于指出它的缺點,然后分析人們出行的需求心理,從而拋出公交查詢系統(tǒng)出現的優(yōu)越性,這樣得出開發(fā)整個系統(tǒng)的背景。接下來就是做需求分析,硬
89、件和軟件環(huán)境的需求是首要解決的問題,如JSP環(huán)境、據庫MySQL這些環(huán)境的配置,通過上網查閱解決。在我設計的過程中存在許多不足,總是在設計中不斷的發(fā)現錯誤,在設計的過程中不斷發(fā)現可以用更好的方法解決原來解決了的問題,原來的分析總是存在不足,很多時間都在不斷的調整程序以進一步完善</p><p> 詳細設計是一個漫長和不斷成長的過程,它讓我知道什么才是一步一個腳印,需要查閱大量資料,網絡是一個重要的地方。詳細設計
90、讓我懂得什么叫耐心,什么叫不斷完善,什么叫計劃,什么叫不放棄。</p><p> 自學在整個設計中顯得尤為重要,需要花費很多時間,查詢很多書籍來了解和熟悉JSP語言的使用。由于時間有限,我只是編寫了幾個比較常用的servlet,這樣可以節(jié)省重復代碼的編寫。</p><p> 整個設計中接觸到用到的知識很多,從java語言的知識,它是JSP和Javascript的基礎,在設計中javas
91、cript語言也用到的比較多。數據庫的操作中主要有查詢和建立數據表。整個設計都在Myeclipse這個工具中進行。設計中還或多或少的用到了一些其它方面的知識,有些是在以前的學習過程中接觸過,有很多是自己在設計中邊學習邊使用。</p><p> 做畢業(yè)設計是一個成長的過程,不管是知識方面還是其它方面,我要感謝畢業(yè)設計讓我學到了很多東西。</p><p><b> 參考文獻<
92、;/b></p><p> [1] 王克宏、郝建文. Java技術教程 [M] . 北京:清華大學出版社.2002年.</p><p> [2] 薩師煊、王珊. 數據庫系統(tǒng)概論(第三版) [M]. 北京:高等教育出版社.2005年.</p><p> [3] 周競濤、趙寒. MyEclipse完全手冊 [M]. 北京:電子工業(yè)出版社,2006年.<
93、/p><p> [4] 蒙祖強、龔濤. MySQL 數據庫Java開發(fā) [M].北京:中國水利水電出版社.2005年.</p><p> [5] [美]霍斯特曼等,程峰等 譯.Java2核心技術:卷I 基礎知識[M]. 北京:機械工業(yè)出版社.2006年.</p><p> [6] 杜江,管佩森.J
94、ava實用編程100例 [M].北京:中國鐵道出版社.2004年</p><p> [7] 孫一林,彭波.Java數據庫編程實例 [M].北京:清華大學出版社.2003年</p><p> [8] [美]賈西諾斯基 著,蓋江南等 譯.Java,XML和Web服務寶典 [M].北京:.電子工業(yè)出版社.2002年.</p><p> [9] [美]布朗(Brown
95、,s.)著,白雁 等譯.JSP編程指南(第三版)[M].北京:電子工業(yè)出版社.2001年</p><p> [10] Ramon A.Mata-Toledo. MySQL編程習題與解答.胡志君 高燕林 譯.[M].北京:.機械工業(yè)出版社. 2002年.</p><p> [11] 周亞輝. Java數據庫系統(tǒng)項目開發(fā)實踐. 北京:科學出版社.2005年.</p><
96、p><b> 致謝</b></p><p> 經過三個月的忙碌和工作,本次畢業(yè)設計已經接近尾聲,由于經驗的匱乏,有許多考慮不周全的地方,如果沒有導師的督促指導,以及一起工作的同學們的支持,想要完成這個設計是難以想象的。</p><p> 這里首先要感謝我的導師xx老師。老師平日里工作繁多,但在我做畢業(yè)設計的每個階段,從查閱資料到設計草案的確定和修改,中期檢
97、查,后期詳細設計,裝配草圖等整個過程中都給予了我悉心的指導。</p><p> 其次要感謝我的同學對我無私的幫助,特別是在軟件的使用方面,正因為如此我才能順利的完成設計,我要感謝我的母?!獂x大學,是母校給我們提供了優(yōu)良的學習環(huán)境;另外,我還要感謝那些曾給我授過課的每一位老師,是你們教會我專業(yè)知識。在此,我再說一次謝謝!謝謝大家!。</p><p><b> 附錄</
98、b></p><p> 1.業(yè)務層源代碼,處理業(yè)務邏輯</p><p> package web;</p><p> import java.io.IOException;</p><p> import java.io.PrintWriter;</p><p> import dao.*;</p
99、><p> import entity.*;</p><p> public class ActionServlet extends HttpServlet {</p><p> Public void service(HttpServletRequest request, </p><p> HttpServletResponse re
100、sponse) throws ServletException, IOException {</p><p> request.setCharacterEncoding("gbk");</p><p> response.setContentType("text/html;charset=gbk");</p><p>
101、PrintWriter out = response.getWriter();</p><p> String uri = request.getRequestURI();</p><p> String action = uri.substring(uri.lastIndexOf("/"), </p><p> uri.lastIndex
102、Of("."));</p><p> if(action.equals("/search")){</p><p> String leaveStopName = </p><p> request.getParameter("leaveStopName");</p><p>
103、 String destStopName = </p><p> request.getParameter("destStopName");</p><p> request.setAttribute("leaveStopName", leaveStopName);</p><p> request.setAttribu
104、te("destStopName", destStopName);</p><p> BusDAO dao = new BusDAO();</p><p> List<Bus> buses = new ArrayList<Bus>();</p><p> List<Bus> buses1 = new Ar
105、rayList<Bus>();</p><p> List<Bus> buses2 = new ArrayList<Bus>();</p><p> List<Stop> stops = new ArrayList<Stop>();</p><p><b> try {</b>&
106、lt;/p><p> buses = dao.findBusByStation(leaveStopName,destStopName);</p><p> stops = dao.findTransferStops(leaveStopName, </p><p> destStopName);</p><p> if(buses.size
107、() > 0){</p><p> request.setAttribute("buses", buses);request.getRequestDispatcher("line1.jsp").forward(request, response);</p><p> }else if(stops.size() > 0){<
108、/p><p> System.out.println("==============中轉站點查詢");</p><p> buses = dao.findBusByTransferStops(leaveStopName, destStopName, stops);</p><p> buses1 = dao.findBusByTransferS
109、tops1(leaveStopName, destStopName, stops);</p><p> buses2 = dao.findBusByTransferStops2(leaveStopName, destStopName, stops);</p><p> request.setAttribute("stops", stops);</p>
110、<p> request.setAttribute("newbuses", buses);</p><p> request.setAttribute("buses1", buses1);</p><p> request.setAttribute("buses2", buses2);</p><
111、;p> System.out.println(buses.size());request.getRequestDispatcher("line.jsp").forward(request, response);</p><p> }else if(stops.size() == 0){</p><p> buses1 = dao.findBusNoB
112、yStop(leaveStopName);</p><p> buses2 = dao.findBusNoByStop(destStopName);</p><p> buses = dao.findTransferLines(leaveStopName, destStopName);</p><p> request.setAttribute("b
113、usesnew", buses);</p><p> request.setAttribute("buses3", buses1);</p><p> request.setAttribute("buses4", buses2);request.getRequestDispatcher("line2.jsp"
114、).forward(request, response);</p><p> }else{request.getRequestDispatcher("error.jsp").forward(request, response);</p><p><b> }</b></p><p> } catch (Excep
115、tion e) {</p><p> e.printStackTrace();</p><p> throw new ServletException(e);</p><p><b> }</b></p><p> }else if(action.equals("/linesearch")){
116、</p><p> String lineName = request.getParameter("line_name");</p><p> BusDAO dao = new BusDAO();</p><p> List<Bus> buses = new ArrayList<Bus>();</p>
117、<p><b> try {</b></p><p> buses = dao.findBusByLineName(lineName);</p><p> request.setAttribute("buses", buses);request.getRequestDispatcher("line1.jsp"
溫馨提示
- 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
- 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯系上傳者。文件的所有權益歸上傳用戶所有。
- 3. 本站RAR壓縮包中若帶圖紙,網頁內容里面會有圖紙預覽,若沒有圖紙預覽就沒有圖紙。
- 4. 未經權益所有人同意不得將文件中的內容挪作商業(yè)或盈利用途。
- 5. 眾賞文庫僅提供信息存儲空間,僅對用戶上傳內容的表現方式做保護處理,對用戶上傳分享的文檔內容本身不做任何修改或編輯,并不能對任何下載內容負責。
- 6. 下載文件中如有侵權或不適當內容,請與我們聯系,我們立即糾正。
- 7. 本站不保證下載資源的準確性、安全性和完整性, 同時也不承擔用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。
最新文檔
- 公交查詢系統(tǒng)畢業(yè)論文
- 畢業(yè)論文-城市公交查詢系統(tǒng)設計
- 基于java的公交查詢系統(tǒng) ——畢業(yè)論文
- 任文健畢業(yè)論文(公交查詢系統(tǒng)).doc
- 任文健畢業(yè)論文(公交查詢系統(tǒng)).doc
- 基于java的城市公交查詢系統(tǒng)畢業(yè)論文
- 智能公交查詢系統(tǒng)--論文
- 城市公交查詢系統(tǒng)畢業(yè)論文最終版.doc
- 畢業(yè)論文---城市公交查詢系統(tǒng)的設計與實現
- 城市公交查詢系統(tǒng)的設計與實現畢業(yè)論文
- 電子信息工程畢業(yè)論文公交查詢系統(tǒng)
- 畢業(yè)論文——城市公交查詢系統(tǒng)的設計與實現
- 畢業(yè)設計論文 公交查詢系統(tǒng)設計
- 城市公交查詢系統(tǒng)的設計與實現畢業(yè)論文
- 畢業(yè)設計--公交查詢系統(tǒng)
- 公交查詢系統(tǒng)畢業(yè)設計
- 公交查詢系統(tǒng)設計
- 公交查詢系統(tǒng)設計
- 城市公交查詢系統(tǒng)畢業(yè)設計
- 基于net的城市公交查詢系統(tǒng)的設計與實現——畢業(yè)論文
評論
0/150
提交評論