王正燕++韋萍萍++崔忠偉++黃鵬
摘 要:通過利用ASP.NET+C#+MySQL5.0等技術(shù)對基于Web在線考試管理系統(tǒng)的用戶登錄模塊、用戶信息管理模塊、在線考試、題庫建設(shè)、組卷等模塊進行設(shè)計與實現(xiàn),解決了傳統(tǒng)考試模式存在的一些問題,實現(xiàn)了信息化時代的數(shù)字化、無紙化、實時快速的考試管理模式。
關(guān)鍵詞:ASP.NET技術(shù);在線考試;數(shù)字化;C# ;MySQL5.0
中圖分類號:TN711 文獻標識碼:A 文章編號:2095-1302(2015)05-0-02
0 引 言
傳統(tǒng)考試存在工作量大、效率低、反饋周期長、資源浪費等問題,很多高校希望找到一種數(shù)字化、無紙化、考務(wù)工作效率高的考試管理方式。開發(fā)數(shù)字化考試管理系統(tǒng),一般有兩種架構(gòu),一種為C/S,一種為B/S,而本文只考慮后者的開發(fā),本系統(tǒng)針對客觀題(填空題和改錯題)、主觀題(如C語言程序題)能夠給予自動評分,從而減少人工參與力度和工作量,提高工作效率和評分正確率。
1 系統(tǒng)設(shè)計
1.1 系統(tǒng)構(gòu)建與業(yè)務(wù)流程
本系統(tǒng)采用B/S結(jié)構(gòu),系統(tǒng)框架是MVC三層架構(gòu)模式。系統(tǒng)使用Microsoft Visual Studio2010集成開發(fā)壞境,ASP.NET+C#作為系統(tǒng)開發(fā)語言,ASP.NET是對ASP的繼承,但不是ASP的簡單升級,而是微軟發(fā)展的新的體系結(jié)構(gòu).NET的一部分,是一個由類和對象(組件)組成的完全面向?qū)ο蟮南到y(tǒng),更加安全、穩(wěn)定、容易配置和部署。C#是.NET公共語言運行壞境的內(nèi)置語言。它完美的結(jié)合了C/C++的強大功能、Java的面向?qū)ο筇卣骱蚔isual Basic的易用性,是一種簡單的、類型安全的、面向?qū)ο蟮木幊陶Z言。C#也是微軟專門為.NET應(yīng)用而開發(fā)的語言。這從根本上保證了C#與.NET框架的完美結(jié)合。服務(wù)器運行平臺為Windows XP (SP2)/Windows 2000(SP4)/Windows Server 2003(SP1),后臺數(shù)據(jù)庫服務(wù)為MySQL5.0。
本系統(tǒng)具有人機交互強大,界面簡單、友好;易維護、易用;數(shù)據(jù)庫存儲安全,信息保密性強;嚴格的用戶管理、訪問控制管理及權(quán)限設(shè)置等特點??忌ㄟ^客戶端連接系統(tǒng)服務(wù)器登錄系統(tǒng)前臺,進行考試前,必須先用真實個人信息進行注冊。注冊成功后,登錄系統(tǒng)進行考試,答題完成,提交試卷,系統(tǒng)自動評分??忌荚囘^程中動態(tài)顯示考試剩余時間。若考試時間到而考生仍未提交試卷則系統(tǒng)自動終止考試并進行試卷保存處理。系統(tǒng)管理員登錄系統(tǒng)后臺,維護和管理系統(tǒng)。系統(tǒng)整個流程圖如圖1所示。
圖1 系統(tǒng)流程圖
1.2 功能模塊設(shè)計
(1)用戶登錄模塊??忌诘卿浵到y(tǒng)進行考試前,必須先用真實個人信息進行注冊。注冊成功后,通過登錄界面輸入賬號和密碼登錄系統(tǒng),系統(tǒng)根據(jù)用戶登錄賬號判定其身份,并對其不同身份開啟不同的系統(tǒng)功能。該界面設(shè)置記憶登錄用戶功能、驗證碼功能和找回密碼功能。
(2)用戶信息管理模塊。即對系統(tǒng)管理員、教師、考生信息的管理(此功能初始設(shè)定不對教師開放),三者角色不同,登錄的功能界面也不同。管理員具有查詢、添加新用戶、修改和刪除用戶信息、重置密碼等權(quán)限。
(3)在線考試。在線考試管理模塊提供兩種測試方式:一種是平常練習,學生在學習完某一章節(jié)內(nèi)容后,通過客戶端連接到系統(tǒng)服務(wù)器,選擇題目類型、難易度等參數(shù),系統(tǒng)后臺根據(jù)選中的條件組卷出題。學生可自行查看自己的測試結(jié)果和標準答案以及試題解析。另一種是常規(guī)考試,考生考試過程中系統(tǒng)動態(tài)顯示考試剩余時間。若考試時間到而考生仍未提交試卷,則系統(tǒng)自動終止考試并進行相關(guān)數(shù)據(jù)的保存處理。這里采用時間片存儲考試數(shù)據(jù)方法。
(4)題庫建設(shè)模塊。題庫結(jié)構(gòu)的搭建要求科學合理,其包括題目屬性值的設(shè)置及度量標準。做好試題的收集和編制;在把試題存入數(shù)據(jù)庫中時確保存儲方式緊湊、安全、高效。題目界面的設(shè)計要方便靈活。學科知識在不斷更新,題庫的管理應(yīng)具有動態(tài)性、實時性。
(5)組卷模塊。在線考試管理系統(tǒng)的另一個難點即是組卷,就是根據(jù)一定的組卷理論采用高效、可靠的組卷算法組織試題。
(6)成績統(tǒng)計與查詢模塊。常規(guī)考試,為了提高教學質(zhì)量,對考試結(jié)果要做相應(yīng)分析,即查詢成績、統(tǒng)計、歸類、成績分析、試卷科學度分析、學生學情分析等。平常的學習,可以給學生提供答案、未掌握的知識點,激發(fā)學生學習興趣。
1.3 數(shù)據(jù)庫設(shè)計
目前,本系統(tǒng)采用的數(shù)據(jù)庫服務(wù)系統(tǒng)是MySQL5.0,設(shè)計的實體表格主要有四個,(1)管理員信息列表:管理員編號、管理員姓名、管理員密碼、注冊時間。(2)考生信息列表:學生證號、考生姓名、登錄網(wǎng)站密碼、考生注冊時間、考生性別、密碼提示問題、注冊IP地址等9個字段。(3)試題庫信息列表:課程名稱、出題教師、試題編號、所屬知識點、難度系數(shù)、優(yōu)先級別、試題正文、參考答案、評分標準等13 個字段。(4)考生成績信息列表:考生成績編號、學生證號、所學課程、套題編號等字段。
2 基于Web在線考試管理系統(tǒng)的實現(xiàn)
采用ASP.NET+C#語言及C#開發(fā)壞境對基于Web在線考試管理系統(tǒng)的開發(fā),而實現(xiàn)該系統(tǒng)存在幾個關(guān)鍵問題:題庫建設(shè)、組卷策略、自動評卷,這些也是系統(tǒng)設(shè)計中的難點。
2.1 題庫建設(shè)與組卷的實現(xiàn)
題庫建設(shè):題庫建設(shè)對于在線考試管理系統(tǒng)尤為重要,題庫的管理既是本項目的基礎(chǔ),又是該系統(tǒng)中一項較為困難而復(fù)雜的工作。題庫中的題目須按照測驗?zāi)繕司暮Y選和校準,對于每一個題目,除了試題自身內(nèi)容外,還要具有表征題目屬性的編號、知識點、來源、難度、答案、區(qū)分度以及使用情況等多種指標。依據(jù)一定的題庫建設(shè)理論和構(gòu)建步驟:經(jīng)典項目測量理論和項目反映理論,這就要求教師設(shè)計出一定量的測驗試題,按照測量理論規(guī)定的方式將試題進行屬性標記存入試題庫。
組卷策略:其本質(zhì)是根據(jù)試題屬性(難度、題型、時間、分值等)加上外部規(guī)則的約束進行多條件的綜合。系統(tǒng)要實現(xiàn)手工組卷、自動組卷、自適應(yīng)智能組卷的功能。手動組卷是指老師根據(jù)學生的實際情況和學科的要求出題;自動出卷即是系統(tǒng)要根據(jù)教師所指定題目類型、難易程度、區(qū)分度等參數(shù)來進行組卷。在系統(tǒng)開發(fā)中要實現(xiàn)智能測試,則系統(tǒng)自動生成該科目的參數(shù)平衡二叉樹,測試時,系統(tǒng)根據(jù)答題結(jié)果檢索此二叉樹。這樣通過靈活、可變的平衡二叉樹來選擇試題,平衡二叉樹又稱為AVL樹,其左子樹和右子樹都是平衡二叉樹,且左子樹和右子樹深度之差的絕對值不超過1,空樹也是平衡二叉樹。
2.2 自動評卷的實現(xiàn)
主觀題的自動評分涉及自然語言理解、模式識別以及人工智能等方面的理論和知識,存在很多技術(shù)上的問題需要解決,可謂是在線考試系統(tǒng)中的一個技術(shù)難點。對程序題的評判,按常規(guī)的人工閱卷思維,就是判斷其是否實現(xiàn)規(guī)定的功能,即將運行結(jié)果與實際應(yīng)有結(jié)果對比,判斷兩者之間是否一致,這并不難, 比如C語言程序題,把C語言運行的結(jié)果用數(shù)據(jù)文件保存起來,再將其結(jié)果和標準答案作比較,給考生所編寫的程序進行對錯判定,給出得分。可能會出現(xiàn)有結(jié)果但不正確或無法編譯運行的考生代碼,這就需要檢查考生算法思想是否準確及編程是否合理,我們都知道,在C語言中,解決一個問題的代碼編寫有多種方法,但算法思想大致相同。如C語言中這樣一個結(jié)構(gòu):
m=0;
while(m m++; n=m+1; while(n< count;){ n++; } if(a>b) { ............ } } 依照C語言的關(guān)鍵字,抽取while()while()if(){}或while(){while()if(){}}骨架,再將之與標準骨架相比,通過判斷異同給分??忌谒悸访鞔_的情況下也會出現(xiàn)語法錯誤,可以采用修復(fù)編譯的方式進行評分,即通過糾正考生程序中的語法錯誤,使程序能夠正常編譯、運行、鏈接,生成EXE文件和答案。每修改一次語法錯誤則扣除該題目中相應(yīng)的分數(shù)。作為初學者的大部分考生,所編寫的程序常會出現(xiàn)死循環(huán),若Shell函數(shù)調(diào)用死循環(huán)程序啟動后無法結(jié)束將導致系統(tǒng)崩潰。API函數(shù)是Windows提供的控制應(yīng)用程序,通過Visual Basic調(diào)用API函數(shù)能防止出現(xiàn)這樣的情況。根據(jù)系統(tǒng)中題庫建設(shè)與組卷特點,即考生隨機從題庫中抽取的試題不同,這就可以防止舞弊行為。但相近考生試題相同也會出現(xiàn)作弊行為,防止作弊最有效的方法,即“記錄解答過程”,采用考核軟件(VC++)提供的“宏”功能或Windows內(nèi)部功能來實現(xiàn)。 2.3 在線考試的實現(xiàn) 考試系統(tǒng)服務(wù)器平臺在系統(tǒng)運行中起著舉足輕重的作用,它是保證考生正??荚嚨靡赃M行、數(shù)據(jù)得以中轉(zhuǎn)和處理的中間站。用戶通過客戶端連接系統(tǒng)服務(wù)器進行在線考試,考試系統(tǒng)服務(wù)器會接收相關(guān)數(shù)據(jù)。考試系統(tǒng)服務(wù)會在考生完成考試后對考試數(shù)據(jù)進行驗證、加密和導出,連同試卷加密放在一起上傳到服務(wù)器開始審閱,同時考試系統(tǒng)具有備份服務(wù)器上原始資料的功能,以便之后的核查。 3 結(jié) 語 通過開發(fā)基于Web的在線考試管理系統(tǒng),使各大高校實現(xiàn)無紙化考試管理成為可能,該在線考試管理系統(tǒng)具有操作簡單方便,界面簡潔美觀;具有實時性,已注冊的用戶可在任何時間,任何地點通過Internet瀏覽器登錄網(wǎng)絡(luò)在線考試系統(tǒng),除了常規(guī)考試,還可在線練習,強化訓練等。 參考文獻 [1]胡靜,韓英杰,陶永才. ASP.NET動態(tài)網(wǎng)站開發(fā)教程(第二版)[M].北京:清華大學出版社,2009. [2]薛惠麗,趙志燕.基于Web的在線考試系統(tǒng)探究[J].內(nèi)蒙科技與經(jīng)濟,2007(4):132-133. [3]嚴蔚敏.數(shù)據(jù)結(jié)構(gòu)[M].北京:清華大學出版社,1997. [4]郭躬德.計算機題庫系統(tǒng)的分析和設(shè)計[J]. 福建師范大學,1996(3):102-106. [5]張曉光,張貞,牛永浩.對于C++語言考試編程題自動評分系統(tǒng)的研究[J].延安大學,2010,33(18):51-52. [6]段敬利,張春飛,魏久鴻.C語言教學中上機考試及自動評分系統(tǒng)研究與開發(fā)[J].機械設(shè)計與制造工程,2013,42(10):65-67. [7]孟愛國,卜勝賢,李鷹,等.一種網(wǎng)絡(luò)考試系統(tǒng)中主觀題自動評分的算法設(shè)計與實現(xiàn)[J].計算機與數(shù)字工程,2005,33(7):147-150.