胡紹方++周鳳
摘 要:為了方便企業(yè)高效管理混燃設(shè)備的安裝,設(shè)計(jì)了基于S2SH框架的混燃安裝管理平臺(tái)。該平臺(tái)由Struts2+Spring+Hibernate三種輕量級(jí)框架組成?;诖丝蚣荛_發(fā)安裝管理平臺(tái),能夠提高安裝效率、規(guī)范安裝流程、降低企業(yè)的總成本。該框架層次清晰,降低了系統(tǒng)的耦合性,提高了代碼的復(fù)用性及系統(tǒng)的可靠性、安全性和可維護(hù)性;界面交互性良好,操作簡(jiǎn)單,應(yīng)用前景廣闊。
關(guān)鍵詞:混燃安裝管理平臺(tái);S2SH框架;UML建模;MVC設(shè)計(jì)模式
中圖分類號(hào):TP393.02 文獻(xiàn)標(biāo)識(shí)碼:A DOI:10.15913/j.cnki.kjycx.2015.20.014
混燃是天然氣和柴油雙燃料混合的能源技術(shù)。混燃設(shè)備是一套用于對(duì)現(xiàn)有車輛動(dòng)力系統(tǒng)進(jìn)行改裝的機(jī)械裝置,主要由系統(tǒng)主控箱、蒸發(fā)罐、液化罐、操控調(diào)試儀等組成。其中,系統(tǒng)主控箱和操控調(diào)試儀是混燃設(shè)備的核心組件。經(jīng)混燃設(shè)備改裝過的車輛,動(dòng)力更加強(qiáng)勁、能耗更低。當(dāng)前,混燃設(shè)備被逐步推向市場(chǎng),得到了用戶良好的反饋和評(píng)價(jià),其安裝數(shù)量呈現(xiàn)幾何式增長(zhǎng)。前期運(yùn)用混燃設(shè)備安裝的車輛相對(duì)較少時(shí),企業(yè)采用人工方式管理混燃設(shè)備的安裝和維護(hù)。但隨著業(yè)務(wù)量的增加,如果企業(yè)繼續(xù)采用人工方式管理,就會(huì)消耗大量的人力、物力和財(cái)力,因此,企業(yè)設(shè)計(jì)了混燃安裝管理平臺(tái)。該平臺(tái)的運(yùn)用,不僅可以提高混燃設(shè)備的安裝效率和維護(hù)效率,降低企業(yè)成本,也可以使企業(yè)管理層隨時(shí)掌握混燃設(shè)備的安裝等相關(guān)信息,據(jù)此調(diào)整企業(yè)未來的銷售計(jì)劃和研發(fā)計(jì)劃,提高企業(yè)的管理效率?;烊荚O(shè)備的安裝與管理對(duì)安裝的順序有嚴(yán)格的要求,再加上混燃設(shè)備是新推出的系列產(chǎn)品,整個(gè)安裝流信息在實(shí)際運(yùn)用中需不斷完善。傳統(tǒng)的開發(fā)方式,代碼量大、冗余度多,不便于測(cè)試、擴(kuò)展和維護(hù);而基于S2SH框架的開發(fā),實(shí)現(xiàn)了視圖、控制器和模型三者的完全分離,同時(shí)也實(shí)現(xiàn)了業(yè)務(wù)邏輯層與持久層的分離。如果需要更改數(shù)據(jù)庫(kù),不會(huì)對(duì)前端造成影響,即使前端有再多的變化,只需對(duì)模型層作很少的改動(dòng),大大提高了系統(tǒng)的復(fù)用性。另外,由于各個(gè)分層之間耦合度小,有利于團(tuán)隊(duì)開發(fā)成員并行工作,不僅大大提高了開發(fā)效率,也降低了復(fù)雜流程應(yīng)用開發(fā)和維護(hù)的難度。
1 主要技術(shù)簡(jiǎn)介
1.1 UML建模
UML(Unified Modeling Language,統(tǒng)一建模語(yǔ)言)是一種支持模型化的軟件系統(tǒng)開發(fā)的圖形化語(yǔ)言,在軟件開發(fā)的所有階段都可以使用。UML僅僅為一種建模語(yǔ)言,是軟件開發(fā)的輔助工具。常用的UML圖包括類圖、用例圖、對(duì)象圖、交互圖、狀態(tài)圖、活動(dòng)圖、組件圖、部署圖。通過UML圖,可以將開發(fā)項(xiàng)目直觀地呈現(xiàn)出來,相當(dāng)于建立了一個(gè)介于用戶和開發(fā)人員之間的良好的溝通方式,減少了語(yǔ)言障礙,便于最終達(dá)成一致。
1.2 MVC設(shè)計(jì)模式
MVC設(shè)計(jì)模式,即模型(model)—視圖(view)—控制器(controller)設(shè)計(jì)模式,出現(xiàn)于20世紀(jì)80年代,之后被廣泛應(yīng)用于項(xiàng)目開發(fā)中。這種設(shè)計(jì)模式強(qiáng)制性地將應(yīng)用程序的輸入、處理過程和輸出過程分開。這樣,它們只需單獨(dú)處理自己的任務(wù)即可,便于開發(fā)、維護(hù)。模型層主要有三層結(jié)構(gòu),即業(yè)務(wù)層、DAO層和持久層,這三層結(jié)構(gòu)在開發(fā)過程中都是由Java類完成的。其中,業(yè)務(wù)層負(fù)責(zé)處理業(yè)務(wù)邏輯;DAO層是數(shù)據(jù)訪問對(duì)象;持久層可以通過Hibernate實(shí)現(xiàn),其模型擁有最多的處理任務(wù)。視圖用來顯示數(shù)據(jù),并將數(shù)據(jù)反饋給用戶。簡(jiǎn)單的說,視圖就是指用戶界面。控制器用于處理用戶請(qǐng)求。當(dāng)接收到用戶請(qǐng)求時(shí),調(diào)用模型層的相關(guān)類處理請(qǐng)求,接著返回處理得到的數(shù)據(jù),然后將返回的數(shù)據(jù)通過視圖層處理展示給用戶。運(yùn)用MVC設(shè)計(jì)模式可以降低系統(tǒng)的耦合性,將代碼復(fù)用功能最大化,便于后期平臺(tái)的擴(kuò)展和維護(hù),但同時(shí)也使系統(tǒng)結(jié)構(gòu)更加復(fù)雜,增加了實(shí)現(xiàn)難度。
1.3 S2SH框架
所謂“S2SH框架”,即將Strut2、Spring和Hibernate這三種技術(shù)整合在一塊形成的集成技術(shù)。其中,Spring是三大技術(shù)的核心。整合時(shí),首先整合Strut2和Spring,然后整合Spring和Hibernate。前者可以認(rèn)為是向上整合,后者可以認(rèn)為是向下整合。這樣,各個(gè)層次以Spring為中心被整合在一起,降低了程序的耦合性,提高了程序的靈活性、可擴(kuò)展性和可維護(hù)性。Strut2是在WebWork2的基礎(chǔ)上發(fā)展起來的,是一種無(wú)侵入式設(shè)計(jì),利用攔截器處理用戶提交的請(qǐng)求,因此在其配置文件web.xml中必須注冊(cè)核心攔截器。Spring是一個(gè)控制反轉(zhuǎn)(Inversion of Control,IOC)和面向切片編程(Aspect-Oriented Programming)的開源框架,主要管理JavaBean的生命周期,本身可以獨(dú)立使用。Hibernate是一個(gè)ORM(Object Relation Mapping)框架,其中,O服務(wù)層只對(duì)對(duì)象操作,R是關(guān)系數(shù)據(jù)庫(kù),M是對(duì)象關(guān)系的映射文件。Hibernate的作用是對(duì)數(shù)據(jù)庫(kù)和程序中的DAO層建立聯(lián)系,將JDBC的操作步驟封裝在一起,使數(shù)據(jù)庫(kù)的操作更加便捷。S2SH框架將這三種技術(shù)整合在一起,體現(xiàn)了MVC設(shè)計(jì)模式的中心思想,減輕了開發(fā)負(fù)擔(dān),縮短了開發(fā)時(shí)間。同時(shí),S2SH框架也是現(xiàn)在Web開發(fā)的主流技術(shù),很多用戶或企業(yè)也都應(yīng)用了這種框架,其擴(kuò)展性不斷增強(qiáng)。S2SH框架的優(yōu)點(diǎn)非常多,但它是三個(gè)大框架的整合體,對(duì)調(diào)試過程的要求相對(duì)較高。
2 混燃安裝管理平臺(tái)的需求分析
基于S2SH框架的混燃安裝管理平臺(tái)在實(shí)際運(yùn)用中有以下幾點(diǎn)要求:①要求對(duì)安裝混燃設(shè)備的車輛信息資源作統(tǒng)一的記錄和評(píng)估。車輛信息包括車牌號(hào)、車輛所屬單位、駕駛員、駕駛員電話、發(fā)動(dòng)機(jī)型號(hào)等。②要求將車輛的評(píng)估結(jié)果記錄在管理平臺(tái)上。只有通過評(píng)估、考核的車輛才能進(jìn)行混燃設(shè)備的安裝,記錄設(shè)備的安裝位置等信息。對(duì)于初次安裝混燃系統(tǒng)的車輛,需要先調(diào)試,并記錄調(diào)試數(shù)據(jù)。調(diào)試數(shù)據(jù)包括發(fā)動(dòng)機(jī)轉(zhuǎn)速、車速和發(fā)動(dòng)機(jī)溫度等。③要求對(duì)安裝混燃設(shè)備的車輛進(jìn)行統(tǒng)計(jì)和管理。④要求每一次的安裝流程固定不變——先評(píng)估,然后安裝,最后調(diào)試。⑤要求每一個(gè)用戶都有自己的角色。不同角色的操作內(nèi)容是不一樣的。⑥要求完善管理平臺(tái)的運(yùn)作規(guī)范,提高運(yùn)作效率,實(shí)現(xiàn)安裝流程的信息化,最終提高企業(yè)的經(jīng)濟(jì)效益。
3 功能結(jié)構(gòu)分析
混燃安裝管理平臺(tái)結(jié)構(gòu)包括系統(tǒng)管理、員工管理、安裝流管理和統(tǒng)計(jì)管理四個(gè)模塊。混燃安裝管理平臺(tái)結(jié)構(gòu)如圖1所示。
圖1 混燃安裝管理平臺(tái)結(jié)構(gòu)圖
3.1 系統(tǒng)管理
混燃安裝管理平臺(tái)是通過B/S架構(gòu)實(shí)現(xiàn)的,用戶可打開瀏覽器直接訪問。平臺(tái)設(shè)計(jì)的用戶角色包括總經(jīng)理、主管、評(píng)估員、安裝員和調(diào)試員。給每個(gè)用戶分配一些角色,用戶只能訪問被授權(quán)的資源,不能訪問其他資源,這樣可以提高平臺(tái)數(shù)據(jù)的安全性。超級(jí)管理員可以添加、刪除和更改用戶。各個(gè)角色的主要職責(zé)如下:①總經(jīng)理。依據(jù)安裝統(tǒng)計(jì)表統(tǒng)計(jì)出業(yè)務(wù)信息,制訂下一步的銷售計(jì)劃;根據(jù)安裝反饋,提出改進(jìn)建議,完善混燃設(shè)備。②主管。管理本部門員工信息,并監(jiān)督管理,協(xié)助本部門技工安裝混燃設(shè)備,從而提高工作效率;根據(jù)安裝信息,及時(shí)反饋安裝調(diào)試過程中出現(xiàn)的問題。③評(píng)估員。對(duì)有安裝需求的客戶車輛進(jìn)行評(píng)估,并將評(píng)估結(jié)果反饋給平臺(tái)。④安裝員。對(duì)評(píng)估結(jié)果合格的車輛進(jìn)行混燃設(shè)備的安裝,并記錄安裝情況。⑤調(diào)試員。對(duì)初次完成混燃設(shè)備安裝的車輛進(jìn)行調(diào)試,并記錄調(diào)試結(jié)果。
3.2 員工管理
員工管理,即對(duì)員工信息的管理,包括員工基本信息管理和個(gè)人業(yè)績(jī)管理。通過員工管理,可實(shí)現(xiàn)員工信息的添加、刪除和修改功能。
3.3 安裝流管理
混燃是一種創(chuàng)新型能源技術(shù)。在安裝流管理過程中,需要首先評(píng)估車輛是否具有安裝價(jià)值,然后記錄車輛評(píng)估的相關(guān)信息。評(píng)估合格后才能安裝混燃設(shè)備。安裝過程中需要記錄混燃設(shè)備的安裝數(shù)據(jù),比如設(shè)備型號(hào)。對(duì)于初次安裝的車輛,需要先調(diào)試,并記錄調(diào)試的相關(guān)信息,以備后續(xù)工作(比如維護(hù))使用。調(diào)試成功后,整個(gè)安裝流程才算結(jié)束。簡(jiǎn)單的說,安裝流管理就是評(píng)估、安裝和調(diào)試,這三個(gè)步驟必須依次進(jìn)行。
3.4 統(tǒng)計(jì)管理
統(tǒng)計(jì)管理是對(duì)已經(jīng)安裝了混燃設(shè)備的車輛進(jìn)行的管理。統(tǒng)計(jì)分為兩種方式,即按時(shí)間統(tǒng)計(jì)和按地域統(tǒng)計(jì)。良好的數(shù)據(jù)統(tǒng)計(jì)信息能夠直觀地反映企業(yè)當(dāng)前運(yùn)營(yíng)中存在的問題,便于及時(shí)解決。
4 關(guān)鍵技術(shù)的實(shí)現(xiàn)
4.1 數(shù)據(jù)源配置
本平臺(tái)采用的數(shù)據(jù)庫(kù)是免費(fèi)的數(shù)據(jù)庫(kù)軟件MySQL,占用空間小。它的數(shù)據(jù)配置過程如下。
4.1.1 導(dǎo)入數(shù)據(jù)庫(kù)連接池開發(fā)包類庫(kù)
4.1.2 配置數(shù)據(jù)庫(kù)連接的基本信息
4.1.3 配置數(shù)據(jù)連接的其他信息
配置數(shù)據(jù)連接的其他信息,比如數(shù)據(jù)庫(kù)連接池初始值大小,連接池最小值、最大值等。數(shù)據(jù)源配置在Spring中的applicationContext.xml文件中,方便修改、切換數(shù)據(jù)源。如果需要更改數(shù)據(jù)庫(kù),無(wú)需更改代碼,可以直接切換、修改。
4.2 網(wǎng)頁(yè)層的實(shí)現(xiàn)
通過融合集成Spring和Strut2,實(shí)現(xiàn)了對(duì)視圖的良好控制。首先配置Spring監(jiān)聽器,服務(wù)器會(huì)創(chuàng)建Spring中所有的Bean對(duì)象,Hibernate等模型層框架的配置會(huì)被加載并創(chuàng)建實(shí)例,然后通過filter核心過濾器啟動(dòng)Strut2框架。
4.2.1 配置Struts2的核心的過濾器
4.2.2 配置Spring用于初始化容器對(duì)象的監(jiān)聽器
4.3 事務(wù)管理方式
系統(tǒng)采用注解的方式,集中管理對(duì)象間的組合關(guān)系,易于閱讀、開發(fā)速度快、編譯期間容易發(fā)現(xiàn)錯(cuò)誤的出處,大大提高了開發(fā)效率。
<!-- 配置聲明式事務(wù)管理(采用注解的方式) -->
通過運(yùn)用以上技術(shù),簡(jiǎn)化了開發(fā)的代碼量,同時(shí)使業(yè)務(wù)邏輯更加清晰易懂,提高了開發(fā)效率,降低了維護(hù)難度。
5 結(jié)束語(yǔ)
本文介紹了UML建模、MVC設(shè)計(jì)模式和Spring+Strut2+Hibernate框架,并以某企業(yè)的安裝流程為需求基礎(chǔ)、以S2SH為技術(shù)基礎(chǔ),研究并實(shí)現(xiàn)了基于S2SH的混燃安裝管理平臺(tái)。按照表示層、業(yè)務(wù)層、數(shù)據(jù)庫(kù)訪問層三層開發(fā)、組織,不僅提高了軟件的開發(fā)效率,也有利于后期的擴(kuò)展和維護(hù)。在實(shí)際運(yùn)用中,本文研究的模式可大大提高企業(yè)的混燃設(shè)備安裝效率,并為企業(yè)的發(fā)展提供數(shù)據(jù)指導(dǎo)。
參考文獻(xiàn)
[1]霍迎秋,唐晶磊,尹秀珍.基于SSH架構(gòu)的農(nóng)產(chǎn)品信息交換平臺(tái)[J].實(shí)驗(yàn)室研究與探索,2013,32(5).
[2]馮潤(rùn)民.基于SSH的高校學(xué)生管理系統(tǒng)設(shè)計(jì)與實(shí)現(xiàn)[J].計(jì)算機(jī)工程,2009,35(6).
[3]湘倩,狄文輝,孫冬.基于SSH框架與ajax技術(shù)的JavaWeb應(yīng)用開發(fā)[J].計(jì)算機(jī)工程與設(shè)計(jì),2009,30(10).
[4]申斌,李利民.基于MVC模式S2SH框架的庫(kù)存管理系統(tǒng)[J].實(shí)驗(yàn)室研究與探索,2014,33(11).
[5]吳志霞,陳平.基于S2SH的在線項(xiàng)目管理平臺(tái)的設(shè)計(jì)與實(shí)現(xiàn)[J].計(jì)算機(jī)與現(xiàn)代化,2011(8).
[6]范新燦,趙明.基于Struts+Hibernate+Spring的輕量級(jí)架構(gòu)開發(fā)應(yīng)用研究[J].現(xiàn)代計(jì)算機(jī)(專業(yè)版),2010(1).
[7]姜雷.基于JAVA 技術(shù)的實(shí)驗(yàn)室管理系統(tǒng)的設(shè)計(jì)與實(shí)現(xiàn)[D].成都:電子科技大學(xué),2012.
[8]楊鐘鳴.基于SSH框架的社區(qū)管理信息系統(tǒng)設(shè)計(jì)[J].東華理工人學(xué)學(xué)報(bào)(自然科學(xué)版),2010,33(4).
[9]梁國(guó)健.基于ajax技術(shù)和HTML5的實(shí)驗(yàn)室管理系統(tǒng)的設(shè)計(jì)與實(shí)現(xiàn)[D].廣州:中山大學(xué),2012.
[10]李紹平,彭志平.S2SH:一種Web應(yīng)用框架及其實(shí)現(xiàn)[J].計(jì)算機(jī)技術(shù)與發(fā)展,2009,9(8).
[11]鄭阿奇.Java EE基礎(chǔ)實(shí)用教程[M].北京:電子工業(yè)出版社,2009.
[12]劉銘徽.基于Struts與Hibernate框架的圖書管理系統(tǒng)研究與設(shè)計(jì)[J].安徽人學(xué)學(xué)報(bào)(自然科學(xué)版),2009,33(3).
〔編輯:劉曉芳〕