![城市公交查詢系統(tǒng)的設(shè)計(jì)與實(shí)現(xiàn)畢業(yè)設(shè)計(jì)_第1頁](http://file2.renrendoc.com/fileroot_temp3/2021-7/5/b986e803-4cff-48fb-9270-7d2308aacc13/b986e803-4cff-48fb-9270-7d2308aacc131.gif)
![城市公交查詢系統(tǒng)的設(shè)計(jì)與實(shí)現(xiàn)畢業(yè)設(shè)計(jì)_第2頁](http://file2.renrendoc.com/fileroot_temp3/2021-7/5/b986e803-4cff-48fb-9270-7d2308aacc13/b986e803-4cff-48fb-9270-7d2308aacc132.gif)
![城市公交查詢系統(tǒng)的設(shè)計(jì)與實(shí)現(xiàn)畢業(yè)設(shè)計(jì)_第3頁](http://file2.renrendoc.com/fileroot_temp3/2021-7/5/b986e803-4cff-48fb-9270-7d2308aacc13/b986e803-4cff-48fb-9270-7d2308aacc133.gif)
![城市公交查詢系統(tǒng)的設(shè)計(jì)與實(shí)現(xiàn)畢業(yè)設(shè)計(jì)_第4頁](http://file2.renrendoc.com/fileroot_temp3/2021-7/5/b986e803-4cff-48fb-9270-7d2308aacc13/b986e803-4cff-48fb-9270-7d2308aacc134.gif)
![城市公交查詢系統(tǒng)的設(shè)計(jì)與實(shí)現(xiàn)畢業(yè)設(shè)計(jì)_第5頁](http://file2.renrendoc.com/fileroot_temp3/2021-7/5/b986e803-4cff-48fb-9270-7d2308aacc13/b986e803-4cff-48fb-9270-7d2308aacc135.gif)
版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請(qǐng)進(jìn)行舉報(bào)或認(rèn)領(lǐng)
文檔簡(jiǎn)介
1、jiu jiang university畢 業(yè) 論 文題 目 城市公交查詢系統(tǒng)的設(shè)計(jì)與 實(shí)現(xiàn) 英文題目 city public transport query system design and implementation 院 系 信息科學(xué)與技術(shù)學(xué)院 專 業(yè) 計(jì)算機(jī)科學(xué)與技術(shù) 姓 名 付文林 班級(jí)學(xué)號(hào) a081135 指導(dǎo)教師 邵君 二一二年五月信息科學(xué)與技術(shù)學(xué)院學(xué)士學(xué)位論文摘 要公交查詢系統(tǒng)是城市道路交通的重要組成部分,是城市發(fā)展的必然產(chǎn)物,是聯(lián)系國民生活、社會(huì)生產(chǎn)和流通領(lǐng)域的關(guān)鍵環(huán)節(jié)。我國城市公交查詢系統(tǒng)的發(fā)展處于一個(gè)較落后的水平,人們可以獲得信息的方式很少,隨著internet的普及,
2、開發(fā)一種基于jsp的公交查詢系統(tǒng)更加適應(yīng)現(xiàn)代社會(huì)的要求,這樣可以很大程度的方便人們出門乘坐公交車。論文詳細(xì)介紹了該公交查詢系統(tǒng)所要實(shí)現(xiàn)的功能。首先,實(shí)現(xiàn)多種查詢功能,包括根據(jù)商廈名稱、公交車號(hào)、日常站點(diǎn)和任意兩個(gè)站點(diǎn)查詢乘車路線。其次,采用最短路徑算法查找任意兩個(gè)站點(diǎn)之間的最短乘車路線,這也算是一個(gè)小小的亮點(diǎn)。最后,提供了用戶留言的功能、管理員留言管理功能和后臺(tái)車次管理功能。用戶留言功能主要是收集用戶的留言信息,可以根據(jù)用戶提供的留言信息中提出的建議,對(duì)系統(tǒng)進(jìn)行修改和完善;管理員留言管理功能主要是回復(fù)和刪除用戶的一些留言;后臺(tái)車次管理功能主要包含添加車次和站點(diǎn)功能、更新車次和站點(diǎn)功能、刪除車次
3、和站點(diǎn)功能,這樣做到系統(tǒng)實(shí)時(shí)更新,為用戶查詢提供更為準(zhǔn)確的信息。關(guān)鍵詞:最短路徑算法,公交查詢abstractbus inquiries system is an important part of the urban road traffic, the inevitable outcome of urban development is to contact the national life, the key aspects of social production and circulation. the development of china's urban public t
4、ransport query system in a less advanced level, very few people can get information, with the popularity of the internet, to develop a jsp-based public transport query system more responsive to the requirements of modern society, so a large extent the convenience of people out to take the bus.the pa
5、per details the functions to be achieved by the query system of the bus.first, to achieve a variety of query functions, including query bus routes under the commercial name, bus number, daily site and any two sites.second, using the shortest path algorithm to find the shortest bus route between any
6、two sites, it would be a small bright spot.finally, it provides the functionality of the user message the webmaster management capabilities and background trips management functions. guest main function is to collect the user's message, according to the recommendations made in the message provid
7、ed by the user to modify and improve the system; the webmaster main function is to reply to and delete the user's message; background trips management functions include add trips and site features, updates trips and site features, delete trips and site features, so do the systems updated in real
8、 time to provide more accurate information for the user query.keywords: shortest path algorithm, public transport inquiry目 錄摘 要iabstractii1 緒論1.1系統(tǒng)研究的背景(1)1.2系統(tǒng)研究的意義(2)1.3系統(tǒng)的開發(fā)的目的(2)1.4系統(tǒng)相關(guān)技術(shù)簡(jiǎn)介(2)1.5論文結(jié)構(gòu)(3)2 需求分析2.1需求的任務(wù)(4)2.2系統(tǒng)數(shù)據(jù)流程分析(5)2.3系統(tǒng)的e-r圖(5)2.4系統(tǒng)的功能需求分析(7)2.5系統(tǒng)的環(huán)境需求分析(7)2.6本章小結(jié)(9)3 系統(tǒng)設(shè)計(jì)3.1系
9、統(tǒng)的總體設(shè)計(jì)(10)3.2系統(tǒng)的總體功能圖(10)3.3系統(tǒng)的流程圖(11)3.4系統(tǒng)的數(shù)據(jù)庫設(shè)計(jì)(13)3.5本章小結(jié)(16)4 系統(tǒng)實(shí)現(xiàn)4.1系統(tǒng)功能簡(jiǎn)介(17)4.2功能模塊實(shí)現(xiàn)(17)4.3本章小結(jié)(34)5 系統(tǒng)測(cè)試5.1測(cè)試序號(hào)(35)5.2測(cè)試模塊與運(yùn)行(35)5.3本章小結(jié)(42)總結(jié)與展望(43)致 謝(44)參考文獻(xiàn)(45)iv信息科學(xué)與技術(shù)學(xué)院學(xué)士學(xué)位論文1 緒論1.1系統(tǒng)研究的背景20多年來,我國經(jīng)濟(jì)得到了持續(xù)、快速、穩(wěn)定、健康地發(fā)展。城市經(jīng)濟(jì)發(fā)展,城市規(guī)模越來越大,相應(yīng)的城市公交系統(tǒng)也越來越龐大。城市交通網(wǎng)絡(luò)在城市發(fā)展中占有至關(guān)重要的地位。它不僅是城市的一個(gè)重要組成部
10、分,同時(shí)也決定了城市中居民的生活方式。長期以來,交通問題已成為困擾城市發(fā)展的重要問題。世界各國都面臨著日益嚴(yán)重的城市交通問題,如交通擁擠、車輛行駛緩慢、交通事故頻繁及其由于交通堵塞造成的大量空氣污染等,由此而帶來大量的經(jīng)濟(jì)損失和人員傷亡。許多發(fā)達(dá)國家逐漸認(rèn)識(shí)到,欲有效地解決這些問題,僅僅依靠道路建設(shè)、擴(kuò)大路網(wǎng)規(guī)模是遠(yuǎn)遠(yuǎn)不夠的,交通問題的解決必須依賴現(xiàn)在信息技術(shù)與管理技術(shù)的有機(jī)結(jié)合1。許多新建小區(qū)大量出現(xiàn),公交線路也日漸增多,給人們的出行帶來了極大便利,但是由于城市規(guī)模的不斷發(fā)展,給人們選擇出行乘車線路造成了一定的困難。即使一個(gè)在城市生活多年的人,給他任意兩個(gè)地點(diǎn),要他說出這兩個(gè)地點(diǎn)之間的乘車方
11、案,他往往也是很難說出來的。但是如果給他一張交通地圖之后,他可以很快地找出圖上的任意兩點(diǎn)之間的乘車方案,所找出的方案即使不是最優(yōu)的,也是一條可供參考的備選方案。但是這樣的查詢效率是相當(dāng)?shù)偷?,所以需要提供一個(gè)高效的查詢系統(tǒng),才是問題更本所在。而基于jsp的公交查詢系統(tǒng),就是利用b/s結(jié)構(gòu)開發(fā)出來的查詢系統(tǒng),它通過利用數(shù)據(jù)結(jié)構(gòu)當(dāng)中的最短路徑算法,可以查出任意兩個(gè)地點(diǎn)之間最短的乘車方案。它不僅可以用于公交公司管理系統(tǒng)中,也可以單獨(dú)作為公交管理系統(tǒng)的一個(gè)模塊存在,并可以制作成公交信息系統(tǒng)查詢網(wǎng),放置于城市的主要場(chǎng)所。這樣不僅可以體現(xiàn)出一個(gè)城市的智能公交系統(tǒng)的水平,更顯示出城市的數(shù)字化,信息化水平。項(xiàng)目
12、研究的基于jsp的公交查詢系統(tǒng),讓人們通過互聯(lián)網(wǎng)很快的查出該城市任意兩站點(diǎn)之間的最短乘車路線。1.2系統(tǒng)研究的意義目前,我國眾多大城市普遍存在交通擁擠,延誤人們平時(shí)上班時(shí)間。甚至影響了城市旅游業(yè)經(jīng)濟(jì)的可持續(xù)發(fā)展。所以為了切實(shí)的改善公交車內(nèi)擁擠狀況,適當(dāng)增加發(fā)車次數(shù)以縮短乘客等車時(shí)間,但是能夠準(zhǔn)確為人們提供最短的乘車線路才是得到解決的最好辦法,這樣大大的縮短了人們的乘車時(shí)間。近十幾年來,隨著地理信息系統(tǒng)技術(shù)的快速發(fā)展,地理信息系統(tǒng)的各種應(yīng)用在城市規(guī)劃、管理方面越來越起到不可低估的作用。在眾多有關(guān)城市地理信息的應(yīng)用中,城市交通地理信息系統(tǒng)的發(fā)展越來越受到地理學(xué)者、城市管理者的矚目。交通數(shù)據(jù)的種類繁
13、多(包括屬性數(shù)據(jù)、空間數(shù)據(jù)、影像數(shù)據(jù)等),數(shù)據(jù)量大,操作復(fù)雜,人工管理難度大2。項(xiàng)目研究的基于jsp的公交查詢系統(tǒng),讓人們通過互聯(lián)網(wǎng)很快的查出該城市任意兩站點(diǎn)之間的最短乘車路線。系統(tǒng)是從城市交通現(xiàn)狀出發(fā),根據(jù)人們的出行規(guī)律,設(shè)計(jì)了一個(gè)完整的基于jsp體系的公交車查詢系統(tǒng)。該系統(tǒng)可以根據(jù)商廈名稱,公交車號(hào),日常站點(diǎn)和站點(diǎn)之間為查詢條件分別進(jìn)行查詢,解決了市民出行乘坐公交車時(shí)經(jīng)常遇到的困難。1.3系統(tǒng)的開發(fā)的目的本系統(tǒng)主要是為了人們出行的方便以及節(jié)約人們乘坐公交車所用的時(shí)間,現(xiàn)在網(wǎng)上的公交車查詢系統(tǒng)都有漂亮的網(wǎng)頁和完善的功能,所以本系統(tǒng)運(yùn)用html、jsp等技術(shù)來編輯網(wǎng)頁,并運(yùn)用jdbc技術(shù)把數(shù)據(jù)
14、庫和動(dòng)態(tài)網(wǎng)頁相關(guān)聯(lián)。本系統(tǒng)自己設(shè)計(jì)數(shù)據(jù)庫,使得公交車信息、站點(diǎn)信息、商廈信息等能夠及時(shí)的添加、刪除以及更新,人們還可以留言發(fā)表一些合理的建議使得本系統(tǒng)更加的完美。1.4系統(tǒng)相關(guān)技術(shù)簡(jiǎn)介(1)jsp的概念jsp程序是一個(gè)服務(wù)端頁面腳本程序,可以在這個(gè)腳本中直接編寫客戶端瀏覽器需要顯示的html文檔內(nèi)容,當(dāng)然也可以依照jsp規(guī)范將java程序代碼嵌入腳本。jsp腳本規(guī)范提供了若干內(nèi)部對(duì)象來簡(jiǎn)化jsp程序和瀏覽器之間的輸入輸出處理。由于jsp程序是從html頁面添加java動(dòng)態(tài)處理代碼而來,因此,jsp程序又稱為動(dòng)態(tài)jsp頁面3。(2)javabean的概念javabean是一種java語言寫成的可
15、重用組件,用戶可以使用javabean將功能、處理、值、數(shù)據(jù)庫訪問和其他任何可以用java代碼創(chuàng)造的對(duì)象進(jìn)行打包,并且其他的開發(fā)者可以通過內(nèi)部的jsp頁面、servlet、其他javabean、applet程序或者應(yīng)用來使用這些對(duì)象。用戶可以認(rèn)為javabean提供了一種隨時(shí)隨地的復(fù)制和粘貼的功能,而不用關(guān)心任何改變。這個(gè)對(duì)j2ee業(yè)務(wù)邏輯層處理具有相當(dāng)重要的部分4。(3)java servletjava servlet使用的是一種請(qǐng)求/響應(yīng)機(jī)制,也就是說通過特定的java程序設(shè)計(jì)技術(shù),由該servlet動(dòng)態(tài)產(chǎn)生的響應(yīng)向某一特定的請(qǐng)求做出響應(yīng)。servlet所能應(yīng)用的請(qǐng)求/響應(yīng)場(chǎng)合很多,但常用
16、的還是在web應(yīng)用程序中用于產(chǎn)生超文本傳輸協(xié)議響應(yīng)(http)。據(jù)此,servlet可能取代其他類型的http請(qǐng)求/響應(yīng)機(jī)制,譬如通用網(wǎng)關(guān)接口(cgi)腳本5。(4)session對(duì)象session對(duì)象是類javax.servlet.httpsession的一個(gè)對(duì)象,是用來保存每個(gè)用戶信息(以會(huì)話的形式直接保存在web服務(wù)器端),以便跟蹤每個(gè)用戶的操作狀態(tài)6。1.5論文結(jié)構(gòu)論文分為以下結(jié)構(gòu):第一章:緒論,介紹系統(tǒng)研究的背景及意義,系統(tǒng)研究的工作。第二章:需求分析,對(duì)系統(tǒng)的功能需求以及數(shù)據(jù)需求進(jìn)行分析。第三章:系統(tǒng)設(shè)計(jì),對(duì)系統(tǒng)的數(shù)據(jù)庫和功能進(jìn)行設(shè)計(jì)與實(shí)現(xiàn)。第四章:系統(tǒng)實(shí)現(xiàn),對(duì)系統(tǒng)的一些功能進(jìn)行實(shí)
17、現(xiàn),保證系統(tǒng)沒有出現(xiàn)錯(cuò)誤,對(duì)有錯(cuò)誤的地方進(jìn)行修改及完善。第五章:系統(tǒng)測(cè)試,對(duì)系統(tǒng)進(jìn)行測(cè)試,保證系統(tǒng)完整運(yùn)行。2 需求分析需求分析是介于系統(tǒng)分析和軟件設(shè)計(jì)階段之間的重要橋梁7。一方面,需求分析以系統(tǒng)規(guī)格說明和項(xiàng)目規(guī)劃為分析活動(dòng)的基本出發(fā)點(diǎn),并從軟件角度對(duì)它們進(jìn)行檢查與調(diào)整;另一方面,需求規(guī)格說明又是軟件設(shè)計(jì)、實(shí)現(xiàn)、測(cè)試的主要基礎(chǔ)。良好的分析活動(dòng)有助于避免或盡早剔除早期錯(cuò)誤,從而提高軟件生產(chǎn)率,降低開發(fā)成本,改進(jìn)軟件質(zhì)量。2.1需求的任務(wù)軟件需求分析的任務(wù)是:深入描述軟件的功能和性能,確定軟件設(shè)計(jì)的約束和軟件同其他系統(tǒng)元素的接口細(xì)節(jié),定義軟件的其他有效性需求,借助于當(dāng)前系統(tǒng)的邏輯模型導(dǎo)出目標(biāo)系統(tǒng)邏
18、輯模型,解決目標(biāo)系統(tǒng)“做什么”的問題。需求提出主要集中于描述系統(tǒng)目的。需求提出和分析僅僅集中在使用者對(duì)系統(tǒng)的觀點(diǎn)上。用戶、開發(fā)人員和用戶確定一個(gè)問題領(lǐng)域,并定義一個(gè)描述該問題的系統(tǒng)。這樣的定義稱作系統(tǒng)規(guī)格說明,并且它在用戶和開發(fā)人員之間充當(dāng)合同。在問題分析階段分析人員的主要任務(wù)是:對(duì)用戶的需求進(jìn)行鑒別、綜合和建模,清除用戶需求的模糊性、歧義性和不一致性,分析系統(tǒng)的數(shù)據(jù)要求,為原始問題及目標(biāo)軟件建立邏輯模型8。分析人員要將對(duì)原始問題的理解與軟件開發(fā)經(jīng)驗(yàn)結(jié)合起來,以便發(fā)現(xiàn)哪些要求是由于用戶的片面性或短期行為所導(dǎo)致的不合理要求,哪些是用戶尚未提出但具有真正價(jià)值的潛在需求8。在需求評(píng)審階段,分析人員要
19、在用戶和軟件設(shè)計(jì)人員的配合下對(duì)自己生成的需求規(guī)格說明和初步的用戶手冊(cè)進(jìn)行復(fù)核,以確保軟件需求的完整9、準(zhǔn)確、清晰、具體,并使用戶和軟件設(shè)計(jì)人員對(duì)需求規(guī)格說明和初步的用戶手冊(cè)的理解達(dá)成一致。一旦發(fā)現(xiàn)遺漏或模糊點(diǎn),必須盡快更正,再行檢查。公交查詢系統(tǒng)需要滿足幾個(gè)方面的需求,一是用戶公交查詢的需求;二是用戶留言的需求;三是管理員車次及站點(diǎn)信息管理的需求;四是管理員留言管理的需求。在界面需求上要做到美觀、操作方便10,給用戶和管理員一個(gè)舒適簡(jiǎn)便的公交查詢系統(tǒng),管理員能夠及時(shí)的添加、刪除以及更新車次和站點(diǎn)的信息,使用戶能夠及時(shí)的了解公交車的信息,不會(huì)耽誤用戶乘坐相關(guān)的公交車。2.2系統(tǒng)數(shù)據(jù)流程分析 數(shù)據(jù)
20、流圖是一種圖形化技術(shù),它描繪信息流和數(shù)據(jù)從輸入移動(dòng)到輸出的過程中所經(jīng)過的變換11。在數(shù)據(jù)流圖中沒有任何的物理部件,它只是描繪數(shù)據(jù)在軟件中流動(dòng)和被處理的邏輯過程。因?yàn)閿?shù)據(jù)流圖是邏輯系統(tǒng)的圖形表示,即使不是專業(yè)的計(jì)算機(jī)技術(shù)人員也容易理解,所以是極好的通信工具12。此外設(shè)計(jì)數(shù)據(jù)流圖紙需要考慮系統(tǒng)必須完成的基本邏輯功能,完全不需要考慮如何具體地實(shí)現(xiàn)這些功能13。公交查詢系統(tǒng)數(shù)據(jù)流圖如圖2-1所示。留言信息庫線路信息庫站點(diǎn)信息庫車次信息庫管理員登錄車次管理站點(diǎn)管理線路管理公交車查詢留言用戶圖2-1 系統(tǒng)數(shù)據(jù)流圖2.3系統(tǒng)的e-r圖通過對(duì)公交車查詢系統(tǒng)的數(shù)據(jù)分析,得出系統(tǒng)的e-r圖,然后系統(tǒng)的e-r圖可以
21、分為管理員實(shí)體及屬性、留言板實(shí)體及屬性和車次與站點(diǎn)之間關(guān)系,分別如圖2-2,圖2-3,圖2-4所示。管理員管理員名密碼圖 2-2管理員實(shí)體及屬性留言板留言人留言時(shí)間留言標(biāo)題留言內(nèi)容留言id管理員留言回復(fù)圖2-3 留言板實(shí)體及屬性nm車次信息站點(diǎn)信息經(jīng)過車子檔次起點(diǎn)站終點(diǎn)站票價(jià)站點(diǎn)號(hào)車號(hào)票價(jià)檔次站點(diǎn)次序站點(diǎn)號(hào)車號(hào)站點(diǎn)名稱圖2-4 車次與站點(diǎn)之間關(guān)系2.4系統(tǒng)的功能需求分析系統(tǒng)具有以下基本功能:(1)公交查詢:用戶可以通過4種查詢方式查詢公交車,分別是商廈查詢、線路查詢、站點(diǎn)查詢以及站點(diǎn)之間查詢。(2)用戶留言:用戶可以對(duì)系統(tǒng)不完善的地方以及對(duì)系統(tǒng)管理員或是工作人員提出合理的建議在留言上,使系統(tǒng)更
22、加完善。(3)管理員對(duì)車次及站點(diǎn)管理:管理員要及時(shí)添加、刪除以及更新公交車車次和各個(gè)站點(diǎn)的基本信息,使用戶可以更好的使用系統(tǒng)。(4)管理員留言管理:管理員需要及時(shí)的查看用戶所留的一些合理的留言并且給予回復(fù),對(duì)一些不合理的留言可以進(jìn)行刪除。2.5系統(tǒng)的環(huán)境需求分析2.5.1開發(fā)平臺(tái)系統(tǒng)開發(fā)選用的平臺(tái)是struts2+java server page(簡(jiǎn)稱jsp)和mysql數(shù)據(jù)庫,它適應(yīng)于windows操作系統(tǒng)并能很好的與其應(yīng)用程序結(jié)合,而且mysql數(shù)據(jù)庫也易操作。具體如下:(1)采用了internet架構(gòu),bowser/server模式。(2)web服務(wù)器采用tomcat5.5服務(wù)器,數(shù)據(jù)庫
23、管理系統(tǒng)為mysql。(3)采用了jdk1.6的環(huán)境2.5.2系統(tǒng)開發(fā)工具本系統(tǒng)是基于struts2+jsp+mysql數(shù)據(jù)庫技術(shù)實(shí)現(xiàn)的,現(xiàn)對(duì)jsp技術(shù)和mysql數(shù)據(jù)庫以及struts2框架作簡(jiǎn)要的介紹。2.5.3開發(fā)語言jsp頁面由html代碼和嵌入其中的java代碼所組成。javabean是jsp的技術(shù)基礎(chǔ),而且大型的web應(yīng)用程序的開發(fā)需要javabean和jsp配合才能完成。jsp具備了java技術(shù)的簡(jiǎn)單易用,完全的面向?qū)ο?,具有平臺(tái)無關(guān)性且安全可靠,主要面向因特網(wǎng)等特點(diǎn)。jsp的技術(shù)的優(yōu)勢(shì):(1)一次編寫,到處運(yùn)行。在這一點(diǎn)上java比php更出色,除了系統(tǒng)之外,代碼不需要做任何更
24、改。(2)系統(tǒng)的多平臺(tái)支持?;旧峡梢栽谒衅脚_(tái)上的任意環(huán)境中開發(fā),在任意環(huán)境中進(jìn)行系統(tǒng)部署,在任意環(huán)境中擴(kuò)展。相比asp/php的局限性是顯而易見的。(3)jsp技術(shù)是用java語言作為腳本語言的。java語言是成熟的、強(qiáng)大的、易擴(kuò)充的編程語言。(4)高效性與安全性。jsp在執(zhí)行前先被編譯成字節(jié)碼,字節(jié)碼由java虛擬機(jī)解釋執(zhí)行,比源碼解釋效率高。(5)可維護(hù)性。由于jsp技術(shù)是一種開放的、跨平臺(tái)的結(jié)構(gòu),因此web服務(wù)器、平臺(tái)及其他組件能很容易升級(jí)或切換,且不會(huì)影響jsp基本的應(yīng)用程序。(6)多樣化和功能強(qiáng)大的開發(fā)工具支持。java已經(jīng)有了許多非常優(yōu)秀的開發(fā)工具,而且許多可以免費(fèi)得到,并且其
25、中許多已經(jīng)可以順利的運(yùn)行于多種平臺(tái)之下。2.5.4數(shù)據(jù)庫mysql是oracle公司的一款數(shù)據(jù)庫產(chǎn)品,因?yàn)槠湫∏梢嗖僮?,卻十分穩(wěn)定,成為一些中小型項(xiàng)目和我們學(xué)習(xí)中最常用的數(shù)據(jù)庫,在這里便使用了這款成熟穩(wěn)定的數(shù)據(jù)庫。2.5.5框架在stru ts2出現(xiàn)之前,struts1就是一個(gè)非常有名的框架,它實(shí)現(xiàn)了mvc模式。之后出現(xiàn)的webwork框架也是一個(gè)很優(yōu)秀的框架,隨著時(shí)間的發(fā)展,struts1漸漸淘汰,有人用webwork的核心并包裝上struts1,由此產(chǎn)生了更先進(jìn)的技術(shù)struts2。struts2是經(jīng)典的mvc結(jié)構(gòu)框架,將顯示,控制,邏輯很好的分離,可以使我們開發(fā)起來更具延展性。2.6本章
26、小結(jié)本章首先介紹了需求分析的作用,其次介紹了數(shù)據(jù)流程分析,把系統(tǒng)的數(shù)據(jù)流圖畫出來,接著介紹系統(tǒng)的功能需求分析,講述系統(tǒng)的一些功能,最后介紹系統(tǒng)的環(huán)境需求分析,本章主要就是為了讓大家理解系統(tǒng)的一些需求,結(jié)合實(shí)際來合理的開發(fā)使用公交查詢系統(tǒng)。3 系統(tǒng)設(shè)計(jì)3.1系統(tǒng)的總體設(shè)計(jì)公交查詢系統(tǒng)的功能模塊可以分為以下模塊:(1)管理員登陸功能模塊:管理員登陸要輸入正確的管理員名、密碼以及賬號(hào),否則登陸失敗。(2)站點(diǎn)和車次查詢模塊:用戶可以直接以4種查詢方式查詢公交車的站點(diǎn)和車次信息,分別是商廈查詢、線路查詢、站點(diǎn)查詢以及站點(diǎn)之間查詢,其中站點(diǎn)之間查詢還可以告訴你2個(gè)站點(diǎn)之間的最短路勁以及相應(yīng)的換乘車次和站
27、點(diǎn)。(3)用戶留言模塊:用戶可以對(duì)系統(tǒng)的進(jìn)行留言,對(duì)系統(tǒng)的一些不足之處提出合理建議給管理員,是系統(tǒng)更加的完善。(4)管理員操作模塊:管理可以對(duì)公交車站點(diǎn)和車次信息進(jìn)行添加、刪除以及更新,使廣大用戶能夠及時(shí)的查看最新的公交車站點(diǎn)和車次信息,不耽誤廣大用戶乘坐公交車。(5)管理員管理留言模塊:管理員可以查看用戶的留言并對(duì)用戶的留言進(jìn)行回復(fù)以及刪除,對(duì)用戶對(duì)本系統(tǒng)提出的一些合理的意見給予感謝。3.2系統(tǒng)的總體功能圖城市公交查詢系統(tǒng)從功能上可以分為用戶查詢公交車信息、用戶留言、管理員對(duì)公交車信息管理操作、管理員留言管理5部分。具體功能結(jié)構(gòu)圖如圖3-1所示。3.3系統(tǒng)的流程圖城市公交查詢系統(tǒng)中用戶可以用
28、4種查詢方式查詢公交車信息,分別是商廈查詢、線路查詢、站點(diǎn)查詢、站點(diǎn)之間查詢;用戶可以留言以及查看留言;管理員公交車信息操作,對(duì)公交車信息進(jìn)行添加、刪除以及更新;管理員留言管理,對(duì)用戶的留言進(jìn)行回復(fù)或是刪除,每一個(gè)都有不一樣的流程,對(duì)應(yīng)有各自的流程圖,具體的系統(tǒng)流程圖如下。(1)用戶查詢公交車信息工作流程如圖3-2所示。城市公交查詢用戶公交車查詢用戶留言公交車信息管理留言管理商廈查詢線路查詢站點(diǎn)查詢站點(diǎn)之間查詢留言查看留言站點(diǎn)和車次添加站點(diǎn)和車次刪除站點(diǎn)和車次更新刪除留言回復(fù)留言圖3-1 系統(tǒng)功能結(jié)構(gòu)圖首頁商廈查詢線路查詢站點(diǎn)查詢站點(diǎn)之間查詢圖3-2 用戶查詢流程圖(2)用戶留言以及查看留言工
29、作流程如圖3-3所示。是否首頁留言查看留言是否填寫留言主題和內(nèi)容留言成功圖3-3 用戶留言流程圖(3)管理員公交車信息操作工作流程如圖3-4所示。否是開始管理員登陸驗(yàn)證管理員名和密碼是否正確站點(diǎn)與車次添加站點(diǎn)與車次刪除站點(diǎn)與車次更新退出圖3-4 管理員公交車信息操作流程圖(4)管理員留言管理工作流程如圖3-5所示。否是開始管理員登陸驗(yàn)證管理員名和密碼是否正確刪除留言回復(fù)留言退出圖3-5 管理員留言管理流程圖3.4系統(tǒng)的數(shù)據(jù)庫設(shè)計(jì)本系統(tǒng)數(shù)據(jù)庫采用mysql5數(shù)據(jù)庫,系統(tǒng)數(shù)據(jù)庫名稱為bus,共包含7張表。(1)管理員表administrator如表3-2所示。表3-2 管理員信息字段名數(shù)據(jù)類型長度
30、允許空adminiidvarchar50not nulladminipasswordvarchar50not nulladminiid: 管理員名adminipassword: 密碼(2)車次信息表businfo如表3-3所示。表3-3 車次信息表字段名數(shù)據(jù)類型長度允許空busnumint4not nullbeginstvarchar50not nullendstvarchar50not nullticketnotevarchar50nullbuslevelvarchar50nullnotevarchar50nullbusnum: 車號(hào)beginst: 起點(diǎn)站endst: 終點(diǎn)站ticketn
31、ote: 票價(jià)buslevel: 車子檔次note: 票檔次(3)站點(diǎn)信息表stinfo如表3-4所示。表3-4 站點(diǎn)信息表字段名數(shù)據(jù)類型長度允許空stidint4not nullstnamevarchar50not nullstid: 站點(diǎn)號(hào)stname: 站點(diǎn)名稱(4)車次與站點(diǎn)關(guān)系表busst如表3-5所示。表3-5 車次與站點(diǎn)關(guān)系表字段名數(shù)據(jù)類型長度允許空busnumint4not nullstidint4not nullstorderint4not nullbusnum: 車號(hào)stid: 站點(diǎn)號(hào)storder: 站點(diǎn)次序(5)商廈信息表publicplace如表3-6所示。表3-6
32、商廈信息表字段名數(shù)據(jù)類型長度允許空placesidint4not nullplacesnamevarchar50nullplacesid: 商廈號(hào)placesname: 商夏名稱(6)站點(diǎn)與商廈關(guān)系表stplace如表3-7所示。表3-7 站點(diǎn)與商廈關(guān)系表字段名數(shù)據(jù)類型長度允許空stidint4not nullplaceidint4not nullstid: 站點(diǎn)號(hào)placeid: 商廈號(hào)(7)留言信息表message如表3-8所示。表3-8 留言信息表字段名數(shù)據(jù)類型長度允許空usernamevarchar50not nullmessagedatedatetime8not nulltopicv
33、archar50not nullmessagetextvarchar200not nullidint4not nullreplyvarchar200nullusername: 用戶名messagedate: 留言日期topic: 留言主題messagetext: 留言內(nèi)容id: 留言序號(hào)reply:回復(fù)3.5本章小結(jié)本章節(jié)主要就是介紹系統(tǒng)的功能還有數(shù)據(jù)庫的設(shè)計(jì),系統(tǒng)的功能不是一個(gè)人可以完善的,需要很多人的意見結(jié)合起來才可以做成一個(gè)完美的系統(tǒng),所以加了留言系統(tǒng)讓廣大用戶對(duì)系統(tǒng)提出意見來進(jìn)一步的完善系統(tǒng);數(shù)據(jù)庫是一個(gè)項(xiàng)目的核心,所有的數(shù)據(jù)都要存儲(chǔ)在數(shù)據(jù)庫中,將這些數(shù)據(jù)設(shè)計(jì)好不是很好做的事情,需要根
34、據(jù)業(yè)務(wù)來設(shè)計(jì),數(shù)據(jù)庫的設(shè)計(jì)讓我對(duì)數(shù)據(jù)庫有了進(jìn)一步的理解。4 系統(tǒng)實(shí)現(xiàn)系統(tǒng)實(shí)現(xiàn)是軟件項(xiàng)目開發(fā)過程中的主要部分,在系統(tǒng)實(shí)現(xiàn)中要有簡(jiǎn)潔、美觀、可讀性好、整體統(tǒng)一等準(zhǔn)則。4.1系統(tǒng)功能簡(jiǎn)介城市公交查詢系統(tǒng)從功能上可以分為管理員登陸模塊、站點(diǎn)和車次查詢模塊、管理員操作模塊、用戶留言模塊、管理員管理留言模塊5部分。管理員登陸管理:對(duì)是否輸入正確的管理員名以及密碼進(jìn)行驗(yàn)證,正確的話進(jìn)入管理員操作界面,失敗的話繼續(xù)管理員登陸界面。站點(diǎn)和車次查詢:用戶可以使用商廈查詢、線路查詢、站點(diǎn)查詢以及站點(diǎn)之間查詢來了解公交車的站點(diǎn)和車次信息,方便用戶乘坐合理的公交車。管理員操作管理:管理員必須及時(shí)的添加、刪除以及更新公交
35、車的站點(diǎn)和車次信息,是廣大用戶能夠及時(shí)的知道最新的公交車的信息,不會(huì)誤導(dǎo)用戶乘坐公交車。用戶留言管理:用戶可以再留言板上進(jìn)行留言,對(duì)本系統(tǒng)提出一些合理的建議。管理員留言管理:管理員查看用戶留言,對(duì)一些留言進(jìn)行回復(fù),對(duì)一些無用的留言進(jìn)行刪除或者不回復(fù)。4.2功能模塊實(shí)現(xiàn)4.2.1管理員登錄實(shí)現(xiàn)管理員登錄主要是為了讓系統(tǒng)更好的管理,讓一個(gè)管理員可以及時(shí)的添加、刪除以及更新車次及站點(diǎn)信息,是廣大用戶能夠及時(shí)準(zhǔn)確的了解最新的公交車及站點(diǎn)信息,不會(huì)使廣大用戶乘坐錯(cuò)誤的公交車耽誤用戶的時(shí)間,使用戶能夠更舒服的享受本系統(tǒng)帶給用戶的方便。管理員登陸后輸入正確的管理員名、密碼以及驗(yàn)證碼后就可以進(jìn)入到管理員操作界
36、面,在操作界面中可以對(duì)一些用戶留言進(jìn)行回復(fù)以及刪除。管理員登錄界面如圖4-1所示。圖4-1 管理員登錄界面相應(yīng)核心代碼:private void login(httpservletrequest request,httpservletresponse response)connection conn=null;statement stmt=null;resultset rs=null;httpsession session=request.getsession(true);/如果用戶session為空重新分配一個(gè)新的session給用戶dbconnection2 db=dbconnection
37、2.getinstance();string adminname=request.getparameter("adminname") =null ? "" : request.getparameter("adminname");adminname =exchange(adminname);/字符串亂碼處理string password = request.getparameter("password") = null ? "" : request.getparameter("passw
38、ord");password=exchange(password);/字符串亂碼處理string sql=""string rand=(string) session.getattribute("rand");string input=request.getparameter("vaild");int n=0;tryconn = db.getconnection();stmt = conn.createstatement();sql = "select * from administrator where admi
39、niid = '"+adminname+"' and adminipassword = '"+password+"'"rs=stmt.executequery(sql);if(rs.next() && rs!= null)n+;if (n >0 && input.equals(rand)session.setattribute("adminname", adminname);session.setattribute("adminpassword&
40、quot;, password);session.removeattribute("rand");response.sendredirect("loginsuccess.jsp");elseresponse.sendredirect("error.jsp");catch(exception e)e.printstacktrace();finallytryif(stmt!=null)stmt.close();db.freeconnection(conn);catch(exception ee.printstacktrace();4.2.
41、2站點(diǎn)和車次查詢(1)商廈查詢:商廈查詢是為用戶提供按具體的名稱(如:派拉蒙)查詢,并顯示到這個(gè)地點(diǎn)所有公交車車次的相關(guān)信息(如:車號(hào),站點(diǎn)名稱,票價(jià),車子的檔次和這個(gè)商廈的名稱等信息)。商廈信息查詢結(jié)果如圖4-2所示。圖4-2 商廈查詢相應(yīng)核心代碼:public arraylist queryplace(string placename,string page) arraylist arraylist = new arraylist();dbconnection2 db=dbconnection2.getinstance();connection conn=null;statement st
42、mt=null;resultset rs=null;string sql=""try if (placename != null) if (!placename.equals("") placename = exchange(placename);/字符串轉(zhuǎn)碼int m = (integer.parseint(page) - 1) * pagesize;int i = 0;sql="select businfo.busnum,stinfo.stname,ticketnote,buslevel,note from stinfo,businfo,b
43、usst where busst.stid = stinfo.stid and businfo.busnum = busst.busnum and busst.stid in (select stid from stplace where placesid in (select placesid from publicplace where placesname = '"+placename+"')"conn = db.getconnection();stmt=conn.createstatement(resultset.type_scroll_i
44、nsensitive,resultset.concur_read_only);rs = stmt.executequery(sql);if (rs.first() rs.absolute(m + 1); /將游標(biāo)放到指定位置再加1(也是開始的第一條記錄的序號(hào))while(i < pagesize && rs != null && !rs.isafterlast()hashmap hashmap = new hashmap();hashmap.put("busnum",""+rs.getint("busnum
45、");/將從數(shù)據(jù)庫中查出的值放入hashmap.put("stname",rs.getstring("stname");hashmap.put("ticketnote",rs.getstring("ticketnote");hashmap.put("buslevel",rs.getstring("buslevel");hashmap.put("note",rs.getstring("note");arraylist.add(h
46、ashmap); /將所有的hashmap放入arraylistrs.next();i+; catch (exception e) e.printstacktrace(); finally try if (stmt != null) stmt.close();db.freeconnection(conn); catch (exception e) e.printstacktrace();return arraylist;(2)線路查詢:線路查詢是為用戶提供一個(gè)按公交車的車號(hào)(如:1路)查詢,并顯示該公交車的相關(guān)信息(如:公交車的起點(diǎn)站、終點(diǎn)站、票價(jià)和車子的檔次等信息)。線路查詢結(jié)果如圖4-3所
47、示。圖4-3 車次信息查詢相應(yīng)核心代碼:public arraylist statisticsbybusinfo(string busnum,int page) arraylist arraylist = new arraylist();dbconnection2 db = dbconnection2.getinstance();connection conn = null;statement stmt = null;resultset rs = null;string sql = ""try int m = (page-1)*pagesize; /計(jì)算游標(biāo)的位置int i
48、 = 0;busnum = exchange(busnum);/字符串轉(zhuǎn)碼if (busnum.equals("") | busnum = null) sql = "select * from businfo" else busnum = exchange(busnum);/字符串轉(zhuǎn)碼sql = "select * from businfo where busnum = '"+integer.parseint (busnum)+"'"conn = db.getconnection();stmt= c
49、onn.createstatement(resultset.type_scroll_insensitive,resultset.concur_read_only);rs = stmt.executequery(sql);if (rs.first() rs.absolute(m + 1); /將游標(biāo)放到指定位置再加1(也是開始的第一條記錄的序號(hào))while (i < pagesize && !rs.isafterlast() && rs != null) hashmap hashmap = new hashmap();hashmap.put("bu
50、snum",""+rs.getint("busnum");將從數(shù)據(jù)庫中查出的值放入hashmap中hashmap.put("beginst",rs.getstring("beginst");hashmap.put("endst",rs.getstring("endst");hashmap.put("ticketnote",rs.getstring("ticketnote");hashmap.put("buslevel
51、",rs.getstring("buslevel");hashmap.put("note",rs.getstring("note");arraylist.add(hashmap); /將所有的hashmap放入arraylistrs.next();i+; catch (exception e) e.printstacktrace(); finally try if (stmt != null) stmt.close();db.freeconnection(conn); catch (exception e) e.prints
52、tacktrace();return arraylist;(3)站點(diǎn)查詢:站點(diǎn)查詢是為用戶提供按公交車某一個(gè)站點(diǎn)查詢到該站點(diǎn)需要乘坐公交車的車號(hào)。站點(diǎn)信息查詢結(jié)果如圖4-4所示。圖4-4 站點(diǎn)信息查詢相應(yīng)核心代碼:public arraylist querystinfo(string stname) arraylist arraylist = new arraylist();dbconnection2 db = dbconnection2.getinstance();connection conn = null;statement stmt = null;resultset rs = null
53、;string sql = ""try stname = exchange(stname);/字符串轉(zhuǎn)碼conn = db.getconnection();stmt=conn.createstatement(resultset.type_scroll_insensitive,resultset.concur_read_only);sql="selectbusinfo.busnum,businfo.beginst,businfo.endst,businfo.ticketnote,stinfo.stname from businfo,stinfo,busst wher
54、e stname like '%"+stname+"%' and stinfo.stid = busst.stid and busst.busnum = businfo.busnum"rs = stmt.executequery(sql);while (rs.next() && rs != null) hashmap hashmap = new hashmap();hashmap.put("busnum",""+rs.getint("busnum"); /將從數(shù)據(jù)庫中查出的
55、值放入hashmap中hashmap.put("beginst",rs.getstring("beginst");hashmap.put("endst",rs.getstring("endst");hashmap.put("ticketnote",rs.getstring("ticketnote");hashmap.put("stname",rs.getstring("stname");arraylist.add(hashmap); /
56、將所有的hashmap放入arraylist catch (exception e) e.printstacktrace(); finally try if (stmt != null) stmt.close();db.freeconnection(conn); catch (exception e) e.printstacktrace();return arraylist;(4)站點(diǎn)之間查詢:輸入任意2個(gè)站點(diǎn)就可以查詢這2個(gè)站點(diǎn)之間的最短乘車線路以及相應(yīng)的所要換乘的車號(hào)。任意兩個(gè)站點(diǎn)間查詢結(jié)果頁面如圖4-5所示。圖4-5 任意兩個(gè)站點(diǎn)間查詢結(jié)果(5)廣度優(yōu)先遍歷概念給定一個(gè)起點(diǎn),廣度優(yōu)先遍歷首先訪問起點(diǎn)與起點(diǎn)的鄰接點(diǎn),然后分別考察每一個(gè)鄰接點(diǎn)并訪問它們的鄰接點(diǎn)。遍歷使用一個(gè)隊(duì)列存放頂點(diǎn)的未被訪問鄰接點(diǎn),每當(dāng)從隊(duì)列中刪除一個(gè)頂點(diǎn),就將這個(gè)頂點(diǎn)的未訪問鄰接點(diǎn)插入隊(duì)列,遍歷的順序即為頂點(diǎn)插入這個(gè)隊(duì)列的順序。最短路徑算法原理圖如圖4-6所示。圖4-6 最短路徑算法原理圖最短路徑算法原理描述:將頂點(diǎn)a入隊(duì),同時(shí)將頂點(diǎn)a設(shè)置為已經(jīng)被訪問。判斷隊(duì)列是否為空,如果不是則頂點(diǎn)a出隊(duì),同時(shí)判斷頂點(diǎn)a的鄰接頂點(diǎn)b、e、d是否已經(jīng)被訪問,如果沒有,則將頂點(diǎn)b、e、d入隊(duì),并分別設(shè)置為已經(jīng)被訪問,接著將入隊(duì)頂點(diǎn)b、e、d分別指向他們的前置頂點(diǎn)a,
溫馨提示
- 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請(qǐng)下載最新的WinRAR軟件解壓。
- 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請(qǐng)聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
- 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁內(nèi)容里面會(huì)有圖紙預(yù)覽,若沒有圖紙預(yù)覽就沒有圖紙。
- 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
- 5. 人人文庫網(wǎng)僅提供信息存儲(chǔ)空間,僅對(duì)用戶上傳內(nèi)容的表現(xiàn)方式做保護(hù)處理,對(duì)用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對(duì)任何下載內(nèi)容負(fù)責(zé)。
- 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請(qǐng)與我們聯(lián)系,我們立即糾正。
- 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時(shí)也不承擔(dān)用戶因使用這些下載資源對(duì)自己和他人造成任何形式的傷害或損失。
最新文檔
- 2025年離合器助力器項(xiàng)目申請(qǐng)報(bào)告
- 2025年公共停車設(shè)施車位使用協(xié)議規(guī)范
- 2025年停車場(chǎng)安全規(guī)定協(xié)議
- 2025年技術(shù)策劃援助框架協(xié)議
- 2025年企業(yè)風(fēng)險(xiǎn)管理合同模板
- 2025年光伏產(chǎn)品銷售合同范例
- 2025年產(chǎn)品策劃與委托生產(chǎn)合同書
- 住宅臨時(shí)借用協(xié)議
- 2025年企業(yè)財(cái)務(wù)管理規(guī)劃合作協(xié)議書范本
- 2025年企業(yè)員工健康促進(jìn)協(xié)議書范本
- 專題06 現(xiàn)代文閱讀(解析版)2015-2024單招考試語文(四川真題)
- 《固體食品罐用冷軋電鍍錫鋼板及鋼帶》編制說明
- 人教版數(shù)學(xué)三年級(jí)下冊(cè) 期末測(cè)試卷帶答案(能力提升)
- 《人工智能發(fā)展史》課件
- 臨床用血管理培訓(xùn)
- 介入手術(shù)室護(hù)理風(fēng)險(xiǎn)
- 春季安全行車教育培訓(xùn)
- 2024年6月第3套英語六級(jí)真題
- 2024年江蘇省公務(wù)員錄用考試《行測(cè)》題(A類)
- 2024年律師事務(wù)所代收款協(xié)議書模板
- 2024年10月時(shí)政100題(附答案)
評(píng)論
0/150
提交評(píng)論