基于WWW的協(xié)同式CAI軟件的Java實現(xiàn)_第1頁
基于WWW的協(xié)同式CAI軟件的Java實現(xiàn)_第2頁
基于WWW的協(xié)同式CAI軟件的Java實現(xiàn)_第3頁
基于WWW的協(xié)同式CAI軟件的Java實現(xiàn)_第4頁
基于WWW的協(xié)同式CAI軟件的Java實現(xiàn)_第5頁
已閱讀5頁,還剩5頁未讀, 繼續(xù)免費閱讀

下載本文檔

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

文檔簡介

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

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

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

4、界面,系統(tǒng)自動從試題庫中調(diào)與學(xué)習(xí)問題有關(guān)的試題供學(xué)生操練,在操練時,系統(tǒng)將學(xué)生的解答與標準答案對比看是否答對,并彈出對話框給學(xué)生反饋鼓勵信息。交互式練習(xí)有助于學(xué)生加深對教學(xué)內(nèi)容的理解。 網(wǎng)上測試 測試是教學(xué)過程中不可缺少的教學(xué)環(huán)節(jié),通過測試,教師可對學(xué)生的學(xué)習(xí)進行考核,并借此了解學(xué)生的學(xué)習(xí)效果,為改進教學(xué)提供依據(jù)。學(xué)生則通過測試可了解自己對內(nèi)容的掌握情況,增加學(xué)習(xí)興趣。目前,每次測試試卷是由教師從試題庫選題組卷并安排分數(shù)。測試有時間限制。 3 系統(tǒng)的總體設(shè)計 從系統(tǒng)要完成的功能看,有兩類工作方式:一類是客戶/服務(wù)器方式,客戶方發(fā)出訪問申請,服務(wù)方給出響應(yīng)。客戶是動作的發(fā)起者,何時發(fā)出申請由客戶

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

6、和教師分別以客戶/服務(wù)器的方式與web服務(wù)器上java應(yīng)用程序建立通信連接。服務(wù)器方的連接*線程負責(zé)*來自客戶的socket連接申請。服務(wù)方要為每個連接客戶建立一個消息處理線程,該線程負責(zé)接收來自相應(yīng)客戶的消息,對消息進行分析處理。將消息轉(zhuǎn)發(fā)到其他客戶。 學(xué)生和教師方都有一個消息接收線程負責(zé)接收來自服務(wù)方的消息。該線程通過調(diào)用用戶界面對象中的方法將消息要求反映在用戶界面上。為此,在設(shè)計消息接收線程類時,在其構(gòu)造方法中將用戶界面對象作為參數(shù)傳給該類的對象,這是java中實現(xiàn)對象間互訪的基本方法。 訪問試題庫的過程是學(xué)生方發(fā)送相應(yīng)消息到服務(wù)器,服務(wù)器方通過com組件rdo訪問基于odbc的數(shù)據(jù)庫,

7、并將訪問結(jié)果傳回給學(xué)生。 教師可對學(xué)生的學(xué)習(xí)過程進行控制,在服務(wù)器方有一個線程專門接收來自教師的控制消息并將其轉(zhuǎn)發(fā)給學(xué)生,這些控制包括頁面學(xué)習(xí)向?qū)Ш蛯W(xué)習(xí)階段的控制,這些學(xué)習(xí)階段包括:實時討論、做練習(xí)、測試。學(xué)生的操作界面將隨教師的控制消息變化。 4 幾個技術(shù)關(guān)鍵 數(shù)據(jù)庫訪問 virsual j+針對microsoft操作系統(tǒng)對java類庫做了專門的擴展,它將java與com和支持java的internet explorer 30瀏覽器相集成,用戶可在java程序中訪問任何支持com的軟件。對于數(shù)據(jù)庫的訪問,在j+中提供了dao和rdo兩種方法。本軟件中采用rdo對象實現(xiàn)對odbc數(shù)據(jù)源數(shù)據(jù)的

8、訪問。由于對數(shù)據(jù)庫的連接是建立在odbc的基礎(chǔ)上,所以可以支持對各種類型的數(shù)據(jù)庫訪問。筆者采用的是access數(shù)據(jù)庫。 通常,java applet是在一個“沙箱”中運行,可訪問的資源有限,使用com服務(wù)意味著存取沙箱之外的資源,為此,ie在安全性上要作嚴格的檢查,它將java類分為可信類和不可信類,不可信類不能使用com服務(wù),所有不是從類路徑裝入的類都是不可信的,包括從網(wǎng)上下載的類,除非它們被封裝在具有一個數(shù)字簽名的cab文件中。為了避免安全性帶來的麻煩和減少客戶端的odbc配置,筆者在訪問試題庫的部分中采用了由服務(wù)器方j(luò)ava應(yīng)用程序訪問數(shù)據(jù)庫的辦法,無安全性限制。瀏覽器方a123下一頁

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

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

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

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

13、、練習(xí)、測試、查成績共五個按鈕,其中,前四個按鈕分別用來控制學(xué)生進入各學(xué)習(xí)階段,學(xué)生的界面將隨教師的控制變化;交談文本顯示域和談話錄入按鈕,點擊“談話錄入”按鈕,將彈出一個文本錄入窗口供發(fā)送談話內(nèi)容;共享白板及工具欄。 學(xué)生界面 學(xué)生界面是一個變動的界面,由兩個幀構(gòu)成,一幀用來顯示java applet,另一幀顯示教師發(fā)送的url頁面內(nèi)容。applet幀的界面由多塊面板采用卡片布局構(gòu)成,初始為“登錄面板”,以后顯示哪塊面板由教師的控制消息去控制。url顯示幀則按教師發(fā)送的url內(nèi)容顯示多媒體頁面。在學(xué)生測試時,可允許學(xué)生在兩類試題間來回切換,并可用翻動試題按鈕前后瀏覽試題。為了提高訪問試題的速

14、度和減少服務(wù)器端的訪問負擔(dān),在客戶端使用向量保存對已讀過的試題內(nèi)容、標準答案及學(xué)生的解答等信息,并引入一個標記向量標記某序號的題是否訪問過,只有沒訪問過的試題才去訪問試題庫。測試時將創(chuàng)建一個計時線程,時間用完或點擊“答題結(jié)束”按鈕,計算機將自動進行評分,將得分以對話框形式告訴用戶,同時寫入成績登記表供教師查詢。 url向?qū)У膶崿F(xiàn) url輸入與傳送 教師點擊“頁面向?qū)А卑粹o,系統(tǒng)將訪問學(xué)習(xí)內(nèi)容索引等表,并彈出一個對話框讓教師選定要學(xué)習(xí)的章節(jié)和問題,系統(tǒng)將其對應(yīng)的url地址通過socket通道送往所有學(xué)生客戶端,同時教師端將彈出一個新瀏覽器顯示頁面以供確認。 url顯示 步驟如下:使用url類按接

15、收字符串生成url對象;通過applet類中的getappletcontext()方法取得小應(yīng)用程序的appletcontext;通過appletcontext接口的showdocument方法顯示url內(nèi)容。該方法的具體格式和參數(shù)說明如下: void showdocument(url url , string target) 其中,target參數(shù)用于指定文件內(nèi)容顯示的位置,其具體值及作用見下表: 值 文件顯示位置 self 當前幀 parent 父幀 top 最頂部的幀 blank 開辟新瀏覽器窗口顯示 幀名 在指定的幀中顯示在教師方筆者采用了“blank”的辦法,即另開辟一個瀏覽器窗口顯

16、示url內(nèi)容,供教師確認url內(nèi)容。學(xué)生方采用了多幀的辦法,在html文件中安排多幀,一幀用來顯示java applet,另一幀顯示教師發(fā)送的url頁面內(nèi)容,在html文件中規(guī)定幀的大小可調(diào)整,這樣學(xué)生可調(diào)整幀邊界去更方便地閱讀內(nèi)容。 5 結(jié)束語 本文介紹了一個基于www的協(xié)作式教學(xué)軟件系統(tǒng)的具體實現(xiàn)方法。該軟件實際為一個教學(xué)框架系統(tǒng),具體教學(xué)內(nèi)容由教師使用系統(tǒng)的課件維護部分去安排和設(shè)計,如此可較好地發(fā)揮教師的主觀能動性。該軟件作為一個實用軟件在筆者的java課程的教學(xué)中得以運用。筆者擬對該系統(tǒng)作如下改進:提供自動組卷功能。引入更完善的學(xué)生模型對學(xué)生的學(xué)習(xí)水平進行評估;提供多種教學(xué)方式,使系統(tǒng)在有教師

溫馨提示

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

評論

0/150

提交評論