王正燕++韋萍萍++崔忠偉++黃鵬

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