張文梅
摘要:為方便高職院校實(shí)驗(yàn)室管理、降低實(shí)驗(yàn)室管理人員的日常管理負(fù)擔(dān),該文結(jié)合高職院校實(shí)驗(yàn)室的實(shí)際情況,通過對(duì)實(shí)驗(yàn)室管理的需求和設(shè)計(jì)進(jìn)行分析,采用當(dāng)前流行基于SSH框架(Struts、Spring、Hibernate)的三層架構(gòu)構(gòu)建Web實(shí)驗(yàn)室管理系統(tǒng)。該系統(tǒng)將實(shí)驗(yàn)室教學(xué)管理、實(shí)驗(yàn)室設(shè)備管理、計(jì)算機(jī)機(jī)房管理、設(shè)備故障管理、用戶管理等有機(jī)結(jié)合,從而提高實(shí)驗(yàn)室的管理水平和管理效率。
關(guān)鍵詞:實(shí)驗(yàn)室管理系統(tǒng);SSH框架;三層架構(gòu)
中圖分類號(hào):TP311 文獻(xiàn)標(biāo)識(shí)碼:A 文章編號(hào):1009-3044(2016)13-0105-02
Abstract: In order to facilitate the laboratory management of vocational colleges and reduce the daily management burden of laboratory management,by combining with the actual situation of laboratory in the vocational colleges, this paper the analyzes the laboratory management requirements and design, and uses the current popular three-tier architecture based on SSH (Struts, Spring, Hibernate) to build a Web laboratory management system. The system combines the the teaching management, equipment management, computer room management, equipment failure management,and user management of laboratory. The system can improve the management level and efficiency of laboratory.
Key words: aboratory management system ; SSH framework; three-tier architecture
目前,各高職院校的學(xué)生人數(shù)都在不斷增長,而高職院校以培養(yǎng)學(xué)生實(shí)踐能力為主,對(duì)實(shí)驗(yàn)室的管理要求顯得更為重要[1]。另外,現(xiàn)在很多高職院校都存在多個(gè)校區(qū),實(shí)驗(yàn)室數(shù)量和實(shí)驗(yàn)室內(nèi)的設(shè)備數(shù)量都大幅增加,這些都給實(shí)驗(yàn)室的管理帶來了新的挑戰(zhàn)。傳統(tǒng)的人工管理模式出現(xiàn)數(shù)據(jù)分散、管理不規(guī)范和效率低下等問題,已經(jīng)難以滿足實(shí)驗(yàn)室的日常管理需求,也不符合學(xué)校信息化建設(shè)的要求。為了降低實(shí)驗(yàn)室管理人員的工作強(qiáng)度,提高工作效率,開發(fā)一個(gè)Web實(shí)驗(yàn)室管理系統(tǒng)是很有必要的[2][3]。
本文采用當(dāng)前流行的基于SSH框架[4](Struts、Spring、Hibernate)的三層架構(gòu)構(gòu)建Web實(shí)驗(yàn)室管理系統(tǒng),Struts框架作為表現(xiàn)層;Spring作為業(yè)務(wù)處理層;Hibernate作為數(shù)據(jù)持久層。系統(tǒng)中的每一層都以松耦合的方式向其他層暴露自己的功能,從而可以提高系統(tǒng)的可擴(kuò)展性和穩(wěn)定性。
1 系統(tǒng)架構(gòu)
SSH是Struts、Spring、Hibernate三個(gè)框架的集成,按職責(zé)分為表現(xiàn)層,數(shù)據(jù)持久化層,業(yè)務(wù)處理層。Struts框架為系統(tǒng)的整體基礎(chǔ)架構(gòu),負(fù)責(zé)各層的分離,控制業(yè)務(wù)跳轉(zhuǎn);Hibernate框架負(fù)責(zé)數(shù)據(jù)的持久化;Spring框架負(fù)責(zé)管理Struts和Hibernate,圖1為SSH架構(gòu)圖。
在表示層利用HTML頁面或JSP頁面來實(shí)現(xiàn)與用戶的交互,該頁面用于接收用戶請(qǐng)求或顯示響應(yīng)結(jié)果,在Struts框架中,Struts根據(jù)配置文件將請(qǐng)求轉(zhuǎn)給對(duì)應(yīng)的Action進(jìn)行處理。請(qǐng)求負(fù)責(zé)接收請(qǐng)求(Request)和傳送響應(yīng)(Response),然后Struts根據(jù)配置文件(struts-config.xml)將ActionServlet接收到的Request委派給相應(yīng)的Action處理。在業(yè)務(wù)邏輯層中,Spring通過IoC容器為Action注入相應(yīng)的業(yè)務(wù)處理模型和對(duì)象數(shù)據(jù)處理(DAO)組件。在數(shù)據(jù)持久層中,DAO組件通過Hibernate的對(duì)象關(guān)系映射與數(shù)據(jù)庫進(jìn)行交互,并返回處理結(jié)果。
利用SSH框架,實(shí)現(xiàn)了視圖、控制器與模型的分離,視圖變化時(shí),模型不用改動(dòng)或改動(dòng)很少;而數(shù)據(jù)庫的變化也對(duì)視圖的影響不大,從而可以提高開發(fā)效率,提高系統(tǒng)的可擴(kuò)展性。
2 系統(tǒng)功能
實(shí)驗(yàn)室管理系統(tǒng)主要用于實(shí)驗(yàn)室的日常管理,主要包括實(shí)驗(yàn)員、教師和學(xué)生三類角色,因此在功能設(shè)計(jì)上主要考慮實(shí)驗(yàn)室介紹、設(shè)備管理、用戶管理、教學(xué)管理、信息發(fā)布等功能,系統(tǒng)總體模塊如圖2所示。
2.1 實(shí)驗(yàn)員角色模塊
1)實(shí)驗(yàn)室介紹:此模塊主要對(duì)實(shí)驗(yàn)室進(jìn)行相關(guān)的介紹,包括實(shí)驗(yàn)室功能、能開展的實(shí)驗(yàn)、承擔(dān)的課程、地點(diǎn)、能接納學(xué)生人數(shù)、實(shí)驗(yàn)室管理員等信息。
2)設(shè)備管理:此模塊主要是實(shí)驗(yàn)室的設(shè)備管理,包括設(shè)備相關(guān)信息、新設(shè)備購買、現(xiàn)有設(shè)備維修、設(shè)備報(bào)廢、設(shè)備使用等。設(shè)備信息包括設(shè)備類別、設(shè)備型號(hào)、設(shè)備單價(jià)、設(shè)備數(shù)量、購買日期、生產(chǎn)廠商、保修時(shí)間以及責(zé)任人等。
3)用戶管理:本模塊里,實(shí)驗(yàn)員可以增加教師信息,當(dāng)教師對(duì)信息進(jìn)行修改時(shí),可以對(duì)教師不正確或不全的信息進(jìn)行修改。實(shí)驗(yàn)員可以通過設(shè)置教師的權(quán)限來賦予教師相關(guān)的權(quán)限,不同的權(quán)限將有不同的操作權(quán)限和界面。
4)教學(xué)管理:該模塊主要對(duì)實(shí)驗(yàn)室的教學(xué)安排和設(shè)備準(zhǔn)備進(jìn)行管理。主要包括實(shí)驗(yàn)內(nèi)容、所需設(shè)備、實(shí)驗(yàn)班級(jí)、實(shí)驗(yàn)教師、實(shí)驗(yàn)時(shí)間等信息。
2.2 教師角色模塊
1)設(shè)備管理:本模塊主要是教師上課實(shí)驗(yàn)時(shí)對(duì)實(shí)驗(yàn)室的管理,包括設(shè)備故障、設(shè)備維護(hù)、設(shè)備使用、設(shè)備損耗等信息。
2)用戶管理:本模塊主要是教師對(duì)上課學(xué)生的管理,包括學(xué)生考勤、學(xué)生使用的設(shè)備、學(xué)生實(shí)驗(yàn)完成情況、實(shí)驗(yàn)成績、值日學(xué)生、班級(jí)等信息。
3)教學(xué)管理:該模塊主要是教師對(duì)實(shí)驗(yàn)內(nèi)容的管理,包括實(shí)驗(yàn)?zāi)康?、?shí)驗(yàn)步驟、實(shí)驗(yàn)器材等信息。
4)消息發(fā)布:教師有時(shí)需要對(duì)學(xué)生發(fā)布一些消息,以便學(xué)生能看到這些公告消息。
5)用戶消息:教師可以對(duì)自己用戶的消息進(jìn)行查詢和修改,實(shí)驗(yàn)員可以對(duì)用戶進(jìn)行角色權(quán)限設(shè)置。
2.3 學(xué)生角色模塊
學(xué)生模塊只有用戶信息功能,用于簽到和信息查詢,還可以查詢和修改自己的用戶信息。
3 系統(tǒng)設(shè)計(jì)
3.1 部分?jǐn)?shù)據(jù)表設(shè)計(jì)
實(shí)驗(yàn)室管理系統(tǒng)以SQL Server2005作為數(shù)據(jù)庫后臺(tái)支持,創(chuàng)建的部分?jǐn)?shù)據(jù)表如下:
1)設(shè)備表(EquInfo),如表1:
2)實(shí)驗(yàn)室信息表(LabInfo),如表2:
3)實(shí)驗(yàn)室教學(xué)表(LabCourse),如表3:
3.2 設(shè)備管理模塊的實(shí)現(xiàn)
由于篇幅的關(guān)系,這里只給出設(shè)備管理模塊的實(shí)現(xiàn),其對(duì)應(yīng)的類圖如圖3所示:
設(shè)備管理類圖中,IEquInfoDao接口定義了操作設(shè)備信息的增加、刪除、修改、查詢等方法,EquInfoImpl是其實(shí)現(xiàn)類。EquAction繼承了Struts中的Action類,用于接收用戶輸入的設(shè)備信息,封裝為EquInfo對(duì)象,同時(shí)根據(jù)Struts的配置文件信息調(diào)用EquInfoImpl類中的對(duì)應(yīng)方法實(shí)現(xiàn)設(shè)備信息的相關(guān)操作。Struts的配置文件信息:
type="org.springframework.web.struts.DelegatingActionProxy" name="EquInfoForm">
Spring內(nèi)建有對(duì)Hibernate的支持,EquInfoImpl類通過擴(kuò)展HibernateDaoSupport類,獲得HibernateTemplate的引用完成對(duì)EquInfo對(duì)象的操作。Spring通過配置文件為EquAction注入相應(yīng)的業(yè)務(wù)處理模型和對(duì)象數(shù)據(jù)處理(DAO)組件,Spring配置文件信息:
EquInfo類和數(shù)據(jù)表EquInfo的對(duì)象關(guān)系映射如下:
…
4 結(jié)束語
本文實(shí)現(xiàn)了一個(gè)實(shí)驗(yàn)室管理系統(tǒng),該系統(tǒng)能夠提高實(shí)驗(yàn)室管理的信息化水平,為實(shí)驗(yàn)室管理提供幫助,減輕實(shí)驗(yàn)室管理人員的負(fù)擔(dān),提高工作效率。另外使用SSH框架的分層技術(shù)進(jìn)行系統(tǒng)開發(fā),有利于系統(tǒng)的后續(xù)維護(hù)和進(jìn)一步完善改進(jìn)。
參考文獻(xiàn):
[1] 張輝芹,周驥平,何秉樺.高校實(shí)驗(yàn)室建設(shè)項(xiàng)目管理系統(tǒng)設(shè)計(jì)[J].實(shí)驗(yàn)室研究與探索,2015,34(8):249-263.
[2] 陳志云,肖聰.基于PHP的實(shí)驗(yàn)室管理系統(tǒng)的設(shè)計(jì)與實(shí)現(xiàn)[J].大眾科技,2015,17(8):178-181.
[3] 杜林岳,馬瑞,徐應(yīng)濤,等.高校實(shí)驗(yàn)室智能開放管理系統(tǒng)的設(shè)計(jì)與實(shí)現(xiàn)[J].實(shí)驗(yàn)室研究與探索,2013,33(10):197-200.
[4] 劉洋.基于J2EE的實(shí)驗(yàn)室管理系統(tǒng)的設(shè)計(jì)與實(shí)現(xiàn)[J].科技廣場,2015(9):24-27.