基于JavaEE平臺的公交車輛運行監控系統的設計與實現_第1頁
基于JavaEE平臺的公交車輛運行監控系統的設計與實現_第2頁
基于JavaEE平臺的公交車輛運行監控系統的設計與實現_第3頁
基于JavaEE平臺的公交車輛運行監控系統的設計與實現_第4頁
基于JavaEE平臺的公交車輛運行監控系統的設計與實現_第5頁
已閱讀5頁,還剩27頁未讀 繼續免費閱讀

下載本文檔

版權說明:本文檔由用戶提供并上傳,收益歸屬內容提供方,若內容存在侵權,請進行舉報或認領

文檔簡介

基于JavaEE平臺的公交車輛運行監控系統的設計與實現摘要隨著經濟和城市化地高速發展,市民有多種的出行方式,其中最為重要的是公交車出行。城市公交車需求的數量在快速地增長,它每天會產生大量的實時運行數據急需計算機系統做及時的處理。由于公交車的實時情況需要立即反饋到后臺管理人員,通過直觀易懂的方式來進行展示,所以公交車輛運行監控系統的開發便尤為重要。這有利于管理者去安排更高效的公交出行時刻,來節省人們日常工作生活的出行時間,提升市民的生活質量。本項目采用SpringBoot框架開發項目,以MySQL作為后臺數據庫。本系統主要包含以下功能模塊:實時公交查詢模塊,實時監控模塊包含路線監控,車輛監控,路線分析模塊,后臺管理模塊包含異常信息管理,用戶管理,登錄注冊模塊。關鍵詞:公交車;監控;管理;SpringBoot框架;MySQL數據庫1刖言1.1開發背景隨著經濟和城市化的發展,城市人口在快速地增長,人們的出行方式雖然有私家車,出租車,地鐵等比較便利的交通工具,但由于公交車車票價格低、有固定線路、車速慢、安全等優點,所以大多數市民出行主要方式是公交車。這使得公交車的使用率在逐步地提高,而且城市的大街小巷基本覆蓋了公交車的路線,公交車的數量、站點數量在慢慢地增多,交通網絡結構也逐漸復雜。對于經常坐公交車的普通乘客而言,最重要的是準確快速地查詢公交線路的公交具體位置,而對于公交車運營的管理人員來說,由于公交車運行的數據在實時地更新與變化,從而產生大量的運行數據有待去處理分析。當車輛運行時出現了異常行為,需要及時地向后臺發送異常信息,管理者便可以馬上獲取當前車輛的運行狀態,并通過監控、指揮相關的公交車的運行行為,來提高公交車運行的整體效率,方便人們高效率地出行,提升幸福感。1.2目的及意義為了滿足普通乘客需要快速地查找實時公交位置信息、公交車管理者更方便地對公交車實時運行情況進行管理決策的需求,從而開發出本公交車輛運行監控系統。這系統主要面向普通市民用戶和管理者,普通用戶可以使用本系統提供的實時公交運行站點信息的功能來方便他們高效出行,提高出行舒適度。而對于管理者來說,更簡易便捷地管理操作是尤為重要的,為了讓管理者更方便地對實時的公交車運行情況進行管理決策,現有的系統還沒對這些數據進行有效地分析,而且公交車每天都會產生大量的實時運行數據,急需要開發一套公交車輛運行監控系統來對車輛進行實時的監控,通過技術手段來處理現有的數據、提取更有價值的信息。通過對公交車的當前位置、車速、客流量等數據進行分析處理,并通過地圖或者圖表的方式來對數據進行可視化。在地圖中會直觀地通過標記不同顏色的原點來進行展示不同狀態下的公交車,在圖表中則會對一段時間內的公交車的客流量等數據進行直觀的數據可視化。而且由于管理者更偏向于通過電腦端來查看各種類型的數據,為了方便他們對數據進行全方面的決策管理,所以這使得基于JavaEE平臺下的公交車輛運行監控系統有著十分重要的開發意義。2系統的開發技術與環境2.1系統的開發技術公交車輛運行監控系統主要使用Java和JavaScrip編程語言來進行開發。本系統后臺使用SpringBoot框架來進行搭建,Web層采用SpringMVC對頁面發送的請求進行響應,響應的視圖采用Thymeleaf模版引擎來進行渲染,Dao層采用MyBatis框架來對數據庫進行交互。數據庫方面使用MySQL來對數據進行增加、查找、修改、刪除操作,并且使用Druid數據庫連接池。前端方面采用Html+css+JavaScrip作為基礎,使用jQuary+Ajax技術來對頁面進行數據交互。數據采集方面則使用高德地圖API來獲取詳細的公交線路數據,通過請求微信公眾號公交數據接口來獲取實時的公交運行信息。SpringBoot框架SpringBoot繼承了Spring框架原有的優勢,它設計目的是使用較少的配置來快速地搭建生產級別的Spring應用,簡化Spring應用的搭建和開發過程,它集成了大量優秀框架的各種依賴包來解決框架間的版本沖突、不兼容、不穩定等問題。它設計的理念是“習慣優于配置”,即默認配置了許多框架的使用方式,無需考慮過多的配置即可立即使用,讓項目快速地搭建并運行起來。SpringMVC框架SpringMVC是Spring框架的一個基于MVC架構設計模式的web模塊,它擁有中央前端控制器DispatcherServlet它負責發送每個請求到合適的處理程序,使用視圖來返回最終響應的結果,對Web層進行解耦。它基于請求驅動指的是使用request-response模型,SpringMVC框架就是簡化Web開發過程。MySQL數據庫MySQL在WEB應用方面是最流行的關系數據庫管理系統之一,它將數據保存在不同的表中,而不是將所有數據放在一個大倉庫內,這樣就增加了速度并提高了靈活性。它的主要功能在于管理并組織大型、復雜的信息,由于它的強大功能、靈活性、豐富的應用編程接口API和精巧的系統結構,使得基于數據庫的動態網站提供了強大的支持。2.2系統的開發環境本項目公交車輛運行監控系統對系統的要求如下:硬件推薦要求:CPU:IntelCorei7-77003.60GHz內存:12GB磁盤空間:300MB顯示:1920*1080,256色軟件要求:操作系統:Windows10開發環境:IntelliJIDEA2019.1.3數據庫:MySQL83需求分析3.1功能需求分析本系統是基于珠海市的公交運行數據來進行開發,它不僅可以提供便民的公交車輛運行位置的基本查詢功能,還能給管理者提供便捷的監控管理公交車的功能。由于每天會產生大量的實時運行公交車GPS數據,而管理者對數據沒有簡潔直觀的視覺感受,該系統需要提升查看公交車詳細信息的體驗,設計這個系統的初衷是為了通過現有的技術手段來對車輛進行可視化的實時監控,并且能快速地對大量的GPS歷史數據進行分析處理,以此來展示出相應的圖表、地圖等信息,這有利于管理者做出相應的決策。本系統按照功能模塊來進行開發,查詢功能模塊包括:實時公交查詢。監控功能模塊包括:公交路線監控、具體車輛監控。分析功能模塊包括:公交路線分析。后臺管理模塊包括:公交車異常信息管理、用戶權限管理。登錄注冊模塊包括:用戶登錄、用戶注冊。3.2功能詳細需求3.2.1查詢功能模塊主要面向普通用戶來提供快速便捷地公交車輛實時查詢。在輸入框內輸入要準備搭乘的公交車線路編號,系統會提示相應的公交線路提供用戶來進行選擇,用戶選擇相應的公交車線路,系統會立即顯示該公交線路站點和該線路的實時公交運行站點信息。3.2.2監控功能模塊面向管理者提供路線監控、車輛監控功能。路線監控功能,管理員輸入要查詢的公交線路,系統會自動提醒相關的公交車,點擊相關的公交車,系統會在地圖上展示實時公交車運行詳細情況,并根據目前實時公交車所處的狀態來為它添加不同顏色的點來做相應的標識。藍色原點表示車輛處于正常的運行狀態,黃色原點表示目前公交車車速處于超速運行狀態(速度〉70km/s)、低速運行狀態(速度<15km/s)或者處于串車狀態(兩輛或以上相同方向相同線路的公交車同時到達車站),紅色原點表示當前該公交車處于改線狀態,即偏離正常行駛路線100m以上。而且每隔15s便自動刷新并更新地圖上的公交車實時GPS位置。當點擊地圖上不同顏色的圓點實時公交GPS標記時,地圖會顯示該公交車的詳情信息,包括車牌號、車輛速度、載客數、載客率、公交運行狀態等信息。當系統判定該車輛是改線狀態時,會向后臺發送相應的請求,并且將相關的車輛信息記錄到數據庫中,后臺管理人員會做相應的處理。車輛監控功能,當后臺管理人員需要專門查找某一公交的運行情況時,輸入要查詢的具體公交車的車牌號,地圖會按照時間的先后順序來進行顯示公交運行過的GPS點,并畫出該公交車本應該行駛的線路。3.2.3分析功能模塊面向管理者提供路線分析的功能。管理員輸入公交線路編號,系統會自動提示相關公交線路,選擇相應的公交線路,系統頁面會展示該線路的時間-客流圖。3.2.4后臺管理模塊面向管理者提供異常車輛信息管理、用戶管理的功能。異常車輛信息管理,需要對系統檢測出來的異常公交車進行復查,管理員對發生異常狀況的公交車進行查看,通過在地圖上顯示該公交車的運行狀態,經過人工的二次判斷來對它進行相應的處理。而只有超級管理員才有權刪除異常車輛的記錄用戶管理,只有超級管理員才能進入該頁面,并且他能對用戶進行授權、修改密碼或刪除用戶等相關用戶的操作。3.2.5用戶登錄注冊模塊登錄系統前需要注冊賬戶,如果能提供相應的權限碼,則在注冊的時候就直接賦予相應的權限。普通用戶只有查詢公交的功能,管理員有路線監控、車輛監控、路線分析、后臺異常車輛管理的權限,超級管理員擁有所有功能的權限,包括用戶的管理。3.2.6數據流圖系統第一層數據流圖,如圖3.1所示:

圖3.1系統第一層數據流圖4總體設計4.1系統用例圖設計系統的主要用戶分為三種角色,1、普通用戶2、管理員3、超級管理員,每個分別擁有各自不同權限。系統用例圖如圖4.1所示:圖4.1系統用例圖4.2系統功能模塊圖依據需求分析的調查結果可以設計本系統的功能主要包括系統功能模塊如圖4.2所示:公交車輛運行

監控系統圖4.2系統功能模塊圖圖4.2系統功能模塊圖登錄注冊4.3系統流程圖用戶登錄流程圖介紹了該系統需要登錄賬戶才能使用系統的功能,新用戶需要注冊一個帳號,在注冊界面填寫必要的用戶信息,注冊成功后便自動返回到登錄界面,注冊失敗則根據提示來進行修改,登錄成功后就可以進入到系統中使用相應權限的功能。

開始1填寫弓輙信息V注冊1填寫弓輙信息V圖4.3系統登錄流程圖圖4.4系統功能流程圖系統功能流程圖介紹了,系統會根據擁有不同權限的用戶,使他們看到不同的系統功能界面。普通用戶只能用查找實時公交位置的功能,而管理員還會有路線監控,車輛監控,路線分析,異常信息管理的功能,超級管理員則還多一個用戶管理的功能。圖4.4系統功能流程圖4.4數據庫設計4.4.1數據庫概念結構設計實體-聯系圖也稱為E-R圖是用來描述現實世界關系概念模型的有效方法,它提供了實體的屬性、類型和聯系的方法,它使用矩形來表示實體,菱形來表示聯系,橢圓形來表示實體或則聯系的屬性,而連線則用在實體與屬性之間、實體與聯系之間、聯系與屬性之間。本系統將采用E-R圖的方式來對系統中的實體進行設計,它為后續的數據庫設計提供了重要的參考。用戶表E-R圖(id,用戶名,密碼,權限,修改日期,創建日期):圖4.5用戶表E-R圖記錄異常車輛信息E-R圖,此圖的實體包括公交GPS和公交異常信息。公交GPS實體和公交異常信息實體的關系是一對多的關系,一個公交GPS記錄可以擁有多種異常狀態,每條公交異常信息只屬于一個公交GPS記錄。圖4.6記錄異常車輛信息E-R圖4.6記錄異常車輛信息E-R圖權限碼表E-R圖(id,權限碼,權限,更新時間,創建時間):4.4.2數據庫邏輯結構設計根據需求分析和數據庫概念結構設計,本系統的數據庫邏輯結構設計的表結構可以分為以下四張表:(1)用戶表用戶表保存用戶登錄系統的賬戶密碼還有所擁有系統的權限,如表4.1所示。表4.1用戶表字段名數據類型長度是否允許為空是否為主鍵說明idvarchar36否是UUIDusernamevarchar15否否用戶名,唯性索引passwordvarchar20否否密碼authorityvarchar5否否0:僅查看。1:后臺管理權限、統計分析。2:所有權限(包括后臺的刪除權限、用戶管理)updateTimedatetime0否否更新時間createTimedatetime0否否創建時間(2)公交GPS表公交GPS表保存具體公交車的實時GPS數據,還包括當前車輛上載客的數量,如表4.2所示。表4.2公交GPS表字段名數據類型長度是否允許為空是否為主鍵說明idvarchar36否是UUID

car_numvarchar8否否車牌號car_novarchar8否否車牌編號line_namevarchar20否否公交線路名longitudedouble0否否GPS經度latitudedouble0否否GPS緯度people_numint0否否公交客流量actdatetimedatetime0否否GPS記錄的時間(3)公交異常信息表公交異常信息表保存狀態異常的公交車詳細信息,如表4.3所示。表4.3公交異常信息表字段名數據類型長度是否允許為空是否為主鍵說明idvarchar36否是UUIDgps_idvarchar36否否外鍵,公交GPS表的id字段messagevarchar200是否公交車異常信息handle_statusbit1否否異常信息處理狀態,默認為falsemodify_uservarchar15是否什么用戶修改過該表updateTimedatetime0否否更新時間createTimedatetime0否否創建時間(4)權限碼表權限碼表保存權限碼對應的權限,如表4.4所示。表4.4權限碼表字段名數據類型長度是否允許為空是否為主鍵說明idvarchar36否是UUIDauthority_codevarchar50否否權限碼,唯一性索引authorityvarchar5是否權限updateTimedatetime0否否更新時間createTimedatetime0否否創建時間根據以上表結構,可以得出系統總體表結構如圖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叫細longitudekiulzJm::.::latitudepecple_numactdaletime:!Retimei:E:t_bus_exceptionil◎gps_id:vsrchar(36)message■.;archan23h3ndle_statusmoclify_LiserupdateTime-timec"createTimeatetimefCi圖4.8系統總體表結構5詳細設計5.1系統目錄的文件夾結構在實現系統功能之前,首先搭建項目的整體框架,這會有利于后續項目開發的規范化。在公交車輛運行監控系統中,設計了如圖5.1所示的項目文件夾結構圖。srcmaiojavaIcom.max.busoperationmonitorannotationbeanElco-mpoment二co-n4igco-ntro-llerf mappers-erverterverlmplElutilcBus3perationMonitorApp11cationWresourcesgeneratorUmybatisstaticv template's, analyzeco-mmon[Bhome》managehere日t日hlcigin.htmlappliestion.yml圖5.1項目文件夾結構圖annotation:存放自定義注解文件bean:存放每張數據庫表所對應的實體類文件compoment:存放為SpringBoot框架添加組件的類文件config:存放修改SpringBoot框架默認配置的文件controller:存放控制器層的文件mapper:存放MyBatis框架接口文件server:存放處理復雜的業務邏輯的接口文件serverImpl:存放server文件夾內接口文件的具體實現util:存放公共工具類mybatis:存放MyBatis框架的XML配置文件static:存放靜態資源文件templates:存放具體功能模塊的html頁面

5.2各功能模塊實現5.2.1查詢功能模塊實現當用戶登錄系統后,點擊左側菜單欄公交查詢〉實時公交查詢按鈕,來到查詢公交線路的功能界面。在輸入框內輸入想要查詢的公交車線路名,系統會根據輸入內容自動提示相關的公交線路提供給用戶來進行選擇,輸入提示功能如圖5.2所示:*3BUSMONITORIJ*3BUSMONITORIJEFUS-MQniT&nH首再蟲血Q蕊eia >座我曲詢f >=后號官理 >實時公交查詢歡迎你,maK直推公盆路線k313的間北匚¥始-卜城乳唐疑走)K環雌啟柬咨站-*摂北口岸總我圖5.2輸入提示功能界面點擊選擇要查詢的公交線路的方向,系統就會顯示該公交線路的站點信息和實時公交運行位置,實時公交查詢功能演示如圖5.3所示:

BUSMONITOR□usMONiran.實時公交查詢歡迎你,max?宣找BUSMONITOR□usMONiran.實時公交查詢歡迎你,max?宣找公交睥f[jGE&:城鞏房京清姑-,明LQ岸蕓站:|t城由膏京灣站@CQ>mdD回方鞠梱盲涼市爲詩丄南=FkB眠囲國北M后會修理M后會修理F、中醫力Kwow沁快理尢展KibDwSiS圖5.3實時公交查詢功能演示圖5.2.2監控功能模塊實現當管理員用戶登錄到系統后,點擊左側菜單欄實時監控〉路線監控按鈕,來到路線監控的功能界面。系統默認提供一條線路來進行監控展示,地圖的左上角輸入框內輸入要查詢的公交線路,它會根據所輸入的內容來進行自動提醒,如圖5.4所示:公交線路查詢淺爵名稱13S圖例10?fa口,坤嚴宣圖5.4路線監控輸入提示功能界面wi*膵KT齬 七iSEl二公交線路查詢淺爵名稱13S圖例10?fa口,坤嚴宣圖5.4路線監控輸入提示功能界面wi*膵KT齬 七iSEl二占如用rsss.fiHT旬三眄線;.中心二地髒疳士的在提示欄中選擇相應的公交車線路、點擊查詢按鈕或輸入內容后不做任何操作(系統會自動查詢),系統會去發送請求高德地圖API,通過返回結果來獲取當前線路的詳細信息包括公交行駛路線、站點信息,再去系統后臺數據庫獲取當前實時公交GPS數據并且對返回的公交數據添加上詳細信息(車牌號,車速,載客數,載客率,公交運行狀態)添加到每輛車的實時GPS園標記點里。當點擊地圖上的顏色不同的原點時,地圖就會顯示當前公交車的詳細信息,路線監控功能演示如圖5.5所示:BUSMONITORuuhMdnrrdhQ.會交司9■I—1T詳第佳息X略SCC7713DBUSMONITORuuhMdnrrdhQ.會交司9■I—1T詳第佳息X略SCC7713D牟盅寂■敝50A顎辭:67%‘狀戀:低通圖例正常?二=圖5.5路線監控功能演示圖如果輸入的無效的公交線路名稱,系統會有彈窗來提醒用戶輸入有誤或沒有實際公交的線路,輸入異常如圖5.6所示:localhostlocalhost8080屈示圖圖5.7車輛監控功能演示圖歡迎你「max圖5.6圖5.6輸入異常提醒圖BUSMQNITQR□UCMOhlTDR車輛監控習理壬BUSMQNITQR□UCMOhlTDR車輛監控習理壬后廿管理歡迎■你,max點擊左側菜單欄實時監控->車輛監控按鈕,來到車輛監控的功能界面。在左上角的輸入框內輸入具體要查詢的公交車車牌號,便可以查詢具體公交車的歷史行駛線路,而且還能顯示該公交線路的預期行駛路線,車輛監控功能演示如圖5.7所示:推禮甚肘甌分析蘭敖35盼折交的線路,輸入異常如圖交的線路,輸入異常如圖5.10所示:5.2.3分析功能模塊實現當管理員用戶登錄到系統后,點擊左側菜單欄數據分析〉路線分析按鈕,來到路線分析的功能界面。在輸入框內輸入公交線路名,系統會自動提示相應公交車的公交線路便于用戶進行選擇,路線分析功能和輸入提醒功能如圖5.8、圖5.9所示路線分■析公陌蹈直i可路線分■析公陌蹈直i可些路名稱圖5.8路線分析功能演示圖SUSMONITORBUSMONITOR?首互圖5.8路線分析功能演示圖SUSMONITORBUSMONITOR?首互Q公?5^3 >蘭控?數跡析 >路線分析 歡迎你rmax公更線路査伺場路5稱101。薛 二;「IDAgfi15路筍我 IC1瞄fM珠而Z1C-jg(£^l r:lZ1D49KZ1D19E廣2二產二Z1C5S(J^I -「…產ZlCb^E圖5.9路線分析輸入提醒功能界面如果輸入的無效的公交線路名稱,系統會有彈窗來提醒用戶輸入有誤或沒有實際公ocalhost:a080顯示當前公卷潞沒有歷史運行記錄,這國戴凌線路十雙迎你,maxocalhost:a080顯示當前公卷潞沒有歷史運行記錄,這國戴凌線路十雙迎你,max公交線路查詢線路名稱?查找圖5.10路線分析輸入異常圖5.2.4后臺管理模塊實現當超級管理員用戶登錄到系統后,點擊左側菜單欄后臺管理->異常信息管理按鈕,來到異常信息管理的功能界面,在這個界面可以查看有多少異常狀態的公交車,并且可以對異常狀態的車輛進行查看詳情,查看該異常車輛出現了什么運行時的異常,也可以對當前該異常公交的信息進行刪除操作,異常信息管理界面如圖5.11所示:BUS-MONITORLJBUS-MONITORLJDU*HiOMZT'aft異常信息■管理車叢虧公交垛IS處理M況邊理用戶每后修花.曲薊鳳作車叢虧公交垛IS處理M況邊理用戶每后修花.曲薊鳳作曜-fitsS^'EtE-TH3O2D-D4-MCOOZ52D口;部未批埋system202004-10007059D未處理s^'rtem2Q2OD4-10?蘋風CO7D59D1CK22瀚system^OZD-Da-IOCO7D5SD1Ck22議芫異塔主遷埋syffte-m20ZD-D4-10'C07059D10:23Shewing1to5of-610entriesPrevioji2J4 5hle?t圖5.11異常信息管理界面演示圖點擊具體公交車的查看按鈕后,界面便會顯示該異常車輛的歷史GPS數據記錄點的信息,而且還會顯示該車輛原本應該行駛的公交線路,異常車輛運行如5.12所示:

導常路攜公萱1細二瑋?L0?565D導常路攜公萱1細二瑋?L0?565D歡幽,ma-x■麗I覇皿圖5.12異常車輛運行圖點擊左側菜單欄后臺管理〉用戶管理按鈕,來到用戶管理的功能界面,該界面能對系統中已經注冊了的賬戶進行管理,點擊修改按鈕可以修改用戶詳細信息,點擊刪除按鈕能刪除當前行的用戶,用戶管理界面如圖5.13所示:BUSMONITORBUSMONIT!?H用戶管理BUSMONITORBUSMONIT!?H用戶管理瑯你,maw用戶列表Q4實時監控Ifa蝠個用戶各jser22user2212312直墻公■交文字、址圖伯思、言強異韋公交裝枳浪&肓瞠向安時公Q4實時監控Ifa蝠個用戶各jser22user2212312直墻公■交文字、址圖伯思、言強異韋公交裝枳浪&肓瞠向安時公交立宇沱總所有材艮(統計行折,用戶窖理〕理理=后白管理asdf12^456759苴看彩文字一飪圖佬思、后臺異常公歹■■恿投溟.所與權項[湖分析,用戶咬)PreviousPreviousShowing1to5of3aentries圖5.13用戶管理界面點擊修改按鈕來到修改用戶的界面,如圖5.14所示:

用戶管理用戶詳情用戶名123123枳限査看公交文字、用戶管理用戶詳情用戶名123123枳限査看公交文字、地圖信息、后臺異常公交管理枳限,圖5.14用戶修改頁面5.2.5用戶登錄注冊模塊實現輸入正確的用戶名和密碼則會進入到系統功能的界面,登錄界面如圖5.15所示:圖5.15登錄界面新用戶登錄系統前需要先注冊一個賬戶,如果能提供相應權限的權限碼,則在注冊賬戶的時候能直接賦予相應的權限,否則注冊的賬戶是一個擁有普通權限的普通賬戶,注冊界面如圖5.16所示:ALREADYHAVEANACCOUNT?SIGNIN圖5.16注冊界面圖6軟件測試6.1軟件測試的目的及意義軟件測試在軟件設計開發里面是一個不可缺少的質量檢測環節。它利用軟件測試工具并且按照詳細的測試方案和流程來對系統進行測試。為了檢驗系統輸出的結果是否滿足預期中的結果,需要根據軟件開發的各個階段的需求說明和程序內部代碼來精心設計一批軟件測試用例。雖然在軟件開發的過程中做了大量的質量審查,但由于很難避免機器或人為的問題而出現的錯誤,在系統正式投入到生產環境中使用之前必須要執行嚴格的軟件測試。所以在軟件測試階段最重要的目的及意義就是盡早地發現缺陷并修改缺陷,直至系統能長時間穩定執行系統功能。6.2軟件測試的方法傳統的軟件測試方法包含黑盒測試、白盒測試、灰盒測試等軟件測試方法。黑盒測試也稱為功能測試,測試開始時,只需要把系統當作一個“黑盒”,只需要通過輸入實際的數據給系統,等待系統返回結果,通過查看系統的實際輸出數據是否符合需求的預期結果,該測試方法主要對系統界面功能進行測試。白盒測試也稱為結構測試、透明盒測試。在實際的檢測中,經常與黑盒測試一起使用,首先使用黑盒測試對系統的外部接口進行測試,如果向系統輸入數據,系統輸出的結果和預期中需求中的結果相同,則說明系統內部功能未出現問題,此時從代碼層面來進行測試。如果出現問題,則使用白盒測試方法來對代碼內部結構進行測試,直到解決問題。本系統主要采用了黑盒測試方法來對系統進行功能測試。6.3測試用例6.3.1實時公交查詢測試用例表6.1實時公交查詢輸入提醒功能測試用例實時公交查詢輸入提醒功能描述在輸入框內輸入要查詢的公交線路名,系統會提醒相應公交線路用例目的為了讓系統能否正常輸出提示內容前提條件用戶登錄系統后,點擊實時公交查詢按鈕來到該功能界面實際輸入數據預期輸出實際輸出22路(香洲->城軌珠海站)2路(城軌珠海站->香洲)2路(香洲->城軌珠海站)2路(城軌珠海站->香洲)10a10A路(拱北口岸總站->城軌唐家灣站)10A路(城軌唐家灣站->拱北口岸總站)10A路(拱北口岸總站->城軌唐家灣站)10A路(城軌唐家灣站->拱北口岸總站)2路2路(香洲->城軌珠海站)2路(城軌珠海站->香洲)2路(香洲->城軌珠海站)2路(城軌珠海站->香洲)888無結果返回無結果返回表6.2實時公交查詢測試用例實時公交查詢功能描述系統會顯示該公交線路的所有站點信息和實時車輛的位置信息用例目的為了看系統能否正確的顯示公交的實時位置前提條件在輸入框內選擇系統提示的公交車線路實際輸入數據預期輸出實際輸出2路(香洲->城未進站的公交車在車站之間的位置與預期結果一致

軌珠海站)顯示,進站的公交車則在它相應的公交車站位置顯示6.3.2路線監控測試用例表6.3路線監控輸入提醒功能測試用例路線監控輸入提醒功能描述在輸入框內輸入要查詢的公交線路名,系統會提醒相應公交線路用例目的為了讓系統能否正常輸出提示內容前提條件管理員登錄系統后,點擊路線監控按鈕來到該功能界面實際輸入數據預期輸出實際輸出22路2xx路(多條路線選擇)2路2xx路(多條路線選擇)2路2路2路888無結果返回無結果返回表6.4路線監控測試用例路線監控功能描述點擊查詢按鈕或點擊提示列表公交路線信息,系統會顯示相應公交運行路線,且會顯示實時GPS公交位置用例目的為了讓系統能否正常顯示對應的公交GPS位置前提條件在輸入框內已經輸入要查詢的公交線路名實際輸入數據預期輸出實際輸出輸入10點擊10A路10A路車相關公交車10A路車相關公交車輸入10點擊查詢按鈕10路車相關公交車10路車相關公交車輸入10不做任何操作15秒后顯示10路車相關公交車15秒后顯示10路車相關公交車輸入888點擊查詢按鈕彈窗顯示:“沒有此公交”彈窗顯示:“沒有此公交”表6.5路線監控車輛詳情測試用例路線監控車輛詳情功能點擊不同顏色的公交車原點標記,顯示不同狀況的公交車信息描述用例目的為了讓系統能否正常顯示對應顏色原點標記的車輛詳情信息前提條件公交車線路已經查詢完畢實際輸入數據預期輸出實際輸出點擊藍色原點車輛狀態顯示正常車輛狀態顯示正常

點擊黃色原點車輛狀態顯示超速、低速或串車車輛狀態顯示超速、低速或串車點擊紅色原點車輛狀態顯示改線車輛狀態顯示改線6.3.3車輛監控測試用例表6.6車輛監控測試用例車輛監控功能描述輸入要查詢的具體公交車車牌號點擊查詢按鈕用例目的為了讓系統能否正常顯示對應顏色原點標記的車輛詳情信息前提條件管理員登錄系統后,點擊車輛監控按鈕來到該功能界面實際輸入數據預期輸出實際輸出粵C07759D公交車的歷史GPS位置記錄點公交車的歷史GPS位置記錄點粵C08888D彈窗顯示:“沒有找到相關車輛”彈窗顯示:“沒有找到相關車輛”6.3.4路線分析測試用例表6.7路線分析輸入提醒功能測試用例路線分析輸入提醒功能描述在輸入框內輸入要查詢的公交線路名,系統會提醒相應公交線路用例目的為了讓系統能否正常輸出提示內容前提條件管理員登錄系統后,點擊路線分析按鈕來到該功能界面實際輸入數據預期輸出實際輸出22路2xx路(多條路線選擇)2路2xx路(多條路線選擇)2路2路2路888無結果返回無結果返回表6.8路線分析測試用例路線分析功能描述點擊查詢按鈕或點擊提示列表公交路線信息,系統會顯示相應公交線路的客流圖用例目的為了讓系統能否正常顯示對應的公交的客流量圖表前提條件在輸入框內已經輸入要查詢的公交線路名實際輸入數據預期輸出實際輸出輸入10點擊10A路10A路車客流量圖10A路車客流量圖輸入10點擊查詢按鈕10路車客流量圖10路車客流量圖

輸入888點擊查詢按鈕彈窗顯示:“當前公交線路沒有歷史運行記錄,請更換公交線路”彈窗顯示:“當前公交線路沒有歷史運行記錄,請更換公交線路”6.3.5異常信息管理測試用例表6.9異常信息管理測試用例異常信息管理功能描述點擊查看按鈕能來到對應的公交車的歷史記錄的地圖界面,點擊刪除按鈕能刪除該異常線路的信息用例目的為了讓系統能否正常地修改、刪除異常車輛信息前提條件超級管理員登錄系統后,點擊異常信息管理按鈕來到該功能界面實際輸入數據預期輸出實際輸出點擊查看按鈕來到該車輛的預期行駛路線的地圖,并且會顯示該車輛運行所有的記錄來到該車輛的預期行駛路線的f地圖,并且會顯示該車輛運行所有的記錄點擊刪除按鈕刪除當前異常公交信息刪除當前異常公交信息點擊查看按鈕,并修改異常信息:該線路改線界面會顯示當前公交處理信息已經被修改界面會顯示當前公交處理信息已經被修改6.3.6用戶管理測試用例表6.10用戶管理測試用例用戶管理功能描述點擊修改按鈕能來到對應的用戶的詳細信息界面,點擊冊。除按鈕能刪除該用戶的信息用例目的為了讓系統能否正常地修改、刪除用戶信息前提條件超級管理員登錄系統后,點擊用戶管理按鈕來到該功能界面實際輸入數據預期輸出實際輸出點擊修改按鈕,修改密碼123該用戶的密碼更改為123該用戶的密碼更改為123點擊修改按鈕,修改權限為所有權限該用戶的權限更改為所有權限該用戶的權限更改為所有權限點擊修改按鈕,修改密碼123、權限修改為所有權限該用戶的密碼更改為123、權限更改為所有權限該用戶的密碼更改為123、權限更改為所有權限點擊刪除按鈕刪除當前用戶信息刪除當前用戶信息7總結與展望7.1論文總結為了研究本課題,自己查找大量的公交行業的業務規則,熟悉相關的業務邏輯有利于后續的系統開發。通過查閱國內公交行業的技術論文,了解到公交行業已經做了大量的技術研究,不同的研究成果也逐步地趨于完善。本人開發這套公交運行監控系統的時候參考前人的一些研究成果,雖然只是學到很淺顯的理論知識,但是這足以滿足我完成本系統的開發。除了在校內所學的專業理論知識以外,自己還主動學習更多的主流框架技術以便于應對錯綜復雜的應用環境。本系統基本上使用了主流前沿的技術來進行開發,本研究課題的成果也已達到預期的效果。7.2存在的不足在程序開發之前,自己花費大量的時間去學習新的框架技術。原本學習的時候,似懂非懂的知識點在項目真正開發的時候,才發現自己不懂太多東西了。這才明白實踐的重要性,不單只要學習,而且還要時刻地實操訓練。在項目開始的時候,按著自己腦中的功能需求來開發系統功能,做了一段時間的時候才去查看自己原本的是什么需求,然而已經偏離原項目的需求,后面只能刪除已經做好的功能。這讓我更深刻地體會到需求的重要性,不能偏離需求來開發項目。7.3未來的展望未來學習新技術新技能的時候要立即去實踐,實踐才能知真理。以后接到新項目的時候需要了解清楚系統的整體架構、功能需求等,當遇到自己難以解決的問題,需要學會請教他人。我相信在自己不斷地努力下,未來遇到多大的艱難險阻也要勇于跨越過去。附錄1程序源代碼//先判斷改線、串車情況for(vari=0;i<len;i++)(varbusData=busDatas[i];varInglat=newAMap.LngLat(busData["lon"],busData["lat"]);//if(!AMap.GeometryUtil.isPointOnLine(lnglat,linePathl,30))(//是否改線,判斷是否在路線上,發送到后臺數據庫。兩條路之間大岫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源數據varbusData=busDatas[k];varlnglat=newAMap.LngLat(busData["lon"],busData["lat"]);if((StringBusGps["lng"]==busData["lon"])&&(StringBusGps["lat"]==busData["lat"])){busDatas[k]["status"]=4 〃標記串車}}}}}map.remove(markers); 〃刪除多個markerinfoWindow.close();markers=[];//再填寫并標記車輛,具體位置和詳細信息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. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯系上傳者。文件的所有權益歸上傳用戶所有。
  • 3. 本站RAR壓縮包中若帶圖紙,網頁內容里面會有圖紙預覽,若沒有圖紙預覽就沒有圖紙。
  • 4. 未經權益所有人同意不得將文件中的內容挪作商業或盈利用途。
  • 5. 人人文庫網僅提供信息存儲空間,僅對用戶上傳內容的表現方式做保護處理,對用戶上傳分享的文檔內容本身不做任何修改或編輯,并不能對任何下載內容負責。
  • 6. 下載文件中如有侵權或不適當內容,請與我們聯系,我們立即糾正。
  • 7. 本站不保證下載資源的準確性、安全性和完整性, 同時也不承擔用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。

評論

0/150

提交評論