本站小編為你精心準備了Web技術(shù)網(wǎng)絡(luò)考試參考范文,愿這些范文能點燃您思維的火花,激發(fā)您的寫作靈感。歡迎深入閱讀并收藏。
一、網(wǎng)絡(luò)考試系統(tǒng)概述
在網(wǎng)絡(luò)技術(shù)逐漸滲入社會生活各個層面的今天,傳統(tǒng)的考試方式也面臨著變革,而網(wǎng)絡(luò)考試則是一個很重要的方向。基于web技術(shù)的網(wǎng)絡(luò)考試系統(tǒng)可以借助于遍布全球的因特網(wǎng)進行,因此考試既可以在本地進行,也可以在異地進行,大大拓展了考試的靈活性。試卷可以根據(jù)題庫中的內(nèi)容即時生成,可避免考試前的壓題;而且可以采用大量標準化試題,從而使用計算機判卷,大大提高閱卷效率;還可以直接把成績送到數(shù)據(jù)庫中,進行統(tǒng)計、排序等操作。所以現(xiàn)在較好的考試方法為網(wǎng)絡(luò)考試,試題內(nèi)容放在服務器上,考生通過姓名、準考證號碼和口令進行登錄,考試答案也存放在服務器中,這樣考試的公平性、答案的安全性可以得到有效的保證。因此,采用網(wǎng)絡(luò)考試方式將是以后考試發(fā)展的趨勢。
網(wǎng)絡(luò)考試系統(tǒng)的實現(xiàn)技術(shù)有多種,可以采用傳統(tǒng)的客戶機/服務器型的MIS型架構(gòu),即試題內(nèi)容放在遠程的服務器上,在考試機上安裝考試應用程序和數(shù)據(jù)庫客戶機配置,因此每次考試時要對機器進行安裝、配置,考務工作比較煩瑣,而且考試程序放在客戶機上,安全性也受到一定影響,因此本文討論的網(wǎng)絡(luò)考試系統(tǒng)采用Web技術(shù)實現(xiàn)。Web技術(shù)超越了傳統(tǒng)的"客戶機/服務器"兩層結(jié)構(gòu),采用了三層體系結(jié)構(gòu):用戶界面層/事務層/數(shù)據(jù)庫層,因此Web結(jié)構(gòu)有著更好的安全性,在用戶機上不需要安裝任何應用程序,應用程序可以安裝在事務層所在的計算機上,試題存放在數(shù)據(jù)庫服務器上,當然,事務層和數(shù)據(jù)庫可以是同一臺機器(如果條件允許,還是應該把這兩層分開在不同的計算機上),所以,本文所討論的考試系統(tǒng)采用Web技術(shù)實現(xiàn)。
本系統(tǒng)的數(shù)據(jù)庫采用IBM公司的大型數(shù)據(jù)庫DB2,網(wǎng)站服務器采用IIS4,網(wǎng)頁設(shè)計采用FrontPage2000和ASP,閱卷系統(tǒng)采用Borland公司的Delphi5.0。
二、網(wǎng)絡(luò)考試系統(tǒng)的構(gòu)成
網(wǎng)絡(luò)考試系統(tǒng)的結(jié)構(gòu)如圖1所示,下面我們對該圖作一下簡單的描述:
圖1網(wǎng)絡(luò)考試系統(tǒng)結(jié)構(gòu)圖
(一)考試子系統(tǒng)
考試子系統(tǒng)是網(wǎng)絡(luò)考試系統(tǒng)的核心部分,它的工作流程如圖2所示,由于采用Web技術(shù)實現(xiàn),所以從理論上講,考試可以在任何時候、任何地方進行,但是為了使考場易于組織和管理,所以本系統(tǒng)對考試時間作了嚴格的限制,因此在進入網(wǎng)站時首先判斷當前時間是否為考試規(guī)定的時間,由于判斷的時間是服務器端的時間,所以跟考試機器的時間無關(guān),即使考生修改所在機器的時間,也無濟于事。如果時間符合要求,則顯示登錄頁面,考生在這個頁面輸入自己的信息,如姓名、身份證號碼、密碼等等,單擊"提交"后進入信息處理程序(在服務器端執(zhí)行),如信息不正確(包括有些考生試圖繞過登錄頁面,直接進入試卷頁面的情況,此時由于沒有登錄信息,系統(tǒng)也會認為是非法考生),系統(tǒng)給出提示信息,并重新定位到登錄頁面;如信息正確,則顯示試卷頁面,試卷頁面上的試題內(nèi)容根據(jù)考生輸入的試卷代號從數(shù)據(jù)庫中取出符合條件的記錄動態(tài)地生成。同時在頁面上動態(tài)地顯示考試所剩時間,當考試時間到或考生點擊"交卷"按鈕時,則系統(tǒng)把考生答案傳送至服務器的數(shù)據(jù)庫中保存起來,并把數(shù)據(jù)庫中標記考生是否參加過某門課程考試的標記置"1"(它的初始值為"0")。
圖2考試子系統(tǒng)流程圖
(二)成績查詢子系統(tǒng)
為了能讓考生及時、方便地了解自己的考試成績,查詢子系統(tǒng)也采用Web方式實現(xiàn),考生在頁面輸入自己的信息后,服務器就能把成績信息傳送到考生的機器上。
(三)閱卷子系統(tǒng)
本系統(tǒng)對考生來說是不可見的,用DELPHI和DB2實現(xiàn)。它是一個應用程序,不能通過WEB方式訪問。
1、評分模塊
該模塊能調(diào)出學生答案并自動給出客觀題的成績,教師根據(jù)學生的答案給出每題得分并輸入計算機。
2、成績統(tǒng)計、排序模塊
計算機能根據(jù)學生的成績進行各類統(tǒng)計,生成成績分布圖等,還能按照給定的條件進行排序。
3、信息維護模塊
本模塊能對試題、考生信息進行維護,教師可以增、刪、改、查題目、考生信息,是閱卷子系統(tǒng)的重要組成部分。
(四)數(shù)據(jù)庫子系統(tǒng)
網(wǎng)絡(luò)考試系統(tǒng)離不開數(shù)據(jù)庫系統(tǒng)的支持,不論是試題、答案,還是考生信息都需要存放在數(shù)據(jù)庫中,而且數(shù)據(jù)庫獨立于程序而存在,具有較好的安全性,本例中的數(shù)據(jù)庫采用IBM公司的大型數(shù)據(jù)庫系統(tǒng)DB2實現(xiàn),數(shù)據(jù)庫名為test_net,其中主要表結(jié)構(gòu)的描述如下:
kaosheng表:用來記錄考生信息,其中有一字段jsjjc_dl,如果其值為0,則表明該考生還沒參加過《計算機基礎(chǔ)》的考試,如果為1:則表示已經(jīng)參加過該門課程的考試,jsjjc_cj字段存儲了《計算機基礎(chǔ)》課程的成績;
kaosda表:記錄考生的選擇題、填空題以及問答題答案,這三類答案分別用三個字段描述,每題答案之間用"$$$"分隔;
xuanzt表:存放選擇題題目,其中有題目字段、四個選項字段、試卷代號字段以及答案字段;
tiankt表:存放填空題的題目、試卷代號及答案(問答題的處理與填空題類似,這里不作描述)
在ASP程序中,與數(shù)據(jù)庫相關(guān)的典型語句如下:
<%exec_xzt="select*fromxuanzt"
setconn=server.createobject("adodb.connection")
conn.open"dsn=test_net;uid=db2admin;pwd=db2admin"
setrs_xzt=conn.execute(exec_xzt)%>
在上述四行語句執(zhí)行完后,rs_xzt中為符合條件的記錄集。
三、考試系統(tǒng)的實現(xiàn)方案
考試子系統(tǒng)是網(wǎng)絡(luò)考試系統(tǒng)的核心部分,下面就該系統(tǒng)中一些常見問題的程序設(shè)計方案作一下具體說明。
(一)安全性考慮
1、考試時間
(1)進入考試網(wǎng)站時首先檢查當前時間是否為考試時間,以控制考生在規(guī)定的時間內(nèi)參加考試;
<%dimtime_cur
time_cur=now''''time_cur為當前時間
iftime_cur>=cdate("2000-06-088:30:00")andtime_cur<=cdate("2000-06-0810:30:00")then%>
''''顯示登錄頁面…………
<%else%>
<fontface="隸書"color="#0000FF"size="6">現(xiàn)在不是考試時間</font>
<%endif%>
(2)在進入試卷頁面后還要控制考試的總時間,在卷面上動態(tài)顯示目前剩余時間,當總時間已到,系統(tǒng)會自動提交考生的答案,并且把數(shù)據(jù)庫中的相關(guān)字段,如jsjjc_dl設(shè)置為1,這樣他就不能再次進入試卷頁面,這段程序利用客戶端程序?qū)崿F(xiàn),而且在試卷頁面加載時就要設(shè)置timeout()的參數(shù),本例中設(shè)它為1000ms,即每隔1秒timeout過程執(zhí)行一次。
<scriptlanguage="vbscript">
''''客戶端程序,求出剩余時間,利用timeout(每1000ms產(chǎn)生一次事件)
dimcounter,t,fen,miao
counter=61''''這里假設(shè)考試時間為1分,即60秒
''''頁面的加栽事件
subwindow_onload
t=settimeout("timeout()",1000)''''每隔1000毫秒timeout過程被執(zhí)行一次
endsub
subtimeout
counter=counter-1
ifcounter>=0then''''還有剩余時間
''''根據(jù)counter的值求出剩余的分、秒,并把它顯示在頁面上
fen=counter\60:miao=countermod60:T1.value=fen:T2.value=miao
t=settimeout("timeout()",1000)
else
form1.submit''''假如考試時間已到,則自動提交表單中的內(nèi)容
endif
endsub
</script>
2、身份驗證
根據(jù)考生的姓名、身份證號碼、密碼到數(shù)據(jù)庫中查找相應記錄,如果庫中有該考生的記錄,則允許進入,并且把考生信息記錄在session中,否則給出信息,不允許進入。
<%dimxm,sfzhm,dw,mm,sjdh,exec1,xm_tj,sfzhm_tj,mm_tj,condition,exec2
''''(略)……根據(jù)上一個頁面中的信息查詢庫中是否有該考生的記錄記錄
if(notrs.eof)then''''如果條件為真,則表示庫中有該考生的記錄
ifrs("jsjjc_dl")=0then''''如果庫中有該考生記錄,則繼續(xù)判斷該考生是否參加過這門課程的考試
''''如果該考生沒有參加過這門課程的考試,則用session記錄下考生信息
session("xingming")=xm:session("shenfzh")=sfzhm:session("mima")=mm%>
''''…………顯示試卷頁面
<%else
response.write"您已經(jīng)參加過測試,不能再次進入"''''如果rs("jsjjc_dl")<>0則表明考生已經(jīng)
endif''''參加過考試
else%>
<scriptlanguage=vbscript>
alert("您輸入的信息不對,請重新輸入!")''''如果表中沒有查到該考生的記錄,則顯示提示窗口
setw2=open("default.asp")''''并且重新定位到登錄頁面,使考生重新輸入信息。
</script>
<%endif%>
(二)試卷的生成:
試卷頁面是采用ASP技術(shù)動態(tài)生成的。數(shù)據(jù)庫中有一個字段,標記試卷代號,可以根據(jù)考生輸入的試卷代號從數(shù)據(jù)庫中選取相應記錄,并把它按照一定的布局顯示在頁面上。從前面我們可以知道,選擇題有一個表,先從選擇題表中取出相應記錄,同時動態(tài)生成表單域。然后從填空題表中選取符合條件的記錄,本例以生成選擇題為例說明試卷頁面的生成。
<%''''……從數(shù)據(jù)庫中取出符合條件的記錄,并存放在rs_xzt中
<p><%i=1''''I為題號
dowhile(notrs_xzt.eof)%><p>
<%=i%>、<%=rs_xzt("timu")%><%rb_name="rb"&i%>
</p><p><inputtype="radio"value="a"name="<%=rb_name%>"><fontcolor="#3333CC">A</font>:<%=rs_xzt("xuanxa")%>
<inputtype="radio"name="<%=rb_name%>"value="b"><fontcolor="#3333CC">B</font>:<%=rs_xzt("xuanxb")%> <inputtype="radio"name="<%=rb_name%>"value="c"><fontcolor="#3333CC">C</font>:<%=rs_xzt("xuanxc")%>
<inputtype="radio"name="<%=rb_name%>"value="d"><fontcolor="#3333CC">D</font>:<%=rs_xzt("xuanxd")%></p>
<%i=i+1:rs_xzt.movenext:loop
rs_xzt.close%>
(三)答案的存放
先從試卷頁面中收集選擇題、填空題及問答題答案,并把它們分別保存在三個字符串中,然后利用SQL語句向數(shù)據(jù)庫中存放,如果數(shù)據(jù)庫已經(jīng)有該考生的答案記錄,則用UPDATE語句更新,否則用INSERT語句插入。程序略。
四、結(jié)束語
綜上所述,基于Web技術(shù)的網(wǎng)絡(luò)考試系統(tǒng)易用、靈活,也具有良好的安全性,由于采用了大型的數(shù)據(jù)庫系統(tǒng),所以試題、答案也具有較好的安全性,閱卷系統(tǒng)采用DELPHI實現(xiàn),限于篇幅,這里沒有對這部分作深入的剖析,用DELPHI實現(xiàn)的閱卷系統(tǒng)界面友好、功能完善,生成的統(tǒng)計圖直觀、正確,可以為教師的命題、教學提供有益的參考,當然,還可以在本系統(tǒng)的基礎(chǔ)上進一步完善,如本方案的題目基本上是試卷庫,而不是試題庫,可以進一步做成試題庫,在表中加兩個字段,一個字段記錄知識點,一個字段記錄分值,在生成試卷頁面時按照一定的規(guī)則、算法(知識點、分值)從表中取出相應的記錄,這樣考試系統(tǒng)就能再上一個臺階。
本文是筆者對網(wǎng)絡(luò)考試系統(tǒng)研制工作的一個總結(jié),讀者朋友如對其有興趣,筆者很愿意跟各位一起探討,一起提高。