【正文】
功能: 公交路線查詢:包括公交直達(dá)、一次換乘和二次換乘,查詢結(jié)果按照最少時(shí)間、最少換乘和最少費(fèi)用排序,用戶可以選擇最適合自己要求的路線。 選題意義 隨著經(jīng)濟(jì)的快速發(fā)展,人們的生活節(jié)奏也加快了腳步,時(shí)間對于大家來說是分秒必爭的,尤其是對于假期本來就不多的工作族來說,如果旅行的時(shí)間大部分都花在了路線上那就太不值了,而城市公交車以其遍布范圍廣、費(fèi)用低、方便、安全的特性作為大多數(shù)旅行、出差等等的人首選的交通方式,所以我們急需一個(gè)簡潔方便的公交路線查詢系統(tǒng)指引我們的行程。 公交作為城市的主要交通手段之一,隨著人民生活水平的不斷提高,出門旅行的次數(shù)和人數(shù)不斷的增多,占據(jù)著越來越重要的地位。關(guān)鍵詞:公交查詢系統(tǒng);JAVA+STRUTS2+JSP;MySqlDesign and Implementation of Bus Circuit Search SystemAbstractBus, as one of the most important transportation means of the city, with the improvement of people’s living standards and the increase number of out home, occupying an increasingly important role. However, it’s also brought the problem of querying bus routes. Thousands of buses aspect the whole city, it’s especially important for those who is the first time here for traveling or attending school to ride the right, the fastest, the convenient, and the cheapest bus reach the right destinations. For this purpose, the ‘bus circuit search system’ appeared. This system was designed for passengers to get the latest bus announcements and the most suitable bus routes and provide ‘message board’ for passengers to discuss routes or some other things. Let passengers travel with no worries and all things goes well. The main functions include: routes inquiry (least transfer, least time, and least fee), stations inquiry, cars inquiry, announcements view, message board, and the module of administrator’s management of theses information. Keywords: bus circuit search system。隨之而來也帶來了查詢公交路線的問題。成千上萬的公交縱橫整個(gè)城市,對于一個(gè)初來咋到的游客或者求學(xué)者來說,坐上正確的、快速的、便利的、優(yōu)惠的公交去到正確的目的地尤其重要。 JAVA+STRUTS2+JSP。然而,在這些縱橫交錯(cuò)的公交路線中,要找到那條便利、便宜、正確以及所需時(shí)間最少的公交路線并不容易,而且對于出門在外的旅客或者求學(xué)者來說,因?yàn)槭浅醮蔚竭_(dá)某城市,對該城市的公交路線或者公交信息知道的不多,這會大大的影響旅行進(jìn)程及心情。以前對于大多數(shù)人來說在一個(gè)我們并不熟悉的城市坐公交的路線信息等都是通過詢問熟人或者詢問路人,這不方便、信息不全是一回事,更重要的是還可能不安全。在所查路線頁面也可以查看該路線的車次和站點(diǎn)所對應(yīng)的詳細(xì)信息。公交公告信息查詢:管理員可以將公交的一些調(diào)整信息等發(fā)布在網(wǎng)站上以告知廣大用戶,讓廣大乘客即時(shí)了解公交系統(tǒng)信息。學(xué)習(xí)參考. . . . .第2章 系統(tǒng)開發(fā)工具及環(huán)境簡介本次開發(fā)工程中我用到的開發(fā)工具有JAVA、StrutsJSP,數(shù)據(jù)庫用的是MySql,使用的數(shù)據(jù)庫連接技術(shù)是JDBC。JAVA作為計(jì)算機(jī)編程語言之一,是Sun公司推出的可以撰寫跨平臺應(yīng)用軟件的面向?qū)ο蟮某绦蛟O(shè)計(jì)語言,是一個(gè)簡單的、面向?qū)ο蟮摹踩?、與平臺無關(guān)的、可移植的、多線程、高性能的語言,目前廣泛的應(yīng)用于電腦、數(shù)據(jù)中心、游戲控制臺、科學(xué)超級計(jì)算機(jī)、移動電話和互聯(lián)網(wǎng),擁有最大的開發(fā)群。Struts 2中的一個(gè)Action處理一個(gè)實(shí)例,在使用Struts 。JSP的優(yōu)點(diǎn):1):一次編寫,到處運(yùn)行;用JSP開發(fā)的Web應(yīng)用是跨平臺的,除了系統(tǒng)之外,代碼不用作任何改變;2):多平臺支持,基本上可以在所有平臺上的任意環(huán)境中開發(fā),在任意環(huán)境中進(jìn)行系統(tǒng)部署,與系統(tǒng)無關(guān);3):Java開發(fā)工具支持,Java擁有許多開發(fā)工具,在這些開發(fā)工具中幾乎都支持JSP技術(shù);4):執(zhí)行速度快,JSP第一次執(zhí)行的時(shí)候需要通過JSP引擎轉(zhuǎn)換成Servlet文件,然后再通過JVM編譯和執(zhí)行程序,其后一直駐留于服務(wù)器內(nèi)存中,所以,JSP程序的第一次執(zhí)行速度都會比較慢,到第二次以后就會很快。與其他大型數(shù)據(jù)庫如Oracle、SQL Server等相比雖然有不足之處,但是其體積小、速度快、總體擁有成本低和開放源碼的特點(diǎn)在中小型網(wǎng)站開發(fā)中大受歡迎。然而JDBC也有不足之處,盡管JDBC在Java語言層面實(shí)現(xiàn)了統(tǒng)一,但對不同的數(shù)據(jù)庫仍舊有許多不同,所以為了更好的實(shí)現(xiàn)跨數(shù)據(jù)庫操作,最近“大勢”的Hibernate誕生了,Hibernate是對JDBC的再封裝,實(shí)現(xiàn)了對數(shù)據(jù)庫操作更寬泛的統(tǒng)一和更好的可移植性,在各企業(yè)和單位項(xiàng)目中很受歡迎。 Tomcat是一個(gè)免費(fèi)的Web應(yīng)用服務(wù)器,由Apache、Sun及其他一些公司共同開發(fā)的輕量級應(yīng)用服務(wù)器,適用于中小型系統(tǒng)和并發(fā)訪問用戶不是很多的場合,是JSP開發(fā)和調(diào)試的首選。本身平時(shí)也會作為一名乘客,我就以自己作為一名乘客出發(fā)確定系統(tǒng)邊界、功能和性能等要求,下面就從系統(tǒng)需求分析、數(shù)據(jù)庫需求分析和性能需求分析三個(gè)方面對城市公交查詢系統(tǒng)進(jìn)行需求分析。數(shù)據(jù)庫設(shè)計(jì)時(shí)主要分為需求分析、概念結(jié)構(gòu)設(shè)計(jì)、邏輯結(jié)構(gòu)設(shè)計(jì)、物理結(jié)構(gòu)設(shè)計(jì)、驗(yàn)證設(shè)計(jì)和運(yùn)行與維護(hù)設(shè)計(jì),最終得到一個(gè)完整的數(shù)據(jù)庫。路線信息數(shù)據(jù):用戶所查詢站到站的所有路線按所需時(shí)間、換乘次數(shù)或所需費(fèi)用排序的路線號、車次、經(jīng)過的站點(diǎn)、所需總時(shí)間、所需總費(fèi)用、中轉(zhuǎn)站等。天氣信息數(shù)據(jù):日期、星期、氣候、風(fēng)況、最高氣溫、最低氣溫、空氣質(zhì)量等。管理員(后臺):對路線、車次、站點(diǎn)、公告、天氣信息的增刪改查操作處理;登錄、查看個(gè)人信息、修改密碼操作處理;查看所有留言、回復(fù)留言操作處理;查看所有用戶的部分信息操作處理。 系統(tǒng)的易用性 決定一個(gè)系統(tǒng)的優(yōu)劣,功能的完整性是一個(gè)要素,另一個(gè)要素是系統(tǒng)的易用性。下面就系統(tǒng)功能模塊設(shè)計(jì)和數(shù)據(jù)庫設(shè)計(jì)詳細(xì)介紹。在系統(tǒng)概要設(shè)計(jì)階段中,最終要確定系統(tǒng)的功能和數(shù)據(jù)庫的表及表結(jié)構(gòu)。綜上所述,系統(tǒng)用戶的功能模塊圖如下:圖41 用戶功能模塊圖 后臺管理員介紹再詳細(xì)一點(diǎn)綜上所述,管理員的功能模塊圖如下:圖42 管理員功能模塊圖 數(shù)據(jù)庫設(shè)計(jì)數(shù)據(jù)庫設(shè)計(jì)是根據(jù)用戶的需求,在數(shù)據(jù)庫管理系統(tǒng)(在此我用的是MySql)上設(shè)計(jì)數(shù)據(jù)庫的結(jié)構(gòu)和數(shù)據(jù)庫的過程。ER模型是用ER圖來表示數(shù)據(jù)模型的方法,它直接從現(xiàn)實(shí)世界抽象出實(shí)體類型及實(shí)體間聯(lián)系,它的優(yōu)點(diǎn)有:接近人的思維,容易理解;與計(jì)算機(jī)無關(guān),用戶容易接受?;貜?fù)表:回復(fù)編號、留言編號、回復(fù)人、回復(fù)內(nèi)容、回復(fù)時(shí)間。邏輯結(jié)構(gòu)設(shè)計(jì)一般分為三個(gè)步驟進(jìn)行:將概念結(jié)構(gòu)轉(zhuǎn)換為一般的關(guān)系、網(wǎng)狀、層次模型;將轉(zhuǎn)換來的關(guān)系、網(wǎng)狀、層次模型向特定的DBMS支持下的數(shù)據(jù)模型轉(zhuǎn)換;對數(shù)據(jù)模型進(jìn)行優(yōu)化。學(xué)習(xí)參考. . . . .第5章 詳細(xì)設(shè)計(jì)與實(shí)現(xiàn)在詳細(xì)設(shè)計(jì)與實(shí)現(xiàn)階段我將從前臺功能的具體設(shè)計(jì)與實(shí)現(xiàn)、后臺功能的具體設(shè)計(jì)與實(shí)現(xiàn)以及類的設(shè)計(jì)與實(shí)現(xiàn)三個(gè)方面進(jìn)行詳細(xì)介紹。用戶登錄:擁有系統(tǒng)賬號的用戶可以直接登錄城市公交查詢系統(tǒng),登錄時(shí)可以用注冊時(shí)使用的郵箱或者手機(jī)號等登錄,也可以使用用戶自己設(shè)置的用戶名登錄;用戶登錄后可以查看個(gè)人信息、修改用戶名及修改登錄密碼,也可以發(fā)表留言及回復(fù)留言、查看與自己相關(guān)的留言,未登錄的用戶則不可以執(zhí)行發(fā)表留言、回復(fù)留言等操作。用戶注冊:沒有系統(tǒng)賬號的用戶可以實(shí)現(xiàn)除發(fā)表留言、回復(fù)留言的其他功能,對于需要發(fā)表留言、回復(fù)留言的用戶可以免費(fèi)注冊系統(tǒng)賬號,用戶注冊時(shí)不能注冊已經(jīng)被其他用戶注冊過的郵箱或者手機(jī)號,用戶名也不能設(shè)置成被其他用戶設(shè)置過的用戶名。查看、修改個(gè)人信息:主要是查看和修改用戶名,為了方便用戶重新設(shè)置自己的用戶名方便記住,系統(tǒng)提供修改個(gè)人信息的功能。這四項(xiàng)中只要有一項(xiàng)輸入不正確或者未輸入都將無法修改密碼。為了更好的滿足用戶的需求,現(xiàn)將具體設(shè)計(jì)如下:按所需總時(shí)間排序:所需總時(shí)間是指滿足用戶要求的路線(直達(dá)、一次或者二次)從起始站到終點(diǎn)站最短所需時(shí)間,不包括換乘過程中等車所需的時(shí)間,是一個(gè)理想狀態(tài)的時(shí)間。系統(tǒng)將所有路線按照所需總費(fèi)用排序時(shí),若所需總費(fèi)用相等,則再按所需總時(shí)間排序;若所需總時(shí)間也相等,則再按換乘次數(shù)排序。站點(diǎn)查詢:系統(tǒng)為用戶提供查詢站點(diǎn)信息的功能,目的是方便用戶了解經(jīng)過所查站點(diǎn)的車次有哪些。系統(tǒng)為了方便用戶查看天氣和查詢公交路線同時(shí)進(jìn)行提供了天氣信息查看的功能,用戶可以查看近期一周內(nèi)的天氣信息。每條留言的用戶頭像、用戶名和回復(fù)人頭像及回復(fù)人姓名是可以點(diǎn)擊的,點(diǎn)擊后進(jìn)入與該人相關(guān)的留言信息頁面。 查看與某人相關(guān)留言:每條留言的頭像和用戶名是可以點(diǎn)擊的,點(diǎn)擊進(jìn)入的就是與該用戶相關(guān)的所有留言信息,用戶可以通過這種方式查看某個(gè)人的所有留言信息。綜上所述,系統(tǒng)為用戶提供的留言板功能處理流程如下圖所示:圖 55 用戶留言板功能處理流程圖 后臺功能為了方便管理員維護(hù)和管理整個(gè)系統(tǒng),系統(tǒng)為用戶提供了管理信息的功能。管理員登錄時(shí)要輸入三項(xiàng)數(shù)據(jù):用戶名、登錄密碼和驗(yàn)證碼,只要這三項(xiàng)中的一項(xiàng)輸入的不正確或者未輸入,管理員就得重新輸入。用戶在刪除和修改一條路線信息時(shí)若沒有選擇一條路線,系統(tǒng)會提示要選擇一條數(shù)據(jù)。