耿曉君 陳章其



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