




版權說明:本文檔由用戶提供并上傳,收益歸屬內容提供方,若內容存在侵權,請進行舉報或認領
文檔簡介
第1章緒論1.1研究背景近年來,隨著我國經濟的高速發(fā)展,私家車的數(shù)量呈逐年增長的態(tài)勢,它為在小區(qū)居住的居民們帶來了出行上的便利的同時,也為管理這些車輛帶來了新的挑戰(zhàn)。有關數(shù)據(jù)表明,在我國,一線城市現(xiàn)有私家車擁有量是停車輛數(shù)量的1.25倍,在三四線城市甚至是兩倍之多,而在交通狀況比較優(yōu)秀的西方國家車輛與車輛比例早已超過三倍。經常出現(xiàn)車輛在路上亂停亂放的現(xiàn)象,而在小區(qū)中,還存在空閑的車輛可供使用,為了解決這一問題,一套智能化、私人制以及高可靠的小區(qū)停車場管理系統(tǒng)能夠更好的為社會提供服務。為小區(qū)的車輛管理以及緩解道路車輛亂停亂放的現(xiàn)象提供了可靠的解決方案[1]。1.2研究意義本文主要將共享車輛的概念運用到小區(qū)當中,使得車輛在各種情況下保證能被最大程度的使用。傳統(tǒng)的小區(qū)停車場管理系統(tǒng)只能管理小區(qū)的固定車輛,而在遇到固定車輛無需停放或臨時車輛需要停放的情況下,車輛就無法實現(xiàn)最大利用率,從而增加了道路擁堵的風險。而開放小區(qū)的臨時車輛以及空閑的固定車輛供大眾共同使用,解決了道路安全的一個痛點,一定程度上解決了目前停車難的問題。對于提升道路的安全性,以及幫助小區(qū)創(chuàng)收發(fā)揮了正面的作用。1.3國內外研究現(xiàn)狀1.3.1國內研究現(xiàn)狀中國城市化進程加速,停車問題普遍。人口增長與汽車保有量攀升,停車資源不足,很多城市停車位緊缺[1]。為解決停車難題,許多大型住宅區(qū)、商業(yè)綜合體和辦公樓等紛紛引入停車信息管理系統(tǒng)。停車信息管理系統(tǒng)是一種利用信息技術解決停車管理問題的方案[2]。一般而言,該系統(tǒng)具備以下特點:住戶或車主可提前利用該系統(tǒng)預約停車位,避免無法找到空位的困擾[3]。預約可通過手機應用、網(wǎng)站等方式完成,提供便利、迅速的預約服務。1.3.2國外研究現(xiàn)狀在國外,停車信息管理系統(tǒng)在許多國家和地區(qū)得到廣泛應用。在發(fā)達國家,如美國、加拿大、英國和澳大利亞,城市停車管理已相對成熟,停車信息管理系統(tǒng)被廣泛應用于住宅區(qū)和商業(yè)區(qū)[4]。為了增加停車場的使用率和效率,如今的系統(tǒng)采取了多種技術手段,如傳感器、車牌識別技術和智能支付等[5]。這些技術的運用使得車輛的進出管理和收費過程實現(xiàn)了自動化。同時,停車場通常會設置傳感器來監(jiān)測車輛的進出情況。探測車輛存在和移動的有效工具包括地面線圈、紅外線傳感器設備和攝像頭等不同類型的傳感器設備。車牌識別技術利用攝像頭更好的捕捉車輛的車牌號碼,并與車輛信息數(shù)據(jù)庫進行匹配比對。該技術可用于自動車輛辨識、實現(xiàn)無感支付,以及管理進出口權限和停車信息。停車信息管理系統(tǒng)通常與智能支付系統(tǒng)集成,方便車主支付停車費用[6]。支付方式包括手機應用、自動扣款和預付費卡。停車場信息管理系統(tǒng)在國內外不斷演進和創(chuàng)新,人們正在嘗試采用智能停車導向系統(tǒng)、無人停車系統(tǒng)、車輛共享管理系統(tǒng)等新技術和解決方案,以提高停車場管理的智能化、便捷化和效率化水平。1.4研究內容為進一步提升社區(qū)停車工作的效率,實現(xiàn)對車輛的統(tǒng)一管理,便于社區(qū)物流工作的主動性和準確性,采用java語言進行了車輛管理信息系統(tǒng)的設計。本課題將研究開發(fā)一套以JavaWeb為基礎的城市停車管理平臺,通過對城市停車管理的研究,解決目前以紙質登記為主要內容的低效、不規(guī)范的狀況,達到便捷、高效、可靠、規(guī)范的機動車管理。該項目的成功實現(xiàn),將有力推進社區(qū)管理工作向信息化和現(xiàn)代化的方向發(fā)展,在實踐中有著重要的現(xiàn)實意義。文章以一個大規(guī)模的MIS的研制為背景,闡述了怎樣根據(jù)該系統(tǒng)的要求,把各種先進的軟件與車載MIS相融合,實現(xiàn)一個完整的車載MIS。編程語言的執(zhí)行.本文對系統(tǒng)的背景及意義作了簡單的說明,并對其的研制與實施進行了詳細的說明,詳細地分析了整個系統(tǒng)的需求分析,方案論證,模塊設計,數(shù)據(jù)庫設計等方面的詳細分析與說明,特別是針對車載管理信息系統(tǒng)所采用的方案和設計。1.5論文結構第一章為緒論,闡述了論文的選題背景和意義,以及研究的重點。第二章詳細介紹了該平臺的開發(fā)與實施,重點介紹了Java語言,springboot體系結構以及Mysql數(shù)據(jù)庫等相關技術。第三章主要介紹了系統(tǒng)的整體架構、系統(tǒng)架構以及系統(tǒng)的作用。然后,從可操作的視角對其進行綜合解釋;在此基礎上,通過對各個功能模塊的職權范圍進行了細致的剖析和闡述,進而說明了本系統(tǒng)的可行性。第四章是軟件的設計,該部分主要分為兩大部分:一是軟件的整體設計,二是建立一個數(shù)據(jù)庫。該體系的設計思想是通過流程框圖、函數(shù)框圖的形式來表示一些特定的屬性與函數(shù),并通過函數(shù)關系圖將其在操作中的具體體現(xiàn)出來。第五章:對該軟件的主要功能進行了描述,在對其主要功能進行描述的基礎上,給出了相對應的界面,接著對界面進行了詳細的描述和說明。第六章是最后一章,對論文主題系統(tǒng)的發(fā)展過程進行了歸納和概括,對論文的結構進行了預測,確定了論文的結構,并比較全面地概括了論文從前言一直到最后的整個過程。第2章開發(fā)工具及相關技術2.1Java技術(1)Java具有很強的跨平臺自主能力;(2)面向用戶。(3)安全保障;(4)有各種不同的函數(shù);(5)利用不同的程序設計方法,使代碼的表示更加有效和準確。Java語言在各種平臺上運行良好。該軟件是用Java語言寫的,這樣就不用再用編譯器對其進行升級了。這個程序可以很容易的應用在各種計算機上,比如Windows,Linux,不管什么計算機系統(tǒng),都可以很容易的運行。該軟件已被編譯,能夠在任意的環(huán)境下執(zhí)行。Java的可移植性非常好,可以很容易的在各種平臺上使用。乍一看來,JavaScript與Java有著相當大的難度,但是它們卻是兩種截然不同的發(fā)展語言。Java是一門面向對象的編程語言,JavaScript則是一門新興的高層語言,它能與其它的語言組合在一起,創(chuàng)造出更加復雜,更加豐富的程序,并帶來更多的負面影響。2.2MySQL數(shù)據(jù)庫MySQL是一個功能很強的數(shù)據(jù)庫,其數(shù)據(jù)結構比較先進,運營商可以很容易地對高層數(shù)據(jù)結構進行操作和應用,其語言簡單、多而強,能夠儲存大量的數(shù)據(jù)。其主要實現(xiàn)了對數(shù)據(jù)的檢索與編制。另外,不同的數(shù)據(jù)庫的系統(tǒng)也可以通過同一個界面進行輸入和管理,這樣就可以實現(xiàn)數(shù)據(jù)的快速轉換和存取,同時MySQL的數(shù)據(jù)庫還具有很好的彈性,可以按照客戶的需要迅速地對數(shù)據(jù)的存儲方式進行調節(jié),從而達到快速高效的數(shù)據(jù)處理。SQL數(shù)據(jù)庫具有很強的能力,與其它軟件相比,其代碼結構比較簡單,大多數(shù)工作都是由少量的代碼來實現(xiàn)的,所以,SQL數(shù)據(jù)庫的設計語言更簡明、更易于理解和應用。是一種可伸縮的資料庫檔案。MySQL數(shù)據(jù)庫以其特有的特點,可以對不同類型的數(shù)據(jù)庫進行統(tǒng)一的處理,使其可以方便地對不同類型的數(shù)據(jù)進行高效的存取。MySQL的數(shù)據(jù)庫具有很好的可擴充性,性能也很好。一般來講,要在其他的程式中執(zhí)行一個特殊的功能,往往要耗費很多的功夫,而利用SQL資料庫,卻可以節(jié)省許多程式碼。MySQL是一種很簡潔的程序設計,其數(shù)據(jù)庫文件也叫做MySQL。2.3B/S結構BROWSER/SERVER架構允許用戶使用多種瀏覽器來訪問,從而提高網(wǎng)絡的性能和穩(wěn)定性。相較于C/S架構,這種架構可以在不需要安裝任何軟件的情況下輕松實現(xiàn)。BROWSER/SERVER架構的基本思想是,通過部署一個遠程服務器,可以實現(xiàn)對Internet上所有電腦的快速訪問和控制。BROWSER/SERVER架構的設計為用戶提供了一種令人滿意的操作體驗,它能夠在任何環(huán)境中輕松運行,讓您的操作更加便捷。B/S架構允許用戶在任何地點、任何時間訪問和使用系統(tǒng)網(wǎng)站,從而大大提高了用戶的體驗和便利性。B/S架構允許程序可以安裝在虛擬主機或者其他高性能的服務器上,以便實現(xiàn)跨越多個地點的遠程訪問和交換。第3章系統(tǒng)分析3.1系統(tǒng)可行性分析從經濟性角度出發(fā),本文擬利用SpringBoot架構,建立一套適合于城市住宅小區(qū)的停車管理系統(tǒng)。本項目的研究目的是為了給居住在社區(qū)中的住戶們提供更便捷、更快速的停車。合理利用已有的停車空間,合理利用已有的停車空間,能有效提升停車效能,降低交通擁擠。因為這個軟件采用的技術和開發(fā)的程序都是經過開發(fā)的,因此這個軟件的編寫費用很少。同時,其用途非常廣,研制周期不會太久,并且可以為每個小區(qū)提供非常便利和便利的管理經驗,所以,這個系統(tǒng)有很大的發(fā)展?jié)摿Γm用領域也非常廣闊,各大小區(qū)都可以采用這個小區(qū)停車場管理系統(tǒng),由此可以產生非??捎^的收益,所以從經濟性上來說,這個系統(tǒng)是非常實用的。在技術層次上,本文選擇了基于SpringBoot架構的軟件平臺。此架構可擴充性強,彈性大,可迅速建立整個系統(tǒng)。同時,該系統(tǒng)還提供了多個程序設計語言以及相應的數(shù)據(jù)庫系統(tǒng),使其能夠適應各種應用場合的需要。就科技而言,這一體系也十分可靠[7]。本系統(tǒng)是以計算機系統(tǒng)為基礎進行研發(fā)的,就當前而言,計算機系統(tǒng)的科技水平比較高,計算機的發(fā)展和應用越來越多,大家都能看出計算機的發(fā)展?jié)摿?,各種不同的系統(tǒng)也在計算機中誕生,這種無需下載就可以使用的系統(tǒng),而且用戶也非常喜歡使用,所以從技術上來說,本系統(tǒng)也具有可行性。從系統(tǒng)的運作角度來看,由于軟體的難易程度,會對使用者的感覺及使用者的數(shù)量有較大的影響,因此,必須加以考量。而在互聯(lián)網(wǎng)的發(fā)展下,計算機的應用也變得更加廣泛,計算機的功能幾乎都是一樣的,用戶可以在沒有任何提示的情況下,自行運行一臺新的計算機,其操作的困難程度對于普通人而言根本不算什么,每個人都非常熟悉,很快就可以掌握。由于該體系采用了B/S體系結構,所以無需另外下載任何軟件,可以在各種瀏覽器上運行。所以,從實際操作上來說,本方案也具有可行性。從目前的立法來看,在法律上,制度的各個方面都經過了嚴格的考量,并沒有違反相關的法規(guī),并且因為它的研發(fā)難度較低,所需的經費也較少,技術上的需求也相對較小。無論從運行還是從其它的角度來看,這個制度都沒有什么違法的地方,所以從法律上來說,這個制度并沒有什么問題。3.2系統(tǒng)的數(shù)據(jù)分析所設計的系統(tǒng)要求的是精確的,沒有任何的誤差,而且這些數(shù)據(jù)也是有彈性的。在對變更后的數(shù)據(jù)進行修改以及對變更后的數(shù)據(jù)進行同步處理時,必須保證數(shù)據(jù)的準確性,否則會帶來很多不便。其次,所設計的系統(tǒng)必須具備兩種特征:一是保持一致性,二是完整性。眾人所知,計算機系統(tǒng)上的一組數(shù)據(jù)是可以實現(xiàn)共用的,所以在設計的時候,一定要保證這些數(shù)據(jù)的外觀是一致的,以便于不同的編程和維修人員能夠更好地完成同一個系統(tǒng)的創(chuàng)作和維護。三是要實現(xiàn)信息的共享與獨立。在計算機的整個壽命周期過程中,包括從前期研發(fā)到后期的測試和維修,都要具有共享性,而且要確保其數(shù)據(jù)具有某種程度的獨立性。從一個開發(fā)商的設計者的視角來看待這個問題,因為數(shù)據(jù)的獨立性比較弱,這就會讓計算機系統(tǒng)的開發(fā)變得非常復雜且困難,因此,在開發(fā)的時候,要采用比較靈活的開發(fā)方式,能夠獨立地運行,并且要盡量避免出現(xiàn)錯誤。3.3系統(tǒng)性能需求分析從安全角度來說,本社區(qū)的停車場管理系統(tǒng)因為能夠適用于各種瀏覽器,所以它擁有大量的使用者和管理者的資料,在這些應用軟件中,需要構建一個安全的機制和權限設定,來保證操作的使用者的合法,阻止非法的行為。在確保用戶鏈接可信、增強鏈接可信的基礎上,對用戶的隱私進行了有效的保護,使其對用戶的個人數(shù)據(jù)的安全性有了明確的保護。從系統(tǒng)的穩(wěn)定性來說,社區(qū)停車場管理系統(tǒng)應用范圍很廣,所以它的工作要求是穩(wěn)定、可靠、效率高,所以在對其進行功能劃分的時候,要避免它們之間存在較大的依賴性,從而保證了系統(tǒng)的穩(wěn)定,提升了使用者的使用舒適性。3.4系統(tǒng)總體功能分析本系統(tǒng)按照小區(qū)車輛管理的需要,開發(fā)效率更高的管理系統(tǒng)。國內的大部分小區(qū)車輛都由人工管理,這樣會導致管理效率慢,除此之外隨著我國私家車數(shù)量的增多,停車難現(xiàn)象越發(fā)嚴重,為了能夠解決這些問題實現(xiàn)車輛的充分利用,從而搭建小區(qū)停車場管理系統(tǒng),加強小區(qū)車輛管理,提高效率,實現(xiàn)智能、網(wǎng)絡、信息化。小區(qū)停車場管理系統(tǒng)在實際應用過程中,管理員和用戶均各有不同的需求。對于管理員來說,要對車主用戶進行停車收費,每次收費及各類信息等進行查詢,必須要小區(qū)管理人員人工翻閱記錄,又費時間又費精力。對于用戶來說,用戶每次停車都需要將車輛各自信息進行填寫、登記個人信息等。對于各個工作環(huán)節(jié)均需要員工填寫并存檔,一旦記錄丟失很難找回。純靠人工進行處理的話,這些工作既會造成小區(qū)管理人員和財力的浪費,也延長了工作人員的工作時間。所以,應該搭建的智能化小區(qū)停車場管理系統(tǒng)應該具備以下的功能:訂單查詢:用戶和管理員均能查詢訂單信息,只不過車主用戶只能查詢自己的訂單,所以要建立完備的數(shù)據(jù)庫以供使用。管理員可以查看當前所有車主的用戶信息以及他們的車輛信息還有車輛的計費標準,以便于管理員隨時了解車主的信息情況;繳費查詢:管理員可以通過該系統(tǒng)來查詢每個車主的支付情況,包括每輛車每天的使用次數(shù)、每輛每小時的價格等等。此外,管理員還可以通過這個系統(tǒng)來查收車主的停車費用;數(shù)據(jù)錄入:為了減輕工作人員負擔,系統(tǒng)將錄入個人信息的權限開放給用戶,用戶可以進行個人信息的錄入,管理員管理多個用戶。管理員可以在該系統(tǒng)中輸入新的車主信息,例如車主姓名、電話號碼、車輛類型、車型顏色等等。同時,也可以添加停車輛的位置信息,方便管理員查找到相應的停車輛位置。另外,管理員還可以設置不同類型的停車費用標準,比如固定車輛停車價格、臨時車輛停車價格等等。移動支付:為了實現(xiàn)支付數(shù)字化,當車輛進入停車場時,它會自動識別和計算停車時間。車輛離開現(xiàn)場時會生成一個停車訂單,用戶選擇想要的支付方式,實現(xiàn)無現(xiàn)金支付,提高車輛的通行效率。3.5管理員功能需求分析在總體功能需求分析的基礎上,管理員的功能需求分析如表3-1所示。表3-1管理員功能需求分析表功能模塊需求分析個人中心用戶管理汽車經營費用規(guī)范經營固定的臨時性交通工具出入口資料處理泊車資料管理退出資訊管理定單資料管理管理員更改私人帳戶資料編輯更多的信息,如用戶名稱,聯(lián)絡信息,添加刪除用戶信息編輯汽車名稱,車型型號,車牌等,添加或移除汽車資料制定各種費用新增,移除及修改關于固定式及臨時性的汽車資訊刪去并修訂車輛進出地點的資料編輯泊車信息除了對命令進行操作之外,還可以對汽車出站信息進行編輯添加、修改和查找命令信息管理員功能用例圖完成狀態(tài)如圖3-1所示。圖3-1管理員功能用例圖3.6用戶功能需求分析在總體功能需求分析的基礎上,用戶的功能需求分析如表3-2所示。表3-2用戶功能需求分析表功能模塊需求個人中心用戶管理計費標準管理固定車輛管理臨時車輛管理入場信息管理修改個人賬號信息編輯個人姓名、電話等信息查看不同的計費標準查看固定停車輛信息并可以申請租賃查看臨時停車輛信息查看個人入場信息出場信息管理停車信息管理離開信息管理訂單信息管理查看個人出場信息查看個人停車信息對車輛離開信息進行查看支付訂單用戶功能用例圖完成狀態(tài)如圖3-2所示。圖3-2用戶功能用例圖第4章系統(tǒng)設計4.1小區(qū)停車場管理系統(tǒng)的總體設計以Java語言為基礎的住宅小區(qū)停車場管理體系,其功能是為管理者提供服務,同時也是為用戶提供服務。該系統(tǒng)的功能是對車輛信息,用戶信息,訂單信息,車輛信息,車輛進出及停車等信息進行管理和編輯。使用者可以修改個人資料,車位信息,車位費用,停車位,車輛進出,登錄日志,個人中心,預約停車位,付款管理等。本系統(tǒng)功能結構圖如圖4-1所示。圖4-1系統(tǒng)功能結構圖4.2小區(qū)停車場管理系統(tǒng)的詳細設計針對小區(qū)停車場管理系統(tǒng)進行詳細設計,從管理員與使用者的各種職能出發(fā),選取了管理員管理信息序列圖、管理員管理出行信息序列圖以及管理員管理機動車信息序列圖三種主要的互動場景來對序列圖進行建模。4.2.1管理員管理信息順序圖在管理員的角色中,實現(xiàn)信息處理的交互流程包括:1)注冊時,必須先填寫帳號及口令,方可進入;(2)注冊成功后,使用者將會獲得一個專門的管理者頁面,在這個頁面上,使用者可以看到自己的信息,也可以對自己的權利進行更多的掌控;(3)管理人員可以對用戶進行各種操作,包括查看、添加、刪除和修訂;(4)一旦這些操作完成,數(shù)據(jù)庫將會對這些變化進行處理;(5)管理人員可以通過管理人員的界面來展示這些變化;(6)當管理人員完成這些操作時,他們將會離開。管理員管理用戶信息順序圖完成狀態(tài)如圖4-2所示。圖4-2管理用戶信息順序圖4.2.2管理員管理離開信息順序圖管理員管理離開信息用例的具體描述如下:用戶需要輸入賬戶密碼,然后登錄系統(tǒng);登入,使用完畢后,才能進入出站時所處的管理接口;使用者可以按自己的需要,對退出信息進行瀏覽、修改、刪除等各種行為;(4)完成離開信息的編輯,并將其發(fā)布;(5)完成操作后,系統(tǒng)會自動將其轉換為可供使用的格式;(6)系統(tǒng)會自動將轉換后的離開信息展現(xiàn)給用戶;(7)用戶可以根據(jù)自己的需求,完成相應的操作,然后退出系統(tǒng)。管理員管理離開信息順序圖完成狀態(tài)如圖4-3所示。圖4-3管理員更新離開信息順序圖4.2.3管理員管理車輛信息順序圖管理員管理車輛信息用例的具體描述如下:(1)通過登錄,管理員需要輸入賬戶密碼,才能夠訪問車輛信息;(2)訪問完畢后,管理員可以通過該界面訪問車輛信息,并且可以實現(xiàn)查看、更新、刪除和添加等多種操作;(3)完成操作之后,數(shù)據(jù)庫將會進行相應的更新;(4)將會展示最終的車輛狀態(tài);(5)管理者則可以完成相關的任務,然后離開。管理員管理車輛信息順序圖完成狀態(tài)如圖4-4所示。圖4-4管理車輛信息順序圖4.3數(shù)據(jù)庫設計4.3.1概念結構設計通過以上對小區(qū)停車場管理系統(tǒng)的詳細分析得到的一組實體對象,主要包括:用戶、管理員、車輛信息、下面列出了各種主體的基本特征,如交通工具訪問信息等等。用戶包括用戶ID賬號,密碼,年齡,名字,性別,頭像,電話,郵箱。管理員包括:管理員
ID帳號,密碼,名稱,人物。(3)汽車資料包括牌照號碼,汽車名,汽車類型,汽車型號,用戶ID賬號,用戶電話,汽車顏色。(4)車場信息包含車場名、車場類型、用戶名、車輛區(qū)號、車輛編號、用戶ID帳號、車位狀態(tài)。(5)本系統(tǒng)提供的交通信息包括:車牌號碼,進入時間,退出時間。在圖4-5中顯示了一個完整的系統(tǒng)E-R圖表。圖4-5總體E-R圖通過對上述主體間的聯(lián)系進行了剖析,得出了各個主體間的基礎關系。(1)一名使用者可能會有多部車輛,而一部車輛只能歸一名使用者使用。這樣,汽車與使用者之間就成了一對多的關系。(2)同一使用者一次可以租用多輛汽車,同一時間只能由一名使用者租用一輛汽車。這樣,汽車與使用者之間就成了一對多的關系。(3)車輛一次可以對進出站的多條數(shù)據(jù)進行更新,而一部進出站的數(shù)據(jù)僅能夠通過一部車輛進行更新。這樣,車與路之間的信息就成了一對多的關聯(lián)。(4)同一時間,每臺汽車僅可??恳慌_靜止汽車,同一時間僅可停靠一臺汽車。這樣,汽車與靜止汽車之間就成了一種一一對應的關系。(5)每個使用者可以產生多個出租命令,每個出租命令是一個使用者所產生的。所以,使用者與租約者之間存在著一對多的關系。4.3.2邏輯結構設計在此基礎上,通過對數(shù)據(jù)庫進行了需求分析,建立了一個實體關聯(lián)圖,并給出了具體的數(shù)據(jù)表格結構。(1)使用者資料表格用戶信息表格用于存儲用戶ID賬號,創(chuàng)建時間,用戶名密碼,年齡,名字,性別,頭像,電話,郵箱等。見表4-1。表4-1用戶信息表編號數(shù)據(jù)字段名稱數(shù)據(jù)類型是否主鍵允許空說明No1C_idbigint(20)YESNo用戶IDNo2C_addtimetimestampNONo創(chuàng)建時間No3C_yonghumingvarchar(200)NONo用戶名No4C_mimavarchar(200)NONo密碼No5C_xingmingvarchar(200)NONull姓名No6C_xingbievarchar(200)NONull性別No7C_nianlingvarchar(200)NONull年齡No8C_touxianglongtextNONull頭像No9C_shoujivarchar(200)NONull手機No10C_youxiangvarchar(200)NONull郵箱(2)管理員信息表系統(tǒng)管理員的基本功能是:管理員ID,名稱,密碼,角色以及更新的次數(shù)。見表4-2。表4-2管理員信息表編號數(shù)據(jù)字段名稱數(shù)據(jù)類型是否主鍵允許空說明No1C_idbigint(20)YESNo管理員IDNo2C_usernamevarchar(200)NONo姓名No3C_passwordvarchar(200)NONo密碼No4C_rolevarchar(200)NONull角色No5C_addtimetimestampNONo新增時間(3)車輛信息表車輛資料表格(cheweixinxi)是用來存儲靜止和暫時的車輛資料,其中包括使用者ID,創(chuàng)建時間,停車場地名稱,停車場地類型,車輛區(qū)域號,車輛號碼,牌照號碼以及狀況。如表4-3所示。表4-3車輛信息表編號數(shù)據(jù)字段名稱數(shù)據(jù)類型是否主鍵允許空說明No1C_idbigint(20)YESNo用戶IDNo2C_addtimetimestampNONo創(chuàng)建時間No3C_chechangmingchengvarchar(200)NONo車場名稱No4C_chechangleixingvarchar(200)NONo車場類型No5C_cheweiquhaovarchar(200)NONo車輛區(qū)號No6C_cheweibianhaovarchar(200)NONo車輛編號No7C_chepaihaomavarchar(200)NONull車牌號碼No8C_zhuangtaivarchar(200)NONull狀態(tài)(4)車輛信息表車輛信息表格(cheliangxinxi)對車輛的所有資料進行存儲,其中包括用戶ID,創(chuàng)建時間,車輛名稱,車輛類型,車主電話,車輛顏色,型號,車牌號,車輛號,車主姓名以及車輛詳細情況見表4-4。表4-4車輛信息表編號數(shù)據(jù)字段名稱數(shù)據(jù)類型是否主鍵允許空說明No1C_idbigint(20)YESNo用戶IDNo2C_addtimetimestampNONo創(chuàng)建時間No3C_cheliangmingchengvarchar(200)NONo車輛名稱No4C_cheliangleixingvarchar(200)NONo車輛類型No5C_shoujivarchar(200)NONull車主電話No6C_cheliangyansevarchar(200)NONull車輛顏色No7C_xinghaovarchar(200)NONull型號No8C_chepaihaovarchar(200)NONo車牌號No9C_cheweihaovarchar(200)NONo車輛號No10C_chezhuxingmingvarchar(200)NONo車主姓名No11C_cheliangxiangqinglongtextNONo車輛詳情(5)出入場信息表出入場信息表(churuchangxinxi)關聯(lián)車輛出入場信息,包括編號、車牌號、入場時間、出場時間等,如表4-5所示。表4-5出入場信息表編號數(shù)據(jù)字段名稱數(shù)據(jù)類型是否主鍵允許空說明No1C_idbigint(20)YESNo主鍵No2C_addtimetimestampNONo入場時間No3C_chechangmingchengvarchar(200)NONull車場名稱No4C_cheweiquhaovarchar(200)NONull車輛區(qū)號No5C_tingcheshijiandatetimeNONull出場時間No6C_cheweibianhaovarchar(200)NONull車輛編號No7C_yonghumingvarchar(200)NONull用戶名No8C_xingmingvarchar(200)NONull姓名No9C_chepaihaovarchar(200)NONo車牌號No10C_chepaitupianlongtextNONull車牌圖片第5章系統(tǒng)實現(xiàn)5.1用戶功能實現(xiàn)5.1.1用戶登錄在登陸畫面中,使用者需先輸入其使用者名稱及密碼,方可順利登陸本系統(tǒng)。在注冊頁面中,如果有任何的操作出錯,就會顯示一個帳號或密碼不準確的提示,登陸失敗的畫面見圖5-1,必須再次鍵入使用者名稱和密碼,直至無誤,從而讓使用者能夠看到系統(tǒng)的前臺主頁,該系統(tǒng)的前端主頁見圖5-2。圖5-1登錄界面圖5-2系統(tǒng)前臺首頁5.1.2個人中心在圖5-2左邊的列表中,使用者可以選取“個人中心”,這個網(wǎng)頁的重點是對使用者的基本資料進行展示,例如:使用者名稱、名字、性別、聯(lián)絡電話、年齡、牌照號碼等。如圖5-3所示。圖5-3個人中心界面使用者可以在「個體中心」來更改資訊。除此之外,還可以修改郵箱,頭像,年齡和手機號碼。5.1.3預定車位管理用戶可以在該頁面查看預定車位詳情并進行入場操作,固定車位管理界面如圖5-4所示。在下一頁能夠看到用戶進行入場操作的界面,用戶進行入場操作界面如圖5-5所示。圖5-4固定車輛管理界面圖5-5預定車位操作界面5.1.4用戶繳費管理用戶想要查看到個人的訂單信息時可以在此界面進行查找,其中包含要素有車輛編號、訂單編號、車場名稱、收費標準、總額、訂單時間,并且能夠查看是否實付。用戶繳費信息查看界面如圖5-6所示[13]。圖5-6停車記錄查看界面用戶可在該頁面選擇支付該訂單費用,支付界面如圖5-7所示。圖5-7用戶支付界面5.1.5查看信息用戶可以在個人界面查看到個人的停車類型記錄信息以及近五天繳費記錄等信息,信息查看界面如圖5-8所示。圖5-8信息查看界面5.2管理員功能實現(xiàn)5.2.1管理員登錄在這個頁面上,鍵入相應的、準確的帳號和口令,然后點擊“提交”,在數(shù)據(jù)庫之后,系統(tǒng)就會找到相應的資料,然后向系統(tǒng)發(fā)送一個匹配的結果,由系統(tǒng)做出判定,如果有一個登陸成功的指示,就可以登陸到頁面。圖5-9中顯示了管理者注冊接口[14]。圖5-9管理員登錄界面圖5-10管理員個人中心界面5.2.2用戶管理管理員全權負責用戶信息,單擊右上方的按鈕,可以增加使用者的資料,并在右邊的顏色圖標進行瀏覽,修改,刪除。在圖5-11中顯示了一個用戶管理接口。圖5-11用戶管理界面5.2.3車位信息管理管理員可以管理和添加車位信息,然后點擊右欄的查看、右欄的修改和右欄的刪除按鈕,對車位信息進行更改。車輛信息管理界面如圖5-12所示,管理人員可以通過車輛名稱、類型、車牌號、車輛號中的任意一項,在上方搜索框查詢車輛的信息。圖5-12車位信息管理界面5.2.4計費標準管理管理員需要依據(jù)當?shù)貐^(qū)域的停車場停車價格來確定適合該小區(qū)的停車費用,可以通過操作新增、查詢和修改等按鈕來進行調整,計費標準管理界面如圖5-13所示。圖5-13計費標準管理界面5.2.5停泊車輛管理管理人員檢查停放的汽車資料。將汽車信息依次輸入,并進行更改和刪除。上面有名字,有車牌,有聯(lián)系電話,有沒有車子,有沒有其他的資料。停泊車輛界面如圖5-14所示。圖5-14停泊車輛管理界面5.2.6車輛進出信息管理車輛進出信息管理包括車場名稱、車輛區(qū)號、車輛編號、停車時間、用戶名等。管理員擁有對車輛入場信息進行查看、修改和刪除的權限。車輛進出信息管理界面如5-15所示。圖5-15進出信息管理界面第6章總結小區(qū)停車場管理系統(tǒng)應用了信息化技術,通過智能化管理解決了多項問題并減輕了人工負擔。系統(tǒng)實現(xiàn)智能化管理,大大提升了小區(qū)車輛的管理效率水平和利用率[17]。以下為系統(tǒng)總結:(1)首先進行相關資料查詢、探究搭建小區(qū)停車場管理系統(tǒng)的背景與意義,接著結合國內外研究,揭示當前小區(qū)車輛管理不足之處,也表明了建設具有共享車輛的系統(tǒng)的價值。(2)對該系統(tǒng)進行需求分析。首先對系統(tǒng)數(shù)據(jù)和可行性分析進行了闡述,其次分析各角色功能。最后使用UML建模技術繪制關鍵用例圖。(3)深入分析小區(qū)停車場管理系統(tǒng)的用例場景,繪制順序圖并設計數(shù)據(jù)庫。列出實體的屬性,分析實體和實體之間的關系,并繪制總體E-R圖。最終完成設計數(shù)據(jù)庫表單。(4)實現(xiàn)了系統(tǒng)的各個功能,對各個功能進行了詳細的描述并用圖片的形式展現(xiàn)運行結果。因本人技術能力與項目經驗不足,導致系統(tǒng)開發(fā)及實施中存在多方面問題需要改進,具體如下:(1)小區(qū)停車場管理系統(tǒng)技術應用較為基礎,未包含主流技術。(2)目前系統(tǒng)的界面設計欠缺美觀,需增加頁面美化,優(yōu)化色彩,融合色彩和文字,以提高網(wǎng)頁界面的美感、協(xié)調性。(3)用戶進行支付的功能在設計中沒有考慮其安全性。參考文獻[1]馮建,李嘉明,廖明華,等.基于圖像識別技術的車位管理系統(tǒng)研究與設計[J].\o"電腦知識與技術"電腦知識與技術,\o"2021(24)"2021(24).25-30.[2]王曉娟.YT科技公司共享車位APP重慶市場推廣策略研究[D].貴州:貴州財經大學,2022.37-44.[3]李啟凡,丁文龍,潘曉東等.貨運停車場出口與信號交叉口合理間距計算及擁堵改善措施[J/OL].公路工程,2023.21.[4]章枝憲.智能停車實時預約平臺中車位供給動態(tài)決策研究[D].\o"電子科技大學"電子科技大學,2021.21.[5]張楠楠,張曉.\o"基于物聯(lián)網(wǎng)技術的智能停車場系統(tǒng)設計與實現(xiàn)"基于物聯(lián)網(wǎng)技術的智能停車場系統(tǒng)設計與實現(xiàn)[J].\o"現(xiàn)代電子技術"現(xiàn)代電子技術,\o"2020(12)"2021(12).20-22.[6]張曼,陳寧.基于安全認證的私家車位共享系統(tǒng)設計[J].\o"現(xiàn)代信息科技"現(xiàn)代信息科技,\o"2020(24)"2022(24).15-17.[7]王琪,王嬌,劉奎.基于智能手機的停車導航系統(tǒng)設計[J].\o"物聯(lián)網(wǎng)技術"物聯(lián)網(wǎng)技術,\o"2020(04)"2022(04).16.[8]金喜文.中國城市收費停車主動誘導及車位分配研究[D].哈爾濱:\o"哈爾濱工程大學"哈爾濱工程大學,2022.31-32.[9]GlobalCompanyRepublicFloorDesignatesParkingLottoAntioachSWATTeamandFireDepartment[J].M2Presswire,2023.[10]HepengC,YongxingL,YanyanC,etal.InfluenceFactorsAnalysisforWrong-WayDrivingBehaviorinParkingLots[J].JournalofTransportationEngineering,PartA:Systems,2023,149(9).[11]鄒俊輝.城市共享泊位分配模型及其APP設計研究[D].廣東:\o"廣東工業(yè)大學"廣東工業(yè)大學,2022.33.[12]肖浩漢.城市共享停車的運營管理機制設計與影響分析[D].北京:\o"北京交通大學"北京交通大學,2022.10.[13]XuDuo,SunHuijun.StudyonProfitableSharedParkingManagementBasedonDay-to-DayEvolutionModel[J].Promet-Traffic&Transportation,2021(1).5-7.[14]馮凱.“MySQL數(shù)據(jù)庫”課程教學中常見問題探析[J].無線互聯(lián)科技,2021,18(24):158-159.[15]王彩霞,王睿.MySQL與SQLServer數(shù)據(jù)完整性約束的比較教學[J].電腦知識與技術:學術版,2021,17(21):26-28.附頁packagecom.rabbiter.pm.controller;importcom.baomidou.mybatisplus.extension.plugins.pagination.Page;importcom.rabbiter.pm.domain.Car;importcom.rabbiter.pm.domain.Stall;importcom.rabbiter.pm.domain.vo.CarVo;importcom.rabbiter.pm.domain.vo.StallCarVo;importcom.rabbiter.pm.mapper.StallMapper;importcom.rabbiter.pm.service.CarService;importcom.rabbiter.pm.utils.ResultJson;importorg.springframework.beans.factory.annotation.Autowired;importorg.springframework.web.bind.annotation.*;/***<p>*前端控制器*</p>**@authorrabbiter*@since2023-03-27*/@RestController@RequestMapping("/car")publicclassCarController{@AutowiredprivateCarServicecarService;@AutowiredprivateStallMapperstallMapper;@PostMapping("/getList")publicResultJson<Object>getList(@RequestBodyCarVocarVo){returnResultJson.success(carService.getList(carVo));}@PostMapping("/add")publicResultJson<Object>addCar(@RequestBodyCarcar){returnResultJson.success(carService.addCar(car));}@GetMapping("/del")publicResultJson<Boolean>del(Integertid){returnResultJson.success(carService.removeById(tid));}@PostMapping("/update")publicResultJson<Object>updateCar(@RequestBodyCarcar){returnResultJson.success(carService.updateById(car));}@PostMapping("/getCar")publicResultJson<Object>getStallUser(@RequestBodyStallCarVostallCarVo){Page<Stall>page=newPage<>(stallCarVo.getPagenum(),stallCarVo.getPageSize());returnResultJson.success(stallMapper.getStallAll(page,stallCarVo.getNike(),stallCarVo.getCard()));}}packagecom.rabbiter.pm.controller;importcn.dev33.satoken.util.SaFoxUtil;importcom.baomidou.mybatisplus.core.conditions.query.QueryWrapper;importcom.rabbiter.pm.domain.*;importcom.rabbiter.pm.service.*;importcom.rabbiter.pm.utils.ResultJson;importorg.springframework.beans.factory.annotation.Autowired;importorg.springframework.web.bind.annotation.*;importjava.time.LocalDateTime;importjava.util.HashMap;importjava.util.List;importjava.util.Map;/***<p>*前端控制器*</p>**@authorrabbiter*@since2023-03-27*/@RestController@RequestMapping("/fee")publicclassFeeController{@AutowiredprivateFeeServicefeeService;@AutowiredprivateStallTypeServicestallTypeService;@AutowiredprivateStallServicestallService;@AutowiredprivateUserServiceuserService;@AutowiredprivateRechargeServicerechargeService;@GetMapping("/list")publicResultJson<List<Fee>>getListFee(StringcarType){returnResultJson.success(feeService.list(newQueryWrapper<Fee>().like("car_type",carType)));}@PostMapping("update")publicResultJson<Object>updateFee(@RequestBodyFeefee){Map<String,Object>res=newHashMap<>();res.put("flag",false);res.put("msg","更新失敗,請重新操作!");if(!SaFoxUtil.isEmpty(fee.getCarType())&&!SaFoxUtil.isEmpty(fee.getMoney())){if(feeService.update(fee,newQueryWrapper<Fee>().eq("car_type",fee.getCarType()))){res.put("flag",true);res.put("msg","更新成功!");Stallstall=newStall();stall.setStallType(fee.getCarType());stall.setStallMoney(fee.getMoney());stallService.update(stall,newQueryWrapper<Stall>().eq("stall_type",fee.getCarType()));StallTypestallType=newStallType();stallType.setOmoney(fee.getMoney());stallType.setOtype(fee.getCarType());stallTypeService.update(stallType,newQueryWrapper<StallType>().eq("otype",fee.getCarType()));}}else{res.put("msg","更新失敗,填寫不完善");}returnResultJson.success(res);}@PostMapping("/userFee")publicResultJson<Object>feeUser(@RequestBodyUseruser){Map<String,Object>res=newHashMap<>();res.put("flag",false);res.put("msg","充值失敗,請重新嘗試");if(!SaFoxUtil.isEmpty(user.getUsername())&&!SaFoxUtil.isEmpty(user.getMoney())){Useruser1=userService.getOne(newQueryWrapper<User>().eq("username",user.getUsername()));if(!SaFoxUtil.isEmpty(user1)){doublemon=user.getMoney();doublenon=user1.getMoney()==null?0:user1.getMoney();user.setMoney(non+user.getMoney());if(userService.update(user,newQueryWrapper<User>().eq("username",user.getUsername()))){res.put("flag",true);res.put("msg","充值成功");Rechargerecharge=newRecharge();recharge.setCtime(LocalDateTime.now());recharge.setPerson(user.getUsername());recharge.setMoney(mon);rechargeService.save(recharge);}}else{res.put("msg","充值失敗,用戶不存在");}}else{res.put("msg","充值失敗,填寫不完善");}returnResultJson.success(res);}}packagecom.rabbiter.pm.controller;importcom.rabbiter.pm.domain.LoginInfo;importcom.rabbiter.pm.domain.vo.LoginInfoVo;importcom.rabbiter.pm.domain.vo.StallVo;importcom.rabbiter.pm.service.LoginInfoService;importcom.rabbiter.pm.service.StallService;importcom.rabbiter.pm.utils.ResultJson;importorg.springframework.beans.factory.annotation.Autowired;importorg.springframework.web.bind.annotation.PostMapping;importorg.springframework.web.bind.annotation.RequestBody;importorg.springframework.web.bind.annotation.RequestMapping;importorg.springframework.web.bind.annotation.RestController;/***<p>*前端控制器*</p>**@authorrabbiter*@since2023-03-27*/@RestController@RequestMapping("/login-info")publicclassLoginInfoController{@AutowiredprivateLoginInfoServiceloginInfoService;@PostMapping("/getLoginInfoList")publicResultJson<Object>getStallList(@RequestBodyLoginInfoVologinInfoVo){ObjectloginInfoList=loginInfoService.getLoginInfoList(loginInfoVo);returnResultJson.success(loginInfoList);}}packagecom.rabbiter.pm.controller;importorg.springframework.web.bind.annotation.RequestMapping;importorg.springframework.web.bind.annotation.RestController;/***<p>*前端控制器*</p>**@authorrabbiter*@since2023-03-27*/@RestController@RequestMapping("/recharge")publicclassRechargeController{}packagecom.rabbiter.pm.controller;importcom.rabbiter.pm.domain.Stall;importcom.rabbiter.pm.domain.StallRes;importcom.rabbiter.pm.domain.vo.StallResVo;importcom.rabbiter.pm.domain.vo.StallVo;importcom.rabbiter.pm.service.StallService;importcom.rabbiter.pm.utils.ResultJson;importorg.springframework.beans.factory.annotation.Autowired;importorg.springframework.web.bind.annotation.*;/***<p>*前端控制器*</p>**@authorrabbiter*@since2023-03-22*/@RestController@RequestMapping("/stall")publicclassStallController{@AutowiredprivateStallServicestallService;@PostMapping("/getStallList")publicResultJson<Object>getStallList(@RequestBodyStallVostallVo){returnResultJson.success(stallService.getStallList(stallVo));}@GetMapping("/orderStall")publicResultJson<Object>orderStall(Integeruid,Integersid){returnResultJson.success(stallService.orderStall(uid,sid));}@PostMapping("/add")publicResultJson<Object>addStall(@RequestBodyStallstall){returnResultJson.success(stallService.addStall(stall));}@PostMapping("/update")publicResultJson<Object>updateStall(@RequestBodyStallstall){returnResultJson.success(stallService.updateStall(stall));}@GetMapping("/del")publicResultJson<Object>deleteStall(Integersid){Stallstall=newStall();stall.setSid(sid);stall.setStallLive("0");returnResultJson.success(stallService.updateById(stall));}@GetMapping("/allRes")publicResultJson<Object>allStallRes(Stringperson){returnResultJson.success(stallService.getAllStallRes(person));}@GetMapping("/allNoPay")publicResultJson<Object>allNoPay(Stringperson){returnResultJson.success(stallService.getAllNoPay(person).stream().filter(r->r.getOverTime()==null));}@PostMapping("/allList")publicResultJson<Object>allStallResList(@RequestBodyStallResVostallResVo){returnResultJson.success(stallService.getAllListStallRes(stallResVo));}@PostMapping("/payMoney")publicResultJson<Object>payMoney(@RequestBodyStallResstallRes){returnResultJson.success(stallService.payMoneyManager(stallRes));}@PostMapping("/payMoneyPerson")publicResultJson<Object>payMoneyPerson(@RequestBodyStallResstallRes){returnResultJson.success(stallService.payMoneyPerson(stallRes));}}packagecom.rabbiter.pm.controller;importcom.rabbiter.pm.service.StallTypeService;importcom.rabbiter.pm.utils.ResultJson;importorg.springframework.beans.factory.annotation.Autowired;importorg.springframework.web.bind.annotation.*;/***<p>*前端控制器*</p>**@authorrabbiter*@since2023-03-30*/@RestController@RequestMapping("/stallType")publicclassStallTypeController{@AutowiredprivateStallTypeServicestallTypeService;@GetMapping("/list")publicResultJson<Object>getList(){returnResultJson.success(stallTypeService.list());}}packagecom.rabbiter.pm.controller;importcom.baomidou.mybatisplus.core.conditions.query.QueryWrapper;importcom.rabbiter.pm.domain.User;importcom.rabbiter.pm.domain.vo.UserVo;importcom.rabbiter.pm.service.UserService;importcom.rabbiter.pm.utils.ResultJson;importorg.springframework.beans.factory.annotation.Autowired;importorg.springframework.web.bind.annotation.*;/***<p>*用戶前端控制器*</
溫馨提示
- 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
- 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯(lián)系上傳者。文件的所有權益歸上傳用戶所有。
- 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁內容里面會有圖紙預覽,若沒有圖紙預覽就沒有圖紙。
- 4. 未經權益所有人同意不得將文件中的內容挪作商業(yè)或盈利用途。
- 5. 人人文庫網(wǎng)僅提供信息存儲空間,僅對用戶上傳內容的表現(xiàn)方式做保護處理,對用戶上傳分享的文檔內容本身不做任何修改或編輯,并不能對任何下載內容負責。
- 6. 下載文件中如有侵權或不適當內容,請與我們聯(lián)系,我們立即糾正。
- 7. 本站不保證下載資源的準確性、安全性和完整性, 同時也不承擔用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。
最新文檔
- 養(yǎng)老床位管理辦法
- 內江營地管理辦法
- 內部管理辦法發(fā)文
- 再保業(yè)務管理辦法
- 軍工專戶管理辦法
- 軍隊食品管理辦法
- 農場示范管理辦法
- 農村住建管理辦法
- 農村桿線管理辦法
- 農村閘口管理辦法
- 電廠指標管理辦法
- 2025年新修訂《安全生產法》安全教育培訓考核試卷及答案
- 開源人工智能:合作的價值與未來(研究報告中文版)
- 公司社保知識培訓
- 湖北省潛江市2024-2025學年八年級下學期期末物理試題
- 泰國餐廳裝修設計
- 【威?!?025年山東省威海技師學院公開招聘工作人員29人筆試歷年典型考題及考點剖析附帶答案詳解
- 國際貿易政策課件
- 2025年甘肅省高考政治試題(含答案)
- 接聽報修電話管理辦法
- 電梯安全總監(jiān)職責培訓考核試題及答案
評論
0/150
提交評論