基于物聯網的智慧停車系統設計與實現 - 14000字_第1頁
基于物聯網的智慧停車系統設計與實現 - 14000字_第2頁
基于物聯網的智慧停車系統設計與實現 - 14000字_第3頁
基于物聯網的智慧停車系統設計與實現 - 14000字_第4頁
基于物聯網的智慧停車系統設計與實現 - 14000字_第5頁
已閱讀5頁,還剩26頁未讀 繼續免費閱讀

下載本文檔

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

文檔簡介

基于物聯網的停車系統設計與實現內容摘要在機動車持有量逐年增加的當下社會環境中,如何合理提高停車場管理系統的穩定性和增加功能性成為了一個日益待解決的問題。本文利用Java語言設計的停車系統輔以物聯網技術,意為改善現有停車場管理方式多以人力化模式為主導的現狀。系統采用MVC設計模式,分層搭建,保障了各模塊的功能實現相互聯系且互不干擾。使用tomcat運行服務器和Eclipse開發環境,數據庫則采用Mysql環境的SQLyog作為數據庫與后端進行交互,另外使用RFID射頻識別和車牌識別技術設計一個停車場管理系統,有停車需求的用戶可在出入場使用多種設備輔助停車系統對其進行身份識別和信息錄入;由管理員主導的權限可對系統內所有信息進行編輯操作。此系統的設計初衷是在現有停車場規劃的基礎上即可便捷安裝,快速使用,目的是顯著提高現有停車場管理水平,提升居民出行安全感,對城市整體形象提升有促進作用。關鍵詞:物聯網;RFID;停車系統;JavaAbstractInthecurrentsocialenvironmentwherethenumberofmotorvehiclesisincreasingyearbyyear,howtoreasonablyimprovethestabilityandfunctionalityoftheparkinglotmanagementsystemhasbecomeanincreasinglyunsolvedproblem.ThispaperusestheJavalanguagetodesigntheparkingsystemsupplementedbytheInternetofThingstechnology,whichmeanstoimprovethecurrentsituationthattheexistingparkinglotmanagementmethodsaremostlydominatedbythehumanizedmode.ThesystemadoptstheMVCdesignmodeandisbuiltinlayers,whichensuresthatthefunctionsofeachmoduleareinterconnectedanddonotinterferewitheachother.UsingtomcattoruntheserverandEclipsedevelopmentenvironment,thedatabaseusestheSQLyogwhichisinMysqlenvironmentasthedatabasetointeractwiththebackend,andalsousesRFIDradiofrequencyidentificationandlicenseplaterecognitiontechnologytodesignaparkinglotmanagementsystem,userswhohaveparkingneedscanenterandleavethepark.Useavarietyofequipmenttoassisttheparkingsystemtoidentifyandenterinformation;administrator-ledpermissionscaneditallinformationinthesystem.Theoriginalintentionofthedesignofthissystemisthatitcanbeeasilyinstalledandusedquicklyonthebasisoftheexistingparkinglotplanning.Thepurposeistosignificantlyimprovethemanagementleveloftheexistingparkinglot,enhancetheresidents'senseoftravelsafety,andpromotetheoverallimageofthecity.Keyword:IOT;RFID;parkingsystem;Java目錄TOC\o"1-2"\u\z\h一、緒論 一、緒論(一)研究背景改革開放幾十余年來,社會主義經濟實現了飛速發展,國內城市化規模和水平有序提高,人民群眾對高檔消費品的需求也逐年上升。家用汽車作為人們出行不可或缺的代步工具,成為每個家庭都有需求的熱門商品。據公安部權威部門統計,截至2022年12月,全國汽車保有量已達3.94億,全年國內新注冊登記機動車3652萬輛,創下同期歷史新高[1]。在此背景下,城市內的停車場會因為沒有得到良好保養或者規劃問題導致道路車流量大,車位少停車難的問題。以往的人工收取現金到現在的非接觸式掃碼方式無法解決汽車保有量迅速上升與停車難之間的沖突。如何有效且合理的分配車位資源已經成為社會和城市管理部門普遍的關注點,同時也對提升社會大眾的生活水平有顯著意義。對于這一現狀,本文設計的停車管理系統應運而生。伴隨著科技的進步,已經出現了針對大型停車場的商業化停車系統,且已經向管理型的方向轉變。基于物聯網的停車系統是可實現可變現的停車場管理技術,利用該系統可以有效改善車位資源限制,提高停車效率,系統可以把公共停車資源和小型停車場資源進行整合,以RFID卡片的方式面對車主查找,從而滿足更多人的出行需求。(二)國內外環境分析目前國內的少數公司已經著手自主研發停車場管理系統,也在部分發達城市進行定點建設[2],其中主要分布在商業街和軍用領域,且數量較為稀少,管理設備規格差距較大,主要依靠保安來管理。雖然增加了就業機會和管理系統的容錯率,但就職人員素質參差不齊,不能完全掌握設備,不懂運行原理。多數現實生活中的相關人員只負責抬桿或巡邏,再加上多數停車場使用按月出租或現金結算等方式[3],停車場據離市區的遠近直接關乎能否體現設備價值的意義。與此同時還有區位地段導致停車場收費普遍偏高的問題,讓商業化、技術層和市政管理部門無法協調統一,達不到發達國家實驗型停車場的可由車主根據停車場外部設立的實體終端完全自由掌握停車節奏的層面。美國的停車誘導系統可以為意向用戶提供完整的路線規劃、車位實時信息,使用狀況,價格等信息,包括基于物聯網的區域停車場聯網管理。但發達國家的建場成本高,管理人員的雇傭成本大,優勢是采用國際領先的硬件保證運行穩定性強,設備制造精度相比國內也有優勢,即使運行時間長也能保證不需要實時人力維護和監控,以長遠的城市建設來說,是一次建設即終身受益的。(三)本文研究內容主要研究內容包括:RFID電子標簽與讀寫器的交互,車牌識別技術,Eclipse、JDK、MySQL環境數據庫服務端和客戶端等技術的實踐,停車管理系統的技術層面設計,以圖表的方式展現設計方案和運行樣本。(四)章節結構本文的主要內容是設計一個停車管理系統和物聯網技術對管理系統的輔助應用,結構如下:第一部分介紹了停車場的現有環境,提出了停車難,管理方所存在的問題,分析了管理系統開發方向,表現了構建停車場管理系統的現實意義。第二部分簡述了所使用的開發工具Java及物聯網技術對系統的輔助,包括技術方向和語言框架,前端使用跨平臺的動態網頁JSP,利用jQuery框架處理數據;java完成對后端的編寫,運用B/S架構。第三部分是系統分析,包括技術可行性,商業性,操作性和功能性四個方向來闡述構建系統的可能,介紹了數據庫的技術層面邏輯,包括業務設計,系統模擬,模型層和控制層等信息,以及物聯網技術對系統的輔助能力,RFID射頻識別和車牌識別技術對實際運行環境下的商業需求必不可少。第四部分是停車場管理系統的系統類分析,系統類分析給出了系統類圖表和類的說明,包括用word實現的類間關系圖;系統包含了用戶類,基于用戶類的內部類,臨時類等,他們的核心意義在于數據庫的功能寫入。第五部分介紹了停車場管理系統的功能實現,用戶登陸界面的展示,系統信息管理界面的圖示,添加了車位管理信息的描述和流程圖、RFID卡信息等模塊。第六部分是系統測設和維護。包括簡單的試錯和登錄反饋檢驗,測試主要做了登陸信息錯誤、臨時占用車位信息是否正確錄入等測試。二、技術相關(一)技術方向為保證停車系統的順利搭建,在經過多方面查證像硬件、開發語言等必要知識后,本文挑選了以下開發平臺和工具:操作系統WIN10Java虛擬機:JDK1.8Java開發工具:EclipseWeb服務器:Tomcat數據庫:MySQL5.7Java是編程語言,具備跨平臺、面向對象、高性能等特性;Eclipse是一個開源的、基于Java的語言平臺,適合編寫java代碼,其由插件組件構建開發環境。本系統利用eclipse開發Web應用。JavaDevelopmentKit常縮寫為JDK,是針對Java使用者的軟件開發工具包。本文安裝的運行環境采用JDK1.8版本來編譯文件。Tomcat服務器是由java語言編寫的開源網頁應用服務器,是適合中小型企業或應用的服務器,本文所構建的小型系統就采用了tomcat。第二原因作為開發和測試JSP程序的首選,其本身就可以視為包含http服務器的單獨的Web服務器[4]。(二)語言框架1.JSP技術JSP的全稱是JavaServer

Page,意為動態網頁技術標準。JSP動態頁面部署在tomcat服務器上,可及時接受前端發送的請求并返回給瀏覽器效果呈現。其優勢是根據用戶的請求內容動態地生成Web網頁,JSP穩定高效的特點適合開發小型系統。2.Jquery框架jQuery框架屬于JavaScript,也是開源軟件。它封裝的代碼塊都是Java中常用的功能代碼,因此也方便java從業者后期更新和維護。其優秀易讀的語法設計簡化了許多原本繁雜的操作,在網頁中使用元素的名稱和屬性作為呈現方式,本系統使用Jquery框架處理數據,實現動態交互等操作。3.B/S結構B/S結構全稱Browser/Server,即瀏覽器,服務器模式。與C/S架構同屬網絡結構模式,例如B/S架構設計的程序會在網頁上呈現,而采用C/S架構的程序多以app等形式出現在PC端,移動端。B/S結構使用Web瀏覽器,將系統功能的主要對象放到tomcat上,縮短了系統的開發周期,利于維護和使用。用戶手機上都有瀏覽器,比如蘋果的Safiri,谷歌的chrome都能使用WebServer對數據庫進行交互操作。圖2.1B/S結構交互流程圖(三)物聯網技術1.RFIDRFID全稱RadioFrequencyIdentification,意為射頻識別,是一種無線通信技術。它通過將無線電的電信號轉化成無線電頻率的電磁場,使用汽車上默認的射頻應答器或者車主手持的RFID卡,返回處理操作后的數據,以此達到自動識別和信息交互[5],提高停車場運行效率。此功能的方便之處在于存世時間長,推廣難度小,卡片制作成本低,即使車輛沒有內置電子標簽,仍然通過RFID卡可以實現識別操作。現有的停車場收費模式主要有兩種:車位注冊制和臨時分配制,車位注冊主要出現在住宅區,停車場在建造初期就會公開售賣車位擁有權,再雇傭人員進行統一管理,此模式停車不需要繳費。臨時配分制多出現在商業區,采用分發物品如專用IC卡,登記號碼等形式,其數量龐大且容易出現丟失問題。依靠停車場管理人員人力核對等容易出現差錯的形式,每當一天結束核算時,往往出現個別對不上帳目的尷尬現狀,同時多數使用臨時分配停車場的車主一般會持有多種類型的卡片,使用過程難免出現紕漏[6]。RFID設備內的讀寫器的PCB主要是天線,我們將其簡化為線圈。讀寫器與IC卡結合在一起,帶有一些無源元件將正弦電流推過天線,因此會產生磁場分布在線圈周圍,最常用的頻率是13.56MHz,即為高頻,此類收發器模塊一般為PN532和RC522。而低頻無線射頻讀寫器則主要是RDM6300,頻率位125KHz。集中用于小型只讀標簽或者電子標簽讀寫。當標簽的天線進入讀卡器磁場時,卡內通過IC產生電壓,這一點與無線充電技術有相似之處。電流通過時使用內置晶體管使其線圈短路,次級電流短路會產生讀寫器想要發送的數據,通常為1kb大小。在振幅中載波電流覆蓋芯片數據,這就是RFID標簽與讀寫器交互的方式[7]。本文基于物聯網的主要功能實現依靠RFID射頻識別:用戶購買RFID電子標簽后,系統會添加此標簽內置的個人信息,由此建立卡對人的專屬個人檔案,同時用戶登錄系統需要賬號密碼,這都是首次建立檔案時需要用戶操作的項目。當用戶通過賬號驗證后會發送到服務端,本文利用的MySQL數據庫實現所有權認證,也就是我們常見的登陸方式。用戶登錄信息認證成功后才能修改個人資料,管理者可查詢按順序或者特定排序方式下的消費記錄,充值記錄,停車位的基本信息,實時車位情況。不僅如此,還可以動態的獲取停車場車位是否閑置。在極端情況下,車位全部被占用,如果其他停車場也使用同樣系統或者實時聯網,也可以實現相關功能,推薦到此停車場的行車路線。由于此項目多由移動設備上開發,且實現難度較大,本文僅僅提出一個停車場管理方的管理系統模型供于參考。2.車牌識別車牌識別技術是基于物聯網的停車管理系統的基本功能。為了保證車牌識別的準確性,在出入口的管理位置,車牌識別攝像頭采用一個攝像頭只檢測一個行車位的安裝計劃,而在停車場內部可使用高清攝像頭同時對區域進行覆蓋。此技術主要依賴于數據采集層部署視頻處理器。視頻處理器是一個圖形處理終端[8],功能主要包括圖像采集功能、視頻循環切換、數據通信等。對于車牌識別攝像頭本身而言,是不具備圖像識別和圖像處理能力的,將車牌識別攝像頭拍攝的圖片發送給視頻處理器進行編輯,一個視頻處理器能夠同時處理多個車牌識別攝像頭發送上來的數據,最后將數據儲存到數據庫中。三、系統分析(一)系統可行性分析本文使用MVC設計模式,全稱ModelViewControlle,是模型-視圖-控制器的簡稱。這種模式是要拆分一個大應用到特定部分,使其都有各自目的。當用戶從瀏覽器請求特定內容的url地址,服務器將發送該請求信息到一個特定控制器,此控制器負責處理來自客戶的請求,并將告知服務器的的其余部分如何處理。控制器相當于一個介質,在模型和視圖兩個模型之間。在控制器收到請求后詢問模型怎么做和返回類型,它只負責發送和接受數據,由模型層處理數據邏輯,與服務器交互,包括驗證保存更新刪除等操作。在模型處理完數據后返還給控制器,控制器得到允許才能與視圖層交互,視圖層將梳理后的數據圖像動態渲染,發送給控制器,最后由控制器呈現給用戶[9]。模型和視圖是不會在過程中有任何交互,這使得創建復雜的應用程序變得容易。模型層提供邏輯操作,同時,視圖層使用JSP動態頁面來助構管理系統實現,控制層采用MVCspring技術處理客戶請求與模型層的交互。(二)系統商業性分析在實際生活中,人工對車輛登記配發卡片往往致使效率緩慢,停車場的效率不高就會導致收益率下降。現有停車場低效率的原因多為人為因素,提高停車場的效率就要依賴于技術的改進。對于那些高端技術提供的接口,待技術引進再后期磨合,具體實現方式需待定。停車系統需要配合高清攝像頭、引進RFID等設備,培養系統維護和管理人員,再加上和物業,當地管理部門的相關協商和磨合等等一系列問題。可以在現有人工管理停車場上安裝這一系統,后續的維護也需要技術人員。為了讓居民首次利用此系統就能快速上手,收費標準必須和規格相匹配,停車環境最好大幅改善,否則會讓大眾抱怨不如原來的人工指揮的停車場。這樣才能方便大規模推廣。所以此系統必須滿足易看易懂易操作的設計原則,同時系統需要配合攝像頭、引進RFID卡技術等,也是在預估范圍內的成本考量。總的來說,應用停車場管理系統是能夠實現長遠收益的。(三)系統操作性分析1.系統登錄順序圖3.1系統登陸順序圖流程介紹:在前端的登錄頁面用戶和管理員輸入用戶名和密碼,接入層接受登錄名和密碼,發送url請求給服務層并調用服務層,服務層處理業務邏輯并調用持久層,持久層與數據庫交互檢查是否存在數據,存在登陸成功跳轉到系統首頁,不成功提示錯誤并返回登錄頁。系統有創建并查看角色、RFID卡、臨時停車、固定停車、車位信息和收費等功能。用戶可以查看并修改自己的多種信息,這些信息是儲存在SQLyog數據庫中,由MVC分層設計保證了其互相獨立和穩定。車位除了它自身的屬性外還具備兩種模式,分別是臨時車位和固定車位,其中臨時車主在進入停車場時,會經過RFID設備和車牌識別攝像頭。他們都會被分配RFID卡,對應兩種卡的種類,臨時和固定,由管理員記錄后分配到系統中供于查驗,初步定價為3元每小時。而固定車主的收費信息則是按月計入或者直接買斷,這兩種模式都是經過市場考驗的成功實例,可供大眾自由選擇的用戶關系屬性圖如下圖所示:圖3.2停車場管理系統ER圖(四)系統功能性分析停車管理系統的系統權限為:管理員。管理員的主要任務是管理包括車位信息,系統信息、IC卡、臨時車主登記、固定車位設鎖等功能。用例圖橢圓代表用例,線條人代表用戶[10],用戶與功能之間是關聯關系,停車場管理系統示意圖如下:圖3.3停車場管理系統用例圖根據系統的設計理念,確定數據庫的實現應包含多種表格以存儲信息,包括用戶表,角色表,車位信息表,RFID卡信息表,臨時車輛停車信息表,固定車輛車位表和收費表。他們的作用不一,共同組成了數據庫。用戶表用來存儲三種用戶,分別是管理員,臨時車主,固定車主,記錄他們的姓名,昵稱,用戶密碼和聯系電話,由最高權限的管理者統一查驗。角色表作用是管理角色信息,后期可以根據實際情況添加更多身份的用戶。車位信息表儲存了車位編號和車位代號,包含他們的具體區域方便車主尋找,以及車位狀態,即它們是否被占用。這一功能也可由停車場的攝像頭動態識別,如果出現系統顯示未使用而攝像頭表明車位被占用的情況,就需要管理人員上前查看。RFID卡負責儲存卡片信息,每個卡在擁有自身編號情況下還擁有車位的編號,即車位綁定RFID卡,一卡對應一車位。卡的擁有者信息,如果是固定車主,就包含他們的房屋地址和車牌。既方便管理人員與車主的交流,也方便了車主的尋找,不用擔心被占用,停車速度也大大提高,增加了停車場進出車輛的效率,變相提高營業額。臨時車輛記錄表則登記臨時車輛的信息,為他們分配臨時RFID卡用于出入停車場,同時系統會記錄他們的入場時間和出場時間并給出需要支付的費用,收費透明有效,避免了人工收費和車主的糾紛。固定車主表用來記錄固定車主的RFID卡和車位信息及他們的入場和出場時間。收費表則用來存儲和管理兩種用戶的收費詳情,用于每天固定時間的利潤核算,借用系統的動態記錄,保證了使用和收費完全可靠可查可驗。數據類型為varchar2可以根據實際要求動態分配儲存空間,有效利用存儲分配。用戶表的創建理念和規格如下圖所示:表3.1User表序號變量名數據類型長度小數位標識主鍵允許空鍵1user_idVarchar2100是是否2role_idVarchar2100否3user_nameVarchar2100否4real_nameVarchar2100否5user_pwdVarchar2100否6user_phoneVarchar2100是角色表的創建理念和規格如下圖所示:表3.2Role表序號變量名數據類型長度小數位標識主鍵允許空鍵1role_idVarchar2100是是否2role_nameVarchar2100否車位信息表的創建理念和規格如下圖所示:表3.3Seat表序號變量名數據類型長度小數位標識主鍵允許空鍵1seat_idVarchar2100是是否2seat_numVarchar2100否3seat_setionVarchar2100否4seat_stateint1否5seat_tagVarchar2100是RFID卡信息表的創建理念和規格如下圖所示:表3.4Card表序號變量名數據類型長度小數位標識主鍵允許空鍵1card_idvarchar2100是是否2seat_idVarchar2100否3user_nameVarchar2100否4user_genderVarchar210否5user_addrVarchar2100否6car_numVarchar2100否臨時車輛記錄表的創建理念和規格如下圖所示:表3.5Temp表序號變量名數據類型長度小數位標識主鍵允許空鍵1temp_idVarchar2100是是否2card_idVarchar2100否3car_numVarchar2100否4entry_datedate00否5entery_timetime00否6out_datedate00是7out_timetime00是8temp_moneyfloat04是固定車主表的創建理念和規格如下圖所示:表3.6Fix表序號變量名數據類型長度小數位標識主鍵允許空鍵1fixed_idVarchar2100是是是否2card_idVarchar2100否3entry_datedate00否4entery_timetime00否5out_datedate00是6out_timetime00是收費表的創建理念和規格如下圖所示:表3.7Temp表序號變量名數據類型長度小數位標識主鍵允許外鍵1role_idVarchar2100是是是否2role_nameVarchar2100是3role_typeVarchar2100是4car_numVarchar2100是5car_moneyVarchar2100是6car_timeVarchar2100是1.控制層展示客戶端使用html協議使用業務邏輯代碼資源,controller端保證了model端與傳輸層之間的聯系。控制器端通過利用和model端一致的java語言訪問和編輯模型對象,同時也是面向請求和相應的一種接口和一些輔助類的實現。在項目的目錄src里的DBUtil包,作為輔助類是為了使Controller層的代碼更好維護和實現一些其他功能。在系統模塊的退出系統功能,代碼封裝在CloseFactory類中。其作用是關閉數據庫與服務器之間的連接,包括取消statement對象和關閉結果集對象。ConnectionFactory類中定義了獲取瀏覽器發送的用戶名,賬號密碼和驅動等對象,在獲取數據源之后才定義鏈接的方法,具體到數據庫驅動注冊和獲取數據庫連接對象。而SQLUTil類中存放的是執行非查詢語句。例如更新插入刪除等操作,確保擁有可執行帶參數sql命令的聲明statement對象,采用字符串拼接的方式執行相應的sql命令。還封裝了執行查詢操作的返回表單型數據的集合和執行標量操作,返回首行首列數據的代碼。由此構成控制器層的代碼實現。2.IOT技術合并RFID是物聯網解決車主身份信息識別的技術。與其他類型的技術相比,由電子標簽,讀寫器及天線組成的系統具備多次覆寫,同時識別,安全穩定等優勢。如何實現射頻無線電波與標簽讀寫設備交換該流程就是數據通信的關鍵所在[11]。在停車場的出入口設立感應組件,與本文涉及的停車管理系統相結合。當車輛進入感應設備范圍內時,系統將收到由攝像頭捕捉到的車輛信息,欄桿控制器指令由管理員控制,在經過數據的錄入和保存后才可以放行。RFID卡內的標簽射頻接收器會收到由讀寫器發出的射頻信號,RFID卡內標簽芯片更改費用后由標簽天線再發送給讀寫器天線,RFID讀寫設備掃描本系統存在的電子標簽信息。如果存在就直接通知管理員開閘,如果失敗則由管理員發放臨時RFID停車卡。停車卡上顯示了停車位置方便車主尋找,由讀寫器主機發送給數據處理系統[12],也即是本文設計的停車管理系統。圖3.4RFID射頻識別流程圖車牌識別算法是基于物聯網的停車管理系統的基本功能。為了保證車牌識別的準確性,車牌識別攝像頭可在出入口處采用一個攝像頭檢測一個車輛的安裝方式。而在停車場內部,可將高清攝像頭部署在開闊區,同時對多個區域監控。在數據采集層部署視頻處理器,視頻處理器是一個圖形處理終端。視頻處理器功能主要包括,圖像采集功能,視頻循環切換和數據通信。對于車牌識別攝像頭本身而言,是不具備圖像識別和圖像處理能力,將車牌識別攝像頭拍攝的圖片發送給視頻處理器進行處理,一個視頻處理器能夠同時處理多個車牌識別攝像頭發送上來的數據,最后將數據儲存到數據庫中,在停車系統中查看。圖3.5配有IOT設備的停車場管理系統四、系統設計本章就是具體的系統設計方向,所包含的是系統類。其用來將從數據庫查詢出的結果封裝到實體包DAL中,對系統類進行刨析,逐一展示和說明它們的作用和屬性,其中不包含輔助類。即使某些類沒有屬性或者方法,也會列出具體聯系。正是這些類包將html文件轉換為jsp動態頁面并賦予獲取和傳遞參數的能力(一)USER類USER類用于獲取登記的使用者信息,并執行查詢操作來完成增刪改查的功能,包含多種方法:獲取當前頁面用戶信息、獲取分頁后用戶信息、在有查詢條件的情況下、根據查詢條件sqlWhere獲取分頁后用戶信息、更新刪除和插入用戶信息、檢查插入的主鍵即用戶名是否重復、在頁面右下角獲取分頁總數、根據查詢條件獲取所有分頁數,如下圖所示:表4.1User類功能實現表類功能描述保存和執行與用戶相關的業務邏輯所在包名稱DAL類屬性權限屬性類型名稱描述長度PublicStringUser_id用戶ID最多10位PublicStringUser_name姓名最多10位PublicStringUser_pwd密碼最多10位主要實現方法權限屬性方法名稱輸入參數類型輸出參數方法功能描述PublicLogin.JspStringid,StringpwdString登陸系統,用戶輸入ID和PASSWORD后進行驗證,驗證通過則獲取參數,返回用戶名;驗證失敗返回登陸頁面并提示原因。PublicLogout.jspStringidVoid注銷系統,注銷成功會清理用戶的登錄信息并返回給數據庫。(二)User內部類User內部類逐層嵌套,由Fixed類、Temp類、Role類、Card類、Seat類組成。類中的所有方法通過執行查詢操作與數據庫交互,實現數據的增刪改查。Fixed類記錄的是系統中的固定車主信息,設計的方法有獲取固定車主出入記錄信息、獲取未出場車輛、根據查詢條件sqlWhere獲取分頁后固定車主出入記錄信息、更新刪除和插入固定車主出入記錄信息、根據固定車主出入記錄表編號獲取固定車主出入記錄信息、檢查插入主鍵即記錄編號是否重復、獲取右下角分頁總數、根據查詢條件獲取所有分頁:表4.2Fixed類功能實現表類功能描述處理和固定車主的業務操作所在包名稱DAL類屬性保護屬性類型名稱描述長度PublicStringFix_id記錄編號最多10位PublicStringCard_idIC卡號最多10位主要實現方法保護屬性方法名輸入參數輸出參數方法功能描述PublicUpdateStringFix_id,StringpwdInt在固定車主信息頁面,可修改信息PublicDeleteStringFix_idVoid在固定車主信息頁面,可刪除信息Temp類記錄臨時車主信息,設計的方法有獲取臨時車主出入記錄表信息、根據查詢條件sqlWhere獲取分頁后臨時車主出入記錄表信息、更新插入和刪除臨時車主出入記錄表信息、根據臨時車主出入記錄表編號獲取臨時車主出入記錄表信息、檢查插入主鍵即車輛編號是否重復、獲取右下角分頁總數、根據查詢條件獲取所有分頁:表4.3Fixed類功能實現表類功能描述處理臨時車主的業務操作所在包名稱DAL類屬性保護屬性類型名稱描述長度PublicStringTemp_id記錄編號最多10位主要實現方法保護屬性方法名輸入參數輸出參數方法功能描述PublicUpdateStringTemp_idInt在臨時車主信息頁面,可修改臨時信息PublicDeleteStringTempVoid在臨時車主信息頁面,可刪除臨時信息Role類記錄的是所有角色信息,包含管理員、臨時車主、固定車主的個人信息,設計的方法:獲取角色信息、根據查詢條件sqlWhere獲取后角色表信息列表、刪除角色表信息、根據角色表編號獲取角色信息、檢查插入主鍵即角色編號是否重復、獲取頁面右下角的分頁總數、根據查詢條件獲取所有分頁:表4.4Role類功能實現表類功能描述角色管理所在包名稱DAL保護屬性類型名稱描述備注PublicStringRole_id記錄編號長度限制10位主要實現方法保護屬性方法名輸入參數輸出參數方法功能描述PublicInsertStringRole_idInt增加角色PublicDeleteStringRole_idVoid刪除角色Card類記錄的是RFID卡信息,設計的方法:獲取RFID卡表信息,獲取下一頁后RFID卡表信息、根據查詢條件sqlWhere獲取RFID卡表信息、更新刪除和編輯RFID卡表信息、根據卡編號獲取RFID卡信息、檢查插入主鍵即卡編號是否重復、獲取頁面右下角的分頁總數、根據查詢條件獲取所有分頁:表4.5Card類功能實現表類功能描述處理RFID卡相關業務所在包名稱DAL類屬性保護屬性類型名稱描述長度PublicStringCard_id記錄編號最多10位主要實現方法保護屬性方法名輸入參數輸出參數方法功能描述PublicUpdateStringCard_idInt在RFID卡信息頁面,可編輯RFID卡信息PublicDeleteStringCard_idVoid在RFID卡信息頁面,可刪除RFID卡信息Seat類記錄的是車位信息,設計的方法:獲取車位信息、獲取未分配的車位、獲取分頁后車位信息、根據查詢條件sqlWhere獲取分頁后車位信息列表、更新編輯和刪除車位信息、根據車位表編號獲取車位信息、檢查插入主鍵即車位編號是否重復、獲取頁面右下角的分頁總數、根據查詢條件獲取所有分頁:表4.6Seat類功能實現表類功能描述處理車位信息相關業務所在包名稱DAL類屬性保護屬性類型名稱描述長度PublicStringSeat_id記錄編號最多10位主要實現方法保護屬性方法名輸入參數輸出參數方法功能描述PublicUpdateStringseat_id,StringSeat_NameInt在車位信息頁面,可編輯信息PublicDeleteStringSeat_idVoid在車位信息頁面,可刪除信息五、停車系統的設計(一)業務設計1.系統登錄順序圖5.1系統登陸流程圖流程介紹:在登錄頁面前端用戶和管理員輸入用戶名和密碼,接入層接受登錄名和密碼,發送url請求給服務層并調用服務層,服務層處理業務邏輯并調用持久層,持久層與數據庫互動檢查是否存在數據。存在登陸成功跳轉到系統首頁,不成功提示錯誤并返回登錄頁六、停車管理系統的實現(一)用戶登錄登錄模塊界面如圖所示:圖6.1系統登錄界面界面描述:登陸頁面提供給使用者個人進行登錄,由后端對獲取到的用戶名和密碼進行驗證。再然后是數據庫與持久層的交互,系統在SQLyog數據庫中搜索用戶輸入的登錄信息是否存在,不存在則提示出錯并且返回登錄頁面。出于對系統穩定性和保護性的考量要求,系統不開放兩位車主同時登錄的權限,這在一定程度上會引起車主按照進入順序進行登陸的有序等待且利于管理員操作,提供了停車場整體的秩序保證。登錄功能代碼主要封裝了對登陸數據表單提交的代碼,login.java類中包含檢測用戶登陸信息是否合法。根據用戶ID獲取用戶名同時獲取角色ID的信息,下面展示定義的這些方法:publicclassLogin{publicbooleancheckLogin(Stringuser_id,Stringuser_pwd){ StringsqlCmd="selectcount(*)fromuserwhereuser_id=?anduser_pwd=?"; Object[]objList=newObject[2]; objList[0]=user_id; objList[1]=user_pwd; Stringresult=SQLUtil.excuteScalar(sqlCmd,objList).toString(); if(result.equals("1")) { returntrue; } else{ returnfalse; } }publicStringgetName(Stringuser_id) { StringsqlCmd="selectuser_namefromuserwhereuser_id='"+user_id+"'"; Stringresult=SQLUtil.excuteScalar(sqlCmd,null).toString(); returnresult; }publicStringgetSysLevel(Stringuser_id) { StringsqlCmd="selectrole_idfromuserwhereuser_id='"+user_id+"'"; Stringresult=SQLUtil.excuteScalar(sqlCmd,null).toString(); returnresult; }}(二)系統信息管理模塊添加角色信息如下圖所示:圖6.2新增角色界面管理角色如圖所示:圖6.3管理角色信息界面添加用戶信息界面如下圖所示:圖6.4添加用戶信息界面管理用戶界面如圖所示:圖6.5管理用戶信息界面功能描述:上述模塊是對使用者信息的添加和查看,管理員有權限對所有用戶的信息進行編輯操作,此外也有權限新增角色。這一點主要考慮現實生活中可能遇到不同的情景,系統開發過程中難以面面俱到,所以開放了這一模塊。添加的同時后端的SQLyog數據庫進行驗證,若之前沒有存在則添加數據成功,否則提示重復添加,添加失敗并刷新頁面。管理角色模塊中管理員可以根據角色編號,角色名稱進行查詢操作,包括編輯和刪除。添加用戶模塊通過首次創建用戶編號、選擇角色名稱、用戶手動輸入昵稱、姓名、密碼和電話點擊確定后同樣進行后端SQLyog數據庫的驗證,若已經存在重復信息則提示添加失敗并返回重復字段位置,添加成功則刷新并提示已經添加。管理用戶模塊中管理員可以的查詢條件包括用戶編號、角色名稱、真實姓名、用戶昵稱,同樣可以進行編輯和刪除操作。系統信息管理操作步驟流程圖如下圖所示:圖6.6停車場管理系統操作流程圖(三)車位信息管理模塊添加車位信息頁面如圖所示:圖6.7添加車位信息界面管理車位信息頁面如圖所示:圖6.8管理車位信息界面功能描述:該模塊對車位資源進行登記處理。它通過添加車位信息可以對車位編號,所屬區域和車位信息進行額外備注,管理員經過確認RFID卡信息手動輸入進系統后將此車位標記為占用,所屬車位也會根據攝像頭進行實時拍照,確保車主權益。若與車主確認后,車主同意后則可將車位供于多種使用方式。添加后會自動跳轉到到管理車位信息界面。管理車位信息界面會提供車位ID、車位編號、所屬區域、車位狀態和車尾備注給管理員和用戶,保證信息公開透明,而管理員則有權限對管理頁面的所有信息進行操作。管理員對車位的可編輯選項設置在eclipse工具的seat類中。該類擁有多種操作方法,包括獲取車位信息、獲取未分配的車位、根據查詢條件sqlwhere搜索并顯示車位信息、檢查主鍵及位置ID是否重復、若重復則提示添加失敗、告知原因并刷新頁面、添加成功則告知用戶,還有增添、編輯、更新和刪除等常規操作該類中、在模塊中根據數據儲存量顯示右下角分頁總數,管理員還可以規劃查詢條件查看符合要求的數據頁數,由每頁最多15行數據則可推斷出數據規模。車位信息管理模塊的流程圖如圖所示:圖6.9車位信息管理模塊流程圖(四)IC卡信息管理添加IC卡界面如圖所示:圖6.10添加RFID卡信息界面功能描述:添加RFID卡類型提供了多種內容供管理員或用戶手動添加,保證RFID卡使用環境下一卡對一車位,一卡對一車主。同時對安全性做出保障,如果用戶丟失RFID卡片,則可向管理員提供車牌號,車位等證明身份的個人信息,管理員查驗后可補發RFID卡,此卡僅能在停車系統內使用。在對RFID卡的身份寫入成功后跳轉到管理RFID卡類型界面。在管理頁面可查看RFID卡編號、車位編號、用戶名稱、用戶性別、家庭住址、車牌號碼等個人信息,管理員也有權限對其進行增刪改查,車主也有權限查看自己的信息是否正確。(五)固定車主停車管理固定車主出入場設置界面如圖所示:圖6.10記錄出入場界面功能描述:固定車主停車管理由管理員進行登記,由攝像頭識別并提供到系統,車主入場就會添加到場內信息。出場情況下也可手動刪除,保證停車場內部車輛行停現狀穩定可查,提高停車場運行效率。而在管理入場車輛信息頁面中,可由記錄編號,RFID卡號,車主名稱,車主手機號碼,對出入時間點進行登記,安全可靠。圖6.11顯示停車信息流程圖固定車主停車模塊流程圖如圖所示:1.臨時車主停車管理功能描述:臨時車輛停車管理模塊提供了車主入場時的注冊信息。由管理員登記入系統后發給行車人RFID卡,再由卡的顯示信息告知停車人車位具體位置,方便尋找,提高了停車效率,這些都是以往的停車場不能擁有的功能,體現了本系統的設計合理性。車主出入場信息包含了臨時編號,臨時RFID卡號,車牌號碼由攝像頭捕捉后發送到系統,以及出入場時間的記錄,停車費用這一關鍵盈利項,具體實現效果如下圖所示:圖6.12車主出場信息界面(六)密碼修改密碼修改界面如圖所示:圖6.13個人密碼修改界面功能描述:密碼修改供于所有用戶,包括管理者和停車用戶,其密碼再修改后會覆蓋到SQLyog客戶端,數據庫也會隨之更新,保證了停車信息安全性。七、系統測試停車系統的設計采用MVC分層模式,各模塊的搭建互相聯系又互相獨立,單一模塊出現bug并不會影響其他模塊正常使用,而修改出錯代碼則需要系統維護人員操作,停車場管理人員并沒有權限修改系統代碼。從常規角度出發,此停車管理系統雛形出現后也會進行多項實驗性測試和調節,調試過程雖然也出現了個別bug和請求路徑查詢失敗、請求資源文件不存在等錯誤。在經過作者實際修改后的項目不會出現影響系統正常運轉的問題。現在系統已經趨于成熟,可投放到現實環境中接受檢驗。當停車場管理員熟悉了本系統后,使用起來會更加得心應手,降低了人工巡邏,管理者保障安全的疲倦感,也可改善停車場雇傭人員的工作態度。(一)用戶登錄調試表7.1登錄內容情況測試表編號動作期望的輸出響應實際情況合格情況1數據庫內未存在的用戶名,不填寫密碼瀏覽器提示用戶名或密碼錯誤瀏覽器提示登錄名或密碼錯誤合格2正確的用戶名輸入錯誤的密碼瀏覽器提示用戶名或密碼錯誤瀏覽器提示登錄名或密碼錯誤合格3錯誤的用戶名輸入正確的密碼瀏覽器提示用戶名或密碼錯誤瀏覽器提示登錄名或密碼錯誤合格4不填寫用戶名及密碼瀏覽器提示用戶名或密碼錯誤瀏覽器提示用戶名或密碼錯誤合格當登陸出現錯誤時出現以下圖示:圖7.1系統登錄錯誤效果展示圖(二)臨時占用車位測試表7.2臨時車位占用信息遞

溫馨提示

  • 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
  • 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯系上傳者。文件的所有權益歸上傳用戶所有。
  • 3. 本站RAR壓縮包中若帶圖紙,網頁內容里面會有圖紙預覽,若沒有圖紙預覽就沒有圖紙。
  • 4. 未經權益所有人同意不得將文件中的內容挪作商業或盈利用途。
  • 5. 人人文庫網僅提供信息存儲空間,僅對用戶上傳內容的表現方式做保護處理,對用戶上傳分享的文檔內容本身不做任何修改或編輯,并不能對任何下載內容負責。
  • 6. 下載文件中如有侵權或不適當內容,請與我們聯系,我們立即糾正。
  • 7. 本站不保證下載資源的準確性、安全性和完整性, 同時也不承擔用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。

評論

0/150

提交評論