摘要:隨著網(wǎng)絡(luò)的蓬勃發(fā)展,網(wǎng)絡(luò)教育也得到了越來越多的認(rèn)可。在這種形勢(shì)下,網(wǎng)絡(luò)教育所伴隨的在線考試必定在未來教育事業(yè)上作用明顯。本文闡述了一套基于JAVA的網(wǎng)絡(luò)考試系統(tǒng)設(shè)計(jì)思路和實(shí)現(xiàn)過程。能夠?qū)崿F(xiàn)在線考試、客觀出卷、高效閱卷、分析成績等功能,提高考評(píng)工作效率。
關(guān)鍵字:網(wǎng)絡(luò)教育;網(wǎng)絡(luò)考試系統(tǒng)
網(wǎng)絡(luò)考試實(shí)現(xiàn)了傳統(tǒng)考試和現(xiàn)代科技的完美結(jié)合,符合現(xiàn)代教育體制的要求,代表著現(xiàn)在教育考試的發(fā)展方向。
一、網(wǎng)絡(luò)考試系統(tǒng)需求分析與設(shè)計(jì)
本文所闡述的網(wǎng)絡(luò)考試系統(tǒng)是以服務(wù)器和客戶端的連接為中心的??蛻魴C(jī)與服務(wù)器進(jìn)行連接是通過IP地址和端口號(hào)數(shù)據(jù)通信的。客戶機(jī)與服務(wù)器對(duì)應(yīng)關(guān)系如下:一個(gè)客戶機(jī)對(duì)應(yīng)一個(gè)服務(wù)器;而一個(gè)服務(wù)器對(duì)應(yīng)多個(gè)客戶機(jī)。服務(wù)器與客戶機(jī)通過線程連接。
1、功能要求
選取考試題目類型為標(biāo)準(zhǔn)選擇題。題目類型確定,會(huì)大大降低系統(tǒng)設(shè)計(jì)的復(fù)雜度。分析系統(tǒng)功能,主要包括客戶端、服務(wù)器端功能兩個(gè)方面。
(1)客戶端功能如下:
登錄功能,輸入考號(hào)與姓名;
考試功能,顯示試題內(nèi)容;
題目切換功能,實(shí)現(xiàn)上一題下一題的切換;
計(jì)時(shí)功能,實(shí)現(xiàn)考試計(jì)時(shí);
閱卷功能,選擇題試題答案;
查分功能,考試結(jié)束能查看考試成績;
(2)服務(wù)器端功能如下:
登錄功能,對(duì)考生輸入的考號(hào)與姓名進(jìn)行驗(yàn)證;
考試功能,向客戶端傳遞試題內(nèi)容;
查分功能,統(tǒng)計(jì)并存儲(chǔ)考生的得分。
2、場(chǎng)景分析
場(chǎng)景是從用戶的角度觀察目標(biāo)軟件系統(tǒng)的外部行為,是用戶與系統(tǒng)進(jìn)行交互的一組具體動(dòng)作。
通過分析,考試系統(tǒng)開戶端包括以下幾個(gè)場(chǎng)景:輸入考生信息并驗(yàn)證、開始考試并計(jì)時(shí)、選取考題、提交答案、查看成績。共有三個(gè)界面構(gòu)成。
(1)第一個(gè)是用戶登錄界面:考生輸入信息單擊"確定"按鈕,此時(shí)應(yīng)把考生信息送往服務(wù)器驗(yàn)證,經(jīng)服務(wù)器驗(yàn)證后,把驗(yàn)證結(jié)果送往客戶端。如果驗(yàn)證不通過,則輸出驗(yàn)證沒有通過的響應(yīng)提示。如果驗(yàn)證通過,則可以開始考試。
(2)第二個(gè)是考生的考試界面:開始考試并計(jì)時(shí),當(dāng)驗(yàn)證通過后,考生信息可設(shè)置為不顯示,單擊"開始考試"按鈕,則服務(wù)器端讀取考試時(shí)間并顯示在客戶端界面中;自動(dòng)選擇考題,向服務(wù)器端發(fā)送請(qǐng)求,服務(wù)器把試題內(nèi)容發(fā)送到客戶端變現(xiàn)實(shí);提交答案,當(dāng)考生選取考題答案并單擊"提交答案"按鈕后,由服務(wù)器記錄考生提交的答案。
(3)第三個(gè)是查看成績界面:當(dāng)考生考完試題后,單擊"成績"按鈕,可馬上看到自己的考試成績。當(dāng)考生單擊"關(guān)閉"按鈕,服務(wù)器要斷開連接,線程結(jié)束。
在服務(wù)器端,由于是對(duì)多名考生同時(shí)提供服務(wù),因此服務(wù)器端不需要編寫專門的考試界面,只按照客戶端考生提交的請(qǐng)求進(jìn)行相應(yīng)的處理并把處理結(jié)果發(fā)送給客戶端即可。
3、數(shù)據(jù)存儲(chǔ)
(1)考生信息存儲(chǔ)
考生信息由考號(hào)、姓名、成績組成,由于數(shù)據(jù)量不大,處理比較簡單,我們采用Access數(shù)據(jù)庫存儲(chǔ)考生信息即可。
(2)試題存儲(chǔ)
由于試題題目類型單一,數(shù)據(jù)量不大,我們選取文件存儲(chǔ)。文件中第1行用于存儲(chǔ)考試時(shí)間,提示與時(shí)間中間用"@"分隔;第二行用于存儲(chǔ)試題的標(biāo)準(zhǔn)答案,同樣提示與標(biāo)準(zhǔn)答案中間用"@"分隔;題目中間用"**********"分隔,在最后一題的"**********"后面有"試題結(jié)束"標(biāo)識(shí)。
4、類的構(gòu)造
(1)服務(wù)器啟動(dòng),服務(wù)器讀取配置文件。將考試所需要的考題以及規(guī)定格式寫入配置文件中;然后,把考生的賬號(hào)密碼等信息寫入另一個(gè)配置文件中。服務(wù)器需要讀取試卷信息,所以在設(shè)計(jì)時(shí)定義學(xué)生類、試卷類以及題目類。當(dāng)客戶端與服務(wù)器之間連接時(shí)需要數(shù)據(jù)請(qǐng)求,這里包括多種請(qǐng)求類型:連接請(qǐng)求,考生登錄請(qǐng)求,試卷發(fā)送請(qǐng)求,答題請(qǐng)求。為滿足上述需求,我們需要定義請(qǐng)求類,并且要求服務(wù)器不斷讀取請(qǐng)求信息。為了減少代碼量,我們這些需要幾個(gè)工具類:一個(gè)是創(chuàng)建套接字的連接;一個(gè)是用來讀取配置文件的工具類。這樣就形成了服務(wù)器的基本框架。
(2)在客戶端,我們只需考慮一個(gè)線程即可。共涉及到四個(gè)類,這之中有三個(gè)窗口類和一個(gè)客戶機(jī)與服務(wù)器線程連接的類。這個(gè)連接類是上述三個(gè)窗口類的一個(gè)屬性,這個(gè)屬性用來使得三個(gè)窗類和服務(wù)器進(jìn)行數(shù)據(jù)通信。三個(gè)窗口也是通過上述連接類與服務(wù)器之間進(jìn)行通信。這樣就形成客戶端的整體設(shè)計(jì)結(jié)構(gòu)。
二、程序設(shè)計(jì)及實(shí)現(xiàn)
1、客戶端模塊
(1)考試面板類TestPanel體現(xiàn)了考試界面的核心內(nèi)容,包括考試時(shí)間、試題顯示、選擇答案等組件。在該類中實(shí)現(xiàn)了在考試過程中向服務(wù)器發(fā)送請(qǐng)求并處理來自服務(wù)器的信息。主要涉及的功能有線程啟動(dòng)后執(zhí)行run方法,接收服務(wù)器發(fā)送回來的信息并作出相應(yīng)的處理;初始化面板中的圖形組件;把毫秒表示的時(shí)間轉(zhuǎn)化成時(shí)、分、秒等字符串表示;單擊"開始考試"按鈕后要執(zhí)行的任務(wù);計(jì)時(shí)器倒計(jì)時(shí);單擊"提交答案"按鈕后要執(zhí)行的任務(wù);單擊"成績"按鈕后要執(zhí)行的任務(wù);關(guān)閉所有連接。
(2)客戶端主類ClientFrame設(shè)置了考試界面的基本樣式并能實(shí)現(xiàn)考試信息驗(yàn)證。
2、服務(wù)器端模塊
(1)數(shù)據(jù)庫連接對(duì)象類DBConnection建立并返回?cái)?shù)據(jù)的連接對(duì)象。本系統(tǒng)數(shù)據(jù)庫連接采用了JDBC_ODBC模式,數(shù)據(jù)源的名稱為"student"。
(2)服務(wù)器端主類MultiServer創(chuàng)建的服務(wù)器端的ServerSocket,當(dāng)有客戶發(fā)出連接服務(wù)器的請(qǐng)求時(shí),生產(chǎn)客戶端進(jìn)行通信的Socket對(duì)象。
(3)讀文件類ReadTestFile能獲取考試時(shí)間、標(biāo)準(zhǔn)答案、讀取考試試題等。主要涉及的功能隨機(jī)抽取序號(hào),讀取試題中序號(hào)指向的每一題并返回,讀取到文件最后。
(4)多線程類ServerTread及時(shí)處理客戶端提出的要求,如考生信息驗(yàn)證、讀取試題并發(fā)送客戶端、計(jì)算考試成績并發(fā)送客戶端等。其中考試信息驗(yàn)證及最終考試成績都是通過數(shù)據(jù)庫操作實(shí)現(xiàn)的。
三、網(wǎng)絡(luò)考試系統(tǒng)的特點(diǎn)
1、先進(jìn)的開發(fā)技術(shù)和框架
采用當(dāng)前最優(yōu)秀的J2EE技術(shù)和主流的SSI框架進(jìn)行開發(fā),系統(tǒng)功能可擴(kuò)展性強(qiáng)。
2、可靠的考試引擎技術(shù)
可靠性高,系統(tǒng)性能穩(wěn)定,可承擔(dān)大規(guī)模在線考試。
3、完善的考試實(shí)時(shí)監(jiān)控功能
監(jiān)考老師可以隨時(shí)查看在線考生的考生身份、進(jìn)入考試時(shí)間、試卷答案、交卷時(shí)間等情況,還可以作廢或回復(fù)某考生考試。
4、強(qiáng)大的統(tǒng)計(jì)分析功能
支持對(duì)知識(shí)點(diǎn)、試題、考試成績等多維度的查詢統(tǒng)計(jì)。
四、結(jié)束語
網(wǎng)絡(luò)考試系統(tǒng),網(wǎng)絡(luò)考試是延伸了傳統(tǒng)考試考場(chǎng)的涵義,它利用網(wǎng)絡(luò)的無限廣闊空間,把考場(chǎng)從學(xué)校延伸到計(jì)算機(jī)機(jī)房、辦公室及其他任何網(wǎng)絡(luò)所覆蓋的區(qū)域,并可隨時(shí)對(duì)考生進(jìn)行考試,加上數(shù)據(jù)庫技術(shù)的利用,使考試變得更公平公正、更具權(quán)威性和可靠性。
參考文獻(xiàn):基于java技術(shù)的網(wǎng)上考試系統(tǒng),劉昌華、班鵬新,武漢輕工大學(xué)學(xué)報(bào),2003,22(2):40-42
作者簡介:
楊艷華 ,女(1977.11--),黑龍江省哈爾濱市,副教授,碩士,研究方向:數(shù)據(jù)庫技術(shù),軟件開發(fā)。endprint