周巧婷+王曉玲
摘 要:高職院校教學(xué)質(zhì)量評(píng)價(jià)存在效率低、過(guò)程缺乏監(jiān)控、評(píng)價(jià)數(shù)據(jù)沒(méi)有得到有效利用等問(wèn)題。針對(duì)上述問(wèn)題,在分析Struts2、Spring和Hibernate三大框架特性的基礎(chǔ)上,剖析了教學(xué)質(zhì)量評(píng)價(jià)系統(tǒng)的需求和功能,研究設(shè)計(jì)了一個(gè)基于S2SH框架的教學(xué)質(zhì)量評(píng)價(jià)系統(tǒng)。實(shí)驗(yàn)結(jié)果表明,該系統(tǒng)實(shí)現(xiàn)了教學(xué)質(zhì)量評(píng)價(jià)的網(wǎng)絡(luò)化和數(shù)字化,有效提高了質(zhì)量評(píng)價(jià)效率。
關(guān)鍵詞:MVC;S2SH框架;教學(xué)質(zhì)量;評(píng)價(jià)系統(tǒng)
DOIDOI:10.11907/rjdk.171179
中圖分類號(hào):TP319
文獻(xiàn)標(biāo)識(shí)碼:A 文章編號(hào):1672-7800(2017)007-0106-04
0 引言
高校教師課堂教學(xué)質(zhì)量評(píng)價(jià)工作是高校建立質(zhì)量監(jiān)控與保障體系的重要措施,是引導(dǎo)教師不斷提高業(yè)務(wù)素質(zhì)和教育教學(xué)水平的重要手段[1-2]。目前,在教師教學(xué)質(zhì)量評(píng)價(jià)工作實(shí)踐中存在著以下幾個(gè)問(wèn)題:①現(xiàn)行評(píng)價(jià)多為階段性評(píng)價(jià),一學(xué)期或一學(xué)年評(píng)價(jià)一次,而非過(guò)程性評(píng)價(jià);②評(píng)價(jià)注重量化分?jǐn)?shù)及量化分?jǐn)?shù)排名,并沒(méi)有對(duì)評(píng)價(jià)結(jié)果數(shù)據(jù)作進(jìn)一步分析[3];③評(píng)價(jià)過(guò)程缺乏監(jiān)控,學(xué)生、教師的參評(píng)率無(wú)法得到保證,因而無(wú)法保證評(píng)價(jià)結(jié)果的客觀公正性。
本文以上海電子信息職業(yè)技術(shù)學(xué)院《教學(xué)質(zhì)量標(biāo)準(zhǔn)》為評(píng)價(jià)依據(jù),設(shè)計(jì)了一個(gè)面向?qū)W生、教師和督導(dǎo)專家的教師教學(xué)質(zhì)量評(píng)價(jià)系統(tǒng),不僅提高了評(píng)價(jià)效率,同時(shí)借助對(duì)評(píng)價(jià)數(shù)據(jù)的分析,能夠?qū)處煹慕虒W(xué)質(zhì)量給出客觀公正的評(píng)價(jià),并通過(guò)大數(shù)據(jù)分析,找出教學(xué)中存在的問(wèn)題,為教學(xué)管理部門(mén)提供決策依據(jù)。
1 S2SH技術(shù)架構(gòu)
1.1 S2SH集成框架
S2SH是3種輕量級(jí)框架Struts2、Spring和Hibernate的集成。S2SH嚴(yán)格采用J2EE的分層結(jié)構(gòu),Web層由Struts2構(gòu)建,業(yè)務(wù)層由Struts2和Spring集成構(gòu)建,而持久層由Spring和Hibernate集成構(gòu)建。
S2SH集成框架如圖1所示,包括表現(xiàn)層、業(yè)務(wù)邏輯層、數(shù)據(jù)持久層與域模型驅(qū)動(dòng)Model。其中,表示層由Struts2框架來(lái)描述MVC框架,業(yè)務(wù)邏輯層由Spring框架的IoC容器協(xié)助完成,持久層由Hibernate框架的對(duì)象關(guān)系映射(O/R Mapping)完成與數(shù)據(jù)庫(kù)的交互,服務(wù)器端表示層和業(yè)務(wù)邏輯層通過(guò)域模型層的VO(Value Object)進(jìn)行數(shù)據(jù)傳遞,業(yè)務(wù)邏輯層和持久層通過(guò)域模型層的VO來(lái)描述對(duì)象之間的關(guān)系[5]。從S2SH的體系架構(gòu)中不難看出,S2SH框架是以Spring框架為核心,向上集成Struts2,向下集成Hibernate,并整合Struts2和Hibernate的框架組合。這種集成框架具有可伸縮性、靈活性、易維護(hù)等特性,能簡(jiǎn)化企業(yè)系統(tǒng)的開(kāi)發(fā)、部署和管理。
1.2 Struts2框架
Struts2[6-7]是Servlet的進(jìn)一步封裝,負(fù)責(zé)處理Web頁(yè)面請(qǐng)求,并在表示層中調(diào)用后端數(shù)據(jù)[8]。Struts2的核心組件包括核心控制器(FilterDispatcher)、業(yè)務(wù)邏輯控制器(Action)、攔截器(Interceptor)、結(jié)果類型(Result)和視圖(View)等。處理流程如圖2所示。瀏覽器發(fā)送一個(gè)請(qǐng)求,由核心控制器FilterDispatcher根據(jù)請(qǐng)求選擇合適的Action,其間攔截器鏈會(huì)自動(dòng)對(duì)請(qǐng)求應(yīng)用通用功能,然后通過(guò)回調(diào)Action的Execute方法反饋結(jié)果類型給相應(yīng)視圖,最后視圖將結(jié)果信息輸出到瀏覽器。
1.3 Spring框架
Spring主要實(shí)現(xiàn)輕量級(jí)的控制反轉(zhuǎn)(IoC)和面向切面(AOP )開(kāi)發(fā)[9]。Spring是一個(gè)輕量級(jí)的解決方案,包括:基于依賴注入的核心機(jī)制、基于AOP的聲明式事務(wù)管理、與多種持久層技術(shù)整合以及優(yōu)秀的Web MVC框架。Spring 框架是一個(gè)分層架構(gòu),由CORE(基于DI)、AOP、ORM、DAO、MVC、Web、Context 7個(gè)模塊組成,每個(gè)模塊都可以單獨(dú)存在,或者與其它一個(gè)或多個(gè)模塊聯(lián)合工作,所以開(kāi)發(fā)者可以自由選擇Spring框架的部分或全部。
Spring Core:實(shí)現(xiàn)Spring 框架的基本功能,其中實(shí)現(xiàn)工廠模式的BeanFactory使用控制反轉(zhuǎn)(IoC)將應(yīng)用程序的配置和依賴性規(guī)范與實(shí)際的應(yīng)用程序代碼分開(kāi)。
Spring AOP:實(shí)現(xiàn)面向切面的編程功能,為基于 Spring 的應(yīng)用程序中的對(duì)象提供事務(wù)管理服務(wù)。通過(guò)使用 Spring AOP,即可將聲明性事務(wù)管理集成到應(yīng)用程序中,而不用依賴 EJB 組件。
Spring框架的核心是控制反轉(zhuǎn)IoC(Inversion of Control)、依賴注入DI(Dependence Injection)機(jī)制和AOP技術(shù),
它們是整個(gè)Spring框架的基礎(chǔ)。
1.4 Hibernate框架
Hibernate是采用ORM機(jī)制的持久層開(kāi)發(fā)框架,它是Java應(yīng)用和關(guān)系數(shù)據(jù)庫(kù)之間的橋梁,負(fù)責(zé)Java對(duì)象和關(guān)系數(shù)據(jù)之間的映射。其內(nèi)部封裝了JDBC訪問(wèn)數(shù)據(jù)庫(kù)的操作,向上層應(yīng)用提供面向?qū)ο蟮臄?shù)據(jù)庫(kù)訪問(wèn)API。Hibernate是輕量級(jí)的封裝,可避免過(guò)多復(fù)雜的功能,減輕程序員負(fù)擔(dān)。同時(shí),它是一個(gè)開(kāi)源代碼,提供開(kāi)放的API,用戶可以自行擴(kuò)充功能,因而使用Hibernate可以減少操作數(shù)據(jù)庫(kù)的工作量[10-11]。
2 教學(xué)質(zhì)量評(píng)價(jià)系統(tǒng)設(shè)計(jì)
2.1 系統(tǒng)目標(biāo)
教學(xué)質(zhì)量評(píng)估系統(tǒng)的開(kāi)發(fā)是為了規(guī)范教學(xué)質(zhì)量評(píng)估工作流程,提升評(píng)估質(zhì)量和效率,保證評(píng)估結(jié)果的客觀、公正,為教師的聘任、晉升、獎(jiǎng)懲、培訓(xùn)、退出等機(jī)制提供依據(jù),以更好地服務(wù)于學(xué)院的人才培養(yǎng)工作[12]。
2.2 系統(tǒng)功能設(shè)計(jì)endprint
系統(tǒng)主要包括登錄模塊、基礎(chǔ)數(shù)據(jù)管理模塊、評(píng)教模塊、評(píng)教結(jié)果統(tǒng)計(jì)模塊、分析模塊與查詢模塊5大功能模塊。
(1)登錄模塊。本系統(tǒng)有6類用戶,分別是學(xué)生、教師、專家、領(lǐng)導(dǎo)、超級(jí)管理員和系部管理員。此模塊的主要功能是顯示用戶登錄界面,檢查用戶名密碼是否正確。用戶登錄后,根據(jù)不同角色進(jìn)入不同的操作界面,進(jìn)行不同權(quán)限的操作。
(2)基礎(chǔ)數(shù)據(jù)管理模塊。此模塊包括組織機(jī)構(gòu)設(shè)置、用戶設(shè)置、角色設(shè)置、權(quán)限設(shè)置、評(píng)價(jià)指標(biāo)管理5個(gè)子模塊。其中評(píng)價(jià)指標(biāo)管理子模塊能夠?yàn)?類評(píng)價(jià)人員即學(xué)生、同行和專家設(shè)置不同的評(píng)價(jià)指標(biāo),并能動(dòng)態(tài)設(shè)定各指標(biāo)的權(quán)重。
(3)評(píng)教模塊。分別為3類人員提供對(duì)教師教學(xué)的評(píng)價(jià)功能。
(4)評(píng)教結(jié)果統(tǒng)計(jì)與分析模塊。能匯總各教學(xué)單位的評(píng)價(jià)結(jié)果,對(duì)評(píng)價(jià)的各項(xiàng)指標(biāo)進(jìn)行分析,評(píng)價(jià)結(jié)束后能對(duì)此次評(píng)估的參評(píng)率進(jìn)行統(tǒng)計(jì)。
(5)查詢模塊。此模塊能夠依據(jù)不同權(quán)限提供不同的查詢功能,可以查詢?cè)u(píng)教結(jié)果、評(píng)教進(jìn)度和參評(píng)率等。為了更好的用戶體驗(yàn),查詢結(jié)果提供圖標(biāo)和數(shù)據(jù)兩種顯示方式。
從用戶視角看,本系統(tǒng)具有如下功能:
(1)普通教師:可通過(guò)本人工號(hào)登錄評(píng)估系統(tǒng),對(duì)本教研室的教師進(jìn)行評(píng)估,并可對(duì)本人的評(píng)估結(jié)果進(jìn)行查詢。
(2)專家:用本人的工號(hào)登錄評(píng)估系統(tǒng)后可對(duì)本人級(jí)別下的教師進(jìn)行評(píng)價(jià)。
(3)領(lǐng)導(dǎo):用本人工號(hào)登錄評(píng)估系統(tǒng)后可對(duì)本人級(jí)別下的教師進(jìn)行評(píng)估,并進(jìn)行評(píng)估結(jié)果的查詢。
(4)學(xué)生:可通過(guò)本人學(xué)號(hào)登錄評(píng)估系統(tǒng),僅能對(duì)其任課教師進(jìn)行評(píng)估。
(5)系部管理員:可以維護(hù)本部門(mén)教師信息,設(shè)置部門(mén)內(nèi)部教研室以及教研室教師情況,查看部門(mén)教師評(píng)教進(jìn)度。
(6)超級(jí)管理員:可以對(duì)整個(gè)系統(tǒng)進(jìn)行管理和維護(hù),具體內(nèi)容包括:設(shè)置系統(tǒng)基礎(chǔ)數(shù)據(jù)(如:角色、權(quán)限、數(shù)據(jù)字典等)、評(píng)估學(xué)期設(shè)置、評(píng)估標(biāo)準(zhǔn)內(nèi)涵及權(quán)重設(shè)定、用戶添加與權(quán)限設(shè)置、全院評(píng)估結(jié)果匯總、結(jié)果數(shù)據(jù)導(dǎo)出、評(píng)估進(jìn)度查詢等。
2.3 系統(tǒng)數(shù)據(jù)庫(kù)設(shè)計(jì)
根據(jù)上述系統(tǒng)功能的分析,系統(tǒng)的數(shù)據(jù)庫(kù)設(shè)計(jì)可以分為兩大類,一類是系統(tǒng)基礎(chǔ)表設(shè)計(jì),另一類是業(yè)務(wù)表設(shè)計(jì)。其中,系統(tǒng)基礎(chǔ)表共有7張,業(yè)務(wù)表共有12張,主要的表名及相關(guān)描述如表1、表2所示。
由于篇幅限制,本文只給出了與教師評(píng)教相關(guān)的數(shù)據(jù)庫(kù)之間的邏輯關(guān)系,如圖6所示。
3 教學(xué)質(zhì)量評(píng)價(jià)系統(tǒng)實(shí)現(xiàn)
3.1 S2SH框架分層開(kāi)發(fā)
基于S2SH框架的系統(tǒng)開(kāi)發(fā)采用分層開(kāi)發(fā)的方式[13],整個(gè)系統(tǒng)的開(kāi)發(fā)結(jié)構(gòu)分為4層。實(shí)體層即對(duì)應(yīng)的數(shù)據(jù)庫(kù)表的實(shí)體類;Dao層使用了Hibernate連接數(shù)據(jù)庫(kù)、操作數(shù)據(jù)庫(kù)(增刪改查);Service層引用對(duì)應(yīng)的Dao數(shù)據(jù)庫(kù)操作,在這里可以編寫(xiě)自己需要的代碼(比如簡(jiǎn)單的判斷);Action層引用對(duì)應(yīng)的Service層,結(jié)合Struts的配置文件跳轉(zhuǎn)到指定頁(yè)面,也能接受頁(yè)面?zhèn)鬟f的請(qǐng)求數(shù)據(jù)并進(jìn)行計(jì)算處理。以上Hibernate、Struts都需要注入到Spring的配置文件中,Spring將這些聯(lián)系成為一個(gè)整體。圖7以評(píng)教模塊為例,展示了系統(tǒng)中實(shí)體類、DAO、Service和Action的具體關(guān)系與實(shí)現(xiàn)。
3.2 配置數(shù)據(jù)源與事務(wù)管理
本系統(tǒng)采用阿里數(shù)據(jù)連接池druid,在applicationContent-Hibernate.xml文件中的
為確保數(shù)據(jù)的完整性、避免多線程同時(shí)操作數(shù)據(jù)庫(kù)而帶來(lái)的讀臟數(shù)據(jù)的問(wèn)題[15],對(duì)Spring事務(wù)作如下配置:
<!-- Spring HibernateTransactionManager事務(wù)-->
<!-- AOP-->
<!--基本事務(wù)定義,使用transactionManager作事務(wù)管理,默認(rèn)get*方法的事務(wù)為readonly,其余方法按默認(rèn)設(shè)置-->
<!--配置切面 -->
3.3 安全問(wèn)題
教學(xué)質(zhì)量評(píng)價(jià)系統(tǒng)的安全問(wèn)題主要從權(quán)限控制、輸入控制、防SQL注入、數(shù)據(jù)加密、異常處理、記錄系統(tǒng)日志幾方面進(jìn)行考慮[15]。以RBAC思想為核心,按照角色、部門(mén)為系統(tǒng)用戶分配權(quán)限??蛻舳死肑avaScript代碼控制驗(yàn)證輸入數(shù)據(jù),為防止用戶繞過(guò)客戶端,服務(wù)器端數(shù)據(jù)驗(yàn)證通過(guò)配置Struts2的xml來(lái)完成,系統(tǒng)中的重要數(shù)據(jù)采用MD5算法進(jìn)行加密。系統(tǒng)日志記錄用戶登錄信息、管理員的所有操作、程序錯(cuò)誤和異常信息。
4 結(jié)語(yǔ)
目前,本系統(tǒng)已在上海電子信息職業(yè)技術(shù)學(xué)院運(yùn)行,得到學(xué)校學(xué)生和同行的認(rèn)可。實(shí)踐表明,基于S2SH架構(gòu)的評(píng)教系統(tǒng)具有良好的可維護(hù)性和可擴(kuò)展性,充分兼顧了校領(lǐng)導(dǎo)、教師、學(xué)生等用戶的不同需求,實(shí)現(xiàn)了與校園信息化平臺(tái)其它應(yīng)用系統(tǒng)的對(duì)接,提高了評(píng)教工作效率和工作質(zhì)量,提升了教學(xué)質(zhì)量管理信息化水平。
參考文獻(xiàn):
[1]楊瑞靜,趙竟全,等.試談高校課堂教學(xué)質(zhì)量評(píng)價(jià)工作[J].北京航空航天大學(xué)學(xué)報(bào),2005(18):37-39.
[2]施小平.關(guān)于高校教師課堂教師質(zhì)量評(píng)價(jià)工作的思考[J].廣州大學(xué)學(xué)報(bào),2006,7(5):42-45.
[3]張亞光.基于大數(shù)據(jù)的教學(xué)質(zhì)量評(píng)價(jià)與分析[J].高等農(nóng)業(yè)教育,2016(1):37-44.
[4]李紹平,彭志平.S2SH:一種Web應(yīng)用框架及其實(shí)現(xiàn)[J].計(jì)算機(jī)技術(shù)與發(fā)展,2009(8):117-119.
[5]陳輝,趙洪升,張艷春.Struts+Spring+Hibernate框架的整合實(shí)現(xiàn)[J].河南大學(xué)學(xué)報(bào):自然科學(xué)版,2010(6):642-645.
[6]陳亞輝,繆勇.Struts2+Spring+Hibernate框架技術(shù)與項(xiàng)目實(shí)戰(zhàn)[M].北京:清華大學(xué)出版社,2012.
[7]陸舟.Struts2技術(shù)內(nèi)幕一深入解析Struts2架構(gòu)設(shè)計(jì)與實(shí)現(xiàn)原理[M].北京:機(jī)械工業(yè)出版社,2012:56-65.
[8]GUIYINGHAN,XIZUOLI.Key technologies of network forum system based on SSH2 and its implementation[J].Information Technology Journal ,2014,13(11):1928-1931.
[9]蘭偉.基于SSH2框架的高校教務(wù)管理系統(tǒng)開(kāi)發(fā)[J].重慶文理學(xué)院學(xué)報(bào),2016(9):108- 112.
[10]王海濤,賈宗璞.基于Struts和Hibernate的Web應(yīng)用開(kāi)發(fā)[J].計(jì)算機(jī)工程,2011(5):112-114.
[11]歐陽(yáng)宏基,葛萌.基于Struts2與Hibernate框架的Java Web 應(yīng)用研究[J].自動(dòng)化技術(shù)與應(yīng)用,2016(2):48-52
[12]閆朝升,張承江,李丹.基于Web 的教學(xué)質(zhì)量評(píng)價(jià)系統(tǒng)的設(shè)計(jì)與實(shí)現(xiàn)[J].計(jì)算機(jī)工程與設(shè)計(jì),2010,31(4):983-987.
[13]薛桂香,任女,閆世峰,等.基于簡(jiǎn)單工廠模式的SSH+ExtJs架構(gòu)泛型化研究[J].河北工業(yè)大學(xué)學(xué)報(bào),2015(6):65-69.
[14]張建軍,劉虎,等.基于SSH整合架構(gòu)的研究與應(yīng)用[J].湖南師范大學(xué)自然科學(xué)學(xué)報(bào),2012(12):39-40.
[15]林萍.基于SSH+DWR的高??蒲泄芾硐到y(tǒng)研究與實(shí)現(xiàn)[J].計(jì)算機(jī)應(yīng)用與軟件,2014(7):66-68.