徐鳳亮 史斌斌
摘要 隨著計(jì)算機(jī)和網(wǎng)絡(luò)技術(shù)的飛速發(fā)展,在線考試已成為計(jì)算機(jī)輔助教學(xué)的發(fā)展趨勢(shì)之一。在對(duì)在線考試系統(tǒng)進(jìn)行分析的基礎(chǔ)上,利用ASP.NET技術(shù)在Windows 2003 server操作系統(tǒng)和SQL Server 2003數(shù)據(jù)庫平臺(tái)上開發(fā)三層架構(gòu)的基于B/S模式的高校在線考試系統(tǒng),并給出軟件的設(shè)計(jì)思想、數(shù)據(jù)庫的實(shí)現(xiàn)方式,最后還介紹并發(fā)故障、計(jì)算機(jī)死機(jī)的解決方法以及抽題的策略。
關(guān)鍵詞 在線考試;B/S模式;Web
中圖分類號(hào):TP393 文獻(xiàn)標(biāo)識(shí)碼:B 文章編號(hào):1671-489X(2009)21-0090-02
Design and Application of Campus Online Examination System based on B/S Mode//Xu Fengliang, Shi Binbin
Abstract With the rapid development of Computer and Internet technology,online examination has become a development trend of CAI. Based on the analysis, with ASP.NET and Windows 2003 server as OS and SQL Sever 2003 as the database platform to develop a 3 layer structure College online examination system which based on B/S mode. Paper indicates the design blue prints, the database implementing mode, at last introducing the solvement of computer breakdown and startegy of choosing problems.
Key words online examination; B/S Mode; Web
Authors address
1 Suzhou Health College, Suzhou, Jiangsu, 215009, China
2 Suzhou Vocational University, Suzhou, Jiangsu, 215000, China
隨著計(jì)算機(jī)和網(wǎng)絡(luò)技術(shù)的快速發(fā)展,現(xiàn)代化教育技術(shù)也產(chǎn)生日新月異的變化。在硬件方面,高校配備計(jì)算機(jī)的數(shù)量和質(zhì)量不斷提高;在軟件方面,各種教學(xué)軟件層出不窮。計(jì)算機(jī)輔助教學(xué)已經(jīng)發(fā)揮越來越重要的作用,特別是利用高校的計(jì)算機(jī)房組織各種考試已成為一種趨勢(shì)[1]。
傳統(tǒng)方式組織考試,需要經(jīng)歷出卷、考試、閱卷、分析4個(gè)階段,存在一些弊端:第一,重復(fù)勞動(dòng),造成人力、財(cái)力、物力和時(shí)間資源的浪費(fèi);第二,人工出卷和人工閱卷本身存在較大的主觀性和差異性,且容易出錯(cuò);第三,學(xué)生考試采用統(tǒng)一試卷,考試容易發(fā)生作弊現(xiàn)象。同時(shí)某些任課教師為了提高其任課班級(jí)的總體成績(jī),造成試題泄露抄襲使成績(jī)不真實(shí),影響教學(xué)質(zhì)量檢測(cè)的真實(shí)效果。在線考試系統(tǒng)可以克服傳統(tǒng)考試方法的不足:第一,真正實(shí)現(xiàn)考教分離,創(chuàng)造一個(gè)公平開放的考試環(huán)境;第二,有效壓縮組織考試的各個(gè)階段,提高工作效率;第三,采用無紙化考試,創(chuàng)造節(jié)約型校園氛圍。
1 在線考試系統(tǒng)發(fā)展現(xiàn)狀
在線考試已成為開發(fā)和研究的熱點(diǎn)。市場(chǎng)上也出現(xiàn)許多網(wǎng)上考試系統(tǒng)可供選擇,但這些考試系統(tǒng)主要面向某一單科的考核,較少地集自動(dòng)組卷、在線答卷、自動(dòng)評(píng)卷、成績(jī)管理與統(tǒng)計(jì)分析、科目管理、題庫管理、用戶管理、記錄查詢于一體,且市場(chǎng)上出售的軟件存在開發(fā)成本高、價(jià)格昂貴、源代碼保密、不易于升級(jí)維護(hù)等弊端。目前各校的教務(wù)工作流程各不相同,所以在沒有對(duì)系統(tǒng)功能進(jìn)行修改和升級(jí)的情況下很難直接將在線考試系統(tǒng)融入現(xiàn)有的教務(wù)管理中。
2 需求分析
在線考試系統(tǒng)實(shí)現(xiàn)的主要功能包括4部分:1)用戶管理功能,管理各種用戶的權(quán)限,包括用戶的類別、編號(hào)、姓名、口令等;2)考試功能,包括考生登錄,試卷生成、傳輸、顯示,在線答題,試卷的回收,自動(dòng)閱卷及成績(jī)的排序打印等功能;3)題庫維護(hù)功能,包括題庫的創(chuàng)建,試題的錄入、修改、刪除;4)出卷功能,包括考試題型、考試題量、分值、抽卷策略。由于在線考試具有內(nèi)容特殊、安全性高、結(jié)果要求準(zhǔn)確等特點(diǎn),因此系統(tǒng)在功能設(shè)計(jì)上還應(yīng)該注重對(duì)網(wǎng)絡(luò)安全、抽題算法、中斷和系統(tǒng)恢復(fù)、服務(wù)器事件并發(fā)以及流量控制方面的處理,保證系統(tǒng)的可靠性和實(shí)用性。
3 系統(tǒng)的技術(shù)體系
目前比較流行的網(wǎng)絡(luò)軟件開發(fā)模式有C/S(客戶機(jī)/服務(wù)器)模式和B/S(瀏覽器/服務(wù)器)模式2種。C/S模式因?yàn)檎麄€(gè)客戶端程序都是自行設(shè)計(jì)的,所以能夠完全控制考生的所有操作行為,安全性較好。許多國家級(jí)考試如國家計(jì)算機(jī)等級(jí)考試、國家衛(wèi)生資格考試都采用這種模式。C/S模式的主要缺點(diǎn)是安裝、維護(hù)和升級(jí)麻煩,加大機(jī)房管理的工作量。B/S模式能有效地克服這些缺點(diǎn),同時(shí)配合一些合理的機(jī)房管理安全措施同樣可以做到閉卷考試。
在線考試系統(tǒng)采用三層架構(gòu),將整個(gè)業(yè)務(wù)應(yīng)用劃分成表示層、業(yè)務(wù)邏輯層、數(shù)據(jù)訪問層,符合“高內(nèi)聚,低耦合”的軟件工程思想。整個(gè)系統(tǒng)運(yùn)行在Windows 2003 server操作系統(tǒng)和SQL Server 2003數(shù)據(jù)庫平臺(tái)上,采用ASP.NET開發(fā)技術(shù)。
Windows 2003 server是微軟公司提出.NET戰(zhàn)略以后推出的一款最重要的服務(wù)器軟件產(chǎn)品,其中包括對(duì)IIS6和.NET的支持,使站點(diǎn)服務(wù)器的性能和安全性大幅提高。
SQL Server 2003數(shù)據(jù)庫是微軟公司推出的企業(yè)級(jí)數(shù)據(jù)庫,一經(jīng)推出就以其易用性得到很多用戶的青睞。它是個(gè)功能強(qiáng)大,易于使用的數(shù)據(jù)庫,可直接與Windows操作系統(tǒng)的使用者賬號(hào)做安全機(jī)制整合。SQL Server友好、易操作的圖形使用界面,可以方便用戶對(duì)SQL Server進(jìn)行管理和使用。
ASP.NET是創(chuàng)建動(dòng)態(tài)Web頁面的一項(xiàng)功能強(qiáng)大的新技術(shù)。它是微軟公司.NET Framework的一部分,ASP.NET頁面可以利用這個(gè)架構(gòu)提供的所有服務(wù),包括聯(lián)網(wǎng)、數(shù)據(jù)訪問、安全性等。ASP.NET的出現(xiàn)大大提高程序員開發(fā)的效率,簡(jiǎn)化Web開發(fā)人員的工作[2]。
4 功能設(shè)計(jì)
根據(jù)在線考試系統(tǒng)的需求分析,系統(tǒng)主要的操作對(duì)象分成系統(tǒng)管理員、專業(yè)負(fù)責(zé)人、教師、考生。整個(gè)系統(tǒng)主要包括系統(tǒng)管理模塊、題庫管理模塊、出卷模塊和考試模塊。
系統(tǒng)管理模塊只能由系統(tǒng)管理員登錄,主要對(duì)本系統(tǒng)的重要事務(wù)進(jìn)行管理,包括專業(yè)課程的設(shè)立、專業(yè)負(fù)責(zé)人賬戶的設(shè)置與管理。
題庫管理和出卷模塊只能由專業(yè)負(fù)責(zé)人登錄,負(fù)責(zé)教師個(gè)人賬戶的設(shè)置與管理,試題庫的輸入、修改和刪除,考試題型和考試計(jì)劃的設(shè)置。
考試模塊是系統(tǒng)最重要的模塊,一部分是考生模塊,另一部分是考場(chǎng)監(jiān)控模塊??忌K包括考生登錄、試題抽取、在線答題、自動(dòng)評(píng)卷功能??紙?chǎng)監(jiān)控模塊可以被系統(tǒng)管理員、專業(yè)負(fù)責(zé)人和教師訪問,進(jìn)行開考命令的發(fā)布、強(qiáng)制收卷、考試成績(jī)統(tǒng)計(jì)。
5 數(shù)據(jù)庫設(shè)計(jì)
根據(jù)系統(tǒng)功能設(shè)計(jì)的要求以及功能模塊的劃分,給出以下數(shù)據(jù)庫表和字段名稱。
用戶信息表Admin:用戶賬號(hào)UserName,用戶口令Password,權(quán)限Role。
開考科目表Testkind:考試科目號(hào)TestId,考試名稱TestName,專業(yè)負(fù)責(zé)人UserName。
考生成績(jī)表Score:學(xué)生姓名StudentName,學(xué)生學(xué)號(hào)StudentNum,學(xué)生班級(jí)StudentClass,考試科目TestId,考試開始時(shí)間StartTime,考試結(jié)束時(shí)間EndTime,考試成績(jī)StudentScore。
試題庫Testdb:考試科目TestId,考題類型TestClass,難易度Difficult,題干TestMain,填空答案Blank,選擇答案Select,判斷題答案Decide。
試卷表:考試科目號(hào)TestId,學(xué)生班級(jí)StudentClass,開考時(shí)間TestStartTime,考試時(shí)間TestTime,總分TotalScore,選擇題分值SelVal,選擇題數(shù)量SelNum,選擇題難度SelDif,判斷題分值DecVal,判斷題數(shù)量DecNum,判斷題難度DecDif,填空題分值BlankVal,填空題數(shù)量BlankNum,填空題難度BlankDif。
6 技術(shù)難點(diǎn)
1)由并發(fā)引起的故障。在整個(gè)考試期間,服務(wù)器大規(guī)模并發(fā)事件主要發(fā)生在考試開始與結(jié)束2個(gè)時(shí)間。考試開始時(shí),考生同時(shí)登錄系統(tǒng)抽取試題,結(jié)束時(shí)部分學(xué)生同時(shí)交卷,其間服務(wù)器要迅速處理來自客戶端的請(qǐng)求,容易造成服務(wù)器應(yīng)用程序崩潰并停止響應(yīng)。解決的辦法是在考生抽取試題和自動(dòng)交卷的頁面中加入腳本代碼,使客戶端隨機(jī)延遲0~5秒再發(fā)出抽取試題的請(qǐng)求。
2)服務(wù)器和客戶機(jī)死機(jī)故障。若學(xué)生機(jī)死機(jī)會(huì)造成該生考試中止,特別是學(xué)校機(jī)房普遍裝有硬件還原卡,將使考生原先的答題內(nèi)容丟失。解決的辦法是將考生的答題內(nèi)容定時(shí)地保存在服務(wù)器的硬盤中,若服務(wù)器死機(jī),則重啟后重新進(jìn)入考試程序,自動(dòng)收集學(xué)生的答題信息,不會(huì)影響學(xué)生答題的過程。
3)試題抽取策略。系統(tǒng)支持3種抽題策略,一種是所有考生考題相同,但題目出現(xiàn)的次序以及備選項(xiàng)次序不同;第二種是有2套或3套試題,系統(tǒng)根據(jù)考生號(hào)進(jìn)行分配;第三種是從題庫完全隨機(jī)抽題。多種抽題策略可以滿足不同教師的考試要求。
7 結(jié)論
在線考試系統(tǒng)采用成熟和廣泛的ASP.NET技術(shù)進(jìn)行開發(fā),擴(kuò)展性和靈活性好。該系統(tǒng)特別適合高校公共課程如英語、計(jì)算機(jī)、政治課程的考試。依托豐富的題庫資源和完善的抽題策略,大大減輕教師負(fù)擔(dān),節(jié)約教學(xué)資源。但系統(tǒng)目前支持的題型仍比較有限,今后將加入智能語句處理模塊,使系統(tǒng)能夠支持簡(jiǎn)答題乃至問答題的自動(dòng)評(píng)分,使系統(tǒng)能勝任更多課程的考試。
參考文獻(xiàn)
[1]Pullen J M,McAndrews P M.A web portal for open-source synchronous distance education[A].Proceedings of the Seventh IASTED International Conference on computers and Advanced Technology in Education,2004:315-320
[2]Kauffman J,Millington B.ASP.NET 2.0數(shù)據(jù)庫入門經(jīng)典[M].北京:清華大學(xué)出版社,2007