摘 要:實(shí)驗(yàn)室是培養(yǎng)學(xué)生創(chuàng)新能力,提高實(shí)踐能力的重要場(chǎng)所。高校要利用信息技術(shù)和計(jì)算機(jī)技術(shù)對(duì)實(shí)驗(yàn)室進(jìn)行開(kāi)放式管理,實(shí)現(xiàn)實(shí)驗(yàn)室的全方位開(kāi)放,有利于提高實(shí)驗(yàn)室的管理水平,提高使用率;增強(qiáng)學(xué)生參與度與用戶(hù)體驗(yàn)。
關(guān)鍵詞:開(kāi)放式實(shí)驗(yàn)室 模塊 Struts Hibernate Ajax Spring
中圖分類(lèi)號(hào):G647 文獻(xiàn)標(biāo)識(shí)碼:A 文章編號(hào):1672-3791(2013)05(a)-0010-02
實(shí)驗(yàn)教學(xué)和實(shí)驗(yàn)室管理是一項(xiàng)多因素綜合的系統(tǒng)工程,其理論研究、技術(shù)進(jìn)步、硬件發(fā)展、實(shí)踐應(yīng)用結(jié)合緊密。在計(jì)算機(jī)技術(shù)、網(wǎng)絡(luò)技術(shù)與信息技術(shù)不斷發(fā)展與普及的今天,高校的實(shí)驗(yàn)教學(xué)與管理應(yīng)當(dāng)融合這些先進(jìn)技術(shù)和手段,從教學(xué)內(nèi)容、形式和手段上推陳出新,從管理模式上尋求新的方式。通過(guò)設(shè)計(jì)開(kāi)發(fā),本系統(tǒng)可以為學(xué)生提供一個(gè)網(wǎng)上平臺(tái),學(xué)生只要在任何一臺(tái)上網(wǎng)的計(jì)算機(jī),并通過(guò)用戶(hù)驗(yàn)證登錄后,就可以瀏覽所要了解的實(shí)驗(yàn)信息,除了可以對(duì)本專(zhuān)業(yè)的實(shí)驗(yàn)進(jìn)行預(yù)約之外,還可以通過(guò)系統(tǒng)提供的查詢(xún)功能找到自己感興趣的實(shí)驗(yàn)進(jìn)行預(yù)約、查詢(xún)等,促進(jìn)學(xué)生學(xué)習(xí)的積極性。本系統(tǒng)為教師提供在線(xiàn)查看學(xué)生的實(shí)驗(yàn)報(bào)告、批改實(shí)驗(yàn)報(bào)告等。系統(tǒng)的管理員要對(duì)實(shí)驗(yàn)室信息,實(shí)驗(yàn)信息,學(xué)生信息,老師信息進(jìn)行管理。系統(tǒng)超級(jí)管理員可在線(xiàn)進(jìn)行系統(tǒng)信息更新和維護(hù)。開(kāi)放式實(shí)驗(yàn)室管理系統(tǒng)把教師從繁重的實(shí)驗(yàn)管理工作中解脫出來(lái),投入到實(shí)驗(yàn)教學(xué)方法和內(nèi)容的研究上來(lái),從而提高實(shí)驗(yàn)管理水平。
1 系統(tǒng)功能模塊分析與設(shè)計(jì)
經(jīng)過(guò)參考各大高?,F(xiàn)有的開(kāi)放式實(shí)驗(yàn)室管理系統(tǒng)及參考本校實(shí)際,本系統(tǒng)主要包含如下模塊:學(xué)生模塊;老師模塊;系統(tǒng)管理員模塊;系統(tǒng)超級(jí)管理員模塊。
1.1 學(xué)生模塊
學(xué)生模塊主要有如下功能:修改個(gè)人信息;查看實(shí)驗(yàn)信息;預(yù)約實(shí)驗(yàn);取消預(yù)約;查看預(yù)約信息;提交實(shí)驗(yàn)報(bào)告;查看實(shí)驗(yàn)結(jié)果。
1.2 老師模塊
老師模塊的主要功能包括:修改個(gè)人資料;批改實(shí)驗(yàn)報(bào)告。
1.3 管理員模塊
管理員模塊的主要功能有:管理實(shí)驗(yàn)室信息;管理實(shí)驗(yàn)信息;管理學(xué)生信息;管理老師信息;添加實(shí)驗(yàn)室信息;添加實(shí)驗(yàn)信息;添加老師信息;修改個(gè)人資料。
1.4 超級(jí)管理員模塊
超級(jí)管理員模塊的主要功能有:管理系統(tǒng)功能,添加系統(tǒng)功能,管理用戶(hù)權(quán)限,添加管理員,管理管理員,修改個(gè)人資料。
2 系統(tǒng)設(shè)計(jì)與分析
2.1 系統(tǒng)框架說(shuō)明
本系統(tǒng)是采用Struts+Spring+Hibernate架構(gòu)的基于B/S模式的應(yīng)用程序。Struts提供了一個(gè)基于MVC的開(kāi)發(fā)模式,Spring為程序注入運(yùn)行時(shí)需要的JavaBean,Hibernate實(shí)現(xiàn)持久層的O/R映射。JavaScript+Jsp等腳步語(yǔ)言實(shí)現(xiàn)頁(yè)面顯示。使用Ajax對(duì)頁(yè)面進(jìn)行局部更新。
2.2 總體架構(gòu)設(shè)計(jì)
一般出于對(duì)系統(tǒng)的解藕,都把PO(PO是由Hibernate納入其實(shí)體容器(Entity Map)的對(duì)象,它代表了與數(shù)據(jù)庫(kù)中某條記錄對(duì)應(yīng)的Hibernate實(shí)體,PO的變化在事務(wù)提交時(shí)將反應(yīng)到實(shí)際數(shù)據(jù)庫(kù)中)組件轉(zhuǎn)換成VO(獨(dú)立的Java Object)組件,Jsp頁(yè)面直接使用VO,而非PO。但站在本系統(tǒng)角度,本人認(rèn)為本系統(tǒng)的頁(yè)面顯示邏輯不需要涉及多個(gè)PO組件,功能簡(jiǎn)單,所以無(wú)須將PO組件轉(zhuǎn)換成VO組件,這樣反而可以提高性能,從代碼量來(lái)說(shuō),也可以減少錯(cuò)誤、減低bug的風(fēng)險(xiǎn)。
2.3 系統(tǒng)架構(gòu)分析
(1)使用HibernateDao Support支持Hibernate的DAO對(duì)象實(shí)現(xiàn),使用Hibernate為O/R Mapping框架,更加符合面向?qū)ο蟪绦蛟O(shè)計(jì)思路。使用Hibernate對(duì)數(shù)據(jù)的增刪查改時(shí)候非常方便,但對(duì)于復(fù)雜的查詢(xún),Hibernate使用起來(lái)很繁瑣,沒(méi)有JDBC那樣方便,所以系統(tǒng)開(kāi)發(fā)時(shí),對(duì)于數(shù)據(jù)的統(tǒng)計(jì)還是采用JDBC完成相應(yīng)得功能。
(2)使用Struts作為MVC框架C&M層,Jsp作為表示層,Struts就是對(duì)Servlet進(jìn)行了封裝,使用Struts就是用為了引進(jìn)MVC模型,在開(kāi)發(fā)中進(jìn)行分層實(shí)現(xiàn)。
(3)Spring使用基本的JavaBean來(lái)完成以前只可能由EJB完成的事情。然而,Spring的用途不僅限于服務(wù)器端的開(kāi)發(fā)。從簡(jiǎn)單性、可測(cè)試性和松耦合的角度而言,任何Java應(yīng)用都可以從Spring中受益。簡(jiǎn)單來(lái)說(shuō),Spring是一個(gè)輕量級(jí)的依賴(lài)注入(IoC)和面向切面(AOP)的容器框架。本所謂的依賴(lài)注入就是通過(guò)一種稱(chēng)作控制反轉(zhuǎn)(IoC)的技術(shù)促進(jìn)了松耦合。當(dāng)應(yīng)用了IoC,一個(gè)對(duì)象依賴(lài)的其它對(duì)象會(huì)通過(guò)被動(dòng)-的方式傳遞進(jìn)來(lái),而不是這個(gè)對(duì)象自己創(chuàng)建或者查找依賴(lài)對(duì)象。你可以認(rèn)為IoC與JNDI相反—— 不是對(duì)象從容器中查找依賴(lài),而是容器在對(duì)象初始化時(shí)不等對(duì)象請(qǐng)求就主動(dòng)將依賴(lài)傳遞給它。項(xiàng)目主要使用到了Spring提供的依賴(lài)注入技術(shù)。
3 結(jié)語(yǔ)
本系統(tǒng)采用現(xiàn)時(shí)流行的Spring+Hiber nate+Struts構(gòu)架,大大的降低了模塊與模塊之間的耦合度,符合軟件開(kāi)發(fā)的高內(nèi)聚與低耦合的要求,提高了代碼的可重用性與系統(tǒng)的可擴(kuò)展性。采用純面向?qū)ο髞?lái)開(kāi)發(fā)這個(gè)開(kāi)放式實(shí)驗(yàn)室管理系統(tǒng),在開(kāi)發(fā)中采用面向接口編程;當(dāng)客戶(hù)端發(fā)送請(qǐng)求到服務(wù)器端時(shí),為了服務(wù)器端對(duì)數(shù)據(jù)庫(kù)的安全性操作,引入了Model層,讓Model調(diào)用DAO的操作,避免對(duì)數(shù)據(jù)直接操作暴露出去,也降低了模塊與模塊之間的耦合度。
參考文獻(xiàn)
[1]郭志軍.高校實(shí)驗(yàn)室開(kāi)放式教學(xué)與管理探討[J].中國(guó)科技信息,2006.
[2]劉鳴,畢玉玲,趙美蓉,等.實(shí)行開(kāi)放實(shí)驗(yàn)教學(xué)模式培養(yǎng)學(xué)生創(chuàng)新探索精神[J].實(shí)驗(yàn)技術(shù)與管理,2004.
[3]Hibernate Reference Documentation Version3.0 beta4.
[4]Servlet與Jsp核心技術(shù)編程[M].2版.Marty Hall,Larry Brown,著.清華大學(xué)出版社.
[5]設(shè)計(jì)模式Java手冊(cè)[M].Steven John Metsker,著,機(jī)械工業(yè)出版社.
[6]JavaScript高級(jí)程序設(shè)計(jì)[M].Nicholasc C.Zakas,著.人民郵電出版社.