基于WWW的協(xié)同式CAI軟件的Java實(shí)現(xiàn)_第1頁(yè)
基于WWW的協(xié)同式CAI軟件的Java實(shí)現(xiàn)_第2頁(yè)
基于WWW的協(xié)同式CAI軟件的Java實(shí)現(xiàn)_第3頁(yè)
基于WWW的協(xié)同式CAI軟件的Java實(shí)現(xiàn)_第4頁(yè)
基于WWW的協(xié)同式CAI軟件的Java實(shí)現(xiàn)_第5頁(yè)
全文預(yù)覽已結(jié)束

下載本文檔

版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請(qǐng)進(jìn)行舉報(bào)或認(rèn)領(lǐng)

文檔簡(jiǎn)介

1、基于WWW的協(xié)同式CAI軟件的Java實(shí)現(xiàn) 發(fā)布時(shí)間: 2004-03-09 作者:作者:丁振凡 摘要本文介紹一個(gè)用J+實(shí)現(xiàn)的基于Web環(huán)境的協(xié)同式計(jì)算機(jī)輔助教學(xué)軟件的結(jié)構(gòu),并給出了具體實(shí)現(xiàn)中的一些關(guān)鍵技術(shù)。關(guān)鍵詞J+,Web,遠(yuǎn)程教學(xué),Socket通信1引言隨著Internet網(wǎng)絡(luò)技術(shù)的發(fā)展,遠(yuǎn)程多媒體教學(xué)成為當(dāng)前的研究熱點(diǎn)?;贗nternet的WWW應(yīng)用模式作為一種方便、迅速的共享信息手段,深受用戶歡迎。用戶通過訪問超文本頁(yè)面瀏覽多媒體教學(xué)內(nèi)容,通過點(diǎn)擊超鏈去進(jìn)行自由的探索式學(xué)習(xí)。但僅基于超文本頁(yè)面的教學(xué)存在很多缺點(diǎn),如:學(xué)生容易在超鏈中迷失方向;教師不能對(duì)學(xué)生的學(xué)習(xí)行為進(jìn)行控制,教學(xué)過

2、程缺乏有序性;教師與學(xué)生之間不能進(jìn)行交流,教師對(duì)學(xué)生的學(xué)習(xí)效果缺乏檢查手段等。本文介紹的計(jì)算機(jī)輔助教學(xué)軟件克服了以上缺點(diǎn),整個(gè)軟件采用J+編寫實(shí)現(xiàn),由服務(wù)器部分、學(xué)生部分、教師教學(xué)部分、課件維護(hù)部分共四部分組成,該軟件實(shí)際上為一個(gè)教學(xué)框架系統(tǒng),所有教學(xué)材料由教師安排,教師和學(xué)生通過訪問各自的URL地址進(jìn)入角色。學(xué)生在教師的現(xiàn)場(chǎng)控制進(jìn)行學(xué)習(xí)、討論、練習(xí)和測(cè)試。2系統(tǒng)的功能2.1超文本頁(yè)面學(xué)習(xí)教師對(duì)學(xué)生的學(xué)習(xí)頁(yè)面進(jìn)行統(tǒng)一向?qū)?。教師選擇學(xué)習(xí)頁(yè)面,將此頁(yè)面的URL地址傳送給學(xué)生,引導(dǎo)學(xué)生到該Web頁(yè)面進(jìn)行學(xué)習(xí),如此增加了學(xué)習(xí)的針對(duì)性,滿足有組織、有控制的教學(xué)需要。2.2實(shí)時(shí)討論實(shí)時(shí)討論是協(xié)同式教學(xué)軟件

3、的一個(gè)基本特征。在討論期間,教師可提問學(xué)生,安排作業(yè)等,學(xué)生則可將自己的學(xué)習(xí)體會(huì)及疑問告訴教師。學(xué)生之間可以就學(xué)習(xí)中的問題進(jìn)行實(shí)時(shí)交談。系統(tǒng)提供了兩種工具以支持網(wǎng)上實(shí)時(shí)討論:一種是純文字交談,如果發(fā)言者未選擇用戶,則為公開發(fā)言,否則為私下發(fā)言,只送往選定用戶,在各用戶的討論面板上有一個(gè)文本域顯示每條發(fā)言的發(fā)言者及發(fā)言內(nèi)容。另一種是共享白板,教師和學(xué)生都可往白板上寫內(nèi)容,白板內(nèi)容所有用戶保持一致,共享白板可支持線、圓、矩形、文字等基本繪圖操作,并可選擇線條顏色。2.3交互式做練習(xí)教師發(fā)出練習(xí)的指示消息,則學(xué)生將自動(dòng)進(jìn)入練習(xí)界面,系統(tǒng)自動(dòng)從試題庫(kù)中調(diào)與學(xué)習(xí)問題有關(guān)的試題供學(xué)生操練,在操練時(shí),系統(tǒng)將

4、學(xué)生的解答與標(biāo)準(zhǔn)答案對(duì)比看是否答對(duì),并彈出對(duì)話框給學(xué)生反饋鼓勵(lì)信息。交互式練習(xí)有助于學(xué)生加深對(duì)教學(xué)內(nèi)容的理解。2.4網(wǎng)上測(cè)試測(cè)試是教學(xué)過程中不可缺少的教學(xué)環(huán)節(jié),通過測(cè)試,教師可對(duì)學(xué)生的學(xué)習(xí)進(jìn)行考核,并借此了解學(xué)生的學(xué)習(xí)效果,為改進(jìn)教學(xué)提供依據(jù)。學(xué)生則通過測(cè)試可了解自己對(duì)內(nèi)容的掌握情況,增加學(xué)習(xí)興趣。目前,每次測(cè)試試卷是由教師從試題庫(kù)選題組卷并安排分?jǐn)?shù)。測(cè)試有時(shí)間限制。3系統(tǒng)的總體設(shè)計(jì)從系統(tǒng)要完成的功能看,有兩類工作方式:一類是客戶/服務(wù)器方式(如學(xué)生做題),客戶方發(fā)出訪問申請(qǐng),服務(wù)方給出響應(yīng)??蛻羰莿?dòng)作的發(fā)起者,何時(shí)發(fā)出申請(qǐng)由客戶方?jīng)Q定,客戶方發(fā)出申請(qǐng)后立即可從Socket通道去取服務(wù)方的結(jié)果

5、。服務(wù)器方必須始終處于監(jiān)聽等待狀態(tài)。圖1系統(tǒng)的整體設(shè)計(jì)結(jié)構(gòu)另一類是網(wǎng)上的協(xié)作應(yīng)用(如實(shí)時(shí)討論等),在這種方式中,任何一方都可能成為消息的發(fā)送方,而另一方則成為消息的接收方。發(fā)送方的動(dòng)作由用戶界面的各類事件驅(qū)動(dòng)引發(fā),其時(shí)間性是偶然的,接收方必須時(shí)刻處于接收監(jiān)聽狀態(tài)。由于通信雙方處于對(duì)等的位置,因此雙方都要處于接收等待狀態(tài)。由于Java的安全性限制,兩客戶瀏覽器間不能直接建立Socket連接,要實(shí)現(xiàn)兩瀏覽器間的通信必須通過Web服務(wù)器上的Java應(yīng)用程序進(jìn)行轉(zhuǎn)接。綜上所述,為了實(shí)現(xiàn)系統(tǒng)的功能,筆者將系統(tǒng)的總體設(shè)計(jì)為如圖1的形式。有關(guān)說明: 學(xué)生和教師分別以客戶/服務(wù)器的方式與Web服務(wù)器上Java

6、應(yīng)用程序建立通信連接。服務(wù)器方的連接監(jiān)聽線程負(fù)責(zé)監(jiān)聽來自客戶的Socket連接申請(qǐng)。服務(wù)方要為每個(gè)連接客戶建立一個(gè)消息處理線程,該線程負(fù)責(zé)接收來自相應(yīng)客戶的消息,對(duì)消息進(jìn)行分析處理。將消息轉(zhuǎn)發(fā)到其他客戶。 學(xué)生和教師方都有一個(gè)消息接收線程負(fù)責(zé)接收來自服務(wù)方的消息。該線程通過調(diào)用用戶界面對(duì)象中的方法將消息要求反映在用戶界面上。為此,在設(shè)計(jì)消息接收線程類時(shí),在其構(gòu)造方法中將用戶界面對(duì)象作為參數(shù)傳給該類的對(duì)象,這是Java中實(shí)現(xiàn)對(duì)象間互訪的基本方法。 訪問試題庫(kù)的過程是學(xué)生方發(fā)送相應(yīng)消息到服務(wù)器,服務(wù)器方通過COM組件RDO訪問基于ODBC的數(shù)據(jù)庫(kù),并將訪問結(jié)果傳回給學(xué)生。 教師可對(duì)學(xué)生的學(xué)習(xí)過程進(jìn)

7、行控制,在服務(wù)器方有一個(gè)線程專門接收來自教師的控制消息并將其轉(zhuǎn)發(fā)給學(xué)生,這些控制包括頁(yè)面學(xué)習(xí)向?qū)Ш蛯?duì)學(xué)習(xí)階段的控制,這些學(xué)習(xí)階段包括:實(shí)時(shí)討論、做練習(xí)、測(cè)試。學(xué)生的操作界面將隨教師的控制消息變化。4幾個(gè)技術(shù)關(guān)鍵4.1數(shù)據(jù)庫(kù)訪問Virsual J+針對(duì)Microsoft操作系統(tǒng)對(duì)Java類庫(kù)做了專門的擴(kuò)展,它將Java與COM(組件對(duì)象模型)和支持Java的Internet Explorer 30瀏覽器相集成,用戶可在Java程序中訪問任何支持COM的軟件。對(duì)于數(shù)據(jù)庫(kù)的訪問,在J+中提供了DAO(Data Access Object)和RDO(Remote Data Object)兩種方法。本軟

8、件中采用RDO對(duì)象實(shí)現(xiàn)對(duì)ODBC數(shù)據(jù)源數(shù)據(jù)的訪問。由于對(duì)數(shù)據(jù)庫(kù)的連接是建立在ODBC的基礎(chǔ)上,所以可以支持對(duì)各種類型的數(shù)據(jù)庫(kù)訪問。筆者采用的是Access數(shù)據(jù)庫(kù)。通常,Java Applet是在一個(gè)“沙箱”中運(yùn)行,可訪問的資源有限,使用COM服務(wù)意味著存取沙箱之外的資源,為此,IE在安全性上要作嚴(yán)格的檢查,它將Java類分為可信類和不可信類,不可信類不能使用COM服務(wù),所有不是從類路徑裝入的類都是不可信的,包括從網(wǎng)上下載的類,除非它們被封裝在具有一個(gè)數(shù)字簽名的CAB文件中。為了避免安全性帶來的麻煩和減少客戶端的ODBC配置,筆者在訪問試題庫(kù)的部分中采用了由服務(wù)器方Java應(yīng)用程序訪問數(shù)據(jù)庫(kù)的辦

9、法,無(wú)安全性限制。瀏覽器方Applet程序通過與服務(wù)器方應(yīng)用程序通信來傳遞訪問請(qǐng)求和結(jié)果。整個(gè)系統(tǒng)的數(shù)據(jù)庫(kù)表格設(shè)計(jì)如下:. 填空題表:含試題標(biāo)識(shí)號(hào)、問題號(hào)、難度、試題內(nèi)容、答案共五個(gè)字段。. 判斷題表:結(jié)構(gòu)同上。. 填空題試卷表:試題標(biāo)識(shí)號(hào)、分?jǐn)?shù)共兩字段。. 判斷題試卷表:結(jié)構(gòu)同上。. 教學(xué)內(nèi)容索引表:含章號(hào)、節(jié)號(hào)、問題號(hào)、問題名、URL地址共五個(gè)字段。. 章標(biāo)題表:含章號(hào)、標(biāo)題共兩字段。. 節(jié)標(biāo)題表:含章號(hào)、節(jié)號(hào)、標(biāo)題共三個(gè)字段。. 成績(jī)登記庫(kù):含姓名,成績(jī)兩字段。從數(shù)據(jù)庫(kù)設(shè)計(jì)可看出,本系統(tǒng)將教學(xué)內(nèi)容與試題庫(kù)中試題通過問題號(hào)連接起來。4.2數(shù)據(jù)通信處理從總體設(shè)計(jì)可知,系統(tǒng)有兩類應(yīng)用,它們有不

10、同的工作特點(diǎn)?;诳蛻?服務(wù)器的應(yīng)用是客戶方發(fā)出訪問請(qǐng)求后,再直接在事件代碼中獲取服務(wù)方返回的結(jié)果;而對(duì)于協(xié)作應(yīng)用則必須在所有客戶方分別設(shè)立消息監(jiān)聽線程去獲取和處理數(shù)據(jù)。從實(shí)現(xiàn)效率上考慮,這兩類應(yīng)用不宜共用一條Socket通道。筆者采用了雙Socket通路的辦法。在服務(wù)方設(shè)立兩個(gè)Socket監(jiān)聽口,分別是8883和8884,所有客戶端要分別針對(duì)兩個(gè)監(jiān)聽口建立Socket連接。為避免創(chuàng)建過多線程,并將兩類應(yīng)用通道分開,系統(tǒng)在通道的使用上作了一些特殊處理,具體情況說明如下:. 學(xué)生客戶:使用8883口發(fā)送消息,使用8883口接收數(shù)據(jù)庫(kù)訪問結(jié)果,使用8884口接收所有其它消息。. 服務(wù)器方:系統(tǒng)為每

11、個(gè)客戶創(chuàng)建一個(gè)消息接收線程,它使用8883口接收消息,并將消息通過8884口的相應(yīng)輸出流轉(zhuǎn)發(fā)給其他客戶方。考慮到只有教師能發(fā)控制消息,在服務(wù)器方,針對(duì)8884口只建立一個(gè)教師控制監(jiān)聽線程,它專門使用8884口接收教師控制消息,并通過8884口發(fā)送給所有學(xué)生。與學(xué)生對(duì)應(yīng)的8884口的輸入流未用,因此服務(wù)方也不必創(chuàng)建相應(yīng)的監(jiān)聽線程。. 教師方:使用8884口發(fā)送教學(xué)控制信息,使用8883口發(fā)送談話、白板、查分等消息。接收消息線程使用8884口接收消息。服務(wù)器方是通過8884口的輸出流將消息轉(zhuǎn)發(fā)到各個(gè)客戶方,這就要求與每個(gè)用戶連接對(duì)應(yīng)的輸出流要能實(shí)現(xiàn)共享訪問,這是各用戶間互發(fā)信息的基礎(chǔ)。為此,在服務(wù)

12、方通信線程類的設(shè)計(jì)上采用Static數(shù)組存放輸出流,這樣既可實(shí)現(xiàn)同一類中各對(duì)象間的數(shù)據(jù)共享,又可在不同類中通過類名直接訪問其數(shù)據(jù)。由于在服務(wù)方和客戶方都采用了多線程設(shè)計(jì),系統(tǒng)的效率得以充分發(fā)揮。4.3消息設(shè)計(jì)整個(gè)系統(tǒng)是建立在消息基礎(chǔ)上的,服務(wù)器端和客戶端都承擔(dān)有消息處理的工作。大量基于協(xié)作應(yīng)用的消息,服務(wù)方只負(fù)責(zé)轉(zhuǎn)發(fā),由客戶方進(jìn)行處理。每類消息由消息頭和內(nèi)容組成,消息頭用于系統(tǒng)判別。在整個(gè)系統(tǒng)中,主要有6類消息:交談消息;白板消息;向?qū)?;用戶登入和退出消息;試題庫(kù)訪問消息其它消息(如登分、查分等)。4.4教學(xué)應(yīng)用界面設(shè)計(jì)4.4.1教師界面教師操作界面是固定的,在Applet面板上含四部分內(nèi)

13、容:用戶列表;控制面板,有頁(yè)面向?qū)?、討論、練?xí)、測(cè)試、查成績(jī)共五個(gè)按鈕,其中,前四個(gè)按鈕分別用來控制學(xué)生進(jìn)入各學(xué)習(xí)階段,學(xué)生的界面將隨教師的控制變化;交談文本顯示域和談話錄入按鈕,點(diǎn)擊“談話錄入”按鈕,將彈出一個(gè)文本錄入窗口供發(fā)送談話內(nèi)容;共享白板及工具欄。4.4.2學(xué)生界面學(xué)生界面是一個(gè)變動(dòng)的界面,由兩個(gè)幀構(gòu)成,一幀用來顯示Java Applet,另一幀顯示教師發(fā)送的URL頁(yè)面內(nèi)容。Applet幀的界面由多塊面板(分別是“登錄面板、“討論面板”、“練習(xí)面板”、“測(cè)試面板”)采用卡片布局構(gòu)成,初始為“登錄面板”,以后顯示哪塊面板由教師的控制消息去控制。URL顯示幀則按教師發(fā)送的URL內(nèi)容顯示多

14、媒體頁(yè)面。在學(xué)生測(cè)試時(shí),可允許學(xué)生在兩類試題(是非判斷題和填空題,選擇題可歸為填空一類)間來回切換,并可用翻動(dòng)試題按鈕前后瀏覽試題。為了提高訪問試題的速度和減少服務(wù)器端的訪問負(fù)擔(dān),在客戶端使用向量保存對(duì)已讀過的試題內(nèi)容、標(biāo)準(zhǔn)答案及學(xué)生的解答等信息,并引入一個(gè)標(biāo)記向量標(biāo)記某序號(hào)的題是否訪問過,只有沒訪問過的試題才去訪問試題庫(kù)。測(cè)試時(shí)將創(chuàng)建一個(gè)計(jì)時(shí)線程,時(shí)間用完或點(diǎn)擊“答題結(jié)束”按鈕,計(jì)算機(jī)將自動(dòng)進(jìn)行評(píng)分,將得分以對(duì)話框形式告訴用戶,同時(shí)寫入成績(jī)登記表供教師查詢。4.5URL向?qū)У膶?shí)現(xiàn)URL輸入與傳送教師點(diǎn)擊“頁(yè)面向?qū)А卑粹o,系統(tǒng)將訪問學(xué)習(xí)內(nèi)容索引等表,并彈出一個(gè)對(duì)話框讓教師選定要學(xué)習(xí)的章節(jié)和問題

15、,系統(tǒng)將其對(duì)應(yīng)的URL地址通過Socket通道送往所有學(xué)生客戶端,同時(shí)教師端將彈出一個(gè)新瀏覽器顯示頁(yè)面以供確認(rèn)。URL顯示步驟如下:使用URL類按接收字符串生成URL對(duì)象;通過Applet類中的getAppletContext()方法取得小應(yīng)用程序的AppletContext;通過AppletContext接口的showDocument方法顯示URL內(nèi)容。該方法的具體格式和參數(shù)說明如下:void showDocument(URL url , String target)其中,target參數(shù)用于指定文件內(nèi)容顯示的位置,其具體值及作用見下表:值文件顯示位置"self"當(dāng)前幀&

16、quot;parent"父幀"top"最頂部的幀"blank"開辟新瀏覽器窗口顯示"幀名"在指定的幀中顯示在教師方筆者采用了“blank”的辦法,即另開辟一個(gè)瀏覽器窗口顯示URL內(nèi)容,供教師確認(rèn)URL內(nèi)容。學(xué)生方采用了多幀的辦法,在HTML文件中安排多幀,一幀用來顯示Java Applet,另一幀顯示教師發(fā)送的URL頁(yè)面內(nèi)容,在HTML文件中規(guī)定幀的大小可調(diào)整,這樣學(xué)生可調(diào)整幀邊界去更方便地閱讀內(nèi)容。 5結(jié)束語(yǔ)本文介紹了一個(gè)基于WWW的協(xié)作式教學(xué)軟件系統(tǒng)的具體實(shí)現(xiàn)方法。該軟件實(shí)際為一個(gè)教學(xué)框架系統(tǒng),具體教學(xué)內(nèi)容由教師使用系統(tǒng)的課件維護(hù)部分去安排和設(shè)計(jì),如此可較好地發(fā)揮教師的主觀能動(dòng)性。該軟件作為一個(gè)實(shí)用軟件在筆者的Java課程的教學(xué)中得以運(yùn)用。筆者擬對(duì)該系統(tǒng)作如下改進(jìn):提供自動(dòng)組卷功能。引入更完善的學(xué)生模型對(duì)學(xué)生的學(xué)習(xí)水平進(jìn)行評(píng)估;提供多種教學(xué)方式,使系統(tǒng)在有教師和無(wú)教師兩種情形下都可運(yùn)作,在CAI的智能性上做些工作。在多媒體支

溫馨提示

  • 1. 本站所有資源如無(wú)特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請(qǐng)下載最新的WinRAR軟件解壓。
  • 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請(qǐng)聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
  • 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁(yè)內(nèi)容里面會(huì)有圖紙預(yù)覽,若沒有圖紙預(yù)覽就沒有圖紙。
  • 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
  • 5. 人人文庫(kù)網(wǎng)僅提供信息存儲(chǔ)空間,僅對(duì)用戶上傳內(nèi)容的表現(xiàn)方式做保護(hù)處理,對(duì)用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對(duì)任何下載內(nèi)容負(fù)責(zé)。
  • 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請(qǐng)與我們聯(lián)系,我們立即糾正。
  • 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時(shí)也不承擔(dān)用戶因使用這些下載資源對(duì)自己和他人造成任何形式的傷害或損失。

最新文檔

評(píng)論

0/150

提交評(píng)論