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