




版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請進行舉報或認(rèn)領(lǐng)
文檔簡介
基于JavaEE平臺的公交車輛運行監(jiān)控系統(tǒng)的設(shè)計與實現(xiàn)摘要隨著經(jīng)濟和城市化地高速發(fā)展,市民有多種的出行方式,其中最為重要的是公交車出行。城市公交車需求的數(shù)量在快速地增長,它每天會產(chǎn)生大量的實時運行數(shù)據(jù)急需計算機系統(tǒng)做及時的處理。由于公交車的實時情況需要立即反饋到后臺管理人員,通過直觀易懂的方式來進行展示,所以公交車輛運行監(jiān)控系統(tǒng)的開發(fā)便尤為重要。這有利于管理者去安排更高效的公交出行時刻,來節(jié)省人們?nèi)粘9ぷ魃畹某鲂袝r間,提升市民的生活質(zhì)量。本項目采用SpringBoot框架開發(fā)項目,以MySQL作為后臺數(shù)據(jù)庫。本系統(tǒng)主要包含以下功能模塊:實時公交查詢模塊,實時監(jiān)控模塊包含路線監(jiān)控,車輛監(jiān)控,路線分析模塊,后臺管理模塊包含異常信息管理,用戶管理,登錄注冊模塊。關(guān)鍵詞:公交車;監(jiān)控;管理;SpringBoot框架;MySQL數(shù)據(jù)庫1刖言1.1開發(fā)背景隨著經(jīng)濟和城市化的發(fā)展,城市人口在快速地增長,人們的出行方式雖然有私家車,出租車,地鐵等比較便利的交通工具,但由于公交車車票價格低、有固定線路、車速慢、安全等優(yōu)點,所以大多數(shù)市民出行主要方式是公交車。這使得公交車的使用率在逐步地提高,而且城市的大街小巷基本覆蓋了公交車的路線,公交車的數(shù)量、站點數(shù)量在慢慢地增多,交通網(wǎng)絡(luò)結(jié)構(gòu)也逐漸復(fù)雜。對于經(jīng)常坐公交車的普通乘客而言,最重要的是準(zhǔn)確快速地查詢公交線路的公交具體位置,而對于公交車運營的管理人員來說,由于公交車運行的數(shù)據(jù)在實時地更新與變化,從而產(chǎn)生大量的運行數(shù)據(jù)有待去處理分析。當(dāng)車輛運行時出現(xiàn)了異常行為,需要及時地向后臺發(fā)送異常信息,管理者便可以馬上獲取當(dāng)前車輛的運行狀態(tài),并通過監(jiān)控、指揮相關(guān)的公交車的運行行為,來提高公交車運行的整體效率,方便人們高效率地出行,提升幸福感。1.2目的及意義為了滿足普通乘客需要快速地查找實時公交位置信息、公交車管理者更方便地對公交車實時運行情況進行管理決策的需求,從而開發(fā)出本公交車輛運行監(jiān)控系統(tǒng)。這系統(tǒng)主要面向普通市民用戶和管理者,普通用戶可以使用本系統(tǒng)提供的實時公交運行站點信息的功能來方便他們高效出行,提高出行舒適度。而對于管理者來說,更簡易便捷地管理操作是尤為重要的,為了讓管理者更方便地對實時的公交車運行情況進行管理決策,現(xiàn)有的系統(tǒng)還沒對這些數(shù)據(jù)進行有效地分析,而且公交車每天都會產(chǎn)生大量的實時運行數(shù)據(jù),急需要開發(fā)一套公交車輛運行監(jiān)控系統(tǒng)來對車輛進行實時的監(jiān)控,通過技術(shù)手段來處理現(xiàn)有的數(shù)據(jù)、提取更有價值的信息。通過對公交車的當(dāng)前位置、車速、客流量等數(shù)據(jù)進行分析處理,并通過地圖或者圖表的方式來對數(shù)據(jù)進行可視化。在地圖中會直觀地通過標(biāo)記不同顏色的原點來進行展示不同狀態(tài)下的公交車,在圖表中則會對一段時間內(nèi)的公交車的客流量等數(shù)據(jù)進行直觀的數(shù)據(jù)可視化。而且由于管理者更偏向于通過電腦端來查看各種類型的數(shù)據(jù),為了方便他們對數(shù)據(jù)進行全方面的決策管理,所以這使得基于JavaEE平臺下的公交車輛運行監(jiān)控系統(tǒng)有著十分重要的開發(fā)意義。2系統(tǒng)的開發(fā)技術(shù)與環(huán)境2.1系統(tǒng)的開發(fā)技術(shù)公交車輛運行監(jiān)控系統(tǒng)主要使用Java和JavaScrip編程語言來進行開發(fā)。本系統(tǒng)后臺使用SpringBoot框架來進行搭建,Web層采用SpringMVC對頁面發(fā)送的請求進行響應(yīng),響應(yīng)的視圖采用Thymeleaf模版引擎來進行渲染,Dao層采用MyBatis框架來對數(shù)據(jù)庫進行交互。數(shù)據(jù)庫方面使用MySQL來對數(shù)據(jù)進行增加、查找、修改、刪除操作,并且使用Druid數(shù)據(jù)庫連接池。前端方面采用Html+css+JavaScrip作為基礎(chǔ),使用jQuary+Ajax技術(shù)來對頁面進行數(shù)據(jù)交互。數(shù)據(jù)采集方面則使用高德地圖API來獲取詳細(xì)的公交線路數(shù)據(jù),通過請求微信公眾號公交數(shù)據(jù)接口來獲取實時的公交運行信息。SpringBoot框架SpringBoot繼承了Spring框架原有的優(yōu)勢,它設(shè)計目的是使用較少的配置來快速地搭建生產(chǎn)級別的Spring應(yīng)用,簡化Spring應(yīng)用的搭建和開發(fā)過程,它集成了大量優(yōu)秀框架的各種依賴包來解決框架間的版本沖突、不兼容、不穩(wěn)定等問題。它設(shè)計的理念是“習(xí)慣優(yōu)于配置”,即默認(rèn)配置了許多框架的使用方式,無需考慮過多的配置即可立即使用,讓項目快速地搭建并運行起來。SpringMVC框架SpringMVC是Spring框架的一個基于MVC架構(gòu)設(shè)計模式的web模塊,它擁有中央前端控制器DispatcherServlet它負(fù)責(zé)發(fā)送每個請求到合適的處理程序,使用視圖來返回最終響應(yīng)的結(jié)果,對Web層進行解耦。它基于請求驅(qū)動指的是使用request-response模型,SpringMVC框架就是簡化Web開發(fā)過程。MySQL數(shù)據(jù)庫MySQL在WEB應(yīng)用方面是最流行的關(guān)系數(shù)據(jù)庫管理系統(tǒng)之一,它將數(shù)據(jù)保存在不同的表中,而不是將所有數(shù)據(jù)放在一個大倉庫內(nèi),這樣就增加了速度并提高了靈活性。它的主要功能在于管理并組織大型、復(fù)雜的信息,由于它的強大功能、靈活性、豐富的應(yīng)用編程接口API和精巧的系統(tǒng)結(jié)構(gòu),使得基于數(shù)據(jù)庫的動態(tài)網(wǎng)站提供了強大的支持。2.2系統(tǒng)的開發(fā)環(huán)境本項目公交車輛運行監(jiān)控系統(tǒng)對系統(tǒng)的要求如下:硬件推薦要求:CPU:IntelCorei7-77003.60GHz內(nèi)存:12GB磁盤空間:300MB顯示:1920*1080,256色軟件要求:操作系統(tǒng):Windows10開發(fā)環(huán)境:IntelliJIDEA2019.1.3數(shù)據(jù)庫:MySQL83需求分析3.1功能需求分析本系統(tǒng)是基于珠海市的公交運行數(shù)據(jù)來進行開發(fā),它不僅可以提供便民的公交車輛運行位置的基本查詢功能,還能給管理者提供便捷的監(jiān)控管理公交車的功能。由于每天會產(chǎn)生大量的實時運行公交車GPS數(shù)據(jù),而管理者對數(shù)據(jù)沒有簡潔直觀的視覺感受,該系統(tǒng)需要提升查看公交車詳細(xì)信息的體驗,設(shè)計這個系統(tǒng)的初衷是為了通過現(xiàn)有的技術(shù)手段來對車輛進行可視化的實時監(jiān)控,并且能快速地對大量的GPS歷史數(shù)據(jù)進行分析處理,以此來展示出相應(yīng)的圖表、地圖等信息,這有利于管理者做出相應(yīng)的決策。本系統(tǒng)按照功能模塊來進行開發(fā),查詢功能模塊包括:實時公交查詢。監(jiān)控功能模塊包括:公交路線監(jiān)控、具體車輛監(jiān)控。分析功能模塊包括:公交路線分析。后臺管理模塊包括:公交車異常信息管理、用戶權(quán)限管理。登錄注冊模塊包括:用戶登錄、用戶注冊。3.2功能詳細(xì)需求3.2.1查詢功能模塊主要面向普通用戶來提供快速便捷地公交車輛實時查詢。在輸入框內(nèi)輸入要準(zhǔn)備搭乘的公交車線路編號,系統(tǒng)會提示相應(yīng)的公交線路提供用戶來進行選擇,用戶選擇相應(yīng)的公交車線路,系統(tǒng)會立即顯示該公交線路站點和該線路的實時公交運行站點信息。3.2.2監(jiān)控功能模塊面向管理者提供路線監(jiān)控、車輛監(jiān)控功能。路線監(jiān)控功能,管理員輸入要查詢的公交線路,系統(tǒng)會自動提醒相關(guān)的公交車,點擊相關(guān)的公交車,系統(tǒng)會在地圖上展示實時公交車運行詳細(xì)情況,并根據(jù)目前實時公交車所處的狀態(tài)來為它添加不同顏色的點來做相應(yīng)的標(biāo)識。藍色原點表示車輛處于正常的運行狀態(tài),黃色原點表示目前公交車車速處于超速運行狀態(tài)(速度〉70km/s)、低速運行狀態(tài)(速度<15km/s)或者處于串車狀態(tài)(兩輛或以上相同方向相同線路的公交車同時到達車站),紅色原點表示當(dāng)前該公交車處于改線狀態(tài),即偏離正常行駛路線100m以上。而且每隔15s便自動刷新并更新地圖上的公交車實時GPS位置。當(dāng)點擊地圖上不同顏色的圓點實時公交GPS標(biāo)記時,地圖會顯示該公交車的詳情信息,包括車牌號、車輛速度、載客數(shù)、載客率、公交運行狀態(tài)等信息。當(dāng)系統(tǒng)判定該車輛是改線狀態(tài)時,會向后臺發(fā)送相應(yīng)的請求,并且將相關(guān)的車輛信息記錄到數(shù)據(jù)庫中,后臺管理人員會做相應(yīng)的處理。車輛監(jiān)控功能,當(dāng)后臺管理人員需要專門查找某一公交的運行情況時,輸入要查詢的具體公交車的車牌號,地圖會按照時間的先后順序來進行顯示公交運行過的GPS點,并畫出該公交車本應(yīng)該行駛的線路。3.2.3分析功能模塊面向管理者提供路線分析的功能。管理員輸入公交線路編號,系統(tǒng)會自動提示相關(guān)公交線路,選擇相應(yīng)的公交線路,系統(tǒng)頁面會展示該線路的時間-客流圖。3.2.4后臺管理模塊面向管理者提供異常車輛信息管理、用戶管理的功能。異常車輛信息管理,需要對系統(tǒng)檢測出來的異常公交車進行復(fù)查,管理員對發(fā)生異常狀況的公交車進行查看,通過在地圖上顯示該公交車的運行狀態(tài),經(jīng)過人工的二次判斷來對它進行相應(yīng)的處理。而只有超級管理員才有權(quán)刪除異常車輛的記錄用戶管理,只有超級管理員才能進入該頁面,并且他能對用戶進行授權(quán)、修改密碼或刪除用戶等相關(guān)用戶的操作。3.2.5用戶登錄注冊模塊登錄系統(tǒng)前需要注冊賬戶,如果能提供相應(yīng)的權(quán)限碼,則在注冊的時候就直接賦予相應(yīng)的權(quán)限。普通用戶只有查詢公交的功能,管理員有路線監(jiān)控、車輛監(jiān)控、路線分析、后臺異常車輛管理的權(quán)限,超級管理員擁有所有功能的權(quán)限,包括用戶的管理。3.2.6數(shù)據(jù)流圖系統(tǒng)第一層數(shù)據(jù)流圖,如圖3.1所示:
圖3.1系統(tǒng)第一層數(shù)據(jù)流圖4總體設(shè)計4.1系統(tǒng)用例圖設(shè)計系統(tǒng)的主要用戶分為三種角色,1、普通用戶2、管理員3、超級管理員,每個分別擁有各自不同權(quán)限。系統(tǒng)用例圖如圖4.1所示:圖4.1系統(tǒng)用例圖4.2系統(tǒng)功能模塊圖依據(jù)需求分析的調(diào)查結(jié)果可以設(shè)計本系統(tǒng)的功能主要包括系統(tǒng)功能模塊如圖4.2所示:公交車輛運行
監(jiān)控系統(tǒng)圖4.2系統(tǒng)功能模塊圖圖4.2系統(tǒng)功能模塊圖登錄注冊4.3系統(tǒng)流程圖用戶登錄流程圖介紹了該系統(tǒng)需要登錄賬戶才能使用系統(tǒng)的功能,新用戶需要注冊一個帳號,在注冊界面填寫必要的用戶信息,注冊成功后便自動返回到登錄界面,注冊失敗則根據(jù)提示來進行修改,登錄成功后就可以進入到系統(tǒng)中使用相應(yīng)權(quán)限的功能。
開始1填寫弓輙信息V注冊1填寫弓輙信息V圖4.3系統(tǒng)登錄流程圖圖4.4系統(tǒng)功能流程圖系統(tǒng)功能流程圖介紹了,系統(tǒng)會根據(jù)擁有不同權(quán)限的用戶,使他們看到不同的系統(tǒng)功能界面。普通用戶只能用查找實時公交位置的功能,而管理員還會有路線監(jiān)控,車輛監(jiān)控,路線分析,異常信息管理的功能,超級管理員則還多一個用戶管理的功能。圖4.4系統(tǒng)功能流程圖4.4數(shù)據(jù)庫設(shè)計4.4.1數(shù)據(jù)庫概念結(jié)構(gòu)設(shè)計實體-聯(lián)系圖也稱為E-R圖是用來描述現(xiàn)實世界關(guān)系概念模型的有效方法,它提供了實體的屬性、類型和聯(lián)系的方法,它使用矩形來表示實體,菱形來表示聯(lián)系,橢圓形來表示實體或則聯(lián)系的屬性,而連線則用在實體與屬性之間、實體與聯(lián)系之間、聯(lián)系與屬性之間。本系統(tǒng)將采用E-R圖的方式來對系統(tǒng)中的實體進行設(shè)計,它為后續(xù)的數(shù)據(jù)庫設(shè)計提供了重要的參考。用戶表E-R圖(id,用戶名,密碼,權(quán)限,修改日期,創(chuàng)建日期):圖4.5用戶表E-R圖記錄異常車輛信息E-R圖,此圖的實體包括公交GPS和公交異常信息。公交GPS實體和公交異常信息實體的關(guān)系是一對多的關(guān)系,一個公交GPS記錄可以擁有多種異常狀態(tài),每條公交異常信息只屬于一個公交GPS記錄。圖4.6記錄異常車輛信息E-R圖4.6記錄異常車輛信息E-R圖權(quán)限碼表E-R圖(id,權(quán)限碼,權(quán)限,更新時間,創(chuàng)建時間):4.4.2數(shù)據(jù)庫邏輯結(jié)構(gòu)設(shè)計根據(jù)需求分析和數(shù)據(jù)庫概念結(jié)構(gòu)設(shè)計,本系統(tǒng)的數(shù)據(jù)庫邏輯結(jié)構(gòu)設(shè)計的表結(jié)構(gòu)可以分為以下四張表:(1)用戶表用戶表保存用戶登錄系統(tǒng)的賬戶密碼還有所擁有系統(tǒng)的權(quán)限,如表4.1所示。表4.1用戶表字段名數(shù)據(jù)類型長度是否允許為空是否為主鍵說明idvarchar36否是UUIDusernamevarchar15否否用戶名,唯性索引passwordvarchar20否否密碼authorityvarchar5否否0:僅查看。1:后臺管理權(quán)限、統(tǒng)計分析。2:所有權(quán)限(包括后臺的刪除權(quán)限、用戶管理)updateTimedatetime0否否更新時間createTimedatetime0否否創(chuàng)建時間(2)公交GPS表公交GPS表保存具體公交車的實時GPS數(shù)據(jù),還包括當(dāng)前車輛上載客的數(shù)量,如表4.2所示。表4.2公交GPS表字段名數(shù)據(jù)類型長度是否允許為空是否為主鍵說明idvarchar36否是UUID
car_numvarchar8否否車牌號car_novarchar8否否車牌編號line_namevarchar20否否公交線路名longitudedouble0否否GPS經(jīng)度latitudedouble0否否GPS緯度people_numint0否否公交客流量actdatetimedatetime0否否GPS記錄的時間(3)公交異常信息表公交異常信息表保存狀態(tài)異常的公交車詳細(xì)信息,如表4.3所示。表4.3公交異常信息表字段名數(shù)據(jù)類型長度是否允許為空是否為主鍵說明idvarchar36否是UUIDgps_idvarchar36否否外鍵,公交GPS表的id字段messagevarchar200是否公交車異常信息handle_statusbit1否否異常信息處理狀態(tài),默認(rèn)為falsemodify_uservarchar15是否什么用戶修改過該表updateTimedatetime0否否更新時間createTimedatetime0否否創(chuàng)建時間(4)權(quán)限碼表權(quán)限碼表保存權(quán)限碼對應(yīng)的權(quán)限,如表4.4所示。表4.4權(quán)限碼表字段名數(shù)據(jù)類型長度是否允許為空是否為主鍵說明idvarchar36否是UUIDauthority_codevarchar50否否權(quán)限碼,唯一性索引authorityvarchar5是否權(quán)限updateTimedatetime0否否更新時間createTimedatetime0否否創(chuàng)建時間根據(jù)以上表結(jié)構(gòu),可以得出系統(tǒng)總體表結(jié)構(gòu)如圖4.8所示:t_authority_codeuseridOa.uthoriiy_code:varchar(50)authorilyupdaleTimet_authority_codeuseridOa.uthoriiy_code:varchar(50)authorilyupdaleTime-(ime(;::icreateTimeidusername-^rshari'5jpassword引匚li日「〔?:】authoritylipelateTimelatetinrie(C:icreateTime彖id:YsrcriarOC)car_nnm■■archarffe:car_no:varcharCB)line_nam-&:?-勺i■二h叫細(xì)longitudekiulzJm::.::latitudepecple_numactdaletime:!Retimei:E:t_bus_exceptionil◎gps_id:vsrchar(36)message■.;archan23h3ndle_statusmoclify_LiserupdateTime-timec"createTimeatetimefCi圖4.8系統(tǒng)總體表結(jié)構(gòu)5詳細(xì)設(shè)計5.1系統(tǒng)目錄的文件夾結(jié)構(gòu)在實現(xiàn)系統(tǒng)功能之前,首先搭建項目的整體框架,這會有利于后續(xù)項目開發(fā)的規(guī)范化。在公交車輛運行監(jiān)控系統(tǒng)中,設(shè)計了如圖5.1所示的項目文件夾結(jié)構(gòu)圖。srcmaiojavaIcom.max.busoperationmonitorannotationbeanElco-mpoment二co-n4igco-ntro-llerf mappers-erverterverlmplElutilcBus3perationMonitorApp11cationWresourcesgeneratorUmybatisstaticv template's, analyzeco-mmon[Bhome》managehere日t日hlcigin.htmlappliestion.yml圖5.1項目文件夾結(jié)構(gòu)圖annotation:存放自定義注解文件bean:存放每張數(shù)據(jù)庫表所對應(yīng)的實體類文件compoment:存放為SpringBoot框架添加組件的類文件config:存放修改SpringBoot框架默認(rèn)配置的文件controller:存放控制器層的文件mapper:存放MyBatis框架接口文件server:存放處理復(fù)雜的業(yè)務(wù)邏輯的接口文件serverImpl:存放server文件夾內(nèi)接口文件的具體實現(xiàn)util:存放公共工具類mybatis:存放MyBatis框架的XML配置文件static:存放靜態(tài)資源文件templates:存放具體功能模塊的html頁面
5.2各功能模塊實現(xiàn)5.2.1查詢功能模塊實現(xiàn)當(dāng)用戶登錄系統(tǒng)后,點擊左側(cè)菜單欄公交查詢〉實時公交查詢按鈕,來到查詢公交線路的功能界面。在輸入框內(nèi)輸入想要查詢的公交車線路名,系統(tǒng)會根據(jù)輸入內(nèi)容自動提示相關(guān)的公交線路提供給用戶來進行選擇,輸入提示功能如圖5.2所示:*3BUSMONITORIJ*3BUSMONITORIJEFUS-MQniT&nH首再蟲血Q蕊eia >座我曲詢f >=后號官理 >實時公交查詢歡迎你,maK直推公盆路線k313的間北匚¥始-卜城乳唐疑走)K環(huán)雌啟柬咨站-*摂北口岸總我圖5.2輸入提示功能界面點擊選擇要查詢的公交線路的方向,系統(tǒng)就會顯示該公交線路的站點信息和實時公交運行位置,實時公交查詢功能演示如圖5.3所示:
BUSMONITOR□usMONiran.實時公交查詢歡迎你,max?宣找BUSMONITOR□usMONiran.實時公交查詢歡迎你,max?宣找公交睥f[jGE&:城鞏房京清姑-,明LQ岸蕓站:|t城由膏京灣站@CQ>mdD回方鞠梱盲涼市爲(wèi)詩丄南=FkB眠囲國北M后會修理M后會修理F、中醫(yī)力Kwow沁快理尢展KibDwSiS圖5.3實時公交查詢功能演示圖5.2.2監(jiān)控功能模塊實現(xiàn)當(dāng)管理員用戶登錄到系統(tǒng)后,點擊左側(cè)菜單欄實時監(jiān)控〉路線監(jiān)控按鈕,來到路線監(jiān)控的功能界面。系統(tǒng)默認(rèn)提供一條線路來進行監(jiān)控展示,地圖的左上角輸入框內(nèi)輸入要查詢的公交線路,它會根據(jù)所輸入的內(nèi)容來進行自動提醒,如圖5.4所示:公交線路查詢淺爵名稱13S圖例10?fa口,坤嚴(yán)宣圖5.4路線監(jiān)控輸入提示功能界面wi*膵KT齬 七iSEl二公交線路查詢淺爵名稱13S圖例10?fa口,坤嚴(yán)宣圖5.4路線監(jiān)控輸入提示功能界面wi*膵KT齬 七iSEl二占如用rsss.fiHT旬三眄線;.中心二地髒疳士的在提示欄中選擇相應(yīng)的公交車線路、點擊查詢按鈕或輸入內(nèi)容后不做任何操作(系統(tǒng)會自動查詢),系統(tǒng)會去發(fā)送請求高德地圖API,通過返回結(jié)果來獲取當(dāng)前線路的詳細(xì)信息包括公交行駛路線、站點信息,再去系統(tǒng)后臺數(shù)據(jù)庫獲取當(dāng)前實時公交GPS數(shù)據(jù)并且對返回的公交數(shù)據(jù)添加上詳細(xì)信息(車牌號,車速,載客數(shù),載客率,公交運行狀態(tài))添加到每輛車的實時GPS園標(biāo)記點里。當(dāng)點擊地圖上的顏色不同的原點時,地圖就會顯示當(dāng)前公交車的詳細(xì)信息,路線監(jiān)控功能演示如圖5.5所示:BUSMONITORuuhMdnrrdhQ.會交司9■I—1T詳?shù)诩严略SCC7713DBUSMONITORuuhMdnrrdhQ.會交司9■I—1T詳?shù)诩严略SCC7713D牟盅寂■敝50A顎辭:67%‘狀戀:低通圖例正常?二=圖5.5路線監(jiān)控功能演示圖如果輸入的無效的公交線路名稱,系統(tǒng)會有彈窗來提醒用戶輸入有誤或沒有實際公交的線路,輸入異常如圖5.6所示:localhostlocalhost8080屈示圖圖5.7車輛監(jiān)控功能演示圖歡迎你「max圖5.6圖5.6輸入異常提醒圖BUSMQNITQR□UCMOhlTDR車輛監(jiān)控習(xí)理壬BUSMQNITQR□UCMOhlTDR車輛監(jiān)控習(xí)理壬后廿管理歡迎■你,max點擊左側(cè)菜單欄實時監(jiān)控->車輛監(jiān)控按鈕,來到車輛監(jiān)控的功能界面。在左上角的輸入框內(nèi)輸入具體要查詢的公交車車牌號,便可以查詢具體公交車的歷史行駛線路,而且還能顯示該公交線路的預(yù)期行駛路線,車輛監(jiān)控功能演示如圖5.7所示:推禮甚肘甌分析蘭敖35盼折交的線路,輸入異常如圖交的線路,輸入異常如圖5.10所示:5.2.3分析功能模塊實現(xiàn)當(dāng)管理員用戶登錄到系統(tǒng)后,點擊左側(cè)菜單欄數(shù)據(jù)分析〉路線分析按鈕,來到路線分析的功能界面。在輸入框內(nèi)輸入公交線路名,系統(tǒng)會自動提示相應(yīng)公交車的公交線路便于用戶進行選擇,路線分析功能和輸入提醒功能如圖5.8、圖5.9所示路線分■析公陌蹈直i可路線分■析公陌蹈直i可些路名稱圖5.8路線分析功能演示圖SUSMONITORBUSMONITOR?首互圖5.8路線分析功能演示圖SUSMONITORBUSMONITOR?首互Q公?5^3 >蘭控?數(shù)跡析 >路線分析 歡迎你rmax公更線路査伺場路5稱101。薛 二;「IDAgfi15路筍我 IC1瞄fM珠而Z1C-jg(£^l r:lZ1D49KZ1D19E廣2二產(chǎn)二Z1C5S(J^I -「…產(chǎn)ZlCb^E圖5.9路線分析輸入提醒功能界面如果輸入的無效的公交線路名稱,系統(tǒng)會有彈窗來提醒用戶輸入有誤或沒有實際公ocalhost:a080顯示當(dāng)前公卷潞沒有歷史運行記錄,這國戴凌線路十雙迎你,maxocalhost:a080顯示當(dāng)前公卷潞沒有歷史運行記錄,這國戴凌線路十雙迎你,max公交線路查詢線路名稱?查找圖5.10路線分析輸入異常圖5.2.4后臺管理模塊實現(xiàn)當(dāng)超級管理員用戶登錄到系統(tǒng)后,點擊左側(cè)菜單欄后臺管理->異常信息管理按鈕,來到異常信息管理的功能界面,在這個界面可以查看有多少異常狀態(tài)的公交車,并且可以對異常狀態(tài)的車輛進行查看詳情,查看該異常車輛出現(xiàn)了什么運行時的異常,也可以對當(dāng)前該異常公交的信息進行刪除操作,異常信息管理界面如圖5.11所示:BUS-MONITORLJBUS-MONITORLJDU*HiOMZT'aft異常信息■管理車叢虧公交垛IS處理M況邊理用戶每后修花.曲薊鳳作車叢虧公交垛IS處理M況邊理用戶每后修花.曲薊鳳作曜-fitsS^'EtE-TH3O2D-D4-MCOOZ52D口;部未批埋system202004-10007059D未處理s^'rtem2Q2OD4-10?蘋風(fēng)CO7D59D1CK22瀚system^OZD-Da-IOCO7D5SD1Ck22議芫異塔主遷埋syffte-m20ZD-D4-10'C07059D10:23Shewing1to5of-610entriesPrevioji2J4 5hle?t圖5.11異常信息管理界面演示圖點擊具體公交車的查看按鈕后,界面便會顯示該異常車輛的歷史GPS數(shù)據(jù)記錄點的信息,而且還會顯示該車輛原本應(yīng)該行駛的公交線路,異常車輛運行如5.12所示:
導(dǎo)常路攜公萱1細(xì)二瑋?L0?565D導(dǎo)常路攜公萱1細(xì)二瑋?L0?565D歡幽,ma-x■麗I覇皿圖5.12異常車輛運行圖點擊左側(cè)菜單欄后臺管理〉用戶管理按鈕,來到用戶管理的功能界面,該界面能對系統(tǒng)中已經(jīng)注冊了的賬戶進行管理,點擊修改按鈕可以修改用戶詳細(xì)信息,點擊刪除按鈕能刪除當(dāng)前行的用戶,用戶管理界面如圖5.13所示:BUSMONITORBUSMONIT!?H用戶管理BUSMONITORBUSMONIT!?H用戶管理瑯你,maw用戶列表Q4實時監(jiān)控Ifa蝠個用戶各jser22user2212312直墻公■交文字、址圖伯思、言強異韋公交裝枳浪&肓瞠向安時公Q4實時監(jiān)控Ifa蝠個用戶各jser22user2212312直墻公■交文字、址圖伯思、言強異韋公交裝枳浪&肓瞠向安時公交立宇沱總所有材艮(統(tǒng)計行折,用戶窖理〕理理=后白管理asdf12^456759苴看彩文字一飪圖佬思、后臺異常公歹■■恿投溟.所與權(quán)項[湖分析,用戶咬)PreviousPreviousShowing1to5of3aentries圖5.13用戶管理界面點擊修改按鈕來到修改用戶的界面,如圖5.14所示:
用戶管理用戶詳情用戶名123123枳限査看公交文字、用戶管理用戶詳情用戶名123123枳限査看公交文字、地圖信息、后臺異常公交管理枳限,圖5.14用戶修改頁面5.2.5用戶登錄注冊模塊實現(xiàn)輸入正確的用戶名和密碼則會進入到系統(tǒng)功能的界面,登錄界面如圖5.15所示:圖5.15登錄界面新用戶登錄系統(tǒng)前需要先注冊一個賬戶,如果能提供相應(yīng)權(quán)限的權(quán)限碼,則在注冊賬戶的時候能直接賦予相應(yīng)的權(quán)限,否則注冊的賬戶是一個擁有普通權(quán)限的普通賬戶,注冊界面如圖5.16所示:ALREADYHAVEANACCOUNT?SIGNIN圖5.16注冊界面圖6軟件測試6.1軟件測試的目的及意義軟件測試在軟件設(shè)計開發(fā)里面是一個不可缺少的質(zhì)量檢測環(huán)節(jié)。它利用軟件測試工具并且按照詳細(xì)的測試方案和流程來對系統(tǒng)進行測試。為了檢驗系統(tǒng)輸出的結(jié)果是否滿足預(yù)期中的結(jié)果,需要根據(jù)軟件開發(fā)的各個階段的需求說明和程序內(nèi)部代碼來精心設(shè)計一批軟件測試用例。雖然在軟件開發(fā)的過程中做了大量的質(zhì)量審查,但由于很難避免機器或人為的問題而出現(xiàn)的錯誤,在系統(tǒng)正式投入到生產(chǎn)環(huán)境中使用之前必須要執(zhí)行嚴(yán)格的軟件測試。所以在軟件測試階段最重要的目的及意義就是盡早地發(fā)現(xiàn)缺陷并修改缺陷,直至系統(tǒng)能長時間穩(wěn)定執(zhí)行系統(tǒng)功能。6.2軟件測試的方法傳統(tǒng)的軟件測試方法包含黑盒測試、白盒測試、灰盒測試等軟件測試方法。黑盒測試也稱為功能測試,測試開始時,只需要把系統(tǒng)當(dāng)作一個“黑盒”,只需要通過輸入實際的數(shù)據(jù)給系統(tǒng),等待系統(tǒng)返回結(jié)果,通過查看系統(tǒng)的實際輸出數(shù)據(jù)是否符合需求的預(yù)期結(jié)果,該測試方法主要對系統(tǒng)界面功能進行測試。白盒測試也稱為結(jié)構(gòu)測試、透明盒測試。在實際的檢測中,經(jīng)常與黑盒測試一起使用,首先使用黑盒測試對系統(tǒng)的外部接口進行測試,如果向系統(tǒng)輸入數(shù)據(jù),系統(tǒng)輸出的結(jié)果和預(yù)期中需求中的結(jié)果相同,則說明系統(tǒng)內(nèi)部功能未出現(xiàn)問題,此時從代碼層面來進行測試。如果出現(xiàn)問題,則使用白盒測試方法來對代碼內(nèi)部結(jié)構(gòu)進行測試,直到解決問題。本系統(tǒng)主要采用了黑盒測試方法來對系統(tǒng)進行功能測試。6.3測試用例6.3.1實時公交查詢測試用例表6.1實時公交查詢輸入提醒功能測試用例實時公交查詢輸入提醒功能描述在輸入框內(nèi)輸入要查詢的公交線路名,系統(tǒng)會提醒相應(yīng)公交線路用例目的為了讓系統(tǒng)能否正常輸出提示內(nèi)容前提條件用戶登錄系統(tǒng)后,點擊實時公交查詢按鈕來到該功能界面實際輸入數(shù)據(jù)預(yù)期輸出實際輸出22路(香洲->城軌珠海站)2路(城軌珠海站->香洲)2路(香洲->城軌珠海站)2路(城軌珠海站->香洲)10a10A路(拱北口岸總站->城軌唐家灣站)10A路(城軌唐家灣站->拱北口岸總站)10A路(拱北口岸總站->城軌唐家灣站)10A路(城軌唐家灣站->拱北口岸總站)2路2路(香洲->城軌珠海站)2路(城軌珠海站->香洲)2路(香洲->城軌珠海站)2路(城軌珠海站->香洲)888無結(jié)果返回?zé)o結(jié)果返回表6.2實時公交查詢測試用例實時公交查詢功能描述系統(tǒng)會顯示該公交線路的所有站點信息和實時車輛的位置信息用例目的為了看系統(tǒng)能否正確的顯示公交的實時位置前提條件在輸入框內(nèi)選擇系統(tǒng)提示的公交車線路實際輸入數(shù)據(jù)預(yù)期輸出實際輸出2路(香洲->城未進站的公交車在車站之間的位置與預(yù)期結(jié)果一致
軌珠海站)顯示,進站的公交車則在它相應(yīng)的公交車站位置顯示6.3.2路線監(jiān)控測試用例表6.3路線監(jiān)控輸入提醒功能測試用例路線監(jiān)控輸入提醒功能描述在輸入框內(nèi)輸入要查詢的公交線路名,系統(tǒng)會提醒相應(yīng)公交線路用例目的為了讓系統(tǒng)能否正常輸出提示內(nèi)容前提條件管理員登錄系統(tǒng)后,點擊路線監(jiān)控按鈕來到該功能界面實際輸入數(shù)據(jù)預(yù)期輸出實際輸出22路2xx路(多條路線選擇)2路2xx路(多條路線選擇)2路2路2路888無結(jié)果返回?zé)o結(jié)果返回表6.4路線監(jiān)控測試用例路線監(jiān)控功能描述點擊查詢按鈕或點擊提示列表公交路線信息,系統(tǒng)會顯示相應(yīng)公交運行路線,且會顯示實時GPS公交位置用例目的為了讓系統(tǒng)能否正常顯示對應(yīng)的公交GPS位置前提條件在輸入框內(nèi)已經(jīng)輸入要查詢的公交線路名實際輸入數(shù)據(jù)預(yù)期輸出實際輸出輸入10點擊10A路10A路車相關(guān)公交車10A路車相關(guān)公交車輸入10點擊查詢按鈕10路車相關(guān)公交車10路車相關(guān)公交車輸入10不做任何操作15秒后顯示10路車相關(guān)公交車15秒后顯示10路車相關(guān)公交車輸入888點擊查詢按鈕彈窗顯示:“沒有此公交”彈窗顯示:“沒有此公交”表6.5路線監(jiān)控車輛詳情測試用例路線監(jiān)控車輛詳情功能點擊不同顏色的公交車原點標(biāo)記,顯示不同狀況的公交車信息描述用例目的為了讓系統(tǒng)能否正常顯示對應(yīng)顏色原點標(biāo)記的車輛詳情信息前提條件公交車線路已經(jīng)查詢完畢實際輸入數(shù)據(jù)預(yù)期輸出實際輸出點擊藍色原點車輛狀態(tài)顯示正常車輛狀態(tài)顯示正常
點擊黃色原點車輛狀態(tài)顯示超速、低速或串車車輛狀態(tài)顯示超速、低速或串車點擊紅色原點車輛狀態(tài)顯示改線車輛狀態(tài)顯示改線6.3.3車輛監(jiān)控測試用例表6.6車輛監(jiān)控測試用例車輛監(jiān)控功能描述輸入要查詢的具體公交車車牌號點擊查詢按鈕用例目的為了讓系統(tǒng)能否正常顯示對應(yīng)顏色原點標(biāo)記的車輛詳情信息前提條件管理員登錄系統(tǒng)后,點擊車輛監(jiān)控按鈕來到該功能界面實際輸入數(shù)據(jù)預(yù)期輸出實際輸出粵C07759D公交車的歷史GPS位置記錄點公交車的歷史GPS位置記錄點粵C08888D彈窗顯示:“沒有找到相關(guān)車輛”彈窗顯示:“沒有找到相關(guān)車輛”6.3.4路線分析測試用例表6.7路線分析輸入提醒功能測試用例路線分析輸入提醒功能描述在輸入框內(nèi)輸入要查詢的公交線路名,系統(tǒng)會提醒相應(yīng)公交線路用例目的為了讓系統(tǒng)能否正常輸出提示內(nèi)容前提條件管理員登錄系統(tǒng)后,點擊路線分析按鈕來到該功能界面實際輸入數(shù)據(jù)預(yù)期輸出實際輸出22路2xx路(多條路線選擇)2路2xx路(多條路線選擇)2路2路2路888無結(jié)果返回?zé)o結(jié)果返回表6.8路線分析測試用例路線分析功能描述點擊查詢按鈕或點擊提示列表公交路線信息,系統(tǒng)會顯示相應(yīng)公交線路的客流圖用例目的為了讓系統(tǒng)能否正常顯示對應(yīng)的公交的客流量圖表前提條件在輸入框內(nèi)已經(jīng)輸入要查詢的公交線路名實際輸入數(shù)據(jù)預(yù)期輸出實際輸出輸入10點擊10A路10A路車客流量圖10A路車客流量圖輸入10點擊查詢按鈕10路車客流量圖10路車客流量圖
輸入888點擊查詢按鈕彈窗顯示:“當(dāng)前公交線路沒有歷史運行記錄,請更換公交線路”彈窗顯示:“當(dāng)前公交線路沒有歷史運行記錄,請更換公交線路”6.3.5異常信息管理測試用例表6.9異常信息管理測試用例異常信息管理功能描述點擊查看按鈕能來到對應(yīng)的公交車的歷史記錄的地圖界面,點擊刪除按鈕能刪除該異常線路的信息用例目的為了讓系統(tǒng)能否正常地修改、刪除異常車輛信息前提條件超級管理員登錄系統(tǒng)后,點擊異常信息管理按鈕來到該功能界面實際輸入數(shù)據(jù)預(yù)期輸出實際輸出點擊查看按鈕來到該車輛的預(yù)期行駛路線的地圖,并且會顯示該車輛運行所有的記錄來到該車輛的預(yù)期行駛路線的f地圖,并且會顯示該車輛運行所有的記錄點擊刪除按鈕刪除當(dāng)前異常公交信息刪除當(dāng)前異常公交信息點擊查看按鈕,并修改異常信息:該線路改線界面會顯示當(dāng)前公交處理信息已經(jīng)被修改界面會顯示當(dāng)前公交處理信息已經(jīng)被修改6.3.6用戶管理測試用例表6.10用戶管理測試用例用戶管理功能描述點擊修改按鈕能來到對應(yīng)的用戶的詳細(xì)信息界面,點擊冊。除按鈕能刪除該用戶的信息用例目的為了讓系統(tǒng)能否正常地修改、刪除用戶信息前提條件超級管理員登錄系統(tǒng)后,點擊用戶管理按鈕來到該功能界面實際輸入數(shù)據(jù)預(yù)期輸出實際輸出點擊修改按鈕,修改密碼123該用戶的密碼更改為123該用戶的密碼更改為123點擊修改按鈕,修改權(quán)限為所有權(quán)限該用戶的權(quán)限更改為所有權(quán)限該用戶的權(quán)限更改為所有權(quán)限點擊修改按鈕,修改密碼123、權(quán)限修改為所有權(quán)限該用戶的密碼更改為123、權(quán)限更改為所有權(quán)限該用戶的密碼更改為123、權(quán)限更改為所有權(quán)限點擊刪除按鈕刪除當(dāng)前用戶信息刪除當(dāng)前用戶信息7總結(jié)與展望7.1論文總結(jié)為了研究本課題,自己查找大量的公交行業(yè)的業(yè)務(wù)規(guī)則,熟悉相關(guān)的業(yè)務(wù)邏輯有利于后續(xù)的系統(tǒng)開發(fā)。通過查閱國內(nèi)公交行業(yè)的技術(shù)論文,了解到公交行業(yè)已經(jīng)做了大量的技術(shù)研究,不同的研究成果也逐步地趨于完善。本人開發(fā)這套公交運行監(jiān)控系統(tǒng)的時候參考前人的一些研究成果,雖然只是學(xué)到很淺顯的理論知識,但是這足以滿足我完成本系統(tǒng)的開發(fā)。除了在校內(nèi)所學(xué)的專業(yè)理論知識以外,自己還主動學(xué)習(xí)更多的主流框架技術(shù)以便于應(yīng)對錯綜復(fù)雜的應(yīng)用環(huán)境。本系統(tǒng)基本上使用了主流前沿的技術(shù)來進行開發(fā),本研究課題的成果也已達到預(yù)期的效果。7.2存在的不足在程序開發(fā)之前,自己花費大量的時間去學(xué)習(xí)新的框架技術(shù)。原本學(xué)習(xí)的時候,似懂非懂的知識點在項目真正開發(fā)的時候,才發(fā)現(xiàn)自己不懂太多東西了。這才明白實踐的重要性,不單只要學(xué)習(xí),而且還要時刻地實操訓(xùn)練。在項目開始的時候,按著自己腦中的功能需求來開發(fā)系統(tǒng)功能,做了一段時間的時候才去查看自己原本的是什么需求,然而已經(jīng)偏離原項目的需求,后面只能刪除已經(jīng)做好的功能。這讓我更深刻地體會到需求的重要性,不能偏離需求來開發(fā)項目。7.3未來的展望未來學(xué)習(xí)新技術(shù)新技能的時候要立即去實踐,實踐才能知真理。以后接到新項目的時候需要了解清楚系統(tǒng)的整體架構(gòu)、功能需求等,當(dāng)遇到自己難以解決的問題,需要學(xué)會請教他人。我相信在自己不斷地努力下,未來遇到多大的艱難險阻也要勇于跨越過去。附錄1程序源代碼//先判斷改線、串車情況for(vari=0;i<len;i++)(varbusData=busDatas[i];varInglat=newAMap.LngLat(busData["lon"],busData["lat"]);//if(!AMap.GeometryUtil.isPointOnLine(lnglat,linePathl,30))(//是否改線,判斷是否在路線上,發(fā)送到后臺數(shù)據(jù)庫。兩條路之間大岫if(!AMap.GeometryUtil.isPointOnLine(lnglat,LinePath2,30))(busData["status"]=7; //改線$.ajax({url:"/busexception",type:"POST",data:busData,dataType:"JSON",async:true,success:function(data){console?log("data:"+data)}})}else{checkStringBus(LineStation2,lnglat)}}else{checkStringBus(LineStation1,lnglat)}}for(vari=0;i<stations.length;i++){〃判斷串車varstation=stations[i]; 〃保存的是公交車的gps在什么車站varstationlen=station.length;if(stationlen>=2){for(varj=0;j<stationlen;j++){//串車車站的車輛varStringBusGps=station[j];for(vark=0;k<len;k++){//車輛gps源數(shù)據(jù)varbusData=busDatas[k];varlnglat=newAMap.LngLat(busData["lon"],busData["lat"]);if((StringBusGps["lng"]==busData["lon"])&&(StringBusGps["lat"]==busData["lat"])){busDatas[k]["status"]=4 〃標(biāo)記串車}}}}}map.remove(markers); 〃刪除多個markerinfoWindow.close();markers=[];//再填寫并標(biāo)記車輛,具體位置和詳細(xì)信息for(vari=0;i<len;i++)(varbusData=busDatas[i];varInglat=newAMap.LngLat(busData["lon"],busData["lat"]);varmarker=newAMap.Marker((map:map,position:lnglat,offset:newAMap?Pixel(-13,-15)});marker.carNum=busData["carNum"];marker.speed=busData["speed"];marker.peopleNum=busData["peopleNum"];marker.peopleRate=busData["peopleRate"];marker.statusCode=busData["status"];markers.push(marker);if(busData["status"]==1)(marker.status="正常";marker.setIcon("/common/images/blueGpsCircle.gif")}elseif(busData["status"]==2)(m
溫馨提示
- 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
- 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
- 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁內(nèi)容里面會有圖紙預(yù)覽,若沒有圖紙預(yù)覽就沒有圖紙。
- 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
- 5. 人人文庫網(wǎng)僅提供信息存儲空間,僅對用戶上傳內(nèi)容的表現(xiàn)方式做保護處理,對用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對任何下載內(nèi)容負(fù)責(zé)。
- 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請與我們聯(lián)系,我們立即糾正。
- 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時也不承擔(dān)用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。
最新文檔
- 2025年私人車輛贈與合同
- 窗戶銷售安裝合同范本
- 2025版權(quán)獨家授權(quán)使用合同范本
- 2025華悅慶典工程合同
- 鋼化玻璃供貨合同范本
- 2025年上海市民用航空物流服務(wù)合同
- 溫州民間借貸合同范本
- 2025工業(yè)用戶用電合同
- 道德經(jīng)附統(tǒng)計述職報告
- 工廠保安合同范本
- GB∕T 3639-2021 冷拔或冷軋精密無縫鋼管
- 西師版六年級下冊數(shù)學(xué)第五單元 總復(fù)習(xí) 教案
- 2022版義務(wù)教育語文課程標(biāo)準(zhǔn)(2022版含新增和修訂部分)
- 色譜、質(zhì)譜、聯(lián)用
- 獨生子女父母退休一次性獎勵審批1
- 鋁合金窗陜西銀杉節(jié)能門窗有限責(zé)任公司鋁合金制作及安裝工藝流程圖
- 蘇教版小學(xué)數(shù)學(xué)四年級下冊《圖形旋轉(zhuǎn)》練習(xí)題
- 燒結(jié)普通磚、多孔磚回彈計算
- 2022年度英語希望之星風(fēng)采大賽即興問答題庫小學(xué)組
- 結(jié)構(gòu)化面試技巧(完整版).ppt
- 抗病毒藥物在豬病臨床生產(chǎn)中的應(yīng)用
評論
0/150
提交評論