耿曉君 陳章其



【摘要】傳統實驗室管理方法不能夠滿足高校網絡信息化管理的要求,并且具有諸多缺點。文章基于Struts框架與JSTL設計開發了開放實驗室資源管理系統,該系統為老師和學生提供了便捷高效的服務,提高了工作人員的工作效率和實驗設備使用率,也提高了教學水平。
【關鍵詞】Struts;JSTL;開放實驗室;資源;管理系統
【中圖分類號】G40-057 【文獻標識碼】B 【論文編號】1009—8097(2009)11—0136—05
一 引言
實踐教學活動在高校日常教學活動中占較大比重,而實驗室是實踐教學活動中的重要場所。實驗室資源的合理配備、設置、分配、管理和使用直接關系到實踐教學效果,所以對實驗室資源如何進行有效、合理的管理使用是當前實驗室日常管理過程中面臨的最大問題。
但是原有實驗室管理方法和操作規章不能適應于當前高校的教學實踐活動,依靠人工對實驗設備器材的登記,借用工作效率低下。而且當前高校的實驗設備種類、資源眾多,設備的借記、入庫、登記、維修,以及實驗課程活動的安排等完全依靠人工來進行組織管理,這種工作模式導致實驗室工作人員任務繁重,重復勞動,查詢檢索困難且容易出錯。
實驗課程一旦統一排定,實驗設備的使用時間就相對固定,這就造成了在規定時間外多數實驗設備不能被完全利用。而同時有很多學生希望能夠在自主的時間內、按照自己的興趣使用設備資源進行相關的實踐操作,這就對實驗室管理提出了新的要求。學生希望能在自主的時間預約實驗設備,能夠查詢相關設備的操作規程和跨校區、跨實驗室進行設備資源共享;實驗室管理員希望能夠信息化管理設備,統計分析設備在一定時間內的使用頻率、損壞頻率等情況,以便于后期實驗室設備的采購維護等工作。基于上述情況分析設計開放實驗室資源管理系統具有現實意義。
二 系統總體架構及設計模式
本系統采用模型(Model)、視圖(View)、控制器(Controller)即MVC模式。該模式下模型層負責程序的數據信息,包括處理這些數據所需要的業務邏輯規則;視圖層是系統的終端UI,直接接受用戶的操作行為,并向用戶展示由模型層處理后的數據和信息,該層還負責將用戶的操作請求通知控制器;控制器把接收來的用戶請求數據進行解釋,并轉發給相應模型層的業務邏輯進行數據處理,其本身并不做任何數據處理。該MVC模型結構圖如圖1所示:
本系統中視圖層接受用戶的登錄信息、查詢信息、預約信息、設備信息等并將其轉發給相應的Action進行數據處理,然后將處理結果轉發給相應的視圖呈現給用戶。
系統采用Struts框架來架設系統整體結構,基于MVC模式系統將表示層,業務層,持久層等區分開。視圖層上,使用JSP頁面結合JSTL(JSP Standard Tag Library,JSP 標準標記庫)和Struts標簽,顯示經過Action業務邏輯處理過后的數據。系統處理數據的流程清晰,與將業務邏輯Java代碼嵌入JSP頁面中的方法完全不同。系統的整體框架見圖2:
從上圖可以看出系統基于Struts 框架,JSP頁面向用戶展示信息,使用JSTL 和Struts 自帶標簽,并且結合Struts自帶標簽進行用戶驗證、數據檢查等功能。程序業務處理邏輯為Struts 框架中的Action 組件。對于各種業務功能,如果有表單數據,則先用Action Form 組件封裝提交的表單并作數據檢查,檢查通過后才會提交到Action 組件中;沒有表單數據的,直接執行Action 組件中的相關程序代碼。
三 系統分析設計與功能模塊實現
1 數據庫設計
平臺支持多種數據庫如SQL Server、Oracle等,本系統采用MYSQL數據庫。主要包括用戶表userinfo、實驗設備表device、資源預約表orderlist、時間表time、管理員表admin、時間分段表durationb、用戶類別表userrole、新聞表news等。
其中在orderlist表中通過durid(時間段id)、stuid(學生id)、devid(設備id)、useday(使用日期)組成組合關鍵字唯一地確定orderid(訂單id),而在程序中正是通過判定durid、stuid、devid、useday幾個字段的值相等來確定當前用戶預約的資源在某個時間段的區域內,從而判定在該時間段內設備資源的可用數量和剩余數量。
2 系統類的分布
實驗資源系統利用Struts框架實現,系統中類包的分布如圖3所示,系統類包的功能如表1所示:
系統中各類按照實現的不同功能放在不同的包內,其中geng.lab.admin存放了關于管理員對系統中設備、人員、預約信息等的添加、刪除、修改、更新等操作業務邏輯;geng.lab.struts是關于系統的常規操作類,用戶登陸、資源搜索、資源瀏覽等功能的Action都存放在該包內;geng.lab.stu是關于學生常規操作的業務邏輯,該包內實現學生用戶登陸后進行資源預約,預約管理,作業管理,實驗報告提交等操作;geng.lab.time與geng.lab.tool分別實現實驗室開放、關閉的時間管理與中文過濾器功能。
3 系統功能架構
開放實驗室資源管理系統采用B/S架構,采用B/S模式便于系統后期的升級、更新、管理,且系統在校園網絡環境下運行適合信息化校園管理的需求。系統運行首界面如圖4所示:
通過需求分析將系統分成四大模塊,分別是公共模塊、管理員模塊、教師模塊和學生模塊。系統功能結構如圖5所示:
(1)公共模塊
公共模塊面向所有用戶,任何通過Web瀏覽器訪問本系統的用戶都可以使用該模塊提供的資源信息。實際應用中,學生、教師、管理員都需要了解將要用到的硬件設備資源當前的可用數量,可用狀態、可預約使用時間段及在可預約使用時間段內的可預約數,所以系統應具備對所有用戶(包括所有注冊和未注冊用戶)提供實驗室設備資源的搜索、瀏覽功能。當檢索到指定設備資源時可以查看該設備的詳細情況。系統為每個設備提供如下資源信息:設備圖片,不同時間段的可用數量,設備主要技術參數,設備使用教程,設備操作注意事項,常用案例。這樣用戶就可以了解實驗設備的詳細信息,為師生提供高效的在線服務。
(2)管理員模塊
系統管理員為最高權限管理員,能對整個實驗室的資源進行操作,管理員模塊在本系統中占有重要比重,其涉及八個子模塊分別為:設備管理、時間管理、學生管理、預約管理、公告管理、維修管理、統計報表、設備教程。
其中設備管理和時間管理是管理員模塊中的核心模塊,前者負責設備資源的管理,后者負責實驗室開放時間的管理。
1)設備管理
在設備管理模塊中包含添加資源和瀏覽資源兩部分。在瀏覽資源子模塊中用戶可以查看當前系統資源的基本屬性,包括設備代碼、設備名稱、所屬類別、總數量、剩余數量等。該功能的業務邏輯在查看資源的Action即viewResource.java中執行,執行完畢后,將運算結果輸出至查看資源視圖(viewResource.jsp)。
在viewResource.java的業務邏輯中將Result對象轉換成對應的object二維數組,然后再在JSP頁面中用JSTL的
2)時間管理