摘要:概述了計(jì)算機(jī)網(wǎng)絡(luò)考試系統(tǒng)的優(yōu)勢,分析了基于網(wǎng)絡(luò)的計(jì)算機(jī)考試系統(tǒng)的B/S體系結(jié)構(gòu),在此基礎(chǔ)上設(shè)計(jì)了系統(tǒng)的總體方案和主要功能模塊,并對其中的關(guān)鍵性技術(shù)進(jìn)行詳細(xì)介紹。
關(guān)鍵詞:在線考試;數(shù)據(jù)加密;B/S體系結(jié)構(gòu)
中圖分類號:TP393文獻(xiàn)標(biāo)識碼:A文章編號:1009-3044(2008)18-21ppp-0c
Analyze and Design Internet-based Exam System
ZHANG Chun-hui
(South China University of Technology, Computer College, Guangzhou 510641, China)
Abstract: The paper summaries the superiority of Internet-based Exam System, analysis the B/S system structure, designs the main principles and the function, and makes a detailed description of the key technology involved.
Key words: Internet-based Exam System; Database Encryption; B/S system structure
隨著計(jì)算機(jī)的廣泛應(yīng)用及其技術(shù)的發(fā)展,計(jì)算機(jī)不僅影響著人們的生活方式,同時(shí)還對傳統(tǒng)的教育模式提出了新的挑戰(zhàn)。我們可充分利用現(xiàn)代化的信息傳遞手段來拓展教學(xué)方式及教學(xué)改革,為考試形式向多元化發(fā)展提供基礎(chǔ)。對于傳統(tǒng)的考試過程,一般要經(jīng)過教師出卷、學(xué)生考試、教師閱卷、教師統(tǒng)計(jì)成績四個(gè)環(huán)節(jié)。當(dāng)考生數(shù)量較多時(shí),完成這一過程的工作量非常大,而且很煩瑣。我們應(yīng)該利用現(xiàn)有的設(shè)備、技術(shù)把教師從煩瑣、重復(fù)、容易出錯(cuò)的工作中解脫出來。為了實(shí)現(xiàn)這一目的,可通過計(jì)算機(jī)實(shí)現(xiàn)無紙化考試。近年來,多媒體、Internet的出現(xiàn)及發(fā)展使得考試的技術(shù)手段和載體發(fā)生了革命性的變化,Internet的開放性、分布性特點(diǎn)使得考試突破了時(shí)間和空間的限制?;贗nternet的計(jì)算機(jī)考試系統(tǒng)的研究,越來越受到人們的關(guān)注。
1 系統(tǒng)的體系結(jié)構(gòu)
目前,網(wǎng)絡(luò)應(yīng)用軟件運(yùn)行的模式主要有兩類:客戶機(jī)/服務(wù)器(C/S)模式和瀏覽器/服務(wù)器(B/S)模式。C/S模式是將數(shù)據(jù)庫內(nèi)容放在遠(yuǎn)程的服務(wù)器上,在客戶機(jī)上安裝相應(yīng)軟件。C/S結(jié)構(gòu)在技術(shù)上雖然很成熟,但該結(jié)構(gòu)存在靈活性差、升級困難、維護(hù)工作量大和系統(tǒng)安全性差等缺陷,已較難適應(yīng)當(dāng)前信息技術(shù)與網(wǎng)絡(luò)技術(shù)發(fā)展的需要。B/S結(jié)構(gòu)是三層結(jié)構(gòu),它以訪問Web數(shù)據(jù)庫為中心,HTTP為傳輸協(xié)議,客戶端通過瀏覽器(Browser)訪問Web服務(wù)器和與其相連的后臺數(shù)據(jù)庫。B/S結(jié)構(gòu)把處理功能全部移植到了服務(wù)器端,用戶的請求通過瀏覽器發(fā)出,無論是使用和數(shù)據(jù)庫維護(hù)上都比傳統(tǒng)模式更加經(jīng)濟(jì)方便。本系統(tǒng)中就采用了B/S結(jié)構(gòu),服務(wù)器端采用SQL Server2000數(shù)據(jù)庫和ASP.NET 組件來構(gòu)成應(yīng)用服務(wù)系統(tǒng),客戶端采用瀏覽器來完成在線考試的全過程。
2 系統(tǒng)的總體設(shè)計(jì)
2.1 應(yīng)用結(jié)構(gòu)
原則上來講,整個(gè)考試系統(tǒng)的服務(wù)可由考試中心承擔(dān),考試系統(tǒng)的用戶(考生或考試的組織者)均可通過本地和遠(yuǎn)程網(wǎng)絡(luò)系統(tǒng)參加考試和處理考試事務(wù)。但由于目前的遠(yuǎn)程傳輸媒介的傳輸可靠性和傳輸速率的限制,成千上萬的考生都通過考試中心的服務(wù)器來參考,好比千軍萬馬走獨(dú)木橋,服務(wù)器必然是系統(tǒng)的瓶頸。為了解決這一問題,可在遠(yuǎn)程考試系統(tǒng)設(shè)立考試中心,在各地區(qū)設(shè)立考點(diǎn),考生在各考點(diǎn)參加考試,考試中心負(fù)責(zé)全局事務(wù)的處理和控制??荚囍行暮涂键c(diǎn)通過Internet相連,而考點(diǎn)的各考試主機(jī)則通過局域網(wǎng)相連,無論是考試中心還是考點(diǎn)均應(yīng)設(shè)有Web服務(wù)器和數(shù)據(jù)庫服務(wù)器,建立其上的考試系統(tǒng)服務(wù)器分別為考試的組織者和應(yīng)試者提供相應(yīng)的服務(wù)。這種運(yùn)行結(jié)構(gòu)既減輕了考試中心服務(wù)器的負(fù)擔(dān)也符合一般考試組織的特點(diǎn),同時(shí)提供服務(wù)的資源根據(jù)分工(考試中心和考點(diǎn)的分工不同)可相應(yīng)隔離。通過網(wǎng)絡(luò)連接的考試系統(tǒng)應(yīng)用結(jié)構(gòu)如圖1所示。
2.2 功能模塊劃分
根據(jù)考試的組織特點(diǎn)和應(yīng)用結(jié)構(gòu),一個(gè)完整的考試系統(tǒng)主要?jiǎng)澐譃槿齻€(gè)功能模塊: 試題管理模塊、在線考試模塊、學(xué)生檔案管理模塊。系統(tǒng)的功能結(jié)構(gòu)如圖2所示。各模塊功能如下:
2.2.1 試題管理模塊
試題庫是試題來源,對試題庫的管理非常重要。試題一般采用單選題、多選題、判斷題等題型,主要實(shí)施試題的錄入、查詢、修改、刪除等功能。錄入試題可集中錄入或隨時(shí)錄入,試題庫中的試題以單個(gè)試題存放而不形成成套試卷,并且可按類別難度的不同進(jìn)行分類管理,試題可長期保存。
圖1 基于Internet考試系統(tǒng)的結(jié)構(gòu)圖
圖2 系統(tǒng)功能結(jié)構(gòu)圖
2.2.2 在線考試模塊
在線考試模塊是系統(tǒng)的核心模塊??荚嚽跋到y(tǒng)會自動(dòng)生成試卷的編號,出題者填寫試卷名稱,選擇考試的科目以及試卷的類型。通常試卷的類型可分為固定試卷和動(dòng)態(tài)試卷。固定試卷是預(yù)先在試題庫隨機(jī)抽取試題生成固定的試卷,考試時(shí)每個(gè)考生都使用該試卷;動(dòng)態(tài)試卷是當(dāng)考生進(jìn)入考試后,由系統(tǒng)隨機(jī)生成試卷,每個(gè)考生的試卷是不一樣的。另外還需設(shè)置考試所需的時(shí)間、考查的題型、每種題型的分值、題目不同難度的比例、試卷的狀態(tài),例如開放狀態(tài)則前臺考試可使用,關(guān)閉狀態(tài)則不能使用。最后還能根據(jù)前面的題量和分值自動(dòng)計(jì)算并顯示試卷的總分?jǐn)?shù)。
當(dāng)進(jìn)入考試時(shí),學(xué)生首先登錄查看有沒有考試,如果有就進(jìn)行考試,考試時(shí)間結(jié)束系統(tǒng)自動(dòng)交卷,交卷之后實(shí)時(shí)評卷,立即給出分?jǐn)?shù)。從考生登錄到考試結(jié)束,包括了身份驗(yàn)證、試卷生成、在線考試、試卷評分等過程。
(1)登錄和身份驗(yàn)證。在考試前臺的界面輸入學(xué)號和密碼,系統(tǒng)會查詢數(shù)據(jù)庫,如果輸入正確則允許該考生進(jìn)入下一頁面。否則需重新輸入,超過三次錯(cuò)誤輸入則強(qiáng)行退出系統(tǒng)。如果該考生是第一次登錄系統(tǒng)或未修改過密碼,系統(tǒng)會自動(dòng)提示考生修改密碼。
(2)試卷生成。通過身份驗(yàn)證后,系統(tǒng)會根據(jù)登錄的信息查詢并顯示當(dāng)前對該考生開放的試卷,正式進(jìn)入考試界面。
其實(shí)在進(jìn)入考試界面前,系統(tǒng)會根據(jù)已設(shè)定好的試卷參數(shù),從數(shù)據(jù)庫中隨機(jī)抽取試題。如果使用動(dòng)態(tài)試卷,則每位考生的考題可能不一樣,但題型、難度、數(shù)量、分值都是一樣的。
(3)在線考試。在線考試的試題界面是按單題的方式顯示的,這樣考生能更好的查看題目。在頁面的左邊是整個(gè)試卷的試題題號,右邊是所選試題的具體內(nèi)容。點(diǎn)擊左邊的題號,就會在右邊顯示相對應(yīng)的試題。同時(shí)在考試界面上會顯示考試的科目、時(shí)間、考生姓名等。
考試開始后,系統(tǒng)會根據(jù)考試設(shè)定的時(shí)間進(jìn)行倒計(jì)時(shí)。如果考生中途遇到死機(jī),可重新登錄進(jìn)入,系統(tǒng)會提示上次考試并未結(jié)束,并將上次的考題重新調(diào)出,不需重新抽題。
(4)交卷評分。當(dāng)考生完成考題后,可按“交卷”按鈕進(jìn)行試卷提交,或考試時(shí)間結(jié)束時(shí)由系統(tǒng)強(qiáng)行收取。提交后,系統(tǒng)會根據(jù)考生選擇的答案與試題庫中的答案進(jìn)行比較,并計(jì)算出得分。分?jǐn)?shù)會在考試界面顯示,并且還會寫入學(xué)生成績庫中,供以后查詢和統(tǒng)計(jì)使用。
2.2.3 學(xué)生檔案管理模塊:
該模塊主要管理學(xué)生的信息檔案。包括對學(xué)生信息的錄入,成績查詢,以及老師對學(xué)生成績進(jìn)行查詢、統(tǒng)計(jì)等。
3 關(guān)鍵技術(shù)
一個(gè)考試系統(tǒng)的設(shè)計(jì)涉及到許多關(guān)鍵技術(shù),具體來說主要有以下幾個(gè)方面:
3.1 組卷
組卷是考試系統(tǒng)中的難點(diǎn)。組卷主要根據(jù)出題者設(shè)定好的使用的題型、涉及的章節(jié)、不同難度的比例以及不同題型的分值等參數(shù),隨機(jī)在試題庫中抽取試題組成試卷。這要求試題是隨機(jī)生成的,而且同一份試卷中不能有重復(fù)的考題。按什么規(guī)則生成,如何保證生成的試題符合要求,就涉及到隨機(jī)算法的使用。同時(shí)還要考慮如何對試卷的試題進(jìn)行有效的管理,例如當(dāng)考生在考試中途因機(jī)器故障或其它原因需重新進(jìn)入考試,系統(tǒng)不必重新抽取試卷,而是直接恢復(fù)考生原有試卷即可。
3.2 權(quán)限
一般超級管理員具有最高權(quán)限,可由他設(shè)置用戶對某個(gè)功能模塊的操作權(quán)限。當(dāng)每一個(gè)用戶用自己的賬號登錄系統(tǒng)時(shí),系統(tǒng)會根據(jù)其登錄賬號所賦予的權(quán)限,讓其進(jìn)行相應(yīng)的操作。
3.3 數(shù)據(jù)庫的設(shè)計(jì)
遠(yuǎn)程考試系統(tǒng)需要處理大量的數(shù)據(jù),其功能主要圍繞數(shù)據(jù)庫來展開。在系統(tǒng)中,良好的數(shù)據(jù)庫設(shè)計(jì)將會有效改善系統(tǒng)的性能,同時(shí)還能保證數(shù)據(jù)正確完整的存儲。根據(jù)考試系統(tǒng)的要求,可設(shè)計(jì)幾個(gè)關(guān)系模式:
考生表:(考生ID,姓名,口令,性別,系別,班級,權(quán)限)
考試科目:(科目1D,科目名稱,試卷ID,開考時(shí)間)
成績表(一、二級):(考生ID,姓名,系別,班級,科目,試卷ID,開考時(shí)間,結(jié)束時(shí)間,試題得分)
學(xué)生考試表:(試卷ID,科目名稱,單選題數(shù),單選題,多選題數(shù),多選題,判斷題數(shù),判斷題,開考時(shí)間,結(jié)束時(shí)間)
學(xué)生考試記錄表(二級):(考生ID,試卷ID,姓名,班級,有否考試,試題情況記錄,考試時(shí)間)
科目選擇表:(科目ID,開考科目)
試卷表:(試卷ID,科目ID,試卷試題ID,試題類型,試題內(nèi)容,參考答案,參考答題時(shí)間)
試題庫:(試題ID,科目、試題類型,試題內(nèi)容,選擇答案1,選擇答案2,選擇答案3,選擇答案4,選擇答案5,選擇答案6,參考答案,難度系數(shù))
答卷(二級):(試題ID,題號,科目、試題類型,試題內(nèi)容,選擇答案1,選擇答案2,選擇答案3,選擇答案4,選擇答案5選擇答案5,參考答案)
其中“考生表”,“考試科目”,“成績表”,“試題庫”,“答卷”等是關(guān)系名,括號內(nèi)容是關(guān)系屬性。在對關(guān)系進(jìn)行調(diào)整時(shí),為減少數(shù)據(jù)的冗余,提高數(shù)據(jù)訪問效率,將有些關(guān)系雖然密切但具有一對多或多對多特性且相對穩(wěn)定程度不同的數(shù)據(jù)分開建立關(guān)系模式,如考生的基本信息和考生的成績信息,考點(diǎn)的基本信息與考點(diǎn)的開考科目,試題與試卷信息等等。表中一級表示考試中心的數(shù)據(jù)庫服務(wù)器,二級表示考點(diǎn)的數(shù)據(jù)庫服務(wù)器存儲的數(shù)據(jù)。
3.4 數(shù)據(jù)庫賬號加密
考試系統(tǒng)的數(shù)據(jù)庫安全性不同于其它系統(tǒng),盡管在系統(tǒng)功能上設(shè)計(jì)了不同用戶的使用權(quán)限,也不能保證敏感數(shù)據(jù)的保密性。例如DBA擁有最高權(quán)限,可知曉試卷的內(nèi)容。為了保證考試的公正性,這就需要有進(jìn)一步的安全措施——數(shù)據(jù)加密。在該系統(tǒng)中我們采取了MD5算法加密口令,DES算法加密其它敏感數(shù)據(jù)。
與傳統(tǒng)的考試方式相比,網(wǎng)絡(luò)考試系統(tǒng)的主要好處是可以動(dòng)態(tài)地管理各種考試信息,只要題庫足夠大,就可以按照要求自動(dòng)生成各種試卷;而且,網(wǎng)絡(luò)考試的時(shí)間比較靈活, 可以在規(guī)定的時(shí)間段內(nèi)隨到隨考,不必統(tǒng)一時(shí)間開考;另外,計(jì)算機(jī)化考試的最大特點(diǎn)是閱卷快,系統(tǒng)可以在考試結(jié)束時(shí)當(dāng)場給出客觀題考試成績,計(jì)算機(jī)閱卷給了考生最大的公平感。因此網(wǎng)絡(luò)考試不僅在高校,同時(shí)也已慢慢在各個(gè)領(lǐng)域普及應(yīng)用。
參考文獻(xiàn):
[1]陳湘. ASP.NET與網(wǎng)站開發(fā)編程實(shí)戰(zhàn)[M]. 清華大學(xué)出版社,2002:88-90.
[2]李美滿. 網(wǎng)絡(luò)考試系統(tǒng)題庫與成績安全性研究[J]. 計(jì)算機(jī)應(yīng)用,2005.12:133-137.
[3]吳軍華. 遠(yuǎn)程考試系統(tǒng)的研究與開發(fā)[D]. 碩士學(xué)位論文,2000:49-52.
[4]趙燕,曹宇翾,闕勝利. 基于B/S模式的在線考試系統(tǒng)的設(shè)計(jì)與實(shí)現(xiàn)[J]. 電腦知識與技術(shù),2007.3:173-175.
收稿日期:2008-03-24
作者簡介:張春暉,女,廣東廣州人,碩士,華南理工大學(xué)計(jì)算機(jī)學(xué)院,主要從事計(jì)算機(jī)軟件方面的研究。