摘 要:計算機網絡考試平臺已得到廣泛的應用,它具備客觀、高效的特點。其中自動生成試卷、考試時間記錄、斷線續考等功能是系統必不可少的,本文分析了B/S結構中利用SQL Server 2003數據庫和ASP開發考試系統時需解決的幾個關鍵問題。
關鍵詞:自動出題考試時間斷線續考
中圖分類號:G642文獻標識碼:A文章編號:1673-9795(2011)05(a)-0174-01
1#8201;自動出題時要做到題目不重復
網絡考試系統的自動出題功能是不同于傳統考試的一個最大特點,若系統沒有判別功能去識別一個題目是否被抽到過,往往會在同一個試卷中出現相同的題目,為了避免試卷出現題目重復現象,關鍵是要在題庫中存儲足夠多的試題,這樣才可以保證每個考生的試題都不同,從而體現電腦隨機出題的優勢。
在題庫中既要選取滿足要求的試題,又不能重復,可以有多種方法來解決這一問題,本文介紹的解決方法是:在題庫中設置一個邏輯型字段,用于存放是否被抽過的信息,這個算法實現起來較簡單。另外,為了使不同考生試卷題目不同但難度相當,組卷中再設計一個條件的判斷,其中包括對題目所涉及的知識點、難度值等的判斷,以盡量做到出題環節的公平。
2#8201;考生的考試時間要一致
不同的考試系統對考試時間的要求不盡相同,有的根據考生機器系統時間計時,保證每個考生的答題時間,這樣的系統可以實現考生不在同一時間參加考試。本文設計了統一的計時方式。
在基于B/S的網絡結構中,客戶端瀏覽器是利用嵌套在網頁中的Javascript來計時,這個時間是客戶端的系統時間,不同機器的系統時間是有差別的,為了使考試時間統一,可以以服務器的時間為準。在考試時,將服務器系統時間同步到客戶端瀏覽器,以達到考試時間一致的目的。方案如下。
(1)ASP程序是在服務器端運行的,通過IIS的解析,將運行結果顯示到客戶端瀏覽器。所以,只要在程序中將服務器的系統時間設置為考試計時標準,就可以保證考試時客戶端瀏覽器獲得的考試開始時間和結束時間是一致的。
(2)為使考生明確答題時間,可以將計時信息顯示在屏幕上。通過Javascript控制倒計時窗口隨著瀏覽的內容移動而移動,保證其始終顯示在試題的右下角。如果考試時間到了而考生沒有主動交卷,系統會自動收卷。
3#8201;系統要有斷線續考功能
為了保證在考試的過程中,考生答過的題目不會因為系統故障而丟失,需要將答案實時的上傳到服務器的數據庫中,使得考生在重新登錄后可以繼續考試。為實現這個功能,設計如下。
(1)考生的試題是在登錄后由系統隨機抽取的,為了保證考生重新登錄時試題不變,要將考生抽到的試題保存到數據庫的中間結果記錄表中。
(2)為防止考生在答題過程中,由于死機或其他原因非正常退出考試系統造成答案丟失,可以利用Javascript將答案實時保存到數據庫中。實現過程如下:
Function saveAnswer(objAnswer)
{
if(objAnswer.type == 'checkbox')
//多選題分為選中或取消選中兩種操作
if(objAnswer.checked == true)
window.open('test_saveanswer.asp?action=selectedanswer='+ objAnswer.value + 'id=' + objAnswer.name,'fraSaveAnswer');
else
window.open('test_saveanswer.asp?action=selectcancelanswer='+ objAnswer.value + 'id=' + objAnswer.name,'fraSaveAnswer');
else
window.open('test_saveanswer.asp?answer='+objAnswer.value+ 'id='+objAnswer.name,'fraSaveAnswer')
objAnswer.focus();
}
4#8201;自動打分功能的實現
為了方便系統自動判分功能的實現,在設計題庫中選擇題的時候,用數字來表示答案,如:十進制數1(二進制0001)表示A,十進制數2(二進制數為0010)表示B,十進制數4(二進制數為0100)表示C,十進制數8(二進制數為1000)表示D;多項選擇題的答案是每個單選答案對應數字的和,如某題答案是A和 B,則用十進制數3(二進制數011)表示。是非題的答案1代表對,0代表錯。用-1表示沒有作答的題目答案。下面通過表格形式說明答案和數字的對應關系。
在考生答題過程中,單項選擇題和判斷題的答案,數據庫中實時保存的是考生提交答案所對應的數字。這樣在評分時,只要將考生提交的試題答案與題庫答案的相應數字做比較就可以了,這樣比較的算法是非常簡單的。
總之,在網絡考試系統的設計中,不僅要考慮到系統常用功能的實現,還要注意對不同考生所出試題難度要相當;考慮到考試中若有非常情況發生,系統應當有續考功能;同時,也要利用技巧使算法盡可能簡單。
參考文獻
[1]張勇.基于B/S結構的考試系統的設計與實現[D].廈門:廈門大學優秀碩士論文,2008.
[2]孫中華.基于ASP網上考試系統的分析與設計[D].長春:吉林大學優秀碩士論文,2008.
[3]王立巍.基于Web的組卷與在線考試系統[D].長春:吉林大學優秀碩士論文,2008.
[4]任敏.基于Web的企業網絡離線考試系統的設計與實現[D].上海:復旦大學優秀碩士論文,2008.