摘 要:基于AJAX的Web設(shè)計(jì)與實(shí)現(xiàn)在線考試系統(tǒng),使用AJAX技術(shù)實(shí)現(xiàn)與服務(wù)器的異步通信,最終在網(wǎng)頁(yè)中實(shí)現(xiàn)豐富友好的用戶界面,該考試系統(tǒng)能帶給用戶無(wú)刷新的視覺(jué)體驗(yàn)。系統(tǒng)具備良好的用戶界面,用戶可以通過(guò)設(shè)置不同的組卷策略來(lái)實(shí)現(xiàn)隨機(jī)抽題組卷,能夠添加多媒體試題是該考試系統(tǒng)的一大特色。
關(guān)鍵詞:AJAX;在線考試;ADO.NET;媒體試題
中圖分類號(hào):TP311 文獻(xiàn)標(biāo)識(shí)碼:A 文章編號(hào):1004-373X(2009)04-102-03
Research of On-line Examination System Based on AJAX
HAN Haixiao
(Luoyang Institute of Science and Technology,Luoyang,471023,China)
Abstract:The on-line examination system is designed and implemented adopting Web in AJAX.The AJAX technique is used to achieve asynchronous communication with server in system in order to create abundant friendly user windows which give no-refurbishing feeling to users.There is afavorable users interface in this system.Users can carry out examination-organized randomly by setting different examination-organized strategy,and append multimedia test questions,which is one of the features of on-line examination system
Keywords:AJAX;on-line examination;ADO.NET;medium test questions
隨著軟件工程技術(shù)和信息技術(shù)的高速發(fā)展,在線考試系統(tǒng)作為實(shí)施網(wǎng)絡(luò)教育的高效、安全可靠、公平公正的考試系統(tǒng)越來(lái)越受到重視。當(dāng)前,在線考試系統(tǒng)在組卷策略及訪問(wèn)速度方面對(duì)軟件工程技術(shù)和網(wǎng)絡(luò)通信提出了很高的要求?;贏JAX在線考試系統(tǒng)是發(fā)揮網(wǎng)絡(luò)優(yōu)勢(shì)
開(kāi)發(fā)的考試軟件,具有模塊控制、組卷靈活、網(wǎng)上考試、網(wǎng)上查分等優(yōu)點(diǎn)。
1 技術(shù)基礎(chǔ)
1.1 AJAX技術(shù)
AJAX(Asynchronous JavaScript and XML)包括:使用擴(kuò)展超媒體標(biāo)記語(yǔ)言(eXtended Hypertext Markup Language,XHTML)和級(jí)聯(lián)樣式單(Cascading Style Sheet,CSS)標(biāo)準(zhǔn)化呈現(xiàn);使用文檔對(duì)象模型(Document Object Model,DOM)實(shí)現(xiàn)動(dòng)態(tài)顯示和交互;使用可擴(kuò)展標(biāo)記語(yǔ)言(eXtensible Markup Language,XML)和可擴(kuò)展樣式表轉(zhuǎn)換(eXtensible Stylesheet Language Transformation,XSLT)進(jìn)行數(shù)據(jù)交換與處理;使用XMLHTTP組件XMLHttpRequest對(duì)象進(jìn)行異步數(shù)據(jù)讀??;最后采用JavaScript綁定和處理所有數(shù)據(jù)。AJAX用來(lái)描述一組技術(shù)[1,2],它使瀏覽器可以為用戶提供更為自然的瀏覽體驗(yàn)。AJAX技術(shù)已經(jīng)成為計(jì)算機(jī)領(lǐng)域中一種新興的技術(shù)正在被越來(lái)越多的專業(yè)人士所認(rèn)可和研究,并且已開(kāi)始廣泛地用于實(shí)際科研項(xiàng)目的開(kāi)發(fā)中[3]。
1.2 ADO.NET技術(shù)
ADO.NET 對(duì) Microsoft SQL Server 和 XML 等數(shù)據(jù)源以及通過(guò) OLE DB 和 XML 公開(kāi)的數(shù)據(jù)源提供一致的訪問(wèn)。數(shù)據(jù)共享使用者應(yīng)用程序可以使用 ADO.NET 來(lái)連接到這些數(shù)據(jù)源,并檢索、處理和更新所包含的數(shù)據(jù)[4]。ADO.NET 通過(guò)數(shù)據(jù)處理將數(shù)據(jù)訪問(wèn)分解為多個(gè)可以單獨(dú)使用或一前一后使用的不連續(xù)組件。ADO.NET 包含用于連接到數(shù)據(jù)庫(kù)、執(zhí)行命令和檢索結(jié)果的 .NET Framework 數(shù)據(jù)提供程序。
2 在線考試系統(tǒng)的功能研究
2.1 系統(tǒng)功能模塊劃分
基于AJAX的在線考試系統(tǒng)共由6個(gè)模塊構(gòu)成:題庫(kù)管理、考生管理、考試管理、成績(jī)管理、管理員信息管理、系統(tǒng)維護(hù)。在此主要研究基于AJAX的在線考試系統(tǒng)中題庫(kù)管理和考試管理2個(gè)模塊。
2.2 題庫(kù)管理模塊
在題庫(kù)管理中[5],可以進(jìn)行科目管理,包括知識(shí)點(diǎn)操作(添加、修改、刪除、查詢知識(shí)點(diǎn));試題的添加(分3個(gè)類型:判斷、單選、多選進(jìn)行試題的添加);試題的查詢、查看、修改(可以按照知識(shí)點(diǎn)、試題類型、難易程度進(jìn)行查詢)。也可以進(jìn)行組卷策略的制定,包括設(shè)置策略的基本要求(策略的有效狀態(tài)、考試時(shí)間、及格比率);卷面試題設(shè)置(按照知識(shí)點(diǎn)同時(shí)按類型難易程度抽取試題并設(shè)置相應(yīng)類型試題的分值);策略總概(可以查看該策略的詳細(xì)信息);查詢組卷策略。還可以進(jìn)行試題分析(按照有效與無(wú)效科目狀態(tài)分析該科目試題信息),對(duì)所有科目所有試題進(jìn)行分析(按照題型、知識(shí)點(diǎn)、難易程度等來(lái)進(jìn)行分析)。題庫(kù)管理部分的用例圖如圖1所示。
2.3 考試管理模塊
該模塊由考區(qū)管理員進(jìn)行管理。當(dāng)考生進(jìn)入考試系統(tǒng)時(shí)考區(qū)管理員對(duì)考生的身份進(jìn)行確認(rèn)(準(zhǔn)考證號(hào)),然后,確定考試所需要的試卷,并從試卷庫(kù)中取出相應(yīng)的試卷;接著,通過(guò)考試系統(tǒng)將試卷發(fā)送給考生;最后,在考生答卷結(jié)束后,回收試卷??荚嚬芾聿糠值挠美龍D,如圖2所示。
3 在線考試系統(tǒng)的實(shí)現(xiàn)
3.1 系統(tǒng)的數(shù)據(jù)庫(kù)設(shè)計(jì)
基于AJAX在線考試系統(tǒng)數(shù)據(jù)庫(kù)的設(shè)計(jì)考慮到要使系統(tǒng)具有擴(kuò)展性和較強(qiáng)的適應(yīng)性,其數(shù)據(jù)庫(kù)系統(tǒng)中,應(yīng)該包括所有考試科目的基本信息、全部題目的信息、考生的基本信息、組卷策略的信息以及考生的試卷。這樣根據(jù)數(shù)據(jù)庫(kù)存儲(chǔ)的內(nèi)容,基于AJAX在線考試系統(tǒng)共建立了13個(gè)數(shù)據(jù)庫(kù)表。在這里討論的題庫(kù)管理部分和考試管理部分中,系統(tǒng)數(shù)據(jù)庫(kù)的數(shù)據(jù)模型所涉及的數(shù)據(jù)庫(kù)表有:科目信息表、知識(shí)點(diǎn)信息表、題庫(kù)信息表、組卷策略信息、學(xué)生詳細(xì)信息、試卷信息表、試卷表。系統(tǒng)的工作原理圖如圖3所示。
3.2 系統(tǒng)功能模塊設(shè)計(jì)
該在線考試系統(tǒng)使用AJAX技術(shù),充分利用計(jì)算機(jī)技術(shù)和網(wǎng)絡(luò)技術(shù)的結(jié)合,實(shí)現(xiàn)考試在線申請(qǐng)、自動(dòng)審核、定時(shí)考試、遠(yuǎn)程題庫(kù)智能維護(hù)、試題形式現(xiàn)代化多樣性、考試課程以及考試人員數(shù)量的強(qiáng)制控制、自動(dòng)組卷、電子試卷答題、自動(dòng)即時(shí)評(píng)分、考生考試情況實(shí)時(shí)記錄、試卷可逆性恢復(fù)查驗(yàn)、考試中心數(shù)據(jù)的自動(dòng)記憶恢復(fù)和多項(xiàng)防作弊技術(shù)、考生信息管理和網(wǎng)上證書(shū)驗(yàn)證查詢等功能。具有組卷科學(xué)、系統(tǒng)安全、網(wǎng)絡(luò)可靠、連接多樣、管理方便、安裝簡(jiǎn)便的特點(diǎn)[6]。
3.2.1 題庫(kù)管理詳細(xì)設(shè)計(jì)
題庫(kù)是與整個(gè)考試系統(tǒng)緊密關(guān)聯(lián)的部分。由科目管理、試題分析、組卷策略3部分構(gòu)成。其中,科目管理中添加多媒體試題,組卷策略的設(shè)置是該模塊設(shè)計(jì)的核心。
在選定所要添加試題的科目、知識(shí)點(diǎn)和難易程度后就可以進(jìn)入添加頁(yè)面進(jìn)行試題添加。在填寫完試題內(nèi)容后,點(diǎn)擊保存即可。如果試題內(nèi)容、答案為空時(shí)會(huì)自動(dòng)判斷,并提示管理員完整填寫試題內(nèi)容。如果添加成功,則將試題保存到數(shù)據(jù)庫(kù),選擇題的添加和填空題添加的原理相同,填空題限制了需要填空的數(shù)量。基于AJAX的在線考試系統(tǒng)中可以添加多媒體試題[7,8],比如視頻剪輯、Flash動(dòng)畫(huà)、音樂(lè)、圖片等。
在考試系統(tǒng)中,試卷的題目類型、難度、覆蓋范圍、答題參考時(shí)間及各類題型所占的比重是組卷的重要控制指標(biāo)[9]。一般來(lái)說(shuō),當(dāng)用戶給出這些指標(biāo)后,所生成的試卷要完全符合這些指標(biāo)會(huì)有一定的難度,所以,組卷策略的制定是該考試系統(tǒng)設(shè)計(jì)的一個(gè)難點(diǎn)。當(dāng)前,社會(huì)上一些網(wǎng)上考試系統(tǒng)對(duì)于這些指標(biāo)的設(shè)計(jì)會(huì)有一定的偏差,如題目的占分比、難度及考試的參考時(shí)間等。在試卷生成過(guò)程中給定一些生成原則,生成算法根據(jù)這些原則來(lái)產(chǎn)生試卷。可以按照組卷策略的有效狀態(tài)、考試時(shí)間、以及及格比率設(shè)置策略;也可以按照知識(shí)點(diǎn)同時(shí)按類型,難易程度抽取試題并設(shè)置相應(yīng)類型試題的分值;可以查看該策略的詳細(xì)信息。
3.2.2 考試管理詳細(xì)設(shè)計(jì)
此部分主要是針對(duì)考生考試功能的實(shí)現(xiàn)而設(shè)計(jì)的,該系統(tǒng)在平時(shí)可以作為學(xué)生測(cè)試自己專業(yè)知識(shí)的模擬考卷系統(tǒng),在考試周期內(nèi)則承擔(dān)起在線考試的任務(wù)。 在考試周期內(nèi)的非考試時(shí)間該系統(tǒng)對(duì)學(xué)生關(guān)閉,考試時(shí)間內(nèi)才允許考生登錄,系統(tǒng)則生成該時(shí)間段內(nèi)的考試科目試卷,考試結(jié)束前30 min,15 min,5 min時(shí)對(duì)考生進(jìn)行提示,考試結(jié)束后若考生沒(méi)有進(jìn)行試卷提交則自動(dòng)進(jìn)行試卷保存處理。在同一次考試中系統(tǒng)生成的各份試卷難易度保持在同一個(gè)水平[10]。正式考試時(shí)系統(tǒng)對(duì)具體試卷的客觀題自行判分,主觀題則由老師判分,并保存每個(gè)學(xué)生的考試試卷副本,便于在規(guī)定時(shí)間內(nèi)考生查卷。
如果考生在某個(gè)時(shí)間段內(nèi)有考試,則進(jìn)入考試登錄界面,如果學(xué)生輸入密碼錯(cuò)誤或者在該時(shí)段內(nèi)沒(méi)有考試則系統(tǒng)根據(jù)具體情況彈出錯(cuò)誤窗口。具體有以下4種情況:學(xué)號(hào)或者密碼錯(cuò)誤,該時(shí)段內(nèi)沒(méi)有考試,已經(jīng)考過(guò),遲到。
從考生進(jìn)入考試系統(tǒng)的考試界面開(kāi)始,考試管理系統(tǒng)開(kāi)始工作,考生答題完畢退出系統(tǒng)。首先,客戶端進(jìn)行了考生準(zhǔn)考證號(hào)以及密碼正確性的判定。后臺(tái)檢查學(xué)生的考號(hào)是否存在,考試科目是否合法,是否被禁止,以及該考生是否曾考試過(guò)該科目等;考試結(jié)束考生提交試卷,則系統(tǒng)進(jìn)行判分。
4 系統(tǒng)的調(diào)試和性能
系統(tǒng)測(cè)試依托洛陽(yáng)大學(xué)(現(xiàn)洛陽(yáng)理工學(xué)院西校區(qū))校園網(wǎng)進(jìn)行,運(yùn)用黑盒測(cè)試對(duì)系統(tǒng)主要模塊功能測(cè)試,包括登錄模塊、系統(tǒng)主界面、題庫(kù)管理模塊及其科目管理、題庫(kù)分析和組卷策略功能的實(shí)現(xiàn),并對(duì)系統(tǒng)響應(yīng)時(shí)間和數(shù)據(jù)庫(kù)響應(yīng)時(shí)間進(jìn)行了測(cè)試。經(jīng)測(cè)試發(fā)現(xiàn)這里所研究的主要模塊運(yùn)行良好,而且,基于AJAX技術(shù)的在線考試系統(tǒng)的響應(yīng)時(shí)間相當(dāng)及時(shí),這正是該考試系統(tǒng)可以給用戶無(wú)刷新視覺(jué)體驗(yàn)的特點(diǎn)之所在。
5 結(jié) 語(yǔ)
主要介紹基于AJAX技術(shù)的在線考試系統(tǒng)中題庫(kù)管理部分和考試部分的開(kāi)發(fā)與設(shè)計(jì)過(guò)程,該系統(tǒng)開(kāi)發(fā)采用B/S結(jié)構(gòu),大部分服務(wù)在后臺(tái)進(jìn)行,克服了在所有客戶機(jī)安裝客戶端軟件的煩瑣;采用流行的AJAX技術(shù)開(kāi)發(fā),AJAX與其他的軟件開(kāi)發(fā)技術(shù)相比具有高速、安全、與平臺(tái)無(wú)關(guān)和無(wú)刷新等優(yōu)點(diǎn)[11]。由于時(shí)間倉(cāng)促,基于AJAX技術(shù)的在線考試系統(tǒng)尚有一些不足之處。
參 考 文 獻(xiàn)
[1]阿斯利森,舒塔.Ajax基礎(chǔ)教程.金靈,譯.北京:人民郵電出版社,2006.
[2]MSDN.Microsoft開(kāi)發(fā)人員網(wǎng)絡(luò).http://www.msdn.com,2007.
[3]麥赫馬夫.Ajax Design Patterns.南京:東南大學(xué)出版社,2006.
[4]Dave Crane,Eric Pascarello,Darren James.Ajax in Action.北京:人民郵電出版社,2006.
[5]梅曉勇,顏君彪,侯識(shí)忠.網(wǎng)絡(luò)環(huán)境下的考試系統(tǒng)應(yīng)用設(shè)計(jì)與實(shí)現(xiàn).計(jì)算機(jī)工程與應(yīng)用,2003(26):129-131.
[6]Laurence Moroney,陳黎夫.Atlas基礎(chǔ)教程ASP.NET Ajax快速開(kāi)發(fā).北京:人民郵電出版社,2006.
[7]馮能山,李其藝.輕松學(xué)習(xí)ASP.北京:清華大學(xué)出版社,1998.
[8]Daniel Woolston.Ajax .NET高級(jí)程序設(shè)計(jì).北京:人民郵電出版社,2007.
[9]張蓓.ASP.NET通用模塊與系統(tǒng)開(kāi)發(fā).北京:人民郵電出版社,2006.
[10]Michael Moncur.JavaScript速成教程.高智勇,馬天予,周彤,譯.北京:機(jī)械工業(yè)出版社,2001.
[11]Karli Watson,Christian Nagel.Beginning Visual C# 2005.北京:清華大學(xué)出版社,2006.
作者簡(jiǎn)介 韓海曉 女,1981年出生,華中科技大學(xué)軟件工程碩士,洛陽(yáng)理工學(xué)院教師。