嚴(yán) 潭
(廣東建設(shè)職業(yè)技術(shù)學(xué)院計算機(jī)系,廣東廣州 510440)
基于Java EE構(gòu)建車輛管理系統(tǒng)
嚴(yán) 潭
(廣東建設(shè)職業(yè)技術(shù)學(xué)院計算機(jī)系,廣東廣州 510440)
文章分析了基于Java EE的三層B/S/S結(jié)構(gòu)以及在構(gòu)建車輛管理系統(tǒng)過程中用到的幾種關(guān)鍵的Java EE技術(shù)。并以廣東建設(shè)職業(yè)技術(shù)學(xué)院的車輛管理為背景,根據(jù)項目中系統(tǒng)的實際需求,以MySQL作為數(shù)據(jù)庫服務(wù)器,Tomcat作為網(wǎng)絡(luò)服務(wù)器,最后用Java EE技術(shù)規(guī)范設(shè)計和實現(xiàn)該項目。
Java EE;車輛管理;B/S/S結(jié)構(gòu)
計算機(jī)技術(shù)的飛速發(fā)展促進(jìn)信息技術(shù)革命的到來,使社會進(jìn)入了高速發(fā)展時期,如何合理科學(xué)而又高效地進(jìn)行工作就顯得尤為重要。就車輛管理工作而言,車輛的信息管理以及用戶用車管理等工作非常繁瑣且工作量很大,而且工作的標(biāo)準(zhǔn)化程度、準(zhǔn)確度等各方面難以控制,難以形成有效的管理體系,給車輛管理工作者帶來很多問題和困難。因此,利用計算機(jī)進(jìn)行車輛自動化管理,車輛信息和車輛使用管理將變得高效而便捷,用車過程將變得精簡而科學(xué),車輛使用信息也將變得準(zhǔn)確而及時,對提高工作效率,使車輛管理逐步走向正規(guī)化自動化將起十分重要的作用。
程序結(jié)合模塊設(shè)計的意義非常重大,合理的模塊劃分使系統(tǒng)結(jié)構(gòu)清楚,符合邏輯,并且使用方便。優(yōu)質(zhì)的模塊劃分應(yīng)使模塊間的聯(lián)系越少越好,而模塊內(nèi)的聯(lián)系越緊密越好[1]。依據(jù)車輛管理的基本邏輯流程,系統(tǒng)共分為申請單管理子系統(tǒng)、信息設(shè)置子系統(tǒng)、車輛管理子系統(tǒng)、出車管理子系統(tǒng)、加油管理子系統(tǒng)、用戶管理子系統(tǒng)、違章事故管理子系統(tǒng)、綜合查詢子系統(tǒng)、駕駛員管理子系統(tǒng)共9個子系統(tǒng)。總體與各系統(tǒng)的結(jié)構(gòu)與功能如圖1所示。
圖1 車輛管理系統(tǒng)總體功能設(shè)計圖
系統(tǒng)功能設(shè)計特點:
(一)業(yè)務(wù)流程整合
建立用戶管理和車輛管理兩條主線的高校車輛管理完整業(yè)務(wù)流程,提高了工作效率和工作質(zhì)量,理順了車輛管理的業(yè)務(wù)邏輯,是車輛管理的一次飛躍。
(二)數(shù)據(jù)有效整合共享
數(shù)據(jù)庫集合了車輛信息,駕駛員信息,加油站信息,用戶信息,車輛調(diào)度信息等各種業(yè)務(wù)信息,為車輛日常管理、車輛申請、車輛調(diào)度等提供了很好的服務(wù),從而為實現(xiàn)一流的車輛管理打下了堅實的基礎(chǔ)。
(三)管理流程整合
明確了車輛管理工作職責(zé)以及對車輛管理的進(jìn)一步制度化和規(guī)范化;從權(quán)限管理角度保證車輛管理工作中信息的準(zhǔn)確性,有效保證了車輛管理工作的流程化。
(四)服務(wù)流程整合
通過迅捷,方便的電子化手段和各種各樣豐富的服務(wù)手段,如網(wǎng)上查詢,網(wǎng)上用車申請,網(wǎng)上車輛調(diào)度等,為廣大教師和學(xué)生提供各類個性化、人性化服務(wù)。
數(shù)據(jù)庫設(shè)計可以分為四個階段:需求分析、概念設(shè)計、邏輯設(shè)計和物理設(shè)計。
(一)需求分析
根據(jù)系統(tǒng)總體功能設(shè)計圖,車輛管理的基本需求包括:
1.建立車輛信息庫,實現(xiàn)車輛基本情況和駕駛員基本信息統(tǒng)一管理;
2.對每輛車的派車、用車情況進(jìn)行記錄,實現(xiàn)車輛調(diào)度;
3.對每輛車的事故、違章情況進(jìn)行記錄;
4.對每輛車的保險、保養(yǎng)、加油等日常費用情況進(jìn)行記錄;
5.設(shè)置系統(tǒng)權(quán)限,實現(xiàn)用戶統(tǒng)一管理。
(二)概念設(shè)計
在確定了車輛管理的基本需求后,為了達(dá)到需求所提出的各種目的,對車輛管理系統(tǒng)的數(shù)據(jù)流進(jìn)行分析,并確定車輛管理的E-R圖。以駕駛員為例,實體E-R圖如圖2所示。
圖2 駕駛員實體E-R圖
(三)邏輯設(shè)計
在確定了車輛管理的實體E-R圖后,為了描述實體和它們之間的關(guān)系,選擇2NF進(jìn)行數(shù)據(jù)庫邏輯設(shè)計。以駕駛員實體為例,邏輯設(shè)計如圖3所示。
圖3-駕駛員實體邏輯設(shè)計
(四)物理設(shè)計
在完成了車輛管理的數(shù)據(jù)庫邏輯設(shè)計后,啟動MySQL數(shù)據(jù)庫服務(wù)器,新建車輛管理數(shù)據(jù)庫,完成表的設(shè)計。以駕駛員為例,表的格式如圖4所示。
圖4 駕駛員表
通過系統(tǒng)需求分析、完成E-R圖和數(shù)據(jù)庫設(shè)計,接著確定系統(tǒng)體系結(jié)構(gòu),然后利用My E-clipse整合SSH框架進(jìn)行功能設(shè)計和界面開發(fā),最后以MySQL作為數(shù)據(jù)庫服務(wù)器,Tomcat作為網(wǎng)絡(luò)服務(wù)器完成系統(tǒng)集成[2]。
(一)數(shù)據(jù)庫編程接口設(shè)計
一個典型的基于Java EE應(yīng)用程序存取數(shù)據(jù)源遵循以下步驟:
1.加載驅(qū)動:其使用方法為class.forName (“com.mysql.jdbc.Driver”);
2.連接數(shù)據(jù)庫:其使用方法為Drive rManager.getConnection(url,user,pass);
3.執(zhí)行SQL語句:其使用方法為Connection. CreateStatement(),Statement.exe
cuteQuery();
4.取得結(jié)果集:其使用方法為while(rs.next ())循環(huán)取得一條記錄;
5.顯示數(shù)據(jù):其使用方法為getXXX()將數(shù)據(jù)庫的各種類型轉(zhuǎn)化為Java類型;
6.關(guān)閉:其使用方法為close the result set, close the statement,close the connection。
(二)B/S/S體系結(jié)構(gòu)設(shè)計
由于用戶群大,用戶上網(wǎng)地點不固定等原因,在開發(fā)本項目時采用B/S/S體系結(jié)構(gòu)。目前SSH框架(Struts+Spring+Hibernate)已成為開發(fā)B/S/S系統(tǒng)的主流模式,基于SSH的Java EE三層結(jié)構(gòu),分為表現(xiàn)層、中間層(業(yè)務(wù)邏輯層)和數(shù)據(jù)服務(wù)層[3]。三層體系將業(yè)務(wù)規(guī)則、數(shù)據(jù)訪問及合法性校驗等工作放在中間層處理,表現(xiàn)層采用Struts框架,中間層采用的是流行的Spring+Hibernate。
以車輛調(diào)度為例,SSH框架開發(fā)步驟如下:
1.在MyEclipse開發(fā)工具中導(dǎo)入Struts框架, Hibernate框架,Spring框架
2.在Struts-config.xml中寫入
3.在Struts-config.xml中導(dǎo)入Spring配置文件
4.在MyEclipse Hibernate視圖中配置data-Source、創(chuàng)建持久化對象,然后在WEB- INF中配置hibernate.cfg.xml
5.在applicationContext.xml中寫入
(三)主要算法設(shè)計
針對用車申請表進(jìn)行合理安排是車輛管理的重要任務(wù)。其中車輛調(diào)度是最為關(guān)鍵的環(huán)節(jié),車輛調(diào)度的依據(jù)是出車記錄表的編制。車輛管理工作人員必須收集好每次出車和回車的詳細(xì)信息,統(tǒng)計每一天的用車申請表,利用可用的車輛資源和駕駛員資源,以線路為單位編制出車記錄表。
車輛調(diào)度算法應(yīng)先構(gòu)建派車單對象(對象標(biāo)識、申請人、申請部門、用車人數(shù)、用車目的、用車時間、聯(lián)系電話),用隊列實現(xiàn),一個為待派車隊列,一個是已派車隊列。預(yù)分配線路就是根據(jù)派車單對象中的用車人數(shù)、用車目的、用車時間要求,安排一條適合的線路,如果在已派車隊列中有合適的線路可以進(jìn)行合并;接著確定駕駛員,并確定上車地點和上車時間,然后進(jìn)行車輛調(diào)度約束驗證,在駕駛員的選擇、上車地點和上車時間中找出最優(yōu)解;最后確定出車記錄表,以天為單位進(jìn)行車輛調(diào)度,一直到所有用車申請表都處理完畢為止。車輛調(diào)度算法流程圖,如圖5所示。
圖5 車輛調(diào)度算法流程圖
(一)用戶登錄界面
該界面實現(xiàn)用戶的登陸,以區(qū)別不同用戶,給予相應(yīng)權(quán)限,如圖6所示。
圖6 用戶登錄界面
該界面設(shè)有安全性保護(hù),當(dāng)用戶名或密碼錯誤,將轉(zhuǎn)到錯誤提示界面,幾秒鐘后將自動轉(zhuǎn)回到登陸界面。
(二)前臺用戶界面
該界面具有3個功能模塊:查詢車輛,申請車輛,申請記錄,如圖7所示。
圖7 前臺用戶界面
(三)后臺管理界面
該界面具有9個功能模塊:申請單管理、信息設(shè)置、車輛管理、出車管理、加油管理、用戶管理、違章事故管理、綜合查詢、駕駛員管理,如圖8所示。
圖8 后臺管理界面
隨著計算機(jī)技術(shù)和信息技術(shù)的飛速發(fā)展,基于Internet的車輛管理系統(tǒng)將成為機(jī)關(guān)企事業(yè)單位的首選。本文詳細(xì)論述了廣東建設(shè)職業(yè)技術(shù)學(xué)院車輛管理系統(tǒng)的開發(fā)過程,根據(jù)項目中系統(tǒng)的實際需求,從車輛管理工作人員方面詳細(xì)了解系統(tǒng)業(yè)務(wù)流程以及需要考慮的各種因素,然后進(jìn)行系統(tǒng)設(shè)計和數(shù)據(jù)庫分析設(shè)計,最后完成模塊編碼和系統(tǒng)的現(xiàn)場實施運行[4]。通過互聯(lián)網(wǎng)就可以訪問該系統(tǒng),完成車輛管理、預(yù)約車輛等,能夠滿足和適應(yīng)廣東建設(shè)職業(yè)技術(shù)學(xué)院的車輛管理需求。另外鑒于各單位管理模式均有一定特殊性,所以該系統(tǒng)還留有一定的調(diào)整空間和余地,使該系統(tǒng)有較大推廣價值和應(yīng)用價值。
[1]于敬業(yè).基于J2EE技術(shù)的自動化測試工具的設(shè)計與實現(xiàn)[D].北京郵電大學(xué),2007.
[2]葉展豪.解析SSH框架構(gòu)成[J].電腦編程技巧與維護(hù),2010(20).
[3]胡莉萍.Tomcat+JSP+MySQL整合配置初探[J].中國科技信息,2010(05).
[4]田娟,徐釗.基于J2EE的MVC設(shè)計模式的分析與思考[J].計算機(jī)與現(xiàn)代化,2010(10).
(責(zé)任編輯:于保霞)
TP 39
A
1009-9743(2010)04-0140-05
2010-10-20
嚴(yán)潭(1981-),男,漢族,江西撫州人。廣東建設(shè)職業(yè)技術(shù)學(xué)院計算機(jī)系講師。主要研究方向:企業(yè)信息管理及電子商務(wù)。