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