【正文】
畢 業(yè) 設(shè) 計(jì)( 論 文 )題目手機(jī)公交線路查詢(xún)系統(tǒng)摘 要隨著人們生活水平的提高,出行坐車(chē)成為日常生活中不可缺少的一部分。而乘往目的地的線路需要隨時(shí)掌握,于是手機(jī)公交線路查詢(xún)軟件,將成為人們生活出行的好幫手。手機(jī)公交線路查詢(xún)軟件主要包括了服務(wù)器端以及客戶(hù)端,服務(wù)器和客戶(hù)端擁有各自獨(dú)立的數(shù)據(jù)庫(kù),客戶(hù)端采用數(shù)據(jù)庫(kù)同步方式從服務(wù)器數(shù)據(jù)庫(kù)獲取信息。用戶(hù)既能從手機(jī)本地?cái)?shù)據(jù)庫(kù)獲取信息,又能從互聯(lián)網(wǎng)上獲取信息,即便脫離服務(wù)器也能做為單機(jī)版軟件使用。通過(guò)手機(jī)公交查詢(xún)軟件,用戶(hù)能夠及時(shí)更新公交信息和查詢(xún)線路,也能夠借助Google服務(wù)器進(jìn)行地圖查詢(xún)。服務(wù)器有后臺(tái)管理軟件,方便了管理員對(duì)服務(wù)器的管理操作。本手機(jī)公交線路查詢(xún)系統(tǒng)采用了B/SC/S結(jié)構(gòu)。關(guān)鍵詞:Java;手機(jī)公交線路查詢(xún);B/SC/S結(jié)構(gòu);AbstractWith the level of people’s life improving,going out by bus bee a necessary part of daily the traffic line to destination should be known software of Mobile and querying traffic line bee more and more important nowadays contains server and client,server and client have its own database,client gets information by synchronizing database from satifies users requirements of getting information from locale database and obtaining information from internet,it also can be used without the help of server.With this Mobile and querying traffic line software,user can update data in time and check There is a management software in server,facilitate administrator to manage server. Mobile and querying traffic line software suits for B/SC/S structure.Keywords:Java。 Mobile and querying traffic line。 B/SC/S structure.目 錄第一章 引言 1第二章 需求分析與概要設(shè)計(jì) 2 2 服務(wù)器端需求分析 2 客戶(hù)端需求分析 2 開(kāi)發(fā)環(huán)境及工具需求分析 3 概要設(shè)計(jì) 4 開(kāi)發(fā)流程 4 系統(tǒng)數(shù)據(jù)流圖 4第三章 模式設(shè)計(jì) 5 C/S模式簡(jiǎn)介 5 B/S模式簡(jiǎn)介 5 B/SC/S模式 6 B/SC/S模式定義 6 B/SC/S模式特點(diǎn) 7第四章 數(shù)據(jù)庫(kù)設(shè)計(jì) 8 數(shù)據(jù)庫(kù)結(jié)構(gòu) 8 服務(wù)器數(shù)據(jù)庫(kù)設(shè)計(jì): 8 客戶(hù)端數(shù)據(jù)庫(kù)設(shè)計(jì): 10 SQLite簡(jiǎn)介 10 數(shù)據(jù)庫(kù)設(shè)計(jì) 10第五章 服務(wù)器端詳細(xì)設(shè)計(jì) 12 后臺(tái)管理模式 12 查詢(xún)簡(jiǎn)析 18 18 18 數(shù)據(jù)庫(kù)同步 19 Servlet 19 DAO 19 XML 19第六章 客戶(hù)端詳細(xì)設(shè)計(jì) 21 簡(jiǎn)述 21 什么是Android 21 Android系統(tǒng)架構(gòu)簡(jiǎn)介 21 應(yīng)用程序(APPLICATIONS) 22 應(yīng)用程序框架(APPLICATION FRAMEWORK) 22 Android 運(yùn)行時(shí)(RUNTIME) 23 系統(tǒng)庫(kù)(LIBRARIES) 23 Linux 23 實(shí)現(xiàn)客戶(hù)端數(shù)據(jù)庫(kù) 23 SQL語(yǔ)言 23 創(chuàng)建數(shù)據(jù)庫(kù) 24 客戶(hù)端數(shù)據(jù)庫(kù)操作 24 客戶(hù)端功能模塊實(shí)現(xiàn) 26 線路查詢(xún) 26 地圖功能 27 數(shù)據(jù)更新 29 意見(jiàn)反饋 30第七章 結(jié)論 31參 考 文 獻(xiàn) 32致 謝 33附 錄A 數(shù)據(jù)庫(kù)更新語(yǔ)句 34附 錄B 線路和站點(diǎn)查詢(xún)代碼 35附 錄C 票價(jià)和發(fā)車(chē)時(shí)間查詢(xún)代碼 47第一章 引言隨著因特網(wǎng)發(fā)展的日新月異,人們利用網(wǎng)絡(luò)實(shí)現(xiàn)資源共享以及協(xié)同工作越來(lái)越成為時(shí)代的潮流,使用各種網(wǎng)上的軟件方便生活,已經(jīng)成為了一個(gè)不可扭轉(zhuǎn)的趨勢(shì)。以此設(shè)計(jì)題目為目的,選擇湘潭市作為實(shí)踐對(duì)象,以湘潭市公交系統(tǒng)為基礎(chǔ),再利用所學(xué)知識(shí),熟練運(yùn)用開(kāi)發(fā)工具后,開(kāi)發(fā)一個(gè)湘潭市手機(jī)公交線路查詢(xún)軟件,并且盡可能將其開(kāi)發(fā)為一個(gè)方便大眾使用的公交線路查詢(xún)軟件。而且在當(dāng)今公交出行線路多數(shù)是通過(guò)PC機(jī)查詢(xún)獲得的,但是假想一下在公交出行線路走到一半的時(shí)候計(jì)劃有所變化,公交出行線路需要有所調(diào)整,那么如何能夠動(dòng)態(tài)掌握線路信息顯得尤為重要,而且將來(lái)對(duì)生活的滿(mǎn)意度也不僅僅是百姓致富安居樂(lè)業(yè)就足以,而是逐漸趨向于一個(gè)更人性化的服務(wù)。城市交通服務(wù)以及附屬的一些服務(wù)一直都在不斷的隨著社會(huì)的進(jìn)步而進(jìn)步,這些服務(wù)從最開(kāi)始的直接人力服務(wù)轉(zhuǎn)向技術(shù)型服務(wù),如電話詢(xún)問(wèn),路牌等,然而這些服務(wù)總是有比較大的局限性,即縱然你知道了這條路該怎么走,下條路線該通到哪卻不知,于是開(kāi)發(fā)這個(gè)手機(jī)公交線路查詢(xún)軟件,可在手機(jī)上隨時(shí)隨地對(duì)公交線路進(jìn)行查詢(xún),對(duì)用戶(hù)將要出行的路線了如指掌,這對(duì)用戶(hù)來(lái)說(shuō)可以省去很多麻煩,節(jié)省不少時(shí)間。本次畢業(yè)設(shè)計(jì)結(jié)合湘潭市公交線路系統(tǒng)開(kāi)發(fā)一個(gè)湘潭公交線路手機(jī)查詢(xún)軟件,服務(wù)于大眾。第二章 需求分析與概要設(shè)計(jì)手機(jī)公交線路查詢(xún)軟件最基本的功能是能夠有效的為用戶(hù)提供查詢(xún)服務(wù),在最短的時(shí)間內(nèi)給用戶(hù)一條或多條到達(dá)目標(biāo)地的路徑。整個(gè)查詢(xún)過(guò)程中,只有數(shù)據(jù)信息是依靠服務(wù)器同步獲取,其余功能均在手機(jī)端完成。在此分別對(duì)手機(jī)公交線路查詢(xún)軟件的服務(wù)器端和客戶(hù)端做需求分析。 服務(wù)器端需求分析服務(wù)器作為后臺(tái),需要專(zhuān)業(yè)人員對(duì)服務(wù)器操作和維護(hù),一般情況可由非專(zhuān)業(yè)人員借助管理軟件對(duì)服務(wù)器進(jìn)行常規(guī)維護(hù)。服務(wù)器可以通過(guò)數(shù)據(jù)庫(kù)同步,為客戶(hù)端數(shù)據(jù)庫(kù)提供數(shù)據(jù)。通過(guò)仔細(xì)分析服務(wù)器需求之后,服務(wù)器端要完成以下功能:服務(wù)器后臺(tái)管理功能服務(wù)器后臺(tái)管理是針對(duì)數(shù)據(jù)庫(kù)進(jìn)行操作,具有增、刪、改、查功能。數(shù)據(jù)同步功能。采用Servlet技術(shù),響應(yīng)客戶(hù)端請(qǐng)求,返回給客戶(hù)端一端數(shù)據(jù)流,該數(shù)據(jù)流按照Xml語(yǔ)言規(guī)范寫(xiě)入數(shù)據(jù)流。 圖 服務(wù)器端功能模塊圖 客戶(hù)端需求分析客戶(hù)端主要是手機(jī),用戶(hù)無(wú)法通過(guò)手機(jī)對(duì)本地?cái)?shù)據(jù)庫(kù)進(jìn)行操作,也無(wú)法對(duì)服務(wù)器數(shù)據(jù)庫(kù)操作,管理員可以通過(guò)手機(jī)瀏覽器登錄到服務(wù)器管理員頁(yè)面對(duì)數(shù)據(jù)庫(kù)進(jìn)行操作,可以使用一些功能。該軟件應(yīng)滿(mǎn)足若干要求,比如能夠隨時(shí)掌握公交信息,動(dòng)態(tài)更新最新數(shù)據(jù)等。也要考慮作為手機(jī)軟件可能會(huì)出現(xiàn)查詢(xún)速度慢,數(shù)據(jù)流量過(guò)大,過(guò)度依賴(lài)服務(wù)器等問(wèn)題。通過(guò)仔細(xì)分析用戶(hù)需求之后,該軟件要完成以下功能:查詢(xún)線路功能獲得線路經(jīng)過(guò)的每個(gè)站點(diǎn)信息以及線路的票價(jià)信息和發(fā)車(chē)時(shí)間信息。 地圖查詢(xún)功能借助GoogleMap,完成公交查詢(xún)并顯示地圖線路。 數(shù)據(jù)更新功能服務(wù)器響應(yīng)客戶(hù)端請(qǐng)求返回一段數(shù)據(jù)流,客戶(hù)端接收此數(shù)據(jù)流后,按照Xml語(yǔ)言規(guī)范對(duì)數(shù)據(jù)流進(jìn)行解析,解析后將數(shù)據(jù)存入客戶(hù)端數(shù)據(jù)庫(kù)。 意見(jiàn)反饋功能通過(guò)手機(jī)郵件將意見(jiàn)發(fā)送到管理員的郵箱。 。 客戶(hù)端功能模塊圖 開(kāi)發(fā)環(huán)境及工具需求分析服務(wù)器端開(kāi)發(fā)環(huán)境,以windows7操作系統(tǒng)為開(kāi)發(fā)平臺(tái),,JSP作為開(kāi)發(fā)工具,運(yùn)行在一般的PC機(jī)上即可??蛻?hù)端開(kāi)發(fā)環(huán)境,以Android手機(jī)操作系統(tǒng)為開(kāi)發(fā)平臺(tái),用Android手機(jī)操作系統(tǒng)自帶的SQLite作為數(shù)據(jù)源。Java語(yǔ)言和Xml語(yǔ)言作為開(kāi)發(fā)工具。整個(gè)Android手機(jī)操作系統(tǒng)是在Android SDK提供的虛擬機(jī)中運(yùn)行,該虛擬機(jī)運(yùn)行在windows7操作系統(tǒng)上,所以客戶(hù)端的開(kāi)發(fā)是在windows7操作系統(tǒng)上運(yùn)行的Android操作系統(tǒng)中進(jìn)行的二次開(kāi)發(fā)。開(kāi)發(fā)環(huán)境配置請(qǐng)參考文獻(xiàn)[6]。 概要設(shè)計(jì) 開(kāi)發(fā)流程。運(yùn)行測(cè)試調(diào)試程序編寫(xiě)程序確定功能調(diào)查研究?jī)?yōu)化完善 開(kāi)發(fā)流程圖 系統(tǒng)數(shù)據(jù)流圖。 系統(tǒng)數(shù)據(jù)流圖第三章 模式設(shè)計(jì) C/S模式簡(jiǎn)介 精簡(jiǎn)的說(shuō):C/S模式是一種三層結(jié)構(gòu)的系統(tǒng),第一層在客戶(hù)機(jī)上安裝了客戶(hù)機(jī)應(yīng)用程序,第二層在服務(wù)器上安裝服務(wù)器管理程序,第三層是數(shù)據(jù)訪問(wèn)層。在C/S模式的工作過(guò)程中,客戶(hù)機(jī)程序發(fā)出請(qǐng)求,服務(wù)器程序接收并且處理客戶(hù)機(jī)程序提出的請(qǐng)求,然后返回結(jié)果。C/S模式特點(diǎn):(1)C/S模式將應(yīng)用與服務(wù)分離,系統(tǒng)具有穩(wěn)定性和靈活性(2)C/S模式配備的是點(diǎn)對(duì)點(diǎn)的結(jié)構(gòu)模式,適用于局域網(wǎng),有可靠的安全性(3)由于客戶(hù)端實(shí)現(xiàn)與服務(wù)器端的直接連接,沒(méi)有中間環(huán)節(jié),因此響應(yīng)速度快(4)在C/S模式中,作為客戶(hù)機(jī)的計(jì)算機(jī)都要安裝客戶(hù)機(jī)程序,一旦軟件系統(tǒng)升每臺(tái)客戶(hù)機(jī)都要安裝客戶(hù)機(jī)程序,系統(tǒng)升級(jí)和維護(hù)較為復(fù)雜發(fā)。 B/S模式簡(jiǎn)介精簡(jiǎn)的說(shuō):B/S模式是一種從傳統(tǒng)的三層C/S模式發(fā)展起來(lái)的新的網(wǎng)絡(luò)結(jié)構(gòu)模式,其本質(zhì)也是三層結(jié)構(gòu)的C/S模式。在用戶(hù)的計(jì)算機(jī)上安裝瀏覽器軟件,在服務(wù)器上存放數(shù)據(jù)并且安裝服務(wù)應(yīng)用程序,服務(wù)器有WWW服務(wù)器和文件服務(wù)器等。用戶(hù)通過(guò)瀏覽器訪問(wèn)服務(wù)器,進(jìn)行信息瀏覽、文件傳輸和電子郵件等服務(wù)。B/S模式特點(diǎn):(1)系統(tǒng)開(kāi)發(fā)、維護(hù)、升級(jí)方便 每當(dāng)服務(wù)器應(yīng)用程序升級(jí)時(shí),只要在服務(wù)器上升級(jí)服務(wù)應(yīng)用程序即可,用戶(hù)計(jì)算機(jī)上的瀏覽器軟件不需要修改,系統(tǒng)開(kāi)發(fā)和升級(jí)維護(hù)方便。(2)B/S模式具有很強(qiáng)的開(kāi)放性 在B/S模式下,用戶(hù)通過(guò)通用的瀏覽器進(jìn)行訪問(wèn),系統(tǒng)開(kāi)放性好。(3)B/S模式的結(jié)構(gòu)易于擴(kuò)展 由于Web的平臺(tái)無(wú)關(guān)性,B/S模式的結(jié)構(gòu)可以任意擴(kuò)展,可以從包含一臺(tái)服務(wù)器和幾個(gè)用戶(hù)的小型系統(tǒng)擴(kuò)展成為擁有成千上萬(wàn)個(gè)用戶(hù)的大型系統(tǒng)。(4)用戶(hù)使用方便 B/S模式的應(yīng)用軟件都是基于Web瀏覽器的,而Web瀏覽器的界面是類(lèi)似的。對(duì)于無(wú)用戶(hù)交換功能的頁(yè)面。用戶(hù)接觸的界面都是一致的,用戶(hù)使用方便。 B/SC/S模式 B/SC/S模式定義B/SC/S模式是將B/S模式和C/S模式組合而來(lái)的,吸取這兩種模式的優(yōu)點(diǎn),達(dá)到互補(bǔ)的作用。B/S模式和C/S模式都是三層結(jié)構(gòu),B/S模式第一層是表現(xiàn)層,第二層是業(yè)務(wù)邏輯層,第三層是數(shù)據(jù)訪問(wèn)層。C/S模式三層結(jié)構(gòu)中第一層是客戶(hù)端與B/S模式中的第一層不一樣,其余兩層相同。在B/S模式和C/S模式數(shù)據(jù)訪問(wèn)過(guò)程和業(yè)務(wù)邏輯處理過(guò)程中是在服務(wù)器端完成,用戶(hù)只需接受服務(wù)器返回的結(jié)果。在B/SC/S模式中,一部分?jǐn)?shù)據(jù)訪問(wèn)過(guò)程和業(yè)務(wù)邏輯處理過(guò)程在客戶(hù)端完成,另外一部分?jǐn)?shù)據(jù)訪問(wèn)過(guò)程和業(yè)務(wù)邏輯處理過(guò)程在服務(wù)器端完成。本手機(jī)公交線路查詢(xún)軟件一部分功能只要依靠手機(jī)本地?cái)?shù)據(jù)庫(kù)就可以實(shí)現(xiàn),令外一部分功能需要借助互聯(lián)網(wǎng)實(shí)現(xiàn)。目前不論是手機(jī)硬件還是計(jì)算機(jī)硬件,更新速度很快,而且硬件的配置水平也越來(lái)越高,在硬件條件允許的情況下把一部分業(yè)務(wù)處理、數(shù)據(jù)訪問(wèn)的過(guò)程放在客戶(hù)端去完成,那么對(duì)服務(wù)器的硬件要求就會(huì)低一些,甚至一些高性能的PC機(jī)就可以作為服務(wù)器。從整個(gè)作業(yè)量來(lái)看,本質(zhì)上是把作業(yè)量往客戶(hù)端多分?jǐn)傄徊糠?,降低服?wù)器的作業(yè)量,因此,對(duì)客戶(hù)端的硬件要求是比較高的。B/SC/ 所示。 B/SC/S模式結(jié)構(gòu)圖本軟件系統(tǒng)采用B/SC/S模式。 系統(tǒng)框架圖 B/SC/S模式特點(diǎn) B/SC/S模式在繼承了B/S模式和C/S模式的優(yōu)點(diǎn)之后,還具有以下特點(diǎn):(1) 可靠性高客戶(hù)端不必完全依賴(lài)于服務(wù)器,即便脫離服務(wù)器,還有手機(jī)數(shù)據(jù)庫(kù)的支持,可以繼續(xù)使用一部分功能??蛻?hù)端的數(shù)據(jù)丟失的時(shí)候,可以采用數(shù)據(jù)庫(kù)同步的方式從服務(wù)器獲得新的數(shù)據(jù)信息。(2) 省資源一部分作業(yè)在客戶(hù)端完成,服務(wù)器的訪問(wèn)量和作業(yè)量都會(huì)減少,省資源,維護(hù)起來(lái)會(huì)更加方便。第四章 數(shù)據(jù)庫(kù)設(shè)計(jì) 數(shù)據(jù)庫(kù)結(jié)構(gòu)服務(wù)器數(shù)據(jù)庫(kù)為總數(shù)據(jù)源,每一個(gè)客戶(hù)端都擁有獨(dú)立的小型數(shù)據(jù)庫(kù)??蛻?hù)端數(shù)據(jù)庫(kù)信息從服務(wù)器端同步獲得。服務(wù)器的數(shù)據(jù)庫(kù)是基于Mysql建立,客戶(hù)端數(shù)據(jù)庫(kù)是基于SQLite建立。 數(shù)據(jù)庫(kù)體系結(jié)構(gòu)圖 服務(wù)器數(shù)據(jù)庫(kù)設(shè)計(jì):。 服務(wù)器數(shù)據(jù)ER圖根據(jù)上面的ER圖,本軟件服務(wù)器端定義的arashmen數(shù)據(jù)庫(kù)設(shè)計(jì)了以下4張表:站點(diǎn)表:station(表2)、線路表:routes(表3)、發(fā)車(chē)時(shí)間表:departuretime(表4)、票表:fare(表5)。本軟件服務(wù)器數(shù)據(jù)庫(kù)所包含的表的描述如表1。 數(shù)據(jù)庫(kù)概況表表名描述主要字段stations(站點(diǎn)表)保存站點(diǎn)信息ID,stationroutes(線路表)保存線路信息ID,RouteName,Contentdeparturetime(發(fā)車(chē)時(shí)間表)保存首班發(fā)車(chē)時(shí)間保存末班發(fā)車(chē)時(shí)間RouteNameFirstDepartureTime,LastDepartureTimefare(票價(jià)信息表)保存公交線路票價(jià)信息ID,isFixed,F(xiàn)ullFare 站點(diǎn)表字段名數(shù)據(jù)類(lèi)型長(zhǎng)度主鍵/外鍵默認(rèn)值描述idInt4PKID,自動(dòng)增長(zhǎng)StationVar