畢業(yè)設(shè)計(jì)(論文)-小區(qū)車輛管理系統(tǒng)的設(shè)計(jì)與實(shí)現(xiàn).doc_第1頁(yè)
畢業(yè)設(shè)計(jì)(論文)-小區(qū)車輛管理系統(tǒng)的設(shè)計(jì)與實(shí)現(xiàn).doc_第2頁(yè)
畢業(yè)設(shè)計(jì)(論文)-小區(qū)車輛管理系統(tǒng)的設(shè)計(jì)與實(shí)現(xiàn).doc_第3頁(yè)
畢業(yè)設(shè)計(jì)(論文)-小區(qū)車輛管理系統(tǒng)的設(shè)計(jì)與實(shí)現(xiàn).doc_第4頁(yè)
畢業(yè)設(shè)計(jì)(論文)-小區(qū)車輛管理系統(tǒng)的設(shè)計(jì)與實(shí)現(xiàn).doc_第5頁(yè)
已閱讀5頁(yè),還剩29頁(yè)未讀, 繼續(xù)免費(fèi)閱讀

下載本文檔

版權(quán)說(shuō)明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請(qǐng)進(jìn)行舉報(bào)或認(rèn)領(lǐng)

文檔簡(jiǎn)介

四川大學(xué)錦城學(xué)院本科畢業(yè)論文 小區(qū)車輛管理系統(tǒng)的設(shè)計(jì)與實(shí)現(xiàn)小區(qū)車輛管理系統(tǒng)的設(shè)計(jì)與實(shí)現(xiàn)專業(yè):學(xué)生: 指導(dǎo)老師:摘 要小區(qū)車輛管理系統(tǒng)是一個(gè)通過(guò)人機(jī)交互系統(tǒng),將小區(qū)車輛、駕駛員和出車情況進(jìn)行存儲(chǔ),并同時(shí)對(duì)小區(qū)車輛進(jìn)行全面管理的系統(tǒng)。它主要實(shí)現(xiàn)了車輛信息管理、駕駛員信息管理、出車信息管理等功能。它的目的是加強(qiáng)對(duì)小區(qū)車輛的管理,使其智能化,意義是降低人力成本。小區(qū)車輛管理系統(tǒng)基于B/S結(jié)構(gòu)和J2EE平臺(tái),采用兩層架構(gòu)構(gòu)建。表示層:負(fù)責(zé)完成用戶體驗(yàn),主要實(shí)現(xiàn)用戶數(shù)據(jù)的采集和處理結(jié)果數(shù)據(jù)到客戶端的渲染;選用基于MVC模式構(gòu)建的表示層開(kāi)源框架Struts2構(gòu)建。視圖采用JSP實(shí)現(xiàn),配合html、CSS和Javascript以建立良好的用戶體驗(yàn)環(huán)境。持久層負(fù)責(zé)與數(shù)據(jù)庫(kù)的交互,主要實(shí)現(xiàn)實(shí)體數(shù)據(jù)的增、刪、改、查等操作,采用開(kāi)源的持久層框架Hibernate實(shí)現(xiàn)。系統(tǒng)同時(shí)采用SQLServer數(shù)據(jù)庫(kù)實(shí)現(xiàn)數(shù)據(jù)存儲(chǔ)。本文主要完成和車輛管理,駕駛員管理的設(shè)計(jì)實(shí)現(xiàn),汽車信息管理功能,簡(jiǎn)要介紹了系統(tǒng)的背景,技術(shù)背景,需求分析,系統(tǒng)架構(gòu)設(shè)計(jì),及相關(guān)功能的實(shí)現(xiàn)方法,最后對(duì)數(shù)據(jù)庫(kù)的設(shè)計(jì)進(jìn)行了介紹。關(guān)鍵詞: 車輛管理 B/S J2EE Struts2The design and implementation ofdistrict vehicle management systemMajor: Software Engineering Student: Li Yuqing Supervisor: Zhao ChunAbstractDistrict vehicle management system is an interactive system through the cell vehicle, the driver and the bus case for storage, and also for the overall management of the district vehicle systems. It is the main achievement of the vehicle information management, driver information management, information management, and other functions of the bus. Its purpose is to strengthen the management of district vehicles to intelligent, meaning lower labor costs.District vehicle management system based on B / S structure and the J2EE platform to build a two-tier architecture. Presentation Layer: is responsible for completing the user experience, the main results of the data collection and processing of user data to render the client; the use of open-source framework for building the presentation layer-based build Struts2 MVC pattern. View using JSP to achieve, with html, CSS and Javascript to create a good user experience environment. Persistence layer is responsible for interacting with the database, the main achievement of entity data add, delete, change, and other operations, the use of open source persistence framework Hibernate implementation. System while using SQLServer database for data storage.Thesis completed vehicle management, design and implementation of the bus driver management and information management functions, briefly describes the system background, technical background, needs analysis, the overall system architecture design, and implementation-related functions, and finally to database design was introduced.Key words: vehicle management B/S J2EE Struts2目 錄1導(dǎo)論11.1系統(tǒng)背景11.2技術(shù)背景11.3研究?jī)?nèi)容32系統(tǒng)整體設(shè)計(jì)42.1系統(tǒng)需求分析42.2系統(tǒng)整體架構(gòu)設(shè)計(jì)52.3系統(tǒng)功能設(shè)計(jì)73系統(tǒng)核心功能實(shí)現(xiàn)83.1系統(tǒng)界面設(shè)計(jì)83.2中文亂碼處理103.3駕駛員信息管理123.4車輛信息管理153.5出車信息管理164數(shù)據(jù)庫(kù)的分析與設(shè)計(jì)194.1數(shù)據(jù)庫(kù)的概念和特點(diǎn)194.2數(shù)據(jù)庫(kù)的邏輯結(jié)構(gòu)設(shè)計(jì)224.3表結(jié)構(gòu)224.4數(shù)據(jù)庫(kù)的連接原理235系統(tǒng)測(cè)試255.1系統(tǒng)測(cè)試目的與意義255.2測(cè)試結(jié)果256總結(jié)27參考文獻(xiàn)28致謝29291導(dǎo)論1.1系統(tǒng)背景 伴隨著我國(guó)經(jīng)濟(jì)的快速增長(zhǎng),人們的生活水平逐年提高,當(dāng)然人們對(duì)生活的品質(zhì)是逐漸有了更高的要求。經(jīng)濟(jì)的增長(zhǎng),道路的發(fā)展,汽車就成為了人們必不可少的交通工具。不管是上班,還是去游玩,還是什么,人們都離不開(kāi)交通工具,所以汽車是必不可少的。但是汽車多了,也帶來(lái)了危險(xiǎn)的信號(hào),很多的交通事故出現(xiàn),還有重要一點(diǎn)就是對(duì)汽車的管理。那要怎么管理汽車呢?科技發(fā)展得很快,我們很有必要開(kāi)發(fā)一套汽車智能管理系統(tǒng),這樣可以大大的節(jié)省人力成本,使公司,小區(qū),商場(chǎng)等車輛實(shí)現(xiàn)智能化。 隨著人們對(duì)生活有了更高的要求,出門(mén)有一部自己的車,太普遍了。導(dǎo)致了車輛的數(shù)目增加很快,同時(shí)問(wèn)題在這樣的背景下也逐漸增加,比如車輛的車型問(wèn)題,車輛的使用年限問(wèn)題還有使用車輛產(chǎn)生的費(fèi)用:過(guò)路費(fèi),停車費(fèi),租位費(fèi)等等,這些數(shù)據(jù)加在一起是非常非常多的,處理這些數(shù)據(jù)真實(shí)靠人力的話是很費(fèi)時(shí)間,也就會(huì)增加企業(yè)的財(cái)力。所以為了解決這個(gè)問(wèn)題,我們得開(kāi)發(fā)一套智能管控系統(tǒng),來(lái)不單單處理這些數(shù)據(jù),還可以對(duì)這些車輛管理。因此,在這樣的環(huán)境下,開(kāi)發(fā)一套這樣的系統(tǒng)是可行的,也是很有必要的。1.2技術(shù)背景 1. Java語(yǔ)言 本系統(tǒng)采用Java語(yǔ)言編寫(xiě),Java是一種可以撰寫(xiě)跨平臺(tái)應(yīng)用軟件的面向?qū)ο蟮某绦蛟O(shè)計(jì)語(yǔ)言 馬劍. 基于java的學(xué)生成績(jī)管理系統(tǒng)設(shè)計(jì)與實(shí)現(xiàn)J. 計(jì)算機(jī)光盤(pán)軟件與應(yīng)用,2012,16(14):9091.。是由Sun Microsystems公司于1995年5月推出的Java程序設(shè)計(jì)語(yǔ)言和Java平臺(tái)(即JavaSE, JavaEE, JavaME)的總稱 王琳. 基于J2EE售票管理系統(tǒng)的設(shè)計(jì)與實(shí)現(xiàn)D:碩士學(xué)位論文.沈陽(yáng):東北大學(xué),2012,3132.。Java具有以下特點(diǎn),如表1所示:表1:Java語(yǔ)言特點(diǎn)特征通用性、高效性、可移植性的特點(diǎn),安全可靠跨平臺(tái)、分布式、解釋性、健壯性用途個(gè)人電腦,游戲機(jī)的使用,科學(xué)超級(jí)計(jì)算機(jī),互聯(lián)網(wǎng)和電話等。2. MVC模式 MVC模式是表示層開(kāi)發(fā)最常用的設(shè)計(jì)模式,使用該設(shè)計(jì)模式是為了減少業(yè)務(wù)邏輯和視圖之間的耦合,這樣的設(shè)計(jì)模式可以提高系統(tǒng)的可擴(kuò)展性和可維護(hù)性。MVC模型組成的模型,視圖和控制器。在這個(gè)模型中??刂破鞯淖饔檬墙邮芸蛻舳税l(fā)送的請(qǐng)求,那么請(qǐng)求到適當(dāng)?shù)哪P偷臉I(yè)務(wù)流程(控制器相當(dāng)于一個(gè)中轉(zhuǎn)站),然后將處理結(jié)果返回給客戶端,在客戶端通過(guò)MVC模式中的視圖可以看到。模型的主要作用是對(duì)控制器轉(zhuǎn)發(fā)過(guò)來(lái)的請(qǐng)求進(jìn)行一個(gè)邏輯處理,也就是客戶端的請(qǐng)求,這是由JavaBean來(lái)實(shí)現(xiàn)的,當(dāng)然這也是要保證它的可移植性,所以它不該依賴Servlet API。當(dāng)模型處理好了后將結(jié)果由控制器發(fā)送給視圖,最終再展示給客戶端使用。3. JSPJSP技術(shù)是用Java編程編寫(xiě)類XML的tags和scriptlets,所以自然也就會(huì)想到在JSP中是可以含有用Java語(yǔ)言編寫(xiě)的一些代碼,它也是可以處理動(dòng)態(tài)網(wǎng)頁(yè)的一個(gè)邏輯處理。JSP的優(yōu)點(diǎn)是:它可以顯示邏輯和網(wǎng)頁(yè)的網(wǎng)頁(yè)進(jìn)行分離的設(shè)計(jì),這樣的一個(gè)好處是它可以使Web程序的開(kāi)發(fā)變得非常簡(jiǎn)便。在有一個(gè)來(lái)自JSP頁(yè)面的請(qǐng)求服務(wù)器的時(shí)候,服務(wù)器先是執(zhí)行網(wǎng)頁(yè)中的程序段,最后將執(zhí)行的結(jié)果和網(wǎng)頁(yè)本省的代碼一起返回給用戶端。對(duì)Java代碼片段在JSP頁(yè)面中使用是非常有用的,比如寫(xiě)一段可以操作數(shù)據(jù)庫(kù)的Java代碼或者重新轉(zhuǎn)向其他頁(yè)面等等這些功能都是可以通過(guò)在JSP頁(yè)面中編寫(xiě)Java代碼來(lái)實(shí)現(xiàn),這樣也就是建立了動(dòng)態(tài)網(wǎng)頁(yè)的效果。所以,我們就可以看出JSP是由HTML代碼和寫(xiě)在網(wǎng)頁(yè)里面的Java代碼構(gòu)成。JSP有以下幾點(diǎn)特點(diǎn),如表2所示:表2:JSP特點(diǎn)特征簡(jiǎn)單好用,它是面向?qū)ο蟮募夹g(shù),可以在任何的平臺(tái)上進(jìn)行編寫(xiě),安全性非常高 優(yōu)點(diǎn)只要編寫(xiě)一次,不管在那里都可以運(yùn)行,但是除開(kāi)系統(tǒng)本身以外,代碼是可以不用做其他的變動(dòng)對(duì)于在很多的系統(tǒng)的平臺(tái)上都是支持的,這和ASP和.net相比,JSP的優(yōu)勢(shì)就很明顯了很靈活,達(dá)到了一個(gè)小的Jar文件都可以使JSP運(yùn)行JSP功能非常強(qiáng)大,還有很多的開(kāi)發(fā)工具對(duì)它支持,它也可以在許多的平臺(tái)上跑在面對(duì)系統(tǒng)比較復(fù)雜的時(shí)候,很多處理不需要經(jīng)過(guò)持久層的時(shí)候,我們就可以選擇在JSP頁(yè)面上實(shí)現(xiàn)這些處理,只需要在JSP頁(yè)面中寫(xiě)上相應(yīng)的處理方法,但是書(shū)寫(xiě)的格式也是不同的4. JavaScriptJavaScript是一種直接編譯方式式的腳本語(yǔ)言。同時(shí)也是常用作Web開(kāi)發(fā),給HTML網(wǎng)頁(yè)增加動(dòng)態(tài)功能,增加用戶體驗(yàn)效果。JavaScript是面向?qū)ο蟮?,是在?duì)對(duì)象的程序設(shè)計(jì),并且用更加直觀、可重復(fù)使用和模塊化的方法來(lái)對(duì)程序進(jìn)行開(kāi)發(fā)。JavaScript可以使網(wǎng)頁(yè)和用戶之間形成一種動(dòng)態(tài)的、交互性的關(guān)系,也可以使網(wǎng)頁(yè)包含更多的元素。在這個(gè)系統(tǒng)中大量使用JavaScript技術(shù),場(chǎng)所為例,驗(yàn)證,用戶輸入的數(shù)據(jù)是重復(fù)的,無(wú)論是為空等。5. Struts2簡(jiǎn)介該項(xiàng)目基于Struts2的項(xiàng)目的創(chuàng)始人,改進(jìn)和提高Java Server Pages、Servlet、標(biāo)簽庫(kù)以及面向?qū)ο蟮募夹g(shù)水準(zhǔn) 曹渠江,陳真. Struts2框架整合Spring框架在文件上傳下載中的應(yīng)用J. 上海理工大學(xué)學(xué)報(bào). 2009(02),1214.。在使用MVC模型時(shí),Struts可以減少開(kāi)發(fā)Web程序的時(shí)間 在MVC模式,適應(yīng)時(shí)代發(fā)展的使用,而且還使用Struts2,在這種情況下,我們可以減少開(kāi)發(fā)Web應(yīng)用程序的時(shí)間。它通過(guò)選用Java ServletJSP,從而來(lái)完成了基于Java EE Web應(yīng)用的MVC設(shè)計(jì)模式的應(yīng)用框架Web Framework 畢磊,鄧忠華. 基于MVC設(shè)計(jì)模式的Struts框架應(yīng)用J. 計(jì)算機(jī)與數(shù)字工程. 2007(10),1721.。所以也就看得出來(lái)Struts2在MVC設(shè)計(jì)模式中的重要性,它是非常有用的。Struts2的優(yōu)勢(shì)在于:基于MVC框架,明確的框架,開(kāi)發(fā)人員可以把握好研發(fā)過(guò)程;開(kāi)發(fā)人員能夠使用OGNL來(lái)對(duì)參數(shù)進(jìn)行傳遞;Struts2的攔截器也是非常厲害的;Struts2容易測(cè)試;還有一個(gè)優(yōu)點(diǎn)就是很方便擴(kuò)展插件;全局結(jié)果與聲明式異常。6. Hibernate簡(jiǎn)介 Hibernate它可以對(duì)JDBC進(jìn)行一個(gè)十分輕量級(jí)的封裝,同時(shí)它還是一個(gè)關(guān)于對(duì)象關(guān)系映射的基本框架。面向?qū)ο蟮木幊趟枷胱孞ava程序員可以操縱數(shù)據(jù)庫(kù) 鄒潔. 基于B/S模式下的研究生文檔管理系統(tǒng)D:碩士學(xué)位論文.成都:電子科技大學(xué),2010,1920.。只要有JDBC出現(xiàn)的地方Hibernate都是可以使用的,所以這樣我們就可以推測(cè)出:它既可以在客戶端用,也可以放在Web應(yīng)用中用。其主要功能是比較靈活的,這是一個(gè)非常有意思的是,它可以使用EJB的J2EE代替CMP,從而實(shí)現(xiàn)數(shù)據(jù)的持久化是一舉兩得。其中Session接口、SessionFactory接口、Transaction接口、Query接口和Configuration接口這些都是Hibernate中很重要的。這些接口使用的范圍都是比較廣的。他們有兩個(gè)作用:一是可以對(duì)持久化的對(duì)象進(jìn)行存取的操作,二是可以控制事務(wù)。1.3研究?jī)?nèi)容論文研究并實(shí)現(xiàn)了一個(gè)小區(qū)設(shè)計(jì)的車輛管理系統(tǒng)的整體結(jié)構(gòu),完成了管理員用戶所擁有的車輛信息管理、駕駛員信息管理、出車信息管理等功能的設(shè)計(jì)與實(shí)現(xiàn)。車輛信息管理:該模塊中展示的是對(duì)車輛信息的增加、刪除、修改和查詢的操作。司機(jī)信息管理:該模塊是增加,刪除,修改和查詢操作的信息。出車信息管理:在該模塊中定義了對(duì)出車情況的管理,其功能包括出車情況的添加、查詢、修改、刪除等操作。2系統(tǒng)整體設(shè)計(jì)2.1系統(tǒng)需求分析1. 系統(tǒng)目標(biāo)系統(tǒng)將實(shí)現(xiàn)下列目標(biāo):(1)系統(tǒng)界面友好,容易上手操作,同時(shí)會(huì)給出提醒方便管理者操作。(2)管理員用戶具有系統(tǒng)管理、車輛信息管理、駕駛員信息管理、出車記錄管理功能。(3)安全性好,可以防止操作者惡意操作本系統(tǒng)。2.功能需求管理員是系統(tǒng)的核心用戶,涉及到三大功能模塊如圖1所示:圖1:管理員用例圖3.數(shù)據(jù)需求對(duì)每一個(gè)輸入的數(shù)據(jù)都要有是正確的,并且在頁(yè)面上每一個(gè)輸入框不能為空,對(duì)表中的每一個(gè)數(shù)據(jù)之間他們的聯(lián)系都要保證是正確的。4.界面需求一個(gè)好的用戶界面能夠讓用戶更清楚的看到自己可以干什么,提高工作效率。在頁(yè)面中創(chuàng)建一個(gè)動(dòng)態(tài)的網(wǎng)頁(yè)是非常方便。用戶界面的相互作用和交換之間的信息系統(tǒng)和用戶的媒體。(1)輸出設(shè)計(jì) 輸出是輸入原始信息通過(guò)計(jì)算機(jī)處理信息,有效地形成了一個(gè)高質(zhì)量的,所以有一定的格式,以提供給管理人員查看。主要的功能和目標(biāo)輸出的設(shè)計(jì)。這是由于輸出表直接與用戶聯(lián)系,該項(xiàng)目的出發(fā)點(diǎn)是希望輸出的樣式是方便給用戶查看的,有效的返回相應(yīng)的數(shù)據(jù)信息。(2)輸入設(shè)計(jì)當(dāng)管理人員在面對(duì)大量的數(shù)據(jù)時(shí),雖然有一個(gè)友好的界面供管理人員使用,但是難免管理人員輸入錯(cuò)誤,只要輸入錯(cuò)誤了,系統(tǒng)處理后的結(jié)果顯示給管理人員也是會(huì)錯(cuò)的。所以有效的輸入是很重要的。輸入設(shè)計(jì)的原則有如下幾點(diǎn):輸入應(yīng)保持在最小的處理要求。輸入的輸入可以用字段值,并通過(guò)下拉的方式輸入。輸入量少,故障率少,減少了數(shù)據(jù)準(zhǔn)備時(shí)間。 輸入的準(zhǔn)備和過(guò)程必須簡(jiǎn)單,這樣可以減少錯(cuò)誤。盡可能早對(duì)輸入數(shù)據(jù)進(jìn)行校驗(yàn)(盡可能靠近原數(shù)據(jù)產(chǎn)生點(diǎn)),以便使錯(cuò)誤即時(shí)獲得改正。2.2系統(tǒng)整體架構(gòu)設(shè)計(jì) 1.系統(tǒng)設(shè)計(jì)思想系統(tǒng)的設(shè)計(jì)思想遵循以下幾點(diǎn):(1) 采用B/S模式開(kāi)發(fā)系統(tǒng)采用B/S結(jié)構(gòu)構(gòu)建;這種方式已經(jīng)被許多用戶所習(xí)慣。(2)采用面向?qū)ο蟮拈_(kāi)發(fā)與設(shè)計(jì)理念 為了保證系統(tǒng)有一個(gè)很好的框架支持,同時(shí)研發(fā)的產(chǎn)品速度快和有較好的穩(wěn)定性,將采用面向?qū)ο蟮脑O(shè)計(jì)理念 周小平,張書(shū)杰. 票據(jù)、檔案影像管理系統(tǒng)的設(shè)計(jì)與實(shí)現(xiàn)D:碩士學(xué)位論文. 北京:北京工業(yè)大學(xué),2007, 6263.。(3) 使用模塊化的設(shè)計(jì)模塊化應(yīng)該把整個(gè)體系分為幾個(gè)小的模塊,方便代碼的重載。(4)系統(tǒng)界面簡(jiǎn)單方便本系統(tǒng)的界面設(shè)計(jì)比較簡(jiǎn)單,頁(yè)面美觀很好,界面的簡(jiǎn)單模塊可以方便使用者操作本系統(tǒng)。(5)速度優(yōu)先原則因?yàn)檫@個(gè)工具是速度最重要的評(píng)價(jià)標(biāo)準(zhǔn),所以在設(shè)計(jì)過(guò)程中,具體的過(guò)程盡可能少占用資源,速度。(6)設(shè)計(jì)要突出重點(diǎn),體貼用戶滿足設(shè)計(jì)要求,使系統(tǒng)更適應(yīng)用戶的需求。 2.系統(tǒng)架構(gòu)車輛管理系統(tǒng)擬基于B/S結(jié)構(gòu)和J2EE平臺(tái),采用兩層架構(gòu)構(gòu)建。兩層架構(gòu)包括:表示層和持久層。B/S結(jié)構(gòu)圖如圖2所示:圖2:B/S結(jié)構(gòu)示意圖B/S結(jié)構(gòu)也就是說(shuō)瀏覽器和服務(wù)器結(jié)構(gòu)。由上圖可以看出,在B/S結(jié)構(gòu)中瀏覽器就是用戶的使用界面,但是當(dāng)出現(xiàn)比較繁瑣的處理的時(shí)候,可以讓一部分邏輯處理在這里(前端)完成,不過(guò)主要的邏輯處理還是得在服務(wù)器端進(jìn)行實(shí)現(xiàn)。B/S的優(yōu)點(diǎn)是:無(wú)需安裝客戶端,客戶端只需要瀏覽器;同時(shí)在更新的時(shí)候,系統(tǒng)不需要對(duì)客戶端進(jìn)行升級(jí),只需要對(duì)服務(wù)器升級(jí)就可以了。兩層架構(gòu)如圖3所示:圖3:系統(tǒng)架構(gòu)示意圖表示層:負(fù)責(zé)完成用戶體驗(yàn),主要實(shí)現(xiàn)用戶數(shù)據(jù)的采集和處理結(jié)果數(shù)據(jù)到客戶端的渲染;本層擬采用基于MVC模式構(gòu)建的表示層開(kāi)源框架Struts2構(gòu)建。持久層:負(fù)責(zé)與數(shù)據(jù)庫(kù)的交互,主要實(shí)現(xiàn)實(shí)體數(shù)據(jù)的增、刪、改、查等操作,同時(shí)納入DAO框架來(lái)隔離持久化細(xì)節(jié)的變化對(duì)其它部分的影響。使用SQLServer數(shù)據(jù)庫(kù)存儲(chǔ)數(shù)據(jù)作為車輛管理系統(tǒng)的數(shù)據(jù)保存。2.3系統(tǒng)功能設(shè)計(jì)總的功能模塊框圖如圖4所示:圖4:功能框圖車輛信息管理:該模塊中展示的是對(duì)車輛信息的增加、刪除、修改和查詢的操作。駕駛員信息管理:該模塊中展示的是對(duì)駕駛員信息的增加、刪除、修改和查詢的操作。出車信息管理:在該模塊中定義了對(duì)出車情況的管理,其功能包括出車情況的添加、查詢、修改、刪除等操作。3系統(tǒng)核心功能實(shí)現(xiàn)3.1系統(tǒng)界面設(shè)計(jì)頁(yè)面設(shè)計(jì)的原則:在整個(gè)系統(tǒng)中,所有的頁(yè)面都遵循一個(gè)設(shè)計(jì)原則,那就是界面簡(jiǎn)單易操作。使操作員看到該系統(tǒng)的時(shí)候就知道自己可以做什么和知道自己該怎么去操作。這樣可以方便操作員的同時(shí)也可以節(jié)省人力成本,財(cái)力成本。使公司的利益最大化。這也是這樣設(shè)計(jì)的一個(gè)重要因素。如圖5所示,在頁(yè)面的左側(cè)是管理員的四個(gè)可以操作的功能,點(diǎn)擊進(jìn)入相關(guān)管理頁(yè)面可以變成一個(gè)子菜單,并突出高亮的顯示方式展現(xiàn)各管理模塊對(duì)應(yīng)的子菜單。主頁(yè)運(yùn)行效果如圖5所示:圖5:管理員主頁(yè)面車輛信息管理頁(yè)面效果如圖6所示:圖6:車輛信息頁(yè)面司機(jī)信息管理界面效果如圖7所示:圖7:司機(jī)頁(yè)面 出車信息管理界面如圖8所示:圖8:出車信息頁(yè)面3.2中文亂碼處理在程序中經(jīng)常會(huì)遇到中文亂碼的情況,如果手動(dòng)的在servlet和jsp頁(yè)面進(jìn)行設(shè)置,相當(dāng)麻煩。因此,寫(xiě)了一個(gè)過(guò)濾器作為對(duì)中文亂碼的處理。在web.xml中配置:SetCharacterEncodingFiltermyweb.util.filter.SetCharacterEncodingFilterencodinggb2312SetCharacterEncodingFilter/*表示工程下所有的頁(yè)面都會(huì)有此過(guò)濾器的處理/*對(duì)應(yīng)的SetCharacterEncodingFilter.java文件中的重要代碼,在初始化init()方法中定義:public void init(FilterConfig filterConfig) throws ServletException this.filterConfig = filterConfig; this.encoding = filterConfig.getInitParameter(encoding); String value = filterConfig.getInitParameter(ignore); 在工具包util包中同樣定義了DataFormate類來(lái)處理字符轉(zhuǎn)換: public static String toUni(String gbStr) String uniStr = ; /*把字符串轉(zhuǎn)換成uincode編碼*/ if(gbStr = null) gbStr = ; try byte tempByte = gbStr.getBytes(UTF-8); uniStr = new String(tempByte,ISO8859_1); catch(Exception ex) return uniStr; /* 把字符串轉(zhuǎn)換成Utf8編碼*/ public static String toUtf8String(String s) StringBuffer sb = new StringBuffer(); for (int i = 0; i = 0 & c = 255) sb.append(c); else byte b; try b = Character.toString(c).getBytes(utf-8); catch (Exception ex) System.out.println(ex); b = new byte0; for (int j = 0; j b.length; j+) int k = bj; if (k 0) k += 256; sb.append(% + Integer.toHexString(k). toUpperCase(); return sb.toString(); 3.3駕駛員信息管理駕駛員信息管理是對(duì)駕駛員信息的增加、刪除、修改和查詢等操作。在系統(tǒng)中都有一一實(shí)現(xiàn)的。由于駕駛員的增加、刪除、修改、查詢?cè)趯?shí)現(xiàn)上都相差不大,所以本小節(jié)著重介紹駕駛員信息修改的實(shí)現(xiàn)。1.功能描述先是點(diǎn)擊司機(jī)信息模塊,然后在界面右邊可以看到司機(jī)的一些信息,當(dāng)要修改司機(jī)信息的時(shí)候。點(diǎn)擊“修改”,然后就會(huì)進(jìn)入“修改”司機(jī)信息頁(yè)面。 2.核心代碼模型層:public class sijiDAO public TSiji findById(java.lang.Integer id) /這個(gè)方法用于找到siji_idlog.debug(getting TSiji instance with id: + id);tryTSiji instance = (TSiji) getHibernateTemplate().get(com.model.TSiji, id);return instance; catch (RuntimeException re)log.error(get failed, re);throw re;/通過(guò)ID找到這個(gè)駕駛員public void attachDirty(TSiji instance)log.debug(attaching dirty TSiji instance);trygetHibernateTemplate().saveOrUpdate(instance);log.debug(attach successful); catch (RuntimeException re)log.error(attach failed, re);throw re; ./此處省略了對(duì)駕駛員信息操作的其他方法 /把DAO注入給Action控制層:sijiEdit.action中的代碼:public String sijiEdit()TSiji siji=sijiDAO.findById(id);/通過(guò)ID找到這個(gè)駕駛員siji.setName(name);siji.setSex(sex);siji.setAge(age);siji.setTel(tel);siji.setAddress(address);siji.setCard(card);siji.setDel(no);sijiDAO.attachDirty(siji);this.setMessage(操作成功);this.setPath(sijiMana.action);return succeed;/操作成功轉(zhuǎn)到succeed頁(yè)面,在struct.xml文件中有配置struts.xml中的相關(guān)配置代碼:struts.xml: /admin/siji/sijiEditPre.jsp /控制器,處在業(yè)務(wù)邏輯與視圖之間,用于接受頁(yè)面請(qǐng)求然后交給相應(yīng)的邏輯處理方法進(jìn)行處理相關(guān)配置文件applicationContext.xml:/把SessionFactory注入給DAO/把數(shù)據(jù)源注入給session工廠,并且把hibernate加入到Spring中3.程序效果程序效果如圖9所示。圖9:駕駛員信息修改3.4車輛信息管理車輛信息管理包括車輛的增加、刪除、修改、查詢,在本項(xiàng)目中都有一一實(shí)現(xiàn)的。由于車輛的添加、刪除、修改、查詢?cè)趯?shí)現(xiàn)上都相差不大,所以本節(jié)著重介紹車輛信息添加的實(shí)現(xiàn)。1.功能描述先點(diǎn)擊車輛檔案管理,頁(yè)面跳轉(zhuǎn)到車輛檔案管理界面,瀏覽車輛的相關(guān)信息然后打開(kāi)“添加車輛信息頁(yè)面,輸入相關(guān)車輛信息可以添加。2.核心代碼模型層:public class cheDAOpublic void save(TChe transientInstance) log.debug(saving TChe instance);trygetHibernateTemplate().save(transientInstance);log.debug(save successful); catch (RuntimeException re)log.error(save failed, re);throw re; /DAO中的方法,用在邏輯處理相關(guān)配置文件applicationContext.xml:/把DAO注入給Session工廠控制層:public String cheAdd()TChe che=new TChe();che.setChepai(chepai);che.setChexing(chexing);che.setChuchangriqi(chuchangriqi);che.setZaizhongliang(zaizhongliang);che.setSiji_id(siji_id);che.setDel(no);cheDAO.save(che);/調(diào)用com.dao.TCheDAO里的save()方法this.setMessage(操作成功);this.setPath(cheMana.action);return succeed;/返回邏輯視圖/控制器,處在業(yè)務(wù)邏輯與視圖之間,用于接受頁(yè)面請(qǐng)求然后交給相應(yīng)的邏輯處理方法進(jìn)行處理相關(guān)配置文件struts.xml:/配置Action /將DAO注入給Action3.程序效果如圖10所示的程序顯示。圖10:車輛信息添加3.5出車信息管理 出車信息管理包括出車信息的增加、刪除、修改、查詢,在系統(tǒng)中都有一一實(shí)現(xiàn)的。由于出車信息的添加、刪除、修改、查詢?cè)趯?shí)現(xiàn)上都相差不大,所以本節(jié)著重介紹出車信息查詢功能的實(shí)現(xiàn)。1.功能描述 先是點(diǎn)擊出車信息管理,頁(yè)面跳轉(zhuǎn)到出車信息管理界面,管理人員可以瀏覽所有的出車信息。當(dāng)管理人員點(diǎn)擊“出車記錄管理”,在界面的右邊就會(huì)出現(xiàn)出車信息,包括序號(hào)、車輛信息、車輛車主、開(kāi)出時(shí)間、回來(lái)時(shí)間、出車事由,“操作”按鈕,在表格下方有“添加出車信息”的按鈕。2.核心代碼模型層:public List findAll()log.debug(finding all TChuche instances);tryString queryString = from TChuche;return getHibernateTemplate().find(queryString); /找到出車的信息放在Template()里. catch (RuntimeException re)log.error(find all failed, re);throw re; 相關(guān)配置文件: 控制層:public String chucheMana() /獲取數(shù)據(jù)并存在chucheList集合中List chucheList=chucheDAO.getHibernateTemplate().find(from TChuche where del=no);for(int i=0;ichucheList.size();i+)TChuche chuche=(TChuche)chucheList.get(i);chuche.setChe(cheDAO.findById(chuche.getChe_id();Map request=(Map)ServletActionContext.getContext().get(request);request.put(chucheList, chucheList);return ActionSupport.SUCCESS;/返回邏輯視圖 相關(guān)配置文件:struts.xml: /admin/chuche/chucheMana.jsp /成功后轉(zhuǎn)向chucheMana.jsp這個(gè)頁(yè)面3.程序效果程序效果展示如圖11所示:圖11:出車信息顯示4數(shù)據(jù)庫(kù)的分析與設(shè)計(jì)4.1數(shù)據(jù)庫(kù)的概念和特點(diǎn)對(duì)數(shù)據(jù)庫(kù)相關(guān)的表述如表3所示:表3:數(shù)據(jù)庫(kù)設(shè)計(jì)要點(diǎn)概念首先我們對(duì)數(shù)據(jù)庫(kù)進(jìn)行分析,然后通過(guò)這些分析建立該系統(tǒng)的數(shù)據(jù)庫(kù)概念結(jié)構(gòu),同時(shí)我們還要從用戶的角度把視圖做一下設(shè)計(jì),再把視圖集成起來(lái),最后一步就是講集成的結(jié)果進(jìn)行優(yōu)化后得出最終的結(jié)果。概念結(jié)構(gòu)設(shè)計(jì)在設(shè)計(jì)時(shí)我們常常采用實(shí)體和聯(lián)系的模型設(shè)計(jì)來(lái)設(shè)計(jì),也就是E-R模型。通過(guò)學(xué)習(xí)知道實(shí)體、聯(lián)系、屬性這些構(gòu)成了E-R模型,我們將這些通過(guò)E-R圖來(lái)展示。實(shí)體就是系統(tǒng)中涉及到的具體的事物,他一般都包含有一個(gè)或者兩個(gè)以上的屬性,然后屬性就是對(duì)實(shí)體他們的所擁有的特征的描述。目標(biāo)就是要出現(xiàn)一個(gè)表示整個(gè)系統(tǒng)的數(shù)據(jù)的概念結(jié)構(gòu),也就是概念模式。概念模式有以下特點(diǎn)就是它是獨(dú)立的數(shù)據(jù)庫(kù)結(jié)構(gòu),它也不依賴在計(jì)算機(jī)的系統(tǒng)中。根據(jù)以上表格列出的需求分析,并結(jié)合系統(tǒng)概念模型的特點(diǎn)和建立方法,畫(huà)出了如下實(shí)體間的E-R模型圖 王慧. 基于.NET的學(xué)生公寓管理系統(tǒng)的設(shè)計(jì)與實(shí)現(xiàn)D:碩士學(xué)位論文. 上海:華東師范大學(xué),2009,6263.。1.車輛信息實(shí)體E-R圖圖12:車輛信息實(shí)體E-R圖2. 司機(jī)信息實(shí)體E-R圖:圖13:司機(jī)信息實(shí)體E-R圖3.出廠信息實(shí)體E-R圖:圖14:出車信息實(shí)體E-R圖4.全局E-R圖:圖15:全局E-R圖4.2數(shù)據(jù)庫(kù)的邏輯結(jié)構(gòu)設(shè)計(jì)圖16:關(guān)系模式圖車輛(chepai,chexing,chuchangriqi,zaizhongliang);主鍵:che_id;外鍵:siji_id;司機(jī)(name,sex,age,tel,address,card);主鍵:siji_id;出車(shiyou,kaichushijian,huilaishijian);主鍵:chuche_id;外鍵:siji_id;司機(jī)和車輛是1:n的關(guān)系,司機(jī)的主鍵作為了車輛的外鍵;車輛和出車是1:n的關(guān)系,車輛的主鍵作為了出車的外鍵。 出車信息里面包括:部分車輛信息和司機(jī)信息,由于司機(jī)和車輛是1:n的關(guān)系,車輛和出車是1:n的關(guān)系,所以可以通過(guò)車輛找到司機(jī)的信息。4.3表結(jié)構(gòu)數(shù)據(jù)庫(kù)概念模型是非常獨(dú)立的,所以不管是在那種數(shù)據(jù)庫(kù)系統(tǒng)中,都是要根據(jù)數(shù)據(jù)庫(kù)的特征來(lái)進(jìn)行轉(zhuǎn)換。也就是轉(zhuǎn)換為計(jì)算機(jī)系統(tǒng)可以處理的關(guān)系模型,所以我們一般使用E-R模型圖來(lái)表示這些關(guān)系,它有以下原則:對(duì)系統(tǒng)中的每一個(gè)實(shí)體都要轉(zhuǎn)換為一個(gè)關(guān)系,同時(shí)定義的主鍵不能為空,實(shí)體與實(shí)體之間都關(guān)系是:1:n,1:1,n:n,其中n:n的聯(lián)系是用外鍵來(lái)將他們聯(lián)系在一起的。根據(jù)E-R模型圖,列出以下邏輯數(shù)據(jù)結(jié)構(gòu)表,下面是各數(shù)據(jù)表的詳細(xì)說(shuō)明。車輛信息表主要是記錄了車輛基本信息,表結(jié)構(gòu)如表4所示。表4:車輛信息表(t_che)列名數(shù)據(jù)類型長(zhǎng)度允許空是否主鍵說(shuō)明che_idint4否是編號(hào)chepaivarchar50否否車牌chexingvarchar50否否車型chuchangriqivarchar50否否出廠日期zaizhongliangvarchar50否否載重量siji_idint4否否司機(jī)信息司機(jī)信息表主要記錄了司機(jī)基本信息,表結(jié)構(gòu)如表5所示。表5:司機(jī)信息表(t_siji)列名數(shù)據(jù)類型長(zhǎng)度允許空是否主鍵說(shuō)明siji_idint4否是編號(hào)namevarchar50否否姓名sexvarchar50否否性別agevarchar50否否年齡telvarchar50否否電話addressvarchar50否否地址cardvarchar50否否身份證號(hào)出車信息表是出車這個(gè)實(shí)體的一些屬性,如表6所示。表6:出車信息表(t_chuche)列名數(shù)據(jù)類型長(zhǎng)度允許空是否主鍵說(shuō)明chuche_idint4否是編號(hào)che_idint4否否車輛信息kaichushijianvarchar50否否開(kāi)出時(shí)間huilaishijianvarchar50否否回來(lái)時(shí)間shiyouvarchar50否否事由4.4數(shù)據(jù)庫(kù)的連接原理本系統(tǒng)的數(shù)據(jù)庫(kù)是使用Hibernate來(lái)進(jìn)行存取的。 它可以對(duì) JDBC 進(jìn)行了輕量級(jí)的對(duì)象封裝,可以讓開(kāi)發(fā)人員很方便的使用對(duì)象編程思想來(lái)對(duì)數(shù)據(jù)庫(kù)的數(shù)據(jù)進(jìn)行操作 楊宏偉. 民航空管臺(tái)站運(yùn)行管理系統(tǒng)D-碩士學(xué)位論文.

溫馨提示

  • 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ì)自己和他人造成任何形式的傷害或損失。

最新文檔

評(píng)論

0/150

提交評(píng)論