版權(quán)說(shuō)明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請(qǐng)進(jìn)行舉報(bào)或認(rèn)領(lǐng)
文檔簡(jiǎn)介
目錄TOC\o"1-3"\h\u摘要 引言隨著中國(guó)社會(huì)的發(fā)展以及人們生活水平的提高,許多家庭都有了購(gòu)置車輛的想法,這也就造成了我國(guó)車輛數(shù)量的急劇增加,但車輛增加的同時(shí)也為城市交通帶來(lái)了巨大壓力,停車難問(wèn)題日益凸顯。停車場(chǎng)行業(yè)與汽車數(shù)量有著最直接的關(guān)系,停車場(chǎng)是供停放車輛使用的場(chǎng)地,為道路交通提供停車場(chǎng)會(huì)大量減輕車輛為交通帶來(lái)的壓力。隨著社會(huì)的發(fā)展以及停車場(chǎng)的不斷升級(jí),人們對(duì)停車場(chǎng)管理系統(tǒng)的要求也越來(lái)越高。因?yàn)橥\噲?chǎng)管理模式以及需求的不同,所以管理員可根據(jù)自身?xiàng)l件選擇一個(gè)高效率、低成本的停車管理系統(tǒng)?,F(xiàn)代化的停車場(chǎng)大多數(shù)都是通過(guò)將停車過(guò)程進(jìn)行信息化處理來(lái)提高停車場(chǎng)的競(jìng)爭(zhēng)力和管理效率。作為一個(gè)以停車場(chǎng)管理體系為基礎(chǔ)而開(kāi)發(fā)的應(yīng)用管理系統(tǒng),本停車場(chǎng)管理系統(tǒng)就是通過(guò)將車主、車輛、車位等管理過(guò)程進(jìn)行信息化來(lái)規(guī)范停車場(chǎng)的管理,為高效率的交通設(shè)施作下堅(jiān)實(shí)的基礎(chǔ)。本系統(tǒng)前端使用JSP技術(shù)動(dòng)態(tài)的生成Web網(wǎng)頁(yè),JSP技術(shù)是J2EE的重要組成部分,也是開(kāi)發(fā)Web應(yīng)用程序的首要之選。后臺(tái)采用JAVA語(yǔ)言編寫(xiě),JAVA語(yǔ)言不僅有安全穩(wěn)定的特點(diǎn)而且可以一次編寫(xiě)隨處運(yùn)行。數(shù)據(jù)庫(kù)采用的是MySQL數(shù)據(jù)庫(kù),因?yàn)镸ySQL數(shù)據(jù)庫(kù)的體積較小、運(yùn)行速度快,所以MySQL數(shù)據(jù)庫(kù)為中小型系統(tǒng)的首要選擇。第1章緒論1.1課題的研究背景隨著中國(guó)社會(huì)的發(fā)展以及人們生活水平的提高,汽車成為了人們?nèi)粘3鲂胁豢扇鄙俚囊徊糠?。隨著汽車大范圍的普及,人們對(duì)停車場(chǎng)的需求也逐漸增長(zhǎng)。停車過(guò)程繁瑣、收費(fèi)不完善、勞動(dòng)強(qiáng)度高等問(wèn)題仍然存在于大多數(shù)的停車場(chǎng)管理中,而在本系統(tǒng)中針對(duì)這些問(wèn)題進(jìn)行了逐步的優(yōu)化,提高了停車場(chǎng)的效率。本系統(tǒng)前端采用JSP技術(shù)動(dòng)態(tài)的生成Web網(wǎng)頁(yè)。因?yàn)樗邆鋵?shí)現(xiàn)動(dòng)態(tài)網(wǎng)頁(yè)所需要的功能,所以它是一個(gè)跨平臺(tái)動(dòng)態(tài)網(wǎng)頁(yè)標(biāo)準(zhǔn),同時(shí)它也被很多的大中型企業(yè)所采用。JSP技術(shù)是J2EE非常重要的組成部分,也是開(kāi)發(fā)Web應(yīng)用程序的首要之選。它使Web應(yīng)用的開(kāi)發(fā)得到簡(jiǎn)化和收益最大化。后臺(tái)采用JAVA語(yǔ)言編寫(xiě),JAVA語(yǔ)言不僅有安全穩(wěn)定的特點(diǎn)而且還可以一次編寫(xiě)隨處運(yùn)行。JAVA語(yǔ)言是一個(gè)面向大眾的、開(kāi)放式的平臺(tái),因?yàn)槭且环N企業(yè)級(jí)應(yīng)用規(guī)范的J2EE,所以被大多數(shù)企業(yè)用于實(shí)踐操作來(lái)提高開(kāi)發(fā)效率。隨著汽車數(shù)量大范圍的增加以及社會(huì)的快速發(fā)展,一個(gè)方便、快捷的停車場(chǎng)顯得尤為重要,而本系統(tǒng)因?yàn)楹?jiǎn)單、快捷的優(yōu)點(diǎn)會(huì)成為人們的首要選擇。通過(guò)JAVA開(kāi)發(fā)各模塊組合之后與MySQL數(shù)據(jù)庫(kù)連接,使停車場(chǎng)管理系統(tǒng)具備了良好的信息管理,維護(hù)的時(shí)候比較容易,運(yùn)行的時(shí)候效率也比較高,具有友好的界面和可移植性。1.2目的和意義根據(jù)目前對(duì)交通和停車場(chǎng)狀況的調(diào)查分析,一個(gè)完整的停車場(chǎng)管理系統(tǒng)顯得非常重要。本停車場(chǎng)管理系統(tǒng)解決了一般停車場(chǎng)存在的利用率低、收費(fèi)繁瑣等問(wèn)題,車主不僅可以快速的進(jìn)出場(chǎng)節(jié)省時(shí)間,而且還避免了一些不必要的事情發(fā)生,極大地增加了停車的安全性和可靠性。本系統(tǒng)也秉持著以大眾為核心,以服務(wù)大眾為根本的宗旨。因?yàn)橥\噲?chǎng)管理系統(tǒng)是將數(shù)據(jù)存儲(chǔ)在數(shù)據(jù)庫(kù)中的,所以停車場(chǎng)管理系統(tǒng)在對(duì)于停車信息管理上展示效果更為直觀。因此提高了人們生活效率使社會(huì)展更為迅速,讓人們的生活更加美好。1.3國(guó)內(nèi)外研究現(xiàn)狀現(xiàn)代化的停車場(chǎng)大多數(shù)都是通過(guò)將系統(tǒng)進(jìn)行信息化處理來(lái)提高停車場(chǎng)的競(jìng)爭(zhēng)力和管理效率。作為一個(gè)以停車場(chǎng)管理體系為基礎(chǔ)而開(kāi)發(fā)的應(yīng)用管理系統(tǒng),本停車場(chǎng)管理系統(tǒng)就是通過(guò)將車主、車輛、車位等管理過(guò)程進(jìn)行信息化來(lái)規(guī)范停車場(chǎng)的管理,為高效率的交通設(shè)施作下堅(jiān)實(shí)的基礎(chǔ)。目前在國(guó)外的一些地區(qū),特別是歐洲的一些國(guó)家,停車產(chǎn)業(yè)的發(fā)展已有很多年的歷史,并且已經(jīng)達(dá)到了極好的有序發(fā)展。美國(guó)的停車產(chǎn)業(yè)每年收入越達(dá)到260億美元,占全美GDP的3.25%。我國(guó)的汽車2020年的保有量會(huì)達(dá)到2.8億輛,早在2015年國(guó)家發(fā)改委發(fā)布了《關(guān)于加強(qiáng)城市停車設(shè)施建設(shè)的指導(dǎo)意見(jiàn)》,第一次將吸引社會(huì)資本、推進(jìn)停車產(chǎn)業(yè)化納入到了國(guó)家層面。因?yàn)樯鐣?huì)的發(fā)展我國(guó)汽車數(shù)量的不斷上升,產(chǎn)生了大量的停車需求,停車產(chǎn)業(yè)將迎來(lái)新的發(fā)展機(jī)遇。隨著停車產(chǎn)業(yè)化的發(fā)展,大多數(shù)停車場(chǎng)會(huì)由原來(lái)的粗放經(jīng)營(yíng)模式轉(zhuǎn)換為精細(xì)化經(jīng)營(yíng)模式。在目前停車場(chǎng)管理系統(tǒng)招標(biāo)項(xiàng)目的中標(biāo)企業(yè)中,停車場(chǎng)管理公司逐年上漲。2017年11月28日,華平投資集團(tuán)對(duì)外宣布,向陽(yáng)光海天停車管理集團(tuán)投資共計(jì)15億元,這次投資也是國(guó)內(nèi)第一次、并且是最大的對(duì)停車行業(yè)的一筆股權(quán)投資?!盎ヂ?lián)網(wǎng)+停車”為停車產(chǎn)業(yè)迎來(lái)了新的發(fā)展思路,使停車業(yè)進(jìn)入了智慧化、信息化的時(shí)代,提高了停車場(chǎng)的利用率以及高效共享率,對(duì)推進(jìn)智慧交通戰(zhàn)略具有著深遠(yuǎn)的意義?!盎ヂ?lián)網(wǎng)+停車場(chǎng)”會(huì)成為停車發(fā)展的主要方向。1.4系統(tǒng)開(kāi)發(fā)的環(huán)境1.4.1開(kāi)發(fā)工具與環(huán)境開(kāi)發(fā)工具與環(huán)境如圖表1.1所示:表1.1開(kāi)發(fā)工具與環(huán)境表開(kāi)發(fā)工具M(jìn)yEclipse2014數(shù)據(jù)庫(kù)Mysql5.5輔助軟件ProcessOn編程語(yǔ)言Java、Html、JavaScript1.4.2軟硬件平臺(tái)要求硬件平臺(tái):CPU:1.60GHz以及以上,內(nèi)存:4G以及以上,硬盤(pán):1T顯示:1280×720分辨率最佳。軟件平臺(tái):操作系統(tǒng):簡(jiǎn)體中文MicrosoftWindows7,數(shù)據(jù)庫(kù):Mysql5.5,開(kāi)發(fā)工具:裝有JDK的MyEclipse2014等工具,編程語(yǔ)言:Java。1.5系統(tǒng)設(shè)計(jì)的方法和技術(shù)1.5.1系統(tǒng)設(shè)計(jì)的方法本系統(tǒng)在MyEclipse2014平臺(tái)上運(yùn)用Java語(yǔ)言來(lái)實(shí)現(xiàn)的。主要用到的技術(shù)為MVC設(shè)計(jì)方法進(jìn)行開(kāi)發(fā)。最初MVC是存在于軟件程序中的,MVC三個(gè)字母分別對(duì)應(yīng)的是模型層、視圖層和控制層,采用MVC開(kāi)發(fā)設(shè)計(jì)模式的目的是為了降低代碼的耦合度和提高代碼的重用性,MVC設(shè)計(jì)模式可以使不同的軟件程序以不同的形式展現(xiàn)。例如數(shù)據(jù)的統(tǒng)計(jì)可以使用各種的\t"/item/MVC%E6%A1%86%E6%9E%B6/_blank"柱狀或者餅狀圖來(lái)展示??刂茖又饕怯脕?lái)控制模型層和視圖層可以進(jìn)行同步運(yùn)行,如果模型層發(fā)生了改變,視圖層就會(huì)進(jìn)行同步的更新做出相應(yīng)的改變。MVC設(shè)計(jì)模式是在上世紀(jì)八十年代研發(fā)的一種\t"/item/MVC%E6%A1%86%E6%9E%B6/_blank"軟件開(kāi)發(fā)設(shè)計(jì)模式,現(xiàn)如今已經(jīng)被非常廣泛的應(yīng)用。且MVC設(shè)計(jì)模式是一個(gè)很好的工具箱,很多軟件應(yīng)用的視圖都可以用它來(lái)處理。MVC可以使用多個(gè)視圖訪問(wèn)同一個(gè)服務(wù)器端的程序代碼。例如,用戶可以使用不同的客戶端購(gòu)買某一件東西,雖然使用的客戶端不同但是處理購(gòu)買東西的基本流程是一樣的。因?yàn)楹笈_(tái)返回給前端的數(shù)據(jù)沒(méi)有進(jìn)行格式化的處理,所以同樣的構(gòu)造不能被不同的視圖共同使用。例如,不同的數(shù)據(jù)可以使用不同的展示形式,而改變這些展現(xiàn)形式只需要改變視圖層的實(shí)現(xiàn)過(guò)程并不需要?jiǎng)佑媚P蛯雍涂刂茖?,因?yàn)樵诒硎緦右呀?jīng)將使用的數(shù)據(jù)和業(yè)務(wù)實(shí)現(xiàn)的規(guī)則分開(kāi),所以編寫(xiě)程序的代碼就可以進(jìn)行大規(guī)模的重用。1.5.2系統(tǒng)所用相關(guān)的技術(shù)本系統(tǒng)主要使用Java語(yǔ)言進(jìn)行編寫(xiě),JAVA語(yǔ)言是目前市場(chǎng)上比較流行的編程語(yǔ)言。使用MyEclipse2014和Tomcat作為后臺(tái)服務(wù)器來(lái)運(yùn)行,本系統(tǒng)選擇使用了B/S體系結(jié)構(gòu),因?yàn)檫@種體系結(jié)構(gòu)比較靈活,真正體現(xiàn)了一次開(kāi)發(fā)處處運(yùn)行。數(shù)據(jù)庫(kù)設(shè)計(jì)選擇了MySQL,MySQL數(shù)據(jù)庫(kù)不僅使用簡(jiǎn)便、服務(wù)穩(wěn)定,而且還開(kāi)放源代碼且無(wú)版權(quán)制約,所以自主性強(qiáng)、使用成本低。接下來(lái)對(duì)本系統(tǒng)主要使用的平臺(tái)和技術(shù)進(jìn)行具體解釋。本系統(tǒng)使用MyEclipse開(kāi)發(fā)平臺(tái)進(jìn)行程序服務(wù)器整合來(lái)提高開(kāi)發(fā)過(guò)程效率。MyEclipse開(kāi)發(fā)平臺(tái)是對(duì)Eclipse開(kāi)發(fā)平臺(tái)的進(jìn)一步擴(kuò)展,MyEclipse開(kāi)發(fā)平臺(tái)包含了完善的程序編碼、程序調(diào)試、程序測(cè)試以及發(fā)布程序功能的整個(gè)過(guò)程,支持超文本標(biāo)記語(yǔ)言HTML,層疊樣式表CSS,數(shù)據(jù)庫(kù)SQL等。本系統(tǒng)在MyEclipse開(kāi)發(fā)平臺(tái)主要使用Java語(yǔ)言進(jìn)行開(kāi)發(fā)。所以本系統(tǒng)也是基于Java的。本系統(tǒng)Web服務(wù)器使用的是Tomcat,因?yàn)門(mén)omcat具有較高的可靠性,適合中小型系統(tǒng),不僅安裝簡(jiǎn)單而且配置環(huán)境變量也簡(jiǎn)單,操作起來(lái)也非常的方便,Tomcat服務(wù)器還具有很多便捷的功能,不僅是Servlet和JSP容器,還可以處理HTML界面在所有的應(yīng)用服務(wù)器中是比較小巧型的、輕量級(jí)的Web服務(wù)器。Tomcat是開(kāi)發(fā)程序和調(diào)試JSP界面的首要選擇。本系統(tǒng)數(shù)據(jù)庫(kù)采用的是MySQL數(shù)據(jù)庫(kù),MySQL數(shù)據(jù)庫(kù)是關(guān)系數(shù)據(jù)庫(kù)中的小清新,因?yàn)镸ySQL數(shù)據(jù)庫(kù)的體積較小、運(yùn)行速度快,所以它成為了中小型系統(tǒng)的首要選擇。也因?yàn)镸ySQL數(shù)據(jù)庫(kù)卓越的性能以及脫穎而出的特點(diǎn),所以MySQL加上JAVA以及Tomcat的組合成為了非常好的開(kāi)發(fā)環(huán)境。本系統(tǒng)前臺(tái)界面使用JSP技術(shù)動(dòng)態(tài)的生成Web網(wǎng)頁(yè)。具體是通過(guò)調(diào)用JSP引擎來(lái)生成JAVA文件,再將這個(gè)JAVA文件編譯成類文件并執(zhí)行這個(gè)類文件以生成動(dòng)態(tài)網(wǎng)頁(yè)。對(duì)于目前的管理系統(tǒng)來(lái)說(shuō),主要采用兩種主流的體系結(jié)構(gòu),分別是C/S模式和B/S模式。本系統(tǒng)使用的是B/S架構(gòu)模式來(lái)完成設(shè)計(jì)的。這種結(jié)構(gòu)可以進(jìn)行信息分布式處理,有效降低資源成本,提高系統(tǒng)的性能。目前B/S架構(gòu)模式的應(yīng)用范圍非常的廣泛,因?yàn)樗粌H在處理模式方面上簡(jiǎn)化了客戶端的操作,而且用戶的桌面安裝有\(zhòng)t"/item/BS%E6%9E%B6%E6%9E%84/_blank"瀏覽器便可運(yùn)行自己的程序,B/S的架構(gòu)模式將應(yīng)用邏輯集中在服務(wù)器和中間件上,大大的提高了處理數(shù)據(jù)的能力。第2章系統(tǒng)分析2.1系統(tǒng)可行性分析經(jīng)濟(jì)可行性方面,因?yàn)橄到y(tǒng)屬于B/S模式,所以不需要大量的硬件支持即可在瀏覽器運(yùn)行。該系統(tǒng)也是我自己獨(dú)立開(kāi)發(fā)完成,所以不需要額外的費(fèi)用,因此成本低且效率高。綜上所述在經(jīng)濟(jì)上本管理系統(tǒng)是可行的。技術(shù)可行性方面,本系統(tǒng)前臺(tái)使用JSP技術(shù)動(dòng)態(tài)生成Web網(wǎng)頁(yè)。后臺(tái)采用JAVA語(yǔ)言提高代碼的安全性和可靠性,采用MVC開(kāi)發(fā)模式降低代碼的耦合度、提高代碼的重用性?;究梢詽M足停車場(chǎng)管理系統(tǒng)的正常開(kāi)發(fā)。操作可行性方面,因?yàn)樵O(shè)計(jì)本系統(tǒng)的初衷主要是為了方便人們的生活。所以功能設(shè)計(jì)操作方面盡可能的便捷并方便用戶的使用。例如通過(guò)下拉菜單和彈窗來(lái)減少用戶的操作。界面上的操作按鈕也盡量的突顯出來(lái),方便用戶能夠快速的找到。因此操作可行性方面基本滿足要求。社會(huì)可行性方面,隨著我國(guó)經(jīng)濟(jì)持續(xù)快速的發(fā)展,停車場(chǎng)的發(fā)展對(duì)促進(jìn)城市規(guī)劃的完善有著重大意義。一個(gè)好的停車場(chǎng)需要一個(gè)質(zhì)量相當(dāng)?shù)耐\噲?chǎng)管理系統(tǒng)與之匹配,本系統(tǒng)解決了一般停車系統(tǒng)存在的效率低、過(guò)程繁瑣等問(wèn)題。因此本系統(tǒng)基本滿足大多數(shù)停車場(chǎng)對(duì)管理系統(tǒng)的需求,所以具有較高的社會(huì)可行性。通過(guò)以上四個(gè)方面的可行性分析之后,可得出本系統(tǒng)操作簡(jiǎn)單、容易上手,且具有較高的可行性。2.2系統(tǒng)性能分析2.2.1數(shù)據(jù)精確度本停系統(tǒng)使用索引的方式來(lái)加快數(shù)據(jù)的查詢速度,并且在系統(tǒng)中也對(duì)各種查詢條件進(jìn)行優(yōu)化來(lái)確保數(shù)據(jù)的精確度。2.2.2時(shí)間特性本系統(tǒng)使用異步交互的實(shí)現(xiàn)方式,避免用戶等待時(shí)間較長(zhǎng),使用戶在較短時(shí)間內(nèi)完成操作,因此本系統(tǒng)時(shí)間特性良好。2.2.3適應(yīng)性開(kāi)發(fā)本系統(tǒng)考慮了人們社會(huì)生活中停車場(chǎng)的流程節(jié)點(diǎn),因?yàn)橄到y(tǒng)由作者獨(dú)立開(kāi)發(fā),所以如果用戶遇到問(wèn)題時(shí),作者能夠及時(shí)的進(jìn)行解答并會(huì)詳細(xì)幫助用戶盡快的熟練操作。2.3系統(tǒng)需求分析目前國(guó)內(nèi)的許多地方包括超市、火車站、汽車站以及小區(qū)都有停車場(chǎng),不同的停車場(chǎng)對(duì)管理系統(tǒng)的要求不同,但大多數(shù)停車場(chǎng)的需求都會(huì)有一些共性問(wèn)題。比如停車場(chǎng)管理過(guò)程繁瑣、停車場(chǎng)車位利用率低等問(wèn)題。停車場(chǎng)是供停放車輛使用的場(chǎng)地,為道路交通提供停車場(chǎng)會(huì)大量減輕車輛為交通帶來(lái)的壓力。隨著社會(huì)的發(fā)展以及停車場(chǎng)的不斷升級(jí),人們對(duì)停車場(chǎng)管理系統(tǒng)的要求也越來(lái)越高。因?yàn)橥\噲?chǎng)管理方模式以及需求的不同,所以管理員可根據(jù)自身?xiàng)l件選擇一個(gè)高效率、低成本的停車管理系統(tǒng)。因此為了提升管理效率就需要一個(gè)新型停車場(chǎng)管理系統(tǒng)。所以通過(guò)對(duì)社會(huì)生活中停車場(chǎng)管理系統(tǒng)的調(diào)查分析,開(kāi)發(fā)了本停車場(chǎng)管理系統(tǒng)來(lái)提高停車場(chǎng)的效率和利用率。第3章系統(tǒng)的設(shè)計(jì)與實(shí)現(xiàn)3.1系統(tǒng)總體結(jié)構(gòu)設(shè)計(jì)本系統(tǒng)以科技飛速發(fā)展的當(dāng)下社會(huì)為背景,主要用來(lái)為人們的日常生活提供便利。為了幫助讀者對(duì)本系統(tǒng)的整體結(jié)構(gòu)以及模塊間的關(guān)系有一個(gè)整體的了解,下面將對(duì)系統(tǒng)的總體結(jié)構(gòu)進(jìn)行論述。本系統(tǒng)總共可分為六大塊模塊:分別有系統(tǒng)信息管理模塊、車位信息管理模塊、IC卡信息管理模塊、固定車主停車管理模塊、臨時(shí)車輛停車管理模塊以及系統(tǒng)功能操作模塊。系統(tǒng)信息管理??欤涸撃K可新增用戶以及角色信息,同樣的也可對(duì)新增的用戶和角色信息進(jìn)行基本功能操作。車位信息管理模塊:管理員登錄系統(tǒng)之后找到菜單中的車位信息管理,點(diǎn)擊添加車位信息菜單進(jìn)入新增車位信息界面將新增的車位信息按照規(guī)定填寫(xiě)完成后,點(diǎn)擊確定按鈕提交就可以在管理車位信息操作界面中看到剛剛新增的車位基本信息。管理車位信息操作界面中可以查看所有添加的車位信息狀況,也可對(duì)車位信息進(jìn)行基本的功能操作。IC卡信息管理模塊:管理員登錄系統(tǒng)之后找到菜單中的IC卡信息管理,點(diǎn)擊添加IC卡菜單進(jìn)入新增IC卡信息界面將新增IC卡信息按照規(guī)定填寫(xiě)完成后,點(diǎn)擊確定按鈕提交便可在IC卡信息管理界面查看到新增的IC卡信息。在管理IC卡操作界面,可根據(jù)IC基本信息對(duì)IC卡進(jìn)行模糊查詢,也可對(duì)IC卡進(jìn)行編輯和刪除。固定車主停車管理:該模塊是對(duì)停留時(shí)間久的車位進(jìn)行的管理。固定車主停車管理的出入場(chǎng)設(shè)置中,可根據(jù)已添加的IC卡號(hào)添加入場(chǎng)信息,選中IC卡號(hào)下拉框可查詢到之前添加的IC卡用戶,點(diǎn)擊確定按鈕即可添加入場(chǎng)信息。下方的出場(chǎng)信息管理中可以查看到添加過(guò)的入場(chǎng)信息,也可對(duì)車輛進(jìn)行設(shè)置是否出場(chǎng),點(diǎn)擊設(shè)置出場(chǎng)即可設(shè)置車輛出場(chǎng)。停車信息管理中可查看到所有固定車主的停車信息以及出入場(chǎng)時(shí)間。如果車輛未出場(chǎng)則在出場(chǎng)時(shí)間中顯示車輛未出場(chǎng)。出入場(chǎng)設(shè)置界面管理員點(diǎn)擊設(shè)置車輛出場(chǎng)操作時(shí),系統(tǒng)會(huì)根據(jù)車主停留時(shí)間計(jì)算是否達(dá)到一周,達(dá)到一周時(shí)間系統(tǒng)將自動(dòng)跳出提示框提示管理員收費(fèi),費(fèi)用為一周四百元以此累加。管理員可將所有停車信息導(dǎo)出Excel表格。臨時(shí)車輛停車管理:該模塊是為停留時(shí)間較短車輛設(shè)計(jì)的模塊,車輛入場(chǎng)信息中可根據(jù)臨時(shí)IC卡號(hào)和車牌號(hào)碼添加入場(chǎng)信息。車輛出場(chǎng)信息界面可查看到車輛的基本信息以及出入場(chǎng)時(shí)間,根據(jù)車輛停留的時(shí)間計(jì)算停車費(fèi)用,具體為將新增臨時(shí)車輛停車信息填寫(xiě)完畢之后點(diǎn)擊確定跳轉(zhuǎn)至車主出場(chǎng)信息界面,這時(shí)在車主出場(chǎng)信息中新增的車輛信息只顯示車輛入場(chǎng)時(shí)間則車主出場(chǎng)時(shí)間顯示狀態(tài)未出場(chǎng),如果設(shè)置車輛出場(chǎng)可在操作列中點(diǎn)擊結(jié)算功能系統(tǒng)將根據(jù)車輛停留時(shí)間收取費(fèi)用。系統(tǒng)功能操作模塊:主要為兩個(gè)功能一個(gè)是修改密碼功能一個(gè)是退出系統(tǒng)功能。用戶登錄系統(tǒng)成功后,便能直接的找到這個(gè)模塊,對(duì)自己的密碼進(jìn)行更新。該系統(tǒng)的主要結(jié)構(gòu)圖如圖3.1所示:圖3.1系統(tǒng)的層次結(jié)構(gòu)圖3.2系統(tǒng)總體業(yè)務(wù)流程設(shè)計(jì)系統(tǒng)流程是從登錄系統(tǒng)開(kāi)始,經(jīng)過(guò)一系列操作之后退出系統(tǒng)的過(guò)程。為了使讀者能對(duì)停車場(chǎng)管理系統(tǒng)的總體業(yè)務(wù)流程有一個(gè)清晰的了解將用系統(tǒng)流程圖來(lái)展示。主要業(yè)務(wù)流程如圖3.2所示:圖3.2系統(tǒng)的業(yè)務(wù)流程圖3.3數(shù)據(jù)庫(kù)設(shè)計(jì)3.3.1數(shù)據(jù)庫(kù)的概念結(jié)構(gòu)設(shè)計(jì)該系統(tǒng)數(shù)據(jù)庫(kù)使用的是Mysql數(shù)據(jù)庫(kù),在系統(tǒng)的數(shù)據(jù)庫(kù)中數(shù)據(jù)表設(shè)計(jì)的是否合理會(huì)體現(xiàn)出這個(gè)系統(tǒng)的設(shè)計(jì)是否合理。本停車場(chǎng)管理系統(tǒng)中,主要有用戶、IC卡、車位信息、固定車主、臨時(shí)車主和角色六個(gè)實(shí)體,接下來(lái)用下面的E-R圖對(duì)這六個(gè)實(shí)體進(jìn)行介紹展示。如E-R關(guān)系圖3.3所示:圖3.3E-R關(guān)系圖3.3.2數(shù)據(jù)庫(kù)的邏輯結(jié)構(gòu)設(shè)計(jì)下面是關(guān)于停車場(chǎng)管理系統(tǒng)的數(shù)據(jù)庫(kù)表,主要的數(shù)據(jù)信息表大致結(jié)構(gòu)分別如下:用戶表用戶表主要用來(lái)記錄用戶的ID、用戶姓名以及用戶密碼如表3.1所示:表3.1用戶表序號(hào)列名數(shù)據(jù)類型長(zhǎng)度主鍵允許空說(shuō)明1User_idInt11是否用戶id2Role_idInt11否是角色id3User_nameVarchar50否是用戶姓名4Real_nameVarchar50否是真實(shí)姓名5User_pwdVarchar50否是用戶密碼6User_phoneVarchar50否是用戶電話IC卡信息表IC卡信息表用來(lái)記錄IC卡號(hào)以及車主的基本信息,在數(shù)據(jù)庫(kù)中建一個(gè)表專門(mén)用來(lái)存儲(chǔ)、IC卡編號(hào)、車位編號(hào)、用戶名稱、用戶性別、家庭住址和車牌號(hào)。如表3.2所示:表3.2IC卡信息表序號(hào)列名數(shù)據(jù)類型長(zhǎng)度主鍵允許空說(shuō)明1Card_idInt11是否IC卡編號(hào)2Seat_idInt11否是車位編號(hào)3User_nameVarchar50否是用戶名稱4User_SexVarchar50否是用戶性別5User_addrVarchar50否是家庭住址6Car_numVarchar50否是車牌號(hào)車位信息表車位信息表主要記錄停車場(chǎng)的停車位信息,在數(shù)據(jù)庫(kù)中建一個(gè)表專門(mén)用來(lái)存儲(chǔ)車位ID、車位編號(hào)、所屬區(qū)域、車位狀態(tài)和車位備注。如表3.3所示:表3.3車位信息表序號(hào)列名數(shù)據(jù)類型長(zhǎng)度主鍵允許空說(shuō)明1Seat_idInt11是否車位ID2Seat_numVarchar50否是車位編號(hào)3Seat_areaVarchar50否是所屬區(qū)域4Seat_stateVarchar50否是車位狀態(tài)5Seat_tagVarchar50否是車位備注臨時(shí)車輛停車管理信息表臨時(shí)車輛停車管理信息表主要記錄臨時(shí)車主停車管理,在數(shù)據(jù)庫(kù)中建一個(gè)表專門(mén)用來(lái)存儲(chǔ)車位ID、IC卡id、車牌號(hào)碼、車輛入場(chǎng)時(shí)間、車輛出場(chǎng)時(shí)間和停車費(fèi)用。如表3.4所示:表3.4臨時(shí)停車管理信息表序號(hào)列名數(shù)據(jù)類型長(zhǎng)度主鍵允許空說(shuō)明1temp_idInt11是否車位ID2Car_idInt11否是車位編號(hào)3Car_numVarchar50否是車牌號(hào)碼4Entry_dateVarchar50否是車輛入場(chǎng)日期5Entry_timeVarchar50否是車輛入場(chǎng)時(shí)間6Out_dateVarchar50否是車輛出場(chǎng)日期7Out_timeVarchar50否是車輛出場(chǎng)時(shí)間8Temp_moneyVarchar50否是停車費(fèi)用固定停車管理信息表固定車主停車管理信息表主要記錄固定車主停車管理,在數(shù)據(jù)庫(kù)中建一個(gè)表專門(mén)用來(lái)存儲(chǔ)車位ID、IC卡id、車輛入場(chǎng)日期、車輛出場(chǎng)日期。如表3.5所示:表3.5固定停車管理信息表序號(hào)列名數(shù)據(jù)類型長(zhǎng)度主鍵允許空說(shuō)明1fixed_idInt11是否車位ID2car_idInt11否是IC卡id3entry_dateVarchar50否是車輛入場(chǎng)日期4entry_timeVarchar50否是車輛入場(chǎng)時(shí)間5Out_dateVarchar50否是車輛出場(chǎng)日期6Out_timeVarchar50否是車輛出場(chǎng)時(shí)間7Fixed_moneyVarchar50否是停車費(fèi)用角色表角色表主要記錄角色有哪些名稱,在數(shù)據(jù)庫(kù)中建一個(gè)表專門(mén)用來(lái)存儲(chǔ)角色I(xiàn)D、角色名稱。如表3.6所示:表3.6角色表序號(hào)列名數(shù)據(jù)類型長(zhǎng)度主鍵允許空說(shuō)明1role_idInt11是否角色I(xiàn)D2role_nameVarchar50否是角色名稱3.4系統(tǒng)實(shí)現(xiàn)3.4.1登錄注冊(cè)功能實(shí)現(xiàn)登錄注冊(cè):系統(tǒng)運(yùn)行成功后進(jìn)入login.jsp登錄界面。通過(guò)input標(biāo)簽的name獲取到輸入框填寫(xiě)的值并將這個(gè)值傳入到后臺(tái)數(shù)據(jù)庫(kù)和user表相應(yīng)的值進(jìn)行對(duì)比。如果用戶名和密碼不存在則彈出提示框提示請(qǐng)注冊(cè),如果用戶名或密碼錯(cuò)誤彈出提示框提示用戶名或密碼錯(cuò)誤請(qǐng)重新登錄。登錄界面點(diǎn)擊注冊(cè)按鈕開(kāi)始注冊(cè),注冊(cè)相當(dāng)于在數(shù)據(jù)庫(kù)中新增用戶信息。注冊(cè)前進(jìn)行判斷查看用戶名是否已經(jīng)存在,如果用戶名已經(jīng)存在數(shù)據(jù)庫(kù),則注冊(cè)失敗,彈出對(duì)話框提示用戶重新輸入,以上功能將由RegisterHandle函數(shù)來(lái)實(shí)現(xiàn)。登陸的流程如圖3.4所示:圖3.4登錄流程圖3.4.2系統(tǒng)信息管理功能實(shí)現(xiàn)系統(tǒng)信息管理模塊可新增用戶和角色信息,同樣的也可對(duì)新增的用戶和角色信息進(jìn)行基本功能操作。其主要業(yè)務(wù)結(jié)構(gòu)圖和流程圖如圖3.5、3.6所示:圖3.5系統(tǒng)信息管理結(jié)構(gòu)圖圖3.6系統(tǒng)信息管理流程圖添加角色:選中右邊菜單觸發(fā)超鏈接標(biāo)簽進(jìn)入RoleAdd.jsp添加角色界面,在客戶端輸入編號(hào)和名稱,點(diǎn)擊確定觸發(fā)BtnSure按鈕提交表單,通過(guò)表單中的action地址找到RoleHandle類里面的InsertEntity()函數(shù)進(jìn)行數(shù)據(jù)的添加。通過(guò)Request.getParameter()方法獲取到客戶端界面輸入的值調(diào)用Role類里面的CheckExist()方法并進(jìn)行If判斷,將新增的角色編號(hào)和數(shù)據(jù)庫(kù)中存在的角色編號(hào)進(jìn)行對(duì)比,如果編號(hào)值重復(fù)則彈出提示框已存在該用戶,數(shù)據(jù)添加失敗。反之則添加數(shù)據(jù)成功并跳轉(zhuǎn)到角色管理界面。管理角色信息:管理角色信息可以角色信息進(jìn)行查詢、編輯、和刪除操作。選中右邊菜單觸發(fā)超鏈接標(biāo)簽進(jìn)入RoleMsg.jsp管理角色信息界面,通過(guò)Form表單中的action地址找到RoleHandle類并找到GetEntityByWhere()方法根據(jù)查詢條件獲取對(duì)象所有的數(shù)據(jù)列表,并將數(shù)據(jù)存放到Request對(duì)象里面。通過(guò)forward(request,response)方法將查詢到的數(shù)據(jù)重定向到客戶端的RoleMsg.jsp界面,在RoleMsg.jsp界面通過(guò)request.getAttribute("list")獲取servlet端轉(zhuǎn)發(fā)的list數(shù)據(jù)列表。在管理角色信息界面可以按照角色編號(hào)和角色名稱進(jìn)行查詢,通過(guò)request.getParameter("condition")獲取到查詢字段的名稱,再通過(guò)getEntityByWhere()方法執(zhí)行語(yǔ)句對(duì)數(shù)據(jù)庫(kù)進(jìn)行查詢。在RoleHandle類中通過(guò)getEntityByWhere()方法接收將查詢到的數(shù)據(jù)返回給客戶端通過(guò)客戶端界面顯示出來(lái)。編輯功能的實(shí)現(xiàn)首先在JSP頁(yè)面獲取通過(guò)url傳過(guò)來(lái)的role_id,然后實(shí)例化Role對(duì)象根據(jù)role_id獲取Role數(shù)據(jù),隨后將將List數(shù)據(jù)轉(zhuǎn)換成Object[]。然后通過(guò)輸入框的value獲取值。刪除操作根據(jù)RoleHandle類找到deleteEntity()函數(shù),再獲取前臺(tái)通過(guò)get方式傳過(guò)來(lái)的role_id值然后調(diào)用Role類里面的deleteEntity()方法執(zhí)行sql語(yǔ)句進(jìn)行刪除操作,刪除成功后跳轉(zhuǎn)至管理頁(yè)面。intwherePage=Integer.parseInt(role.getPageCountByWhere(where).toString());List<Object>list=role.getEntityByWhere(where,page);request.setAttribute("list",list); request.getRequestDispatcher("/Admin/RoleMsg.jsp").forward(request,response);}添加用戶:選中右邊菜單觸發(fā)超鏈接標(biāo)簽進(jìn)入U(xiǎn)serAdd.jsp添加用戶界面,將基本信息填寫(xiě)完畢后,點(diǎn)擊確定觸發(fā)BtnSure按鈕提交表單,點(diǎn)擊重置BtnCancel按鈕,將清空輸入框。通過(guò)表單中的action地址找到UserHandle類里面的InsertEntity()函數(shù)進(jìn)行數(shù)據(jù)的添加。通過(guò)Request.getParameter()方法獲取到客戶端界面輸入的值,并調(diào)用Role類里面的CheckExist()方法來(lái)執(zhí)行SQL語(yǔ)句成功返回True錯(cuò)誤返回False。最后將結(jié)果通過(guò)UserHandle類返回給客戶端。管理用戶:在管理用戶操作界面可對(duì)用戶基本信息進(jìn)行查詢、編輯和刪除操作。選中右邊菜單觸發(fā)超鏈接標(biāo)簽進(jìn)入U(xiǎn)serMsg.jsp管理用戶信息界面,刪除操作根據(jù)UserHandle類找到deleteEntity()函數(shù),在deleteEntity()函數(shù)里面獲取前臺(tái)通過(guò)get方式傳過(guò)來(lái)的JId值,然后調(diào)用User類里面的deleteEntity()方法執(zhí)行sql語(yǔ)句進(jìn)行刪除操作,刪除成功后跳轉(zhuǎn)至管理頁(yè)面。3.4.3車位信息管理功能實(shí)現(xiàn)車位信息管理模塊是對(duì)車位基本信息進(jìn)行管理的模塊,車位信息管理可根據(jù)車位基本信息進(jìn)行添加。點(diǎn)擊添加車位信息菜單連接進(jìn)入新增車位基本信息界面將新增的車位基本信息按照規(guī)定填寫(xiě)完成后,點(diǎn)擊確定按鈕提交就可以在管理車位信息操作界面中看到剛剛新增的車位基本信息。管理車位信息操作界面中可查看所有添加的車位信息狀況,也可對(duì)車位基本信息進(jìn)行打印、編輯、刪除操作。其主要結(jié)構(gòu)和流程如圖3.7、3.8所示:圖3.7車位信息管理結(jié)構(gòu)圖圖3.8車位信息管理流程圖添加車位信息:進(jìn)入添加車位信息界面將信息填寫(xiě)完畢點(diǎn)擊確定按鈕,這時(shí)客戶端會(huì)向服務(wù)端發(fā)送一個(gè)請(qǐng)求。通過(guò)Form表單的action地址找到SeatHandle類,通過(guò)SeatHandle類找到insertEntity()函數(shù)。在insertEntity()函數(shù)里面通過(guò)Seat類調(diào)用insertEntity()方法執(zhí)行后臺(tái)sql語(yǔ)句。再通過(guò)SeatHandle類的InsertEntity()函數(shù)進(jìn)行IF判斷如果seat.insertEntity()等于1添加數(shù)據(jù)成功反之?dāng)?shù)據(jù)添加失敗。管理車位信息:點(diǎn)擊管理車位信息進(jìn)入超鏈接,通過(guò)超鏈接找到鏈接地址SeatMsg.jsp,再通過(guò)SeatMsg.jsp里面Form表單action地址找到SeatHandle類,在SeatHandle類的getEntityByWhere()函數(shù)中獲取數(shù)據(jù)列表。具體為通過(guò)Seat類的getEntityByWhere()函數(shù)獲取查詢后的車位信息列表,再在SeatHandle類的getEntityByWhere()函數(shù)將數(shù)據(jù)存放到Request對(duì)象里面,最后通過(guò)forward(request,response)請(qǐng)求轉(zhuǎn)發(fā)到SeatMsg.jsp來(lái)響應(yīng)客戶端。刪除操作根據(jù)SeatHandle類找到deleteEntity()函數(shù),再獲取前臺(tái)通過(guò)get方式傳過(guò)來(lái)的seat_id值然后調(diào)用Seat類里面的deleteEntity()方法執(zhí)行sql語(yǔ)句進(jìn)行刪除操作,刪除成功后跳轉(zhuǎn)至管理頁(yè)面。編輯車位信息是根據(jù)seat_id確定唯一值,在SeatEdit.jsp界面通過(guò)request.getParameter("seat_id").toString()獲取到url傳過(guò)來(lái)的seat_id,然后實(shí)例化Seat對(duì)象根據(jù)ID獲取Seat數(shù)據(jù)最后將將List數(shù)據(jù)轉(zhuǎn)換成Object[]通過(guò)obj獲取車位信息值顯示在輸入框。response.setCharacterEncoding("UTF-8");Stringseat_id=request.getParameter("seat_id").toString(); DAL.Seatseat=newDAL.Seat();List<Object>seatList=seat.getEntityById(seat_id);Object[]obj=(Object[])seatList.get(0);3.4.4IC卡信息管理功能實(shí)現(xiàn)IC卡信息管理模塊是在管理員登錄系統(tǒng)之后找到菜單中的IC卡信息管理,點(diǎn)擊添加IC卡菜單進(jìn)入新增IC卡信息界面將新增IC卡信息按照規(guī)定填寫(xiě)完成后,點(diǎn)擊確定按鈕提交便可在IC卡信息管理界面查看到新增的IC卡信息。管理IC卡操作界面,可根據(jù)IC基本信息對(duì)IC卡進(jìn)行模糊查詢,也可對(duì)IC卡進(jìn)行編輯和刪除。其主要結(jié)構(gòu)和流程如圖3.9、3.10所示:圖3.9IC卡信息管理結(jié)構(gòu)圖圖3.10IC卡信息管理流程圖添加IC卡類型:點(diǎn)擊添加IC卡類型通過(guò)前端界面Index.jsp超鏈接進(jìn)入CardAdd.jsp界面。添加時(shí)車位編號(hào)可直接下拉框顯示,先實(shí)例化Seat對(duì)象然后獲取到seat_id賦值給list并進(jìn)行for循環(huán)隨后將取得值放入object輸出顯示。Seatseat=newSeat();List<Object>list=seat.getNoUseSeat();將信息填寫(xiě)完畢點(diǎn)擊確定按鈕提交Form表單,通過(guò)Form表單中的action地址找到CardHandle類的insertEntity()函數(shù),在insertEntity()函數(shù)里面通過(guò)Card類的insertEntity()方法進(jìn)行后臺(tái)數(shù)據(jù)庫(kù)的添加操作并將執(zhí)行的數(shù)據(jù)存放到Request對(duì)象里面。如果數(shù)據(jù)添加成功提示數(shù)據(jù)添加成功并跳轉(zhuǎn)到管理IC卡類型界面。管理IC卡類型:點(diǎn)擊管理IC卡類型通過(guò)前端界面Index.jsp超鏈接進(jìn)入CardMsg.jsp界面。通過(guò)Form表單中的action找到CardHandle類,在CardHandle類找到getEntityByWhere()函數(shù),在getEntityByWhere()函數(shù)中使用card類獲取getEntityByWhere()方法用于查詢數(shù)據(jù)列表,將獲取后的查詢列表存入list中,之后將list數(shù)據(jù)存放到request對(duì)象中,用于轉(zhuǎn)發(fā)給前臺(tái)頁(yè)面使用。通過(guò)request的forward(request,response)方法將頁(yè)面返回到CardMsg.jsp,在CardMsg.jsp界面獲取servlet端轉(zhuǎn)發(fā)的list數(shù)據(jù)列表并循環(huán)數(shù)據(jù)列表,生成表格行。編輯功能的實(shí)現(xiàn)首先在JSP頁(yè)面獲取通過(guò)url傳過(guò)來(lái)的card_id,然后實(shí)例化Card對(duì)象根據(jù)card_id獲取Card數(shù)據(jù),隨后將將List數(shù)據(jù)轉(zhuǎn)換成Object[]。然后通過(guò)輸入框的value獲取值。刪除操作根據(jù)CardHandle類找到deleteEntity()函數(shù),再獲取前臺(tái)通過(guò)get方式傳過(guò)來(lái)的card_id值然后調(diào)用Role類里面的deleteEntity()方法執(zhí)行sql語(yǔ)句進(jìn)行刪除操作,刪除成功后跳轉(zhuǎn)至管理頁(yè)面。if(list!=null){out.print("<tr><td>"+obj[0]+"</td><td>"+obj[6]+"</td><td>"+obj[2]+"</td><td>"+obj[3]+"</td><td>"+obj[4]+"</td><td>"+obj[5]+"</td><td><ahref='"+path+"/Admin/CardEdit.jsp?card_id="+obj[0]+"'class='a_edit'>編輯</a><ahref='"+path+"/CardHandle?type=1&card_id="+obj[0]+"'class='a_del'onclick='returnconfirm(\"是否確認(rèn)刪除?\")'>刪除</a></td></tr>");}}3.4.5固定車主停車管理功能實(shí)現(xiàn)固定車主停車管理是對(duì)停留時(shí)間久的車位進(jìn)行的管理。固定車主停車管理的出入場(chǎng)設(shè)置中,可根據(jù)已添加的IC卡號(hào)添加入場(chǎng)信息,選中IC卡號(hào)下拉框可查詢到之前添加的IC卡用戶,點(diǎn)擊確定按鈕即可添加入場(chǎng)信息。便可在下方的出場(chǎng)信息管理中可以查看到添加過(guò)的入場(chǎng)信息,也可對(duì)車輛進(jìn)行設(shè)置是否出場(chǎng),點(diǎn)擊設(shè)置出場(chǎng)即可設(shè)置車輛出場(chǎng)。停車信息管理中可查看到所有固定車主的停車信息以及出入場(chǎng)時(shí)間。如果車輛未出場(chǎng)則在出場(chǎng)時(shí)間中顯示車輛未出場(chǎng)。出入場(chǎng)設(shè)置界面管理員點(diǎn)擊設(shè)置車輛出場(chǎng)操作時(shí),系統(tǒng)會(huì)根據(jù)車主停留時(shí)間計(jì)算是否達(dá)到一周,達(dá)到一周時(shí)間系統(tǒng)將自動(dòng)跳出提示框提示管理員收費(fèi),費(fèi)用為一周四百元以此累加。管理員可將所有停車信息導(dǎo)出Excel表格。其主要結(jié)構(gòu)和流程如圖3.11、3.12所示:圖3.11固定車主停車管理結(jié)構(gòu)圖圖3.12固定車主停車管理流程圖出入場(chǎng)設(shè)置:固定車主成功辦理IC卡后在固定車主的出場(chǎng)設(shè)置界面中可獲取固定車主的IC卡號(hào),并根據(jù)車主的IC卡號(hào)來(lái)添加車主的入場(chǎng)信息。在界面通過(guò)下拉框的方式獲取固定車主的IC卡號(hào)點(diǎn)擊確定按鈕將添加好的車主信息展示在下方的出場(chǎng)信息管理中。下拉框顯示的車主信息是獲取的車主添加IC卡成功之后信息,這個(gè)功能使用card_id作為標(biāo)識(shí)符獲取到Card的IC卡號(hào),實(shí)例化Card類并通過(guò)Card類調(diào)用getEntity()函數(shù)將card_id值循環(huán)取出并顯示在下拉框中。在出場(chǎng)信息管理中可以設(shè)置車輛的出場(chǎng)。點(diǎn)擊設(shè)置車輛出場(chǎng)類似于一個(gè)刪除操作將設(shè)置過(guò)車輛出場(chǎng)的車輛信息在出入場(chǎng)設(shè)置中刪除,在此同時(shí)在停車信息管理里面出場(chǎng)日期會(huì)發(fā)生改變。停車信息管理的日期會(huì)從剛開(kāi)始的未出場(chǎng)狀態(tài)自動(dòng)生成為一個(gè)確定的日期時(shí)間。Stringresult=obj[4].toString().equals("1111-11-11")?"未出場(chǎng)":obj[4].toString();out.print("<tr><td>"+obj[0]+"</td><td>"+obj[1]+"</td><td>"+obj[7]+"</td><td>"+obj[6]+"</td><td>"+obj[2]+""+obj[3]+"</td><td>"+result+"</td><td><ahref='"+path+"/FixedHandle?type=1&fixed_id="+obj[0]+"'class='a_del'onclick='returnconfirm(\"是否確認(rèn)刪除?\")'>刪除</a></td></tr>");}}停車信息管理:在停車信息管理中可根據(jù)記錄編號(hào)、IC卡號(hào)和車牌號(hào)碼進(jìn)行模糊查詢。會(huì)顯示車輛的入場(chǎng)日期時(shí)間可出場(chǎng)日期時(shí)間,如果車輛未出場(chǎng)則在出場(chǎng)日期顯示車輛未出場(chǎng)。功能具體實(shí)現(xiàn)首先通過(guò)request.getAttribute()獲取到FixedHandle類轉(zhuǎn)發(fā)的list數(shù)據(jù)列表并循環(huán)數(shù)據(jù)列表生成表格行。還可將生成的表格生成Excel導(dǎo)出。根據(jù)記錄編號(hào)、IC卡號(hào)和車牌號(hào)碼進(jìn)行模糊查詢功能具體實(shí)現(xiàn)過(guò)程為在FixedHandle類找到getEntityByWhere()函數(shù),在getEntityByWhere()函數(shù)中通過(guò)request.getParameter()獲取查詢字段的名字,通過(guò)Fixed類的getEntityByWhere()方法獲取查詢后的數(shù)據(jù)并將數(shù)據(jù)存放到request對(duì)象中,用于轉(zhuǎn)發(fā)給前臺(tái)頁(yè)面使用。刪除操作根據(jù)FixedHandle類找到deleteEntity()函數(shù),再獲取前臺(tái)通過(guò)get方式傳過(guò)來(lái)的Fixed_id值然后調(diào)用Temp類里面的deleteEntity()方法執(zhí)行sql語(yǔ)句進(jìn)行刪除操作,刪除成功后跳轉(zhuǎn)至停車管理頁(yè)面。固定車主收費(fèi)功能的實(shí)現(xiàn):本系統(tǒng)的固定車主停車管理模塊主要是為了停留至少一周時(shí)間的車主所設(shè)立的,所以在出入場(chǎng)設(shè)置界面管理員點(diǎn)擊設(shè)置車輛出場(chǎng)操作時(shí),系統(tǒng)會(huì)根據(jù)車主停留時(shí)間計(jì)算是否達(dá)到一周,達(dá)到一周時(shí)間之后系統(tǒng)將自動(dòng)彈出提示框提示管理員收費(fèi),費(fèi)用為一周四百元以此累加。管理員點(diǎn)擊操作列的結(jié)算功能將跳轉(zhuǎn)至結(jié)算界面,在結(jié)算界面會(huì)顯示固定車主的基本信息以及停留時(shí)長(zhǎng)和應(yīng)收取的費(fèi)用。具體實(shí)現(xiàn)為點(diǎn)擊設(shè)置出場(chǎng)時(shí)進(jìn)行IF判斷,在IF判斷里面獲取車輛入場(chǎng)和出場(chǎng)累積時(shí)間,如果時(shí)間大于等于一周彈出請(qǐng)收費(fèi)提示框并跳轉(zhuǎn)至停車管理操作界面,如果時(shí)間小于一周彈出是否確認(rèn)出場(chǎng)提示框。在停車信息管理界面,管理員選擇時(shí)間大于一周的車主信息點(diǎn)擊操作列的結(jié)算功能觸發(fā)超鏈接跳轉(zhuǎn)至FixedSettle.jsp界面,在FixedSettle.jsp頁(yè)面獲取url傳過(guò)來(lái)的fixed_id并實(shí)例化Fixed對(duì)象,根據(jù)fixed_id獲取Fixed數(shù)據(jù)并將Fixed數(shù)據(jù)轉(zhuǎn)換成Object[]賦值給obj,通過(guò)obj獲取到車輛停放時(shí)間以及基本信息。計(jì)算費(fèi)用在function()函數(shù)里面首先通過(guò)日期列input標(biāo)簽的name獲取到車輛入場(chǎng)時(shí)間和出場(chǎng)時(shí)間,之后通過(guò)獲取到的出場(chǎng)時(shí)間減去入場(chǎng)時(shí)間。再用Math.ceil()方法向上取整得到一個(gè)整數(shù)時(shí)間并顯示在輸入框中,IF判斷如果時(shí)間等于168小時(shí)則顯示費(fèi)用為400元。點(diǎn)擊確定按鈕之后系統(tǒng)跳轉(zhuǎn)至車輛信息管理界面,這時(shí)車輛出場(chǎng)時(shí)間的狀態(tài)改變由未出場(chǎng)狀態(tài)變?yōu)榫唧w出場(chǎng)時(shí)間。如果時(shí)間小于一周在停車信息管理界面車輛的出場(chǎng)時(shí)間也會(huì)變?yōu)榫唧w時(shí)間,管理員可在結(jié)算界面查看車輛在停車場(chǎng)的停留時(shí)長(zhǎng)不做結(jié)算。3.4.6臨時(shí)車輛停車管理功能實(shí)現(xiàn)臨時(shí)車輛停車管理是為停留時(shí)間較短車輛設(shè)計(jì)的模塊,車輛入場(chǎng)信息中可根據(jù)臨時(shí)IC卡號(hào)和車牌號(hào)碼添加入場(chǎng)信息。車輛出場(chǎng)信息中可查看到車輛的基本信息以及出入場(chǎng)時(shí)間,根據(jù)車輛停留的時(shí)間計(jì)算停車費(fèi)用,具體為將新增臨時(shí)車輛停車信息填寫(xiě)完畢之后點(diǎn)擊確定跳轉(zhuǎn)至車主出場(chǎng)信息界面,這時(shí)在車主出場(chǎng)信息中新增的車輛信息只顯示車輛入場(chǎng)時(shí)間則車主出場(chǎng)時(shí)間顯示狀態(tài)未出場(chǎng),如果設(shè)置車輛出場(chǎng)可在操作列中點(diǎn)擊結(jié)算功能系統(tǒng)將根據(jù)車輛停留時(shí)間收取費(fèi)用。其主要結(jié)構(gòu)和流程如圖3.13、3.14所示:圖3.13臨時(shí)車輛停車管理結(jié)構(gòu)圖圖3.14臨時(shí)車輛停車管理流程圖車主入場(chǎng)信息:車主入場(chǎng)信息相當(dāng)于一個(gè)添加功能。填寫(xiě)好臨時(shí)IC卡號(hào)和車牌號(hào)碼點(diǎn)擊確定按鈕即可添加。點(diǎn)擊提交按鈕將觸發(fā)Form表單,通過(guò)Form表單的action地址找到TempHandle類的insertEntity()函數(shù),在insertEntity()函數(shù)里面通過(guò)request.getParameter()得到客戶端傳入的值。在insertEntity()函數(shù)里面調(diào)用Temp類的insertEntity()方法進(jìn)行數(shù)據(jù)庫(kù)操作,臨時(shí)卡號(hào)和車牌號(hào)碼不允許為空,在insertEntity()函數(shù)里面進(jìn)行IF判斷如果為空彈出提示框顯示車牌號(hào)碼不能為空。if(!temp.checkExist(card_id)){out.write("<script>alert('車牌號(hào)不能為空');location.href='/Parking/TempHandle?type=4';</script>");}}車主出場(chǎng)信息:具體功能實(shí)現(xiàn)為通過(guò)TempHandle類的getEntityByWhere()函數(shù)獲取對(duì)象的所有數(shù)據(jù)列表,將數(shù)據(jù)存放到request對(duì)象中,通過(guò)request對(duì)象將數(shù)據(jù)轉(zhuǎn)發(fā)給前臺(tái)頁(yè)面。在前臺(tái)頁(yè)面通過(guò)request.getAttribute()獲取控制端轉(zhuǎn)發(fā)的list數(shù)據(jù)表,循環(huán)數(shù)據(jù)列表生成表格顯示。模糊查詢功能具體實(shí)現(xiàn)過(guò)程為在TempHandle類找到getEntityByWhere()函數(shù),在getEntityByWhere()函數(shù)中通過(guò)request.getParameter()獲取查詢字段的名字,通過(guò)Temp類的getEntityByWhere()方法獲取查詢后的數(shù)據(jù)并將數(shù)據(jù)存放到request對(duì)象中,用于轉(zhuǎn)發(fā)給前臺(tái)頁(yè)面使用。刪除操作根據(jù)TempHandle類找到deleteEntity()函數(shù),再獲取前臺(tái)通過(guò)get方式傳過(guò)來(lái)的temp_id值然后調(diào)用Temp類里面的deleteEntity()方法執(zhí)行sql語(yǔ)句進(jìn)行刪除操作,刪除成功后跳轉(zhuǎn)至管理頁(yè)面。停放車輛收費(fèi)功能實(shí)現(xiàn):車主出場(chǎng)的時(shí)候根據(jù)車輛的停留時(shí)間進(jìn)行收費(fèi),車輛如果未出場(chǎng)則在出場(chǎng)日期列顯示車輛的狀態(tài)為未出場(chǎng)狀態(tài),停車費(fèi)用列狀態(tài)顯示為未結(jié)算狀態(tài)。點(diǎn)擊操作列的結(jié)算功能將跳轉(zhuǎn)至結(jié)算界面,在結(jié)算界面會(huì)顯示車輛基本信息以及停留時(shí)長(zhǎng)和應(yīng)收取的費(fèi)用,停留時(shí)長(zhǎng)一小時(shí)或不滿一小時(shí)收費(fèi)三元并以此疊加。具體實(shí)現(xiàn)為用戶點(diǎn)擊結(jié)算將觸發(fā)超鏈接跳轉(zhuǎn)至TempEdit.jsp頁(yè)面,在TempEdit.jsp頁(yè)面獲取url傳過(guò)來(lái)的temp_id并實(shí)例化Temp對(duì)象,根據(jù)temp_id獲取Temp數(shù)據(jù)并將Temp數(shù)據(jù)轉(zhuǎn)換成Object[]賦值給obj,通過(guò)obj獲取到車輛停放時(shí)間以及基本信息。計(jì)算費(fèi)用在function()函數(shù)里面首先通過(guò)日期列input標(biāo)簽的name獲取到車輛入場(chǎng)時(shí)間和出場(chǎng)時(shí)間,之后通過(guò)獲取到的出場(chǎng)時(shí)間減去入場(chǎng)時(shí)間。再用Math.ceil()方法向上取整得到一個(gè)整數(shù)時(shí)間并顯示在輸入框中,通過(guò)獲取到的價(jià)格乘以時(shí)間最后得到一個(gè)總價(jià)。點(diǎn)擊確定按鈕之后系統(tǒng)跳轉(zhuǎn)至車主出場(chǎng)信息界面,這時(shí)車輛出場(chǎng)時(shí)間的狀態(tài)改變從未出場(chǎng)變?yōu)榫唧w出場(chǎng)時(shí)間。varlessTime=newDate(dateOut).getTime()-newDate(dateEntry).getTime();varhours=Math.ceil(parseFloat(lessTime)/(1000*60*60));$("[name=time]").val(hours);$("[name=temp_money]").val($("[name=price]").val()*hours);$("[name=price]").blur(function(){$("[name=temp_money]").val($("[name=price]").val()*hours);});3.4.7系統(tǒng)功能操作功能實(shí)現(xiàn)系統(tǒng)功能操作包括修改密碼和退出登錄功能,其主要流程如圖3.15所示:圖3.15系統(tǒng)功能操作流程圖修改密碼功能實(shí)現(xiàn):點(diǎn)擊修改密碼面界面輸入原始密碼使用UserHandle類的chagePwd()函數(shù),在chagePwd()函數(shù)里面使用user類調(diào)用checkPwd()方法檢查密碼是否輸入正確。新密碼和確認(rèn)新密碼是在ChagePwd.jsp界面寫(xiě)了一個(gè)checkPwd()函數(shù),如果兩次密碼輸入不一致彈出一個(gè)提示框提示兩次密碼不一致請(qǐng)重親輸入。退出登錄功能:當(dāng)用戶退出系統(tǒng)時(shí),點(diǎn)擊退出登錄會(huì)跳轉(zhuǎn)到Logout.jsp頁(yè)面,在Logout.jsp頁(yè)面重定界面使用response的sendRedirect方法重定向到登錄界面。第4章系統(tǒng)的測(cè)試測(cè)試是為了發(fā)現(xiàn)軟件項(xiàng)目設(shè)計(jì)中存在的缺陷而執(zhí)行程序的過(guò)程,同時(shí)也是軟件程序中的最后一個(gè)步驟。測(cè)試可以測(cè)試項(xiàng)目的性能是否符合要求,項(xiàng)目預(yù)期功能是否全部實(shí)現(xiàn)。也可以查找出軟件設(shè)計(jì)的不足以及是否符合用戶的需求。比如程序功能異常,前端界面拉伸問(wèn)題等??偟膩?lái)說(shuō)測(cè)試就是測(cè)試軟件是否達(dá)到了預(yù)期結(jié)果。4.1測(cè)試方法軟件測(cè)試方法有很多,常用的有白盒測(cè)試、黑盒測(cè)試和灰盒測(cè)試。白盒測(cè)試可以查看到系統(tǒng)的內(nèi)部結(jié)構(gòu),并且使用軟件的內(nèi)部知識(shí)來(lái)進(jìn)行數(shù)據(jù)的測(cè)試,所以白盒測(cè)試對(duì)測(cè)試人員的要求較高,需要測(cè)試人員有一定的編程經(jīng)驗(yàn)。黑盒測(cè)試看不到系統(tǒng)的內(nèi)部結(jié)構(gòu),被稱為是功能測(cè)試。主要用來(lái)測(cè)試系統(tǒng)能否正常運(yùn)行。灰盒測(cè)試是介于白盒和黑盒測(cè)試之間的一種測(cè)試方法。4.2測(cè)試內(nèi)容將項(xiàng)目部署到服務(wù)器之后運(yùn)行項(xiàng)目看是否會(huì)報(bào)錯(cuò),系統(tǒng)項(xiàng)目不報(bào)錯(cuò)的情況下登錄系統(tǒng)并查看系統(tǒng)各個(gè)功能是否能正常操作。登陸界面如圖4.1所示:注冊(cè)界面如圖4.2所示:圖4.1登錄界面圖4.2注冊(cè)界面系統(tǒng)信息管理如圖4.3所示,管理用戶信息如圖4.4所示:圖4.3系統(tǒng)信息管理圖4.4管理系統(tǒng)用戶車位信息管理如圖4.5所示:管理車位信息如圖4.6所示:圖4.5車位信息管理圖4.6管理車位信息打開(kāi)固定車主停車管理菜單欄如圖4.7所示:停車信息管理的界面如圖4.8所示:圖4.7固定車主停車管理圖4.8停車信息管理打開(kāi)臨時(shí)車輛信息管理菜單欄如圖4.9所示:車輛出場(chǎng)信息的界面如圖4.10所示:圖4.9臨時(shí)車輛停車管理圖4.10車輛出場(chǎng)信息管理系統(tǒng)功能測(cè)試如表4.1所示:表4.1系統(tǒng)功能測(cè)試表模塊名稱測(cè)試內(nèi)容測(cè)試情況實(shí)際結(jié)果用戶模塊注冊(cè)輸入不符合規(guī)定點(diǎn)擊注冊(cè),無(wú)法注冊(cè)成功;輸入正確的字符,點(diǎn)擊注冊(cè),注冊(cè)成功。功能實(shí)現(xiàn)登錄當(dāng)用戶名不存在或者密碼錯(cuò)誤時(shí)登錄失??;輸入正確的用戶名密碼登錄成功。系統(tǒng)信息管理模塊添加角色信息可正常添加角色。管理角色信息可對(duì)角色進(jìn)行查詢編輯和刪除。添加用戶信息可以正常添加用戶。管理用戶信息可對(duì)用戶進(jìn)行查詢編輯和刪除。車位信息管理模塊
溫馨提示
- 1. 本站所有資源如無(wú)特殊說(shuō)明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請(qǐng)下載最新的WinRAR軟件解壓。
- 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請(qǐng)聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
- 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁(yè)內(nèi)容里面會(huì)有圖紙預(yù)覽,若沒(méi)有圖紙預(yù)覽就沒(méi)有圖紙。
- 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
- 5. 人人文庫(kù)網(wǎng)僅提供信息存儲(chǔ)空間,僅對(duì)用戶上傳內(nèi)容的表現(xiàn)方式做保護(hù)處理,對(duì)用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對(duì)任何下載內(nèi)容負(fù)責(zé)。
- 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請(qǐng)與我們聯(lián)系,我們立即糾正。
- 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時(shí)也不承擔(dān)用戶因使用這些下載資源對(duì)自己和他人造成任何形式的傷害或損失。
最新文檔
- 迎春晚會(huì)活動(dòng)方案
- 2026年及未來(lái)5年中國(guó)液力緩速器行業(yè)市場(chǎng)調(diào)查研究及投資前景預(yù)測(cè)報(bào)告
- 2026年智慧農(nóng)業(yè)生態(tài)建設(shè)行業(yè)報(bào)告
- 企業(yè)心理咨詢制度
- 五臺(tái)縣文昌學(xué)校制度
- 機(jī)動(dòng)技術(shù)偵察
- 二次系統(tǒng)的基本知識(shí)課件
- 湖北中考?xì)v史三年(2023-2025)真題分類匯編專題03 中國(guó)現(xiàn)代史選擇題(解析版)
- 2025-2030中國(guó)生命科學(xué)產(chǎn)業(yè)發(fā)展戰(zhàn)略及投資策略建議研究研究報(bào)告
- 2025至2030中國(guó)金融科技服務(wù)市場(chǎng)監(jiān)管政策及商業(yè)模式評(píng)估研究報(bào)告
- 餐飲企業(yè)后廚食品安全培訓(xùn)資料
- 國(guó)網(wǎng)安全家園題庫(kù)及答案解析
- 足踝外科進(jìn)修匯報(bào)
- 【12篇】新部編版小學(xué)語(yǔ)文六年級(jí)上冊(cè)【課內(nèi)外閱讀理解專項(xiàng)訓(xùn)練(完整版)】含答案
- 船艇涂裝教學(xué)課件
- 招標(biāo)績(jī)效考核方案(3篇)
- 500萬(wàn)的咨詢合同范本
- 2025年貸款房屋轉(zhuǎn)贈(zèng)協(xié)議書(shū)
- 2025天津市個(gè)人房屋租賃合同樣本
- 中藥熱熨敷技術(shù)及操作流程圖
- 鶴壁供熱管理辦法
評(píng)論
0/150
提交評(píng)論