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