版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請進行舉報或認領(lǐng)
文檔簡介
1、<p> 畢業(yè)設(shè)計(論文)資料</p><p> 設(shè)計(論文)題目: 企業(yè)車輛管理系統(tǒng) </p><p><b> 摘 要</b></p><p> 隨著經(jīng)濟的日益增長,車輛作為最重要的交通工具,在企事業(yè)單位中得以普及,單位的車輛數(shù)目已經(jīng)遠遠不止簡單的幾輛,與此同時就產(chǎn)生了車輛資源的
2、合理分配使用問題。</p><p> 企業(yè)車輛管理系統(tǒng)運用現(xiàn)代化的計算機管理手段,不但可以對車輛的使用進行合理的管理,而且對車輛的使用情況進行跟蹤記錄,這對于單位車輛責任到人,費用清晰,避免責任混亂、費用虛假等一系列相應(yīng)問題的解決。系統(tǒng)的主要功能包括:車輛管理、駕駛員管理及出車信息管理。</p><p> 本系統(tǒng)前臺主要使用JSP作為開發(fā)語言,后臺使用SQServer作為數(shù)據(jù)庫管理系統(tǒng)
3、,開發(fā)環(huán)境是MyEclipse,服務(wù)器采用tomcat,開發(fā)出的一個基于Web技術(shù)的B/S結(jié)構(gòu)的企業(yè)車輛管理系統(tǒng)。</p><p> 關(guān)鍵詞:車輛,管理系統(tǒng),JSP,B/S結(jié)構(gòu)</p><p><b> ABSTRACT</b></p><p> With the economy growing, the vehicle as the m
4、ost important means of transportation in enterprises and institutions, the popularity of the vehicle, the unit has been far more than the number of simple several cars, at the same time it has a vehicle resources rationa
5、l allocation and use of.</p><p> Enterprise vehicle management system the use of modern computer management means, can not only for use in a vehicle for rational management, but also for vehicle usage track
6、ing record for the unit to the vehicle, the responsibility to the people, the cost clear, avoid responsibility confusion, false charges such as a series of problem solving. The main functions of the system include: vehic
7、le management, driver management and vehicle information management.</p><p> The front of the system using JSP as a development language, the use of SQServer as a database management system, the development
8、 environment is MyEclipse, server using tomcat, developed a Web technology based on B / S structure of enterprise vehicle management system.</p><p> Key words: vehicle, management system, JSP, B / S structu
9、re</p><p><b> 目 錄</b></p><p><b> 摘 要I</b></p><p> ABSTRACTII</p><p><b> 第一章 緒論1</b></p><p><b> 1.1課題背景
10、1</b></p><p> 1.2目的和意義1</p><p> 1.3開發(fā)工具及技術(shù)2</p><p> 1.3.1開發(fā)工具2</p><p> 1.3.2 JSP2</p><p> 1.3.3 JavaScript3</p><p> 1.3.4 Str
11、uts 2簡介4</p><p> 1.3.5 Hibernate簡介4</p><p> 1.4軟硬件需求5</p><p> 第二章 需求分析6</p><p><b> 2.1需求調(diào)研6</b></p><p> 2.2可行性分析6</p><p&g
12、t; 2.2.1技術(shù)的可行性6</p><p> 2.2.2經(jīng)濟的可行性6</p><p> 2.2.3操作可行性6</p><p> 2.2.4法律的可行性7</p><p> 2.3系統(tǒng)用戶用例圖7</p><p> 2.3.1管理員用例圖7</p><p> 2.
13、4功能模塊需求分析7</p><p> 2.5設(shè)計的基本思想8</p><p><b> 2.6性能需求9</b></p><p> 2.6.1系統(tǒng)的安全性9</p><p> 2.6.2數(shù)據(jù)的完整性9</p><p><b> 2.7界面需求9</b>
14、</p><p> 第三章 系統(tǒng)分析與設(shè)計11</p><p> 3.1數(shù)據(jù)庫的分析與設(shè)計11</p><p> 3.1.1數(shù)據(jù)庫的概念結(jié)構(gòu)設(shè)計11</p><p> 3.1.2數(shù)據(jù)庫的邏輯結(jié)構(gòu)設(shè)計13</p><p> 3.1.3數(shù)據(jù)庫的連接原理15</p><p> 3
15、.2中文亂碼問題處理16</p><p> 第四章 系統(tǒng)功能實現(xiàn)18</p><p> 4.1系統(tǒng)登陸頁面實現(xiàn)18</p><p> 4.2總體功能模塊19</p><p> 4.2.1注冊會員管理20</p><p> 4.2.1類別信息管理22</p><p> 4.
16、2.3商品信息管理24</p><p> 4.2.4系統(tǒng)管理26</p><p> 4.2.5修改密碼28</p><p> 4.2.6退出系統(tǒng)28</p><p> 4.3前臺網(wǎng)站模塊29</p><p> 4.3.1網(wǎng)站首面29</p><p> 4.3.2用戶注冊
17、29</p><p> 4.3.3免費信息發(fā)布30</p><p> 4.3.4商品信息修改31</p><p> 4.3.4商品信息查看33</p><p> 第五章 系統(tǒng)測試36</p><p> 5.1系統(tǒng)測試目的與意義36</p><p> 5.2測試過程36&l
18、t;/p><p> 5.2.1主頁面的登錄模塊測試36</p><p> 5.3其他錯誤37</p><p><b> 結(jié) 論38</b></p><p><b> 參考文獻39</b></p><p><b> 致 謝40</b>&
19、lt;/p><p><b> 第一章 緒論</b></p><p><b> 1.1課題背景</b></p><p> 隨著我國經(jīng)濟的快速發(fā)展,人民生活水平的提高,以及人們的對物資的購買力提高,汽車已成為人們不可缺少的交通工具。特別是對于擁有大量車輛的機關(guān)企事業(yè)單位來說,車輛的管理已成為日常事務(wù)中的一項重要的工作,為了如
20、何讓管理人員及時了解每一輛車的情況,提高車輛的使用效率,減少費用支出,成為各個單位需要解決的一個難題,為了規(guī)范企業(yè)內(nèi)部的管理,提高企業(yè)管理質(zhì)量,更好的服務(wù)于廣大的客戶的情況下,我們必須要開發(fā)一套專門用于車輛管理的系統(tǒng),可以集中管理車輛的運營,維修,事故,違章等一系列的信息,使企業(yè)進入車輛管理信息化,科學化。同時也可以節(jié)省人力,物力,財力。</p><p><b> 1.2目的和意義</b>
21、</p><p> 現(xiàn)在隨著企業(yè)規(guī)模的擴大以及車輛作為最為普遍的交通工具,在企業(yè)中已經(jīng)不是單一的存在,由于單位車輛數(shù)目的急劇增加,與之相對應(yīng)的問題隨之而生,比如車輛的使用權(quán)問題,車輛的費用問題等,不再是簡單的少量的數(shù)據(jù)。為了解決這一系列的問題,我們必須借助于電腦的強大的數(shù)據(jù)處理能力和存儲能力,如此可以減少人力財力來維護這些數(shù)據(jù),可以用更少的投入來換取更佳的數(shù)據(jù)管理。因此,在這樣的情況下,開發(fā)單位車輛管理系統(tǒng)是可
22、行的,是必要的。</p><p> 1.3開發(fā)工具及技術(shù)</p><p><b> 1.3.1開發(fā)工具</b></p><p> 此次設(shè)計主要采用MyEclipse加Tomcat后臺服務(wù)器進行,設(shè)計過程中頁面主要使用JSP技術(shù)完成,下面對MyEclipse、Tomcat和MySQL數(shù)據(jù)庫進行簡要介紹。</p><p&g
23、t; 1.3.1.1 MyEclipse</p><p> MyEclipse,是一個十分優(yōu)秀的用于開發(fā)Java, J2EE的Eclipse插件集合,MyEclipse的功能非常強大,支持也十分廣泛,尤其是對各種開元產(chǎn)品的支持十分不錯。MyEclipse企業(yè)級工作平臺(MyEclipse Enterprise Workbench ,簡稱MyEclipse)是對Eclipse IDE的擴展,利用它我們可以在數(shù)據(jù)
24、庫和JavaEE的開發(fā)、發(fā)布,以及應(yīng)用程序服務(wù)器的整合方面極大的提高工作效率。它是功能豐富的JavaEE集成開發(fā)環(huán)境,包括了完備的編碼、調(diào)試、測試和發(fā)布功能,完整支持HTML, Struts, JSP, CSS, Javascript, SQL, Hibernate。</p><p> 1.3.1.2 Tomcat </p><p> Tomcat是一個小型的輕量級應(yīng)用服務(wù)器,在中小型
25、系統(tǒng)和并發(fā)訪問用戶不是很多的場合下被普遍使用,是開發(fā)和調(diào)試JSP 程序的首選??梢赃@樣認為,當在一臺機器上配置好Apahce服務(wù)器,可利用它響應(yīng)對HTML頁面的訪問請求。實際上Tomcat 部分是Apache 服務(wù)器的擴展,但它是獨立運行的,所以當運行tomcat 時,它實際上作為一個與Apache 獨立的進程單獨運行的。</p><p> 1.3.1.3 SQLServer </p><p
26、> SQLServer使用C和C++編寫,并使用了多種編譯器進行測試,保證源代碼的可移植性;支持AIX、FreeBSD、HP-UX、Linux、Mac OS、NovellNetware、OpenBSD、OS/2 Wrap、Solaris、Windows等多種操作系統(tǒng);為多種編程語言提供了API;支持多線程,充分利用CPU資源;提供TCP/IP、ODBC和JDBC等多種數(shù)據(jù)庫連接途徑;可以處理擁有上千萬條記錄的大型數(shù)據(jù)庫。對于一般
27、的個人使用者和中小型企業(yè)來說,SQLServer提供的功能已經(jīng)綽綽有余。</p><p><b> 1.3.2 JSP</b></p><p> JSP技術(shù)使用Java編程語言編寫類XML的tags和scriptlets,來封裝產(chǎn)生動態(tài)網(wǎng)頁的處理邏輯。網(wǎng)頁還能通過tags和scriptlets訪問存在于服務(wù)端的資源的應(yīng)用邏輯。JSP將網(wǎng)頁邏輯與網(wǎng)頁設(shè)計和顯示分離,
28、支持可重用的基于組件的設(shè)計,使基于Web的應(yīng)用程序的開發(fā)變得迅速和容易。 </p><p> Web服務(wù)器在遇到訪問JSP網(wǎng)頁的請求時,首先執(zhí)行其中的程序段,然后將執(zhí)行結(jié)果連同JSP文件中的HTML代碼一起返回給客戶。插入的Java程序段可以操作數(shù)據(jù)庫、重新定向網(wǎng)頁等,以實現(xiàn)建立動態(tài)網(wǎng)頁所需要的功能。JSP與Servlet一樣,是在服務(wù)器端執(zhí)行的,通常返回給客戶端就是一個HTML文本,因此客戶端只要有瀏覽器能瀏
29、覽。JSP頁面由HTML代碼和嵌入其中的Java代碼所組成。服務(wù)器在頁面被客戶端請求以后對這些Java代碼進行處理,然后將生成的HTML頁面返回給客戶端的瀏覽器。Servlet是JSP的技術(shù)基礎(chǔ),而且大型的Web應(yīng)用程序的開發(fā)需要Java Servlet和JSP配合才能完成。JSP具備了Java技術(shù)的簡單易用,完全的面向?qū)ο?,具有平臺無關(guān)性且安全可靠,主要面向因特網(wǎng)的所有特點。JSP技術(shù)的優(yōu)點:</p><p>
30、 ?。?)一次編寫,到處運行。除了系統(tǒng)之外,代碼不用做任何更改。 </p><p> ?。?)系統(tǒng)的多平臺支持?;旧峡梢栽谒衅脚_上的任意環(huán)境中開發(fā),在任意環(huán)境中進行系統(tǒng)部署,在任意環(huán)境中擴展。相比ASP/.net的局限性是顯而易見的。 </p><p> ?。?)強大的可伸縮性。從只有一個小的Jar文件就可以運行Servlet/JSP,到由多臺服務(wù)器進行集群和負載均衡,到多臺Appli
31、cation進行事務(wù)處理,消息處理,一臺服務(wù)器到無數(shù)臺服務(wù)器,Java顯示了一個巨大的生命力。 </p><p> ?。?)多樣化和功能強大的開發(fā)工具支持。Java已經(jīng)有了許多非常優(yōu)秀的開發(fā)工具,而且許多可以免費得到,并且其中許多已經(jīng)可以順利的運行于多種平臺之下</p><p> (5)支持服務(wù)器端組件。web應(yīng)用需要強大的服務(wù)器端組件來支持,開發(fā)人員需要利用其他工具設(shè)計實現(xiàn)復雜功能的組
32、件供web頁面調(diào)用,以增強系統(tǒng)性能。JSP可以使用成熟的JAVA BEANS 組件來實現(xiàn)復雜商務(wù)功能。</p><p> 內(nèi)部對象說明:request 客戶端請求,此請求會包含來自GET/POST請求的參數(shù); response 網(wǎng)頁傳回客戶端的響應(yīng);pageContext 網(wǎng)頁的屬性是在這里管理; session 與請求有關(guān)的會話; application servlet正在執(zhí)行的內(nèi)容;out 用來傳送響應(yīng)的輸
33、出流; config 代碼片段配置對象;page JSP網(wǎng)頁本身; exception 針對錯誤網(wǎng)頁,未捕捉的例外</p><p> 1.3.3 JavaScript</p><p> JavaScript是一種基于對象和事件驅(qū)動并具有相對安全性的客戶端腳本語言。同時也是一種廣泛用于客戶端Web開發(fā)的腳本語言,常用來給HTML網(wǎng)頁添加動態(tài)功能,比如響應(yīng)用戶的各種操作。JavaScrip
34、t的一個重要功能就是面向?qū)ο蟮墓δ?,通過基于對象的程序設(shè)計,可以用更直觀、模塊化和可重復使用的方式進行程序開發(fā)。在HTML基礎(chǔ)上,使用Javascript可以開發(fā)交互式Web網(wǎng)頁。Javascript的出現(xiàn)使得網(wǎng)頁和用戶之間實現(xiàn)了一種實時性的、動態(tài)的、交互性的關(guān)系,使網(wǎng)頁包含更多活躍的元素和更加精彩的內(nèi)容。在本系統(tǒng)中很多地方使用了javascript技術(shù),比如說,檢驗用戶輸入數(shù)據(jù)的有效性,是否重復,是否為空等等。</p>
35、<p> 1.3.4 Struts 2簡介</p><p> Struts最早是作為Apache Jakarta項目的組成部分問世運作。項目的創(chuàng)立者希望通過對該項目的研究,改進和提高Java Server Pages、Servlet、標簽庫以及面向?qū)ο蟮募夹g(shù)水準。它的目的是為了減少在運用MVC設(shè)計模型來開發(fā)Web應(yīng)用的時間。</p><p> 使用Struts的目的是為了幫
36、助我們減少在運用MVC設(shè)計模型來開發(fā)Web應(yīng)用的時間。Struts是Apache軟件基金會(ASF)贊助的一個開源項目。它最初是Jakarta項目中的一個子項目,并在2002年3月成為ASF的頂級項目。它通過采用Java Servlet/JSP技術(shù),實現(xiàn)了基于Java EE Web應(yīng)用的Model-View-Controller〔MVC〕設(shè)計模式的應(yīng)用框架〔Web Framework〕,是MVC經(jīng)典設(shè)計模式中的一個經(jīng)典產(chǎn)品。而Strut
37、s2則是Struts的升級版本。</p><p><b> 它的優(yōu)點在于:</b></p><p> Struts2基于MVC架構(gòu),框架結(jié)構(gòu)清晰,開發(fā)流程一目了然,開發(fā)人員可以很好的掌控開發(fā)的過程;</p><p> 使用OGNL進行參數(shù)傳遞;</p><p><b> 強大的攔截器;</b>
38、;</p><p><b> 易于測試;</b></p><p> 易于擴展的插件機制;</p><p> 全局結(jié)果與聲明式異常。</p><p> 1.3.5 Hibernate簡介</p><p> Hibernate是一個開放源代碼的對象關(guān)系映射框架,它對JDBC進行了非常輕量級的
39、對象封裝,使得Java程序員可以隨心所欲的使用對象編程思維來操縱數(shù)據(jù)庫。 Hibernate可以應(yīng)用在任何使用JDBC的場合,既可以在Java的客戶端程序使用,也可以在Servlet/JSP的Web應(yīng)用中使用,最具革命意義的是,Hibernate可以在應(yīng)用EJB的J2EE架構(gòu)中取代CMP,完成數(shù)據(jù)持久化的重任。</p><p> Hibernate的核心接口一共有2個,分別為:Session、SessionFa
40、ctory、Transaction、Query和Configuration。這2個核心接口在任何開發(fā)中都會用到。通過這些接口,不僅可以對持久化對象進行存取,還能夠進行事務(wù)控制。</p><p><b> 1.4軟硬件需求</b></p><p><b> 硬件需求:</b></p><p> CPU:Pentium以
41、上計算機</p><p> 內(nèi)存: 512M以上</p><p><b> 軟件需求:</b></p><p> 操作系統(tǒng)版本:Windows XP /vista/Win7</p><p> 開發(fā)工具:MyEclipse 6.0.1</p><p> 后臺服務(wù)器:Apache Tomca
42、t 6.0</p><p><b> 開發(fā)語言:Java</b></p><p><b> 瀏覽器:IE6.0</b></p><p><b> 第二章 需求分析</b></p><p><b> 2.1需求調(diào)研</b></p>&l
43、t;p> 在項目的開始是需求調(diào)研,現(xiàn)代信息技術(shù)特別是計算機網(wǎng)絡(luò)技術(shù)的飛速發(fā)展,使我們的管理模式產(chǎn)生了質(zhì)的飛躍,網(wǎng)絡(luò)化管理將成為信息時代的重要標志和組成部分。探索、研究并構(gòu)建適宜于在計算機網(wǎng)絡(luò)環(huán)境下的管理模式,是我們責無旁貸的使命。通過計算機,能夠直接“透視”車輛使用情況,數(shù)據(jù)計算自動完成,盡量減少人工干預(yù),可以使用車信息更加規(guī)范化、透明化。因此,開發(fā)一套高效率,無差錯的企業(yè)車輛管理系統(tǒng)軟件十分必要,因此設(shè)計了這個企業(yè)車輛管理系統(tǒng)
44、。</p><p><b> 2.2可行性分析</b></p><p> 開發(fā)任何一個系統(tǒng),都會受到時間和資源上的限制。因此,在每一個項目開發(fā)之前,都要進行可行性分析,可以減少項目的開發(fā)風險,避免人力、物力和財力的浪費。下面就技術(shù)、經(jīng)濟、操作和法律四個方面來介紹。</p><p> 2.2.1技術(shù)的可行性</p><p
45、> 本系統(tǒng)開發(fā)工具是MyEclipse和MySQL數(shù)據(jù)庫,開發(fā)語言是Java,主要使用了J2EE的技術(shù),java是一種面向?qū)ο缶幊陶Z言,簡單易學而且靈活方便。大三時就學習了java課程,大四期間也系統(tǒng)的了解了J2EE的知識,企業(yè)車輛管理系統(tǒng)總體上開發(fā)難度不高,數(shù)據(jù)庫的設(shè)計和操作是本系統(tǒng)設(shè)計的核心。在大學期間學習過軟件工程,軟件測試,UML統(tǒng)一建模語言等課程,每個學期也會完成對應(yīng)的課程設(shè)計,具備一定的系統(tǒng)分析、設(shè)計和測試能力。因此
46、,完成系統(tǒng)實現(xiàn)在技術(shù)上完全具有可行性。</p><p> 2.2.2經(jīng)濟的可行性</p><p> 由于選擇的開發(fā)工具和服務(wù)器幾乎全部為免費的開源軟件,并且由于是開發(fā)成本較低的基于Web的B/S模式,而非成本費用相對較高的C/S模式,所以從經(jīng)濟上來講是可行的。</p><p> 2.2.3操作可行性</p><p> 本系統(tǒng)操作簡單,
47、輸入信息頁面大多數(shù)都是下拉框的選擇形式,在某些頁面,信息可以自動生成,無需輸入,時間的輸入也是用的日歷控件,操作簡便,對操作人員的要求很低,只需對WINDOWS操作熟練,加之對本系統(tǒng)的操作稍加培訓即可工作,而且本系統(tǒng)可視性非常好,所以在技術(shù)上不會有很大難度。</p><p> 2.2.4法律的可行性</p><p> 企業(yè)車輛管理系統(tǒng)是自行開發(fā)的系統(tǒng),是很有實際意義的系統(tǒng),開發(fā)環(huán)境軟件
48、和使用的數(shù)據(jù)庫都是開源代碼,開發(fā)這個系統(tǒng)不同于開發(fā)普通的系統(tǒng)軟件,不存在侵權(quán)等問題,即法律上是可行的。</p><p> 綜上所述,開發(fā)一個企業(yè)車輛管理系統(tǒng)與原有的用車方法管理方式相比具有速度更快,操作更準確,節(jié)省開支等有利之處,因此,建立企業(yè)車輛管理系統(tǒng)是必要可行的。</p><p> 2.3系統(tǒng)用戶用例圖</p><p> 2.3.1管理員用例圖</
49、p><p> 管理員是系統(tǒng)的核心用戶,涉及到四大功能模塊,管理員對系統(tǒng)的管理員用戶有著操作的權(quán)限,能夠及時動態(tài)的車輛、司機及車輛使用情況。</p><p> 圖2.1 管理員用例圖</p><p> 2.4功能模塊需求分析</p><p> 本系統(tǒng)最大的特點是使用操作簡單、友好的提示信息。本系統(tǒng)將實現(xiàn)以下基本功能:</p>
50、<p> ?。?)系統(tǒng)具有簡潔大方的頁面,使用簡便,友好的錯誤操作提示</p><p> ?。?)管理員用戶具有系統(tǒng)管理、車輛信息管理、駕駛員信息管理、出車記錄管理功能</p><p> (3)具有較強的安全性,避免用戶的惡意操作</p><p> 管理員功能模塊圖說明: </p><p> (1) 系統(tǒng)管理模塊:在該模塊中定
51、義了管理員信息的管理,其功能包括管理員信息添加、查詢、刪除等操作。</p><p> (2) 車輛信息管理模塊:在該模塊中定義了對車輛信息的管理,其功能包括車輛信息的添加、查詢、修改、刪除等操作。</p><p> (3) 駕駛員信息管理模塊:在該模塊中定義了對駕駛員信息的管理,其功能包括駕駛員信息的添加、查詢、修改、刪除等操作。</p><p> (4) 出
52、車信息管理模塊:在該模塊中定義了對出車情況的管理,其功能包括出車情況的添加、查詢、修改、刪除等操作。</p><p> 管理員用戶功能模塊圖如下。</p><p> 圖2.2 管理員用戶功能模塊圖</p><p> 2.5設(shè)計的基本思想</p><p> 設(shè)計思想遵循以下幾點:</p><p> 1. 采用B
53、/S模式進行開發(fā),其優(yōu)點是后臺與前臺處理層次分明,而且符合眾多已經(jīng)習慣網(wǎng)頁方式的用戶。</p><p> 2. 采用面向?qū)ο蟮拈_發(fā)與設(shè)計理念。運用面向?qū)ο蠹夹g(shù)的前提是對整體系統(tǒng)的高度和準確抽象,通過它可以保證系統(tǒng)良好的框架,進而帶來產(chǎn)品較強的穩(wěn)定性和運行效率。</p><p> 3. 采用模塊化設(shè)計。模塊化設(shè)計要求將整個系統(tǒng)劃分成基于小的模塊,有利于代碼的重載,簡化設(shè)計和實現(xiàn)過程。&l
54、t;/p><p> 4. 簡單方便的系統(tǒng)界面。設(shè)計簡單友好的系統(tǒng)界面,方便用戶較快的適應(yīng)系統(tǒng)的操作。</p><p> 5.速度優(yōu)先原則。由于此工具最重要的評測標準就是速度,因此在設(shè)計過程中,具體過程盡量做到資源占用少,速度快。</p><p> 6.設(shè)計既要突出重點,又要細致周到。要符合設(shè)計需求,在有可能改進的地方進行擴充,使系統(tǒng)更適應(yīng)用戶的需要。</p&
55、gt;<p><b> 2.6性能需求</b></p><p> 2.6.1系統(tǒng)的安全性</p><p> 企業(yè)車輛管理系統(tǒng)在管理權(quán)限上要嚴格進行控制,具體要求如下:</p><p> 想登錄企業(yè)車輛管理系統(tǒng)進行操作,必須有操作權(quán)限,沒有權(quán)限的用戶不能通過任何方式登錄系統(tǒng)查看系統(tǒng)的任何信息和數(shù)據(jù),以確保系統(tǒng)的嚴密性和安全性
56、。</p><p> 2.6.2數(shù)據(jù)的完整性</p><p> 1.各種記錄信息的完整性,信息記錄內(nèi)容不能為空</p><p> 2.各種數(shù)據(jù)間相互聯(lián)系的正確性</p><p> 3.相同數(shù)據(jù)在不同記錄中的一致性</p><p><b> 2.7界面需求</b></p>&
57、lt;p> 界面設(shè)計目前已經(jīng)成為評價軟件質(zhì)量的一條重要指標,一個好的用戶界面可以增加用戶使用系統(tǒng)的信心和興趣,提高工作效率,JSP技術(shù)是用JAVA語言作為腳本語言的,JSP網(wǎng)頁為整個服務(wù)器端的JAVA庫單元提供了一個接口來服務(wù)于HTTP的應(yīng)用程序。 創(chuàng)建動態(tài)頁面非常方便。用戶界面是指軟件系統(tǒng)與用戶交互的接口,通常包括輸出、輸入、人-機對話的界面格式等。</p><p><b> 1.輸出設(shè)計&
58、lt;/b></p><p> 輸出是由計算機對輸入的原始信息進行加工處理,形成高質(zhì)量的有效信息,并使之具有一定的格式,提供管理者使用,這是輸出設(shè)計的主要職責和目標。</p><p> 系統(tǒng)設(shè)計的過程正好和實施過程相反,并不是從輸入設(shè)計到輸出設(shè)計,而是從輸出設(shè)計到輸入設(shè)計,這是因為輸出表格直接與使用者相聯(lián)系,設(shè)計的出發(fā)點應(yīng)當是保證輸出表格方便地為使用者服務(wù),正確及時反映和組成用于
59、各部門的有用信息。輸出設(shè)計的原則是考慮既要全面反映不同管理層的各項需要,又要言簡意賅,不要將用戶需要和不需要的都提供給用戶。</p><p><b> 2.輸入設(shè)計</b></p><p> 輸入數(shù)據(jù)的收集和錄入是比較費事的,需要大量的人力和一定設(shè)備,并且容易出錯。如果輸入系統(tǒng)的數(shù)據(jù)有錯誤,則處理后的輸出將擴大這些錯誤,因此輸入數(shù)據(jù)的正確性對于整個系統(tǒng)質(zhì)量的好壞是
60、具有決定性意義的。</p><p> 輸入設(shè)計的原則有如下幾點:</p><p> 1)輸入量應(yīng)保持在能滿足處理要求的最低限度。設(shè)計中可采用設(shè)置字段初值,下拉式數(shù)據(jù)窗口等方式盡量減少用戶鍵盤輸入量。輸入量越少,錯誤率就越少,數(shù)據(jù)準備時間也減少。</p><p> 2)輸入的準備及輸入過程應(yīng)盡量容易進行,從而減少錯誤的發(fā)生。</p><p&g
61、t; 3)應(yīng)盡量早對輸入數(shù)據(jù)進行檢查(盡量接近原數(shù)據(jù)發(fā)生點),以便使錯誤及時得到更正。</p><p> 4)輸入數(shù)據(jù)盡早地用其處理所需的形式被記錄,以避免數(shù)據(jù)由一種介質(zhì)轉(zhuǎn)移到另一種介質(zhì)時需要轉(zhuǎn)錄而可能發(fā)生的錯誤</p><p> 第三章 系統(tǒng)分析與設(shè)計</p><p> 3.1數(shù)據(jù)庫的分析與設(shè)計</p><p> 計算機信息系統(tǒng)以
62、數(shù)據(jù)庫為核心,在數(shù)據(jù)庫管理系統(tǒng)的支持下,進行信息的收集、整理、存儲、檢索、更新、加工、統(tǒng)計和傳播等操作。數(shù)據(jù)庫已經(jīng)成為現(xiàn)在信息系統(tǒng)等計算機系統(tǒng)的基礎(chǔ)與核心部分。數(shù)據(jù)庫設(shè)計的好壞直接影響到整個系統(tǒng)的質(zhì)量和效率。</p><p> 數(shù)據(jù)庫的設(shè)計一般經(jīng)過規(guī)劃。需求分析、概念設(shè)計、邏輯設(shè)計、物理設(shè)計5個步驟。</p><p> 3.1.1數(shù)據(jù)庫的概念結(jié)構(gòu)設(shè)計</p><p&
63、gt; 概念設(shè)計是指在數(shù)據(jù)分析的基礎(chǔ)上自底向上的建立整個系統(tǒng)的數(shù)據(jù)庫概念結(jié)構(gòu),從用戶的角度進行視圖設(shè)計,然后將視圖集成,最后對集成的結(jié)構(gòu)分析優(yōu)化得到最后結(jié)果。</p><p> 數(shù)據(jù)庫的概念結(jié)構(gòu)設(shè)計采用實體—聯(lián)系(E-R)模型設(shè)計方法。E-R模型法的組成元素有:實體、屬性、聯(lián)系,E-R模型用E-R圖表示,是提示用戶工作環(huán)境中所涉及的事物,屬性則是對實體特性的描述。</p><p>
64、概念設(shè)計的目標是產(chǎn)生反映企業(yè)組織信息要求的數(shù)據(jù)庫概念結(jié)構(gòu),即概念模式。概念模式是獨立于數(shù)據(jù)庫邏輯結(jié)構(gòu),獨立于支持數(shù)據(jù)庫的DBMS,不依賴于計算機系統(tǒng)的,</p><p> 根據(jù)以上對數(shù)據(jù)庫的需求分析,并結(jié)合系統(tǒng)概念模型的特點及建立方法,建立E-R模型圖。</p><p> (1)車輛信息實體E-R圖如圖3.1所示:</p><p> 圖3.1 車輛信息實體E-
65、R圖</p><p> (2)司機信息實體E-R圖如圖3.2所示:</p><p> 圖3.2 投訴信息實體E-R圖</p><p> (3)出廠信息實體E-R圖如圖3.3所示</p><p> 圖3.3 出車信息實體E-R圖</p><p> (4)管理員信息E-R圖如圖3.4所示</p>&
66、lt;p> 圖3.4 管理員信息實體E-R圖</p><p> 3.1.2數(shù)據(jù)庫的邏輯結(jié)構(gòu)設(shè)計</p><p> 我們知道,數(shù)據(jù)庫概念模型獨立于任何特定的數(shù)據(jù)庫管理系統(tǒng),因此,需要根據(jù)具體使用的數(shù)據(jù)庫管理系統(tǒng)的特點進行轉(zhuǎn)換。即轉(zhuǎn)化為按計算機觀點處理的邏輯關(guān)系模型,E-R模型向關(guān)系數(shù)據(jù)庫模型轉(zhuǎn)換應(yīng)遵循下列原則:</p><p> *每一個實體要轉(zhuǎn)換成一個
67、關(guān)系</p><p> *所有的主鍵必須定義非空(NOT NULL)</p><p> *對于二元聯(lián)系應(yīng)按照一對多、弱對實、一對一、多對多等聯(lián)系來定義外鍵。</p><p> 根據(jù)E-R模型,企業(yè)車輛管理系統(tǒng)建立了以下邏輯數(shù)據(jù)結(jié)構(gòu),下面是各數(shù)據(jù)表的詳細說明。</p><p> (1)車輛信息表主要是記錄了車輛基本信息,表結(jié)構(gòu)如表3.1
68、所示。</p><p> 表3.1車輛信息表(t_che)</p><p> (2)司機信息表主要記錄了司機基本信息,表結(jié)構(gòu)如表3.2所示。</p><p> 表3.2司機信息表(t_siji)</p><p> (3)出車信息表主要是記錄了出車情況的基本信息,表結(jié)構(gòu)如圖3.3所示。</p><p> 表3.
69、3出車信息表(t_chuche)</p><p> (4)管理員信息表主要記錄的管理員的賬號信息,包括用戶名和密碼,表結(jié)構(gòu)如表3.4所示。</p><p> 表3.4管理員信息表(t_admin)</p><p> 3.1.3數(shù)據(jù)庫的連接原理</p><p> 本系統(tǒng)采用Hibernate對數(shù)據(jù)庫進行管理。Hibernate 是一個開
70、放源代碼的對象關(guān)系映射框架,它對 JDBC 進行了輕量級的對象封裝,使 Java 程序員可以隨心所欲的使用對象編程思維來操縱數(shù)據(jù)庫。它不僅提供了從 Java 類到數(shù)據(jù)表之間的映射,也提供了數(shù)據(jù)查詢和恢復機制。相對于使用 JDBC 和 SQL 來手工操作數(shù)據(jù)庫,Hibernate 可以大大減少操作數(shù)據(jù)庫的工作量。 另外 Hibernate 可以利用代理模式來簡化載入類的過程,這將大大減少利用 Hibernate QL 從數(shù)據(jù)庫提取數(shù)據(jù)的代
71、碼的編寫量,從而節(jié)約開發(fā)時間和開發(fā)成本 Hibernate 可以和多種Web 服務(wù)器或者應(yīng)用服務(wù)器良好集成,如今已經(jīng)支持幾乎所有的流行的數(shù)據(jù)庫服務(wù)器。</p><p> Hibernate 技術(shù)本質(zhì)上是一個提供數(shù)據(jù)庫服務(wù)的中間件。它的架構(gòu)如圖3.5所示:</p><p> 圖3.5Hibernatre架構(gòu)圖</p><p> 圖3.5顯示了 Hibernate
72、 的工作原理,它是利用數(shù)據(jù)庫以及其他一些配置文件如 Hibernate .properties ,XML Mapping 等來為應(yīng)用程序提供數(shù)據(jù)持久化服務(wù)的。 </p><p> Hibernate 具有很大的靈活性,但同時它的體系結(jié)構(gòu)比較復雜,提供了好幾種不同的運行方式。在輕型體系中,應(yīng)用程序提供 JDBC 連接,并且自行管理事務(wù),這種方式使用了 Hibernate 的一個最小子集;在全面解決體系中,對于應(yīng)用
73、程序來說,所有底層的 JDBC/JTA API 都被抽象了,Hibernate 會替你照管所有的細節(jié)。 </p><p> 3.2中文亂碼問題處理</p><p> 在程序中經(jīng)常會遇到中文亂碼的情況,如果手動的在servlet和jsp頁面進行設(shè)置,相當麻煩。因此,在程序的開始就寫了一個過濾器SetCharacterEncodingFilter。</p><p>
74、 在web.xml中配置:</p><p><b> <filter></b></p><p> <filter-name>SetCharacterEncodingFilter</filter-name></p><p> <filter-class>myweb.util.filter.S
75、etCharacterEncodingFilter</filter-class></p><p> <init-param></p><p> <param-name>encoding</param-name></p><p> <param-value>gb2312</param-value&
76、gt;</p><p> </init-param></p><p><b> </filter></b></p><p> <filter-mapping></p><p> <filter-name>SetCharacterEncodingFilter</
77、filter-name></p><p> <url-pattern>/*</url-pattern>//*表示工程下所有的頁面都會有此過濾器的處理</p><p> </filter-mapping></p><p> 對應(yīng)的SetCharacterEncodingFilter.java文件中的重要代碼,在初始化in
78、it()方法中定義:</p><p> public void init(FilterConfig filterConfig) throws ServletException {</p><p> this.filterConfig = filterConfig;</p><p> this.encoding = filterConfig.getInitPar
79、ameter("encoding");</p><p> String value = filterConfig.getInitParameter("ignore");</p><p><b> }</b></p><p> 在工具包util包中同樣定義了DataFormate類來處理字符轉(zhuǎn)換:&l
80、t;/p><p> public static String toUni(String gbStr){</p><p> String uniStr = ""; /*把字符串轉(zhuǎn)換成uincode編碼*/</p><p> if(gbStr == null){</p><p> gbStr = "";
81、</p><p><b> }</b></p><p><b> try{</b></p><p> byte[] tempByte = gbStr.getBytes("GB2312");</p><p> uniStr = new String(tempByte,&qu
82、ot;ISO8859_1");</p><p> }catch(Exception ex){</p><p><b> }</b></p><p> return uniStr;</p><p><b> }</b></p><p> /* 把字符串轉(zhuǎn)換成
83、Utf8編碼*/</p><p> public static String toUtf8String(String s) {</p><p> StringBuffer sb = new StringBuffer();</p><p> for (int i = 0; i < s.length(); i++) {</p><p>
84、; char c = s.charAt(i);</p><p> if (c >= 0 && c <= 255) {</p><p> sb.append(c);</p><p><b> }</b></p><p><b> else {</b></p&
85、gt;<p><b> byte[] b;</b></p><p><b> try {</b></p><p> b = Character.toString(c).getBytes("utf-8");</p><p> }catch (Exception ex) {</p
86、><p> System.out.println(ex);</p><p> b = new byte[0];</p><p><b> }</b></p><p> for (int j = 0; j < b.length; j++) {</p><p> int k = b[j];
87、</p><p> if (k < 0) {</p><p><b> k += 256;</b></p><p><b> }</b></p><p> sb.append("%" + Integer.toHexString(k).</p><
88、p> toUpperCase()); } }</p><p> return sb.toString(); }</p><p> 第四章 系統(tǒng)功能實現(xiàn)</p><p> 在管理信息系統(tǒng)的生命周期中,經(jīng)過了需求分析、系統(tǒng)設(shè)計等階段之后,便開始了系統(tǒng)實施階段。在系統(tǒng)分析和設(shè)計階段,系統(tǒng)開發(fā)工作主要是集中在邏輯、功能和技術(shù)設(shè)計上,系統(tǒng)實施階段要繼承此前面
89、各個階段的工作成果,將技術(shù)設(shè)計轉(zhuǎn)化為物理實現(xiàn),因此系統(tǒng)實施的成果是系統(tǒng)分析和設(shè)計階段的結(jié)晶。</p><p> 4.1系統(tǒng)登陸頁面實現(xiàn)</p><p> 1.描述:為了保證系統(tǒng)的安全性,要先使用本系統(tǒng)必須先登陸到系統(tǒng)中,用戶需要正確的賬號和密碼登錄本系統(tǒng)。</p><p> 2.程序運行效果圖如圖4.1所示:</p><p> 圖4.
90、1 系統(tǒng)登陸頁面設(shè)計</p><p> 3.在登陸頁面輸入用戶名和密碼以,點擊提交按鈕,跳轉(zhuǎn)到登陸的service中,在該service中會對用戶名,密碼,驗證碼進行判斷,驗證通過進入對應(yīng)的頁面,loginservice關(guān)鍵代碼:</p><p> public String login(String userName,String userPw,int userType)</p
91、><p><b> {</b></p><p> String result="no";</p><p> if(userType==0)//超級管理員登陸</p><p><b> {</b></p><p> String sql="f
92、rom TAdmin where userName=? and userPw=? and type='chaoji'";</p><p> Object[] con={userName,userPw};</p><p> List adminList=adminDAO.getHibernateTemplate().find(sql,con);</p>
93、;<p> if(adminList.size()==0)</p><p><b> {</b></p><p> result="no";</p><p><b> }</b></p><p><b> else</b></p
94、><p><b> {</b></p><p> WebContext ctx = WebContextFactory.get(); </p><p> HttpSession session=ctx.getSession(); </p><p> TAdmin admin=(TAdmin)adminList.get
95、(0);</p><p> session.setAttribute("userType", 0);</p><p> session.setAttribute("admin", admin);</p><p> result="yes";</p><p><b>
96、 }</b></p><p><b> }</b></p><p> return result;</p><p><b> }</b></p><p><b> 4.2總體功能模塊</b></p><p> 1.描述:系統(tǒng)主頁
97、面:左方頁面展示了管理員可操作的四大功能,進入相關(guān)的管理頁面可以鏈接到子菜單,并且高亮顯示,每個管理模塊下面都有相應(yīng)的子菜單。</p><p> 2.程序運行效果圖如圖4.2所示:</p><p> 圖4.2管理員主頁面</p><p> 在每個jsp頁面將會對相關(guān)用戶進行攔截操作,這樣可以提高安全性,防止用戶不經(jīng)過登陸頁面而進入任何子菜單頁面:</p&
98、gt;<p> if(session.getAttribute("user")==null)</p><p><b> {</b></p><p> out.print("<script>alert('請先登錄!');window.open('../index.jsp',
99、39;_self')</script>"); </p><p><b> }</b></p><p> 4.2.1車輛信息管理</p><p> 4.2.1.1車輛信息添加</p><p> 1.描述:管理員輸入車輛相關(guān)正確信息后點擊錄入按鈕,如果是沒有輸入完整的車輛信息,都會給出
100、相應(yīng)的錯誤提示,不能錄入成功。輸入數(shù)據(jù)都通過form表單中定義的方法onsubmit="return checkForm()"來檢查,checkForm()函數(shù)中是各種的校驗輸入數(shù)據(jù)的方式。</p><p> 2.程序效果圖如下圖4.3所示</p><p> 圖4.3 車輛信息添加</p><p> 4.2.1.2車輛信息管理</p&
101、gt;<p> 1.描述:管理員點擊左側(cè)的菜單“車輛信息管理”,頁面跳轉(zhuǎn)到車輛信息管理界面,調(diào)用后臺的action類查詢出所有的車輛信息,并把這些信息封轉(zhuǎn)到數(shù)據(jù)集合List中,綁定到request對象,然后頁面跳轉(zhuǎn)到相應(yīng)的jsp,顯示出車輛信息。</p><p> 2.程序效果圖如下圖4.4所示</p><p> 圖4.4 車輛信息管理</p><p
102、> 車輛信息管理關(guān)鍵代碼:</p><p> public String cheAdd()</p><p><b> {</b></p><p> TChe che=new TChe();</p><p> che.setChepai(chepai);</p><p> che.
103、setChexing(chexing);</p><p> che.setChuchangriqi(chuchangriqi);</p><p> che.setZaizhongliang(zaizhongliang);</p><p> che.setSiji_id(siji_id);</p><p> che.setDel(&qu
104、ot;no");</p><p> cheDAO.save(che);</p><p> this.setMessage("操作成功");</p><p> this.setPath("cheMana.action");</p><p> return "succeed&qu
105、ot;;</p><p><b> }</b></p><p> public String cheMana()</p><p><b> {</b></p><p> List cheList=cheDAO.getHibernateTemplate().find("from TC
106、he where del='no'");</p><p> for(int i=0;i<cheList.size();i++)</p><p><b> {</b></p><p> TChe che=(TChe)cheList.get(i);</p><p> che.setSi
107、ji(sijiDAO.findById(che.getSiji_id()));</p><p><b> }</b></p><p> Map request=(Map)ServletActionContext.getContext().get("request");</p><p> request.put(&quo
108、t;cheList", cheList);</p><p> return ActionSupport.SUCCESS;</p><p><b> }</b></p><p> public String cheDel()</p><p><b> {</b></p>
109、<p> TChe che=cheDAO.findById(id);</p><p> che.setDel("yes");</p><p> cheDAO.attachDirty(che);</p><p> this.setMessage("刪除成功");</p><p> t
110、his.setPath("cheMana.action");</p><p> return "succeed";</p><p><b> }</b></p><p> public String cheEdit()</p><p><b> {</b&g
111、t;</p><p> TChe che=cheDAO.findById(id);</p><p> che.setChepai(chepai);</p><p> che.setChexing(chexing);</p><p> che.setChuchangriqi(chuchangriqi);</p><p
112、> che.setZaizhongliang(zaizhongliang);</p><p> che.setSiji_id(siji_id);</p><p> che.setDel("no");</p><p> cheDAO.attachDirty(che);</p><p> this.setMes
113、sage("操作成功");</p><p> this.setPath("cheMana.action");</p><p> return "succeed";</p><p><b> }</b></p><p> public String che
114、Search()</p><p><b> {</b></p><p> StringBuffer sql=new StringBuffer("from TChe where del='no'");</p><p> sql.append(" and chepai like '%&qu
115、ot;+chepai+"%'");</p><p> sql.append(" and zaizhongliang like '%"+zaizhongliang+"%'");</p><p> System.out.println(sql.toString()+"^^^");<
116、/p><p> List cheList=cheDAO.getHibernateTemplate().find(sql.toString());</p><p> for(int i=0;i<cheList.size();i++)</p><p><b> {</b></p><p> TChe che=(TC
117、he)cheList.get(i);</p><p> che.setSiji(sijiDAO.findById(che.getSiji_id()));</p><p><b> }</b></p><p> Map request=(Map)ServletActionContext.getContext().get("requ
118、est");</p><p> request.put("cheList", cheList);</p><p> return ActionSupport.SUCCESS;</p><p><b> }</b></p><p> 4.2.1.3車輛信息修改</p>&
119、lt;p> 1.描述:先是點擊車輛信息管理,頁面跳轉(zhuǎn)到車輛信息管理界面,瀏覽所有的車輛信息,點擊要修改的車輛信息,打開車輛信息修改頁面,修改車輛信息。</p><p> 2.程序效果圖如下圖4.5所示</p><p> 圖4.5車輛信息修改</p><p> 4.2.1.4車輛信息刪除</p><p> 1.描述:先是點擊車輛
120、信息管理,頁面跳轉(zhuǎn)到車輛信息管理界面,瀏覽所有的車輛信息,點擊要刪除的車輛信息,點擊確認按鈕,完成車輛刪除操作。</p><p> 2.程序效果圖如下圖4.6所示</p><p> 圖4.6 車輛信息刪除</p><p> 4.2.1.5車輛信息修改查詢</p><p> 1.描述:先是點擊車輛信息查詢,頁面跳轉(zhuǎn)到車輛信息查詢界面,輸
121、入查詢條件,調(diào)用后臺action,查詢符合條件的車輛信息。</p><p> 2.程序效果圖如下圖4.7所示</p><p> 圖4.7 車輛信息查詢</p><p> 4.2.2駕駛員信息管理</p><p> 4.2.2.1駕駛員信息添加</p><p> 1.描述:管理員輸入駕駛員相關(guān)正確信息后點擊錄入
溫馨提示
- 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
- 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
- 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁內(nèi)容里面會有圖紙預(yù)覽,若沒有圖紙預(yù)覽就沒有圖紙。
- 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
- 5. 眾賞文庫僅提供信息存儲空間,僅對用戶上傳內(nèi)容的表現(xiàn)方式做保護處理,對用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對任何下載內(nèi)容負責。
- 6. 下載文件中如有侵權(quán)或不適當內(nèi)容,請與我們聯(lián)系,我們立即糾正。
- 7. 本站不保證下載資源的準確性、安全性和完整性, 同時也不承擔用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。
最新文檔
- 企業(yè)車輛管理系統(tǒng)設(shè)計及其對車輛管理提升研究.pdf
- 企業(yè)車輛管理系統(tǒng)畢業(yè)設(shè)計
- 大型企業(yè)車輛管理調(diào)度系統(tǒng).pdf
- 模具企業(yè)管理標準-車輛管理-車輛維修管理
- 淺談企業(yè)車輛管理
- 車輛管理系統(tǒng)
- javajsp班級網(wǎng)站設(shè)計與實現(xiàn)
- 物流企業(yè)車輛管理方案
- 企業(yè)車輛信息管理系統(tǒng)設(shè)計與實現(xiàn).pdf
- 基于s2sh的企業(yè)車輛管理系統(tǒng)
- 車輛管理系統(tǒng).rar
- 車輛管理系統(tǒng).rar
- 車輛管理系統(tǒng).rar
- 車輛管理系統(tǒng).rar
- 車輛管理系統(tǒng).rar
- 車輛管理系統(tǒng).rar
- c車輛管理系統(tǒng)
- 車輛管理系統(tǒng).rar
- 車輛管理系統(tǒng).rar
- 車輛管理系統(tǒng).doc
評論
0/150
提交評論