孔德強(qiáng)
山東省青島市城陽(yáng)區(qū)教體局 山東青島 266109
基于J2EE技術(shù)的網(wǎng)絡(luò)教學(xué)平臺(tái)
孔德強(qiáng)
山東省青島市城陽(yáng)區(qū)教體局 山東青島 266109
隨著校園網(wǎng)的快速發(fā)展和不斷完善,基于校園網(wǎng)的網(wǎng)絡(luò)教學(xué)平臺(tái)已經(jīng)成為各高校的迫切需要。雖然各種平臺(tái)先后出現(xiàn),但表現(xiàn)優(yōu)秀者卻為數(shù)不多,或者功能單一,如單純的課件制作系統(tǒng)或作業(yè)系統(tǒng),或者追求界面的美觀和多媒體功能,很少能夠達(dá)到實(shí)用的目的,不能實(shí)現(xiàn)網(wǎng)絡(luò)輔助教學(xué)的目的。為此,我們提出了一種基于J2EE技術(shù)的網(wǎng)絡(luò)教學(xué)平臺(tái)。
平臺(tái)開(kāi)發(fā)基于J2EE架構(gòu)技術(shù),其特點(diǎn)是平臺(tái)無(wú)關(guān)性、具備開(kāi)放性與繼承性。J2EE是一個(gè)涉及多個(gè)層面的復(fù)雜概念,系統(tǒng)采用Browser/Web Server、Application Server和DB Server多層結(jié)構(gòu),方便系統(tǒng)的維護(hù)和擴(kuò)充系統(tǒng)完全,提供比Windows更安全的、更能擴(kuò)展的應(yīng)用服務(wù)器,允許用戶可以選擇更多的可靠的,可擴(kuò)展的操作系統(tǒng)平臺(tái)(如:AIX,Solaris,Linux等),提供更好的擴(kuò)展接口Web Service(SOAP/XML)到其它相關(guān)系統(tǒng)等。同時(shí)通過(guò)標(biāo)準(zhǔn)和可重用的J2EE技術(shù)(如:JSP,Servlet,EJB組件等),可以快速和安全的部署實(shí)施網(wǎng)絡(luò)教學(xué)平臺(tái)。
本教學(xué)平臺(tái)實(shí)現(xiàn)了日常教學(xué)中的絕大部分功能,按照教學(xué)活動(dòng)的流程,分為教學(xué)模塊、測(cè)試、實(shí)驗(yàn)三大模塊。
1.教學(xué)模塊
教學(xué)模塊主要包括以下幾個(gè)功能模塊:
(1)備課模塊:實(shí)現(xiàn)教師的備課,任課教師可以借助系統(tǒng)提供的資源查詢模塊檢索需要的多媒體教學(xué)資源,在線編輯教學(xué)內(nèi)容,生成教案和講義。
(2)授課模塊:教師可以發(fā)布備課的內(nèi)容,實(shí)現(xiàn)在線教學(xué),指出重點(diǎn)難點(diǎn),進(jìn)行課堂測(cè)驗(yàn),在線布置作業(yè)。
(3)作業(yè)處理模塊:對(duì)布置的作業(yè)進(jìn)行批改,點(diǎn)評(píng)、批注、打分,查看提交情況,對(duì)作業(yè)進(jìn)行統(tǒng)計(jì)。
(4)答疑模塊:主要是對(duì)學(xué)生提出的問(wèn)題進(jìn)行在線答疑,本模塊采用在線編輯器程序,可以對(duì)文字、圖形、圖像、動(dòng)畫等形式的問(wèn)題給出回答,適合不同學(xué)科和專業(yè)。
(5)學(xué)生管理模塊:該模塊主要完成對(duì)學(xué)生身份的確認(rèn),對(duì)學(xué)生進(jìn)行學(xué)習(xí)過(guò)程中的分組教學(xué),指定可代表,聯(lián)系學(xué)生(一對(duì)一、群發(fā)、分組消息)等功能。
2.測(cè)試模塊
測(cè)試模塊主要包括以下幾個(gè)模塊:
(1)試題庫(kù)建設(shè):實(shí)現(xiàn)題型選擇,試題添加、刪除、修改,試題分不統(tǒng)計(jì)等功能。
(2)考試命題:自動(dòng)生成試卷,可以事先指定試卷的參數(shù),如范圍、題型、難度系數(shù)、分?jǐn)?shù)、考試時(shí)間等。
(3)批卷及試卷分析:實(shí)現(xiàn)客觀題的自動(dòng)判卷功能,并能夠打分。根據(jù)考試情況進(jìn)行試卷分析,考察該試卷的可信度和有效性,以及難易程度。
(4)分?jǐn)?shù)統(tǒng)計(jì):對(duì)試卷、平時(shí)作業(yè)、實(shí)驗(yàn)、期中以及期末的成績(jī)進(jìn)行總體統(tǒng)計(jì),形成總評(píng)成績(jī)。并提供成績(jī)查詢功能。
3.實(shí)驗(yàn)?zāi)K
實(shí)驗(yàn)?zāi)K單獨(dú)列出的原因是因?yàn)閷?shí)驗(yàn)的設(shè)計(jì)和進(jìn)行難度非常大,要在網(wǎng)絡(luò)上進(jìn)行虛擬實(shí)驗(yàn)需要考慮多方面的因素。該模塊主要功能包括實(shí)驗(yàn)報(bào)告提交和批改功能。學(xué)生可以在線填寫實(shí)驗(yàn)報(bào)告,教師對(duì)試驗(yàn)報(bào)告批改、打分。
本系統(tǒng)的總體流程實(shí)現(xiàn)采用Struts框架。Struts是一個(gè)基于Sun J2EE平臺(tái)的MVC框架,主要是采用Servlet和JSP技術(shù)來(lái)實(shí)現(xiàn)的。Struts把Servlet,JSP,自定義標(biāo)簽和信息資源整合到一個(gè)統(tǒng)一的框架中,開(kāi)發(fā)人員利用其進(jìn)行開(kāi)發(fā)時(shí)不用再自己編碼實(shí)現(xiàn)全套MVC模式,極大地節(jié)省了時(shí)間?;赟truts框架,設(shè)計(jì)本系統(tǒng)的整體構(gòu)架,圖1為系統(tǒng)整體構(gòu)架圖。如圖1所示,客戶端瀏覽器的每個(gè)HTTP請(qǐng)求生成一個(gè)事件,控制器接收來(lái)自瀏覽器的請(qǐng)求,若請(qǐng)求的為一靜態(tài)頁(yè)面(例如擴(kuò)展名為.jsp的頁(yè)面),則直接Forward到該頁(yè)面;請(qǐng)求的為一動(dòng)態(tài)頁(yè)面(例如擴(kuò)展名為do的頁(yè)面),則根據(jù)struts-config.xml文件中的對(duì)應(yīng)關(guān)系,決定將這個(gè)請(qǐng)求發(fā)往何處,即分派給哪個(gè)業(yè)務(wù)邏輯來(lái)處理該請(qǐng)求。業(yè)務(wù)邏輯更新模型的狀態(tài),并幫助控制應(yīng)用程序的流程。視圖就是一個(gè)JSP文件。
圖1 整體構(gòu)架模型
根據(jù)以上模型,在開(kāi)發(fā)時(shí)將系統(tǒng)分為3個(gè)模塊:邏輯處理模塊(Action類)、數(shù)據(jù)存取模塊(Event類)和頁(yè)面模塊(JSP)。Action類傳遞由請(qǐng)求中獲取的參數(shù)(包括form)給Event類,再獲取由Event類返回的數(shù)據(jù),并將這些數(shù)據(jù)以一定的形式傳遞給JSP。Event類負(fù)責(zé)根據(jù)Action類傳遞的參數(shù),通過(guò)Hibernate連接,從數(shù)據(jù)庫(kù)中取出所需的數(shù)據(jù)(或更新數(shù)據(jù)庫(kù)),并將數(shù)據(jù)回送給Action類。頁(yè)面模塊用來(lái)顯示Action類對(duì)視圖的更新。
平臺(tái)中開(kāi)發(fā)過(guò)程中使用了以下幾個(gè)比較關(guān)鍵的技術(shù)。
1.課件自動(dòng)生成
該模塊可以減輕教師制作課件的勞動(dòng)量,教師備課時(shí)有時(shí)需要制作課件,往往是針對(duì)某一門課或者某些章節(jié),而有些任課教師對(duì)制作課件不熟悉,或者太浪費(fèi)時(shí)間。因此,本平臺(tái)開(kāi)發(fā)了課件自動(dòng)生成模塊。任課教師只需要按照要求規(guī)劃好某一門課或某章的結(jié)構(gòu)目錄,按照章、節(jié)、知識(shí)點(diǎn)三級(jí)結(jié)構(gòu)填寫表單,提交后便可以初步形成網(wǎng)頁(yè)形式的課件。然后,教師就可以通過(guò)在線編輯器對(duì)網(wǎng)頁(yè)內(nèi)容進(jìn)行動(dòng)態(tài)添加,可以添加文本、圖像處理、動(dòng)畫、視頻等多媒體素材。所添加的素材同時(shí)也會(huì)被存儲(chǔ)在多媒體資源庫(kù)中,每個(gè)媒體都是一條記錄,被賦予知識(shí)點(diǎn)、媒體形式、文件格式等字段,方便以后檢索。
2.Applet技術(shù)在系統(tǒng)中應(yīng)用
本系統(tǒng)中的答疑模塊、作業(yè)處理、試卷分析、試題庫(kù)建設(shè)、考試命題等都是用Applet來(lái)實(shí)現(xiàn)的。在如今的J2EE開(kāi)發(fā)中,Applet廣泛用于處理小型的任務(wù),或者用來(lái)作為MVC架構(gòu)的控制器。具體來(lái)講,它主要用于負(fù)責(zé)那些容易管理的任務(wù)組。它可以協(xié)調(diào)輸出,但幾乎不直接參與生成動(dòng)態(tài)Web頁(yè)面內(nèi)容,處理jsp不好處理的后臺(tái)服務(wù)或者其他特殊要求的問(wèn)題??紤]到試題庫(kù)建設(shè),組卷,作業(yè)批改、試卷分析等任務(wù)的復(fù)雜性,因此我們采用了Applet技術(shù)。使用Applet技術(shù)的另外一個(gè)好處是界面非常美觀,容易定位。
3.目錄樹(shù)
由于本平臺(tái)是基于目錄樹(shù)結(jié)構(gòu)的,所有的功能模塊都是按照課程來(lái)展開(kāi),因此我們把“課程”作為目錄樹(shù)的根,二級(jí)結(jié)點(diǎn)是“章”,三級(jí)結(jié)點(diǎn)“節(jié)”,葉子為“知識(shí)點(diǎn)”。這種以知識(shí)點(diǎn)為葉子的目錄樹(shù)結(jié)構(gòu),在平臺(tái)的其他模塊功能的實(shí)現(xiàn)中非常方便。如試題庫(kù)建設(shè)、組卷、試卷分析等過(guò)程中都要考慮到知識(shí)點(diǎn)的分布情況。在Applet中可以通過(guò)JTree這個(gè)類來(lái)方便的實(shí)現(xiàn)目錄樹(shù),如果在網(wǎng)頁(yè)中動(dòng)態(tài)生成一個(gè)目錄樹(shù)需要大量的Javascript,增加了開(kāi)發(fā)工作量。
基于J2EE的網(wǎng)絡(luò)教學(xué)平臺(tái)是為信息時(shí)代的高校網(wǎng)絡(luò)教學(xué)而設(shè)計(jì)的,具有很強(qiáng)的實(shí)用性,目前該平臺(tái)已投入實(shí)際教學(xué)中。通過(guò)一學(xué)期的運(yùn)行,從使用者反饋的情況來(lái)看,簡(jiǎn)單易用,功能設(shè)計(jì)合理,能較好滿足日常教學(xué)需求。但在今后長(zhǎng)期的使用過(guò)程中,肯定會(huì)有許多需要進(jìn)一步改進(jìn)的地方。
[1] 楊紹方,王穎,林錦全.Java程序設(shè)計(jì)基礎(chǔ)[M].北京:科學(xué)出版社,2001
[2] 袁梅冷,黃煙波.J2EE模型中MVC軟件體系結(jié)構(gòu)的研究與應(yīng)用[J].計(jì)算機(jī)應(yīng)用研究,2003,20(3):147~149
[3] 王濤,陳懷意.基于Web的遠(yuǎn)程教學(xué)平臺(tái)的設(shè)計(jì)與實(shí)現(xiàn)[J].計(jì)算機(jī)應(yīng)用于研究,2003,20(7):102~104
[4] Jim Keogh.J2EE參考大全[M].北京:電子工業(yè)出版社,2003
孔德強(qiáng),本科,中教一級(jí)。