黃國華
(東莞市經濟貿易學校,廣東 東莞 523106)
考試,隨著人類社會的出現而產生??荚嚕粌H僅為了甄別和選拔人才,高效率地使用人才,也體現了一種占主導地位的社會文化和價值觀,在某種程度上更是體現了一個國家的發達水平和綜合國力。在傳統教學模式中,往往一位教師需要同時面對一個或多個班的學生,師生之間不能及時準確地獲得反饋信息。隨著網絡技術的不斷進步和信息技術的廣泛普及,網絡教學與考試系統已經遍布于每個角落。因此,如何充分利用計算機網絡的信息處理、傳輸功能,構建一個基于網絡的在線考試系統成為主要的課題。而基于ASP 技術的在線考試系統采用瀏覽器/服務器(B/S)結構,由客戶端(Web 瀏覽器)、Web 服務器、數據庫服務器(如試題庫)三層分布結構組成。由于采用了互聯網的相關技術,B/S 結構具有系統維護升級方便、跨平臺操作、具有良好的開放性和可擴充性以及系統安全性等優點[1]。另外,鑒于ASP 技術具有嵌套靈活、腳本安全、功能可擴充、數據庫訪問親善和瀏覽器無關等特點[2],以最大限度地激發學生的學習興趣。
本系統是具有用戶注冊登錄、在線考試、成績查詢以及管理員進行試題錄入、修改、刪除、閱卷、管理用戶功能的ASP 應用程序。
本系統采用ASP 內嵌VBScript 腳本和HTML 建立高效的Web服務器程序,查詢語言采用通用SQL 查詢語句,后臺數據庫選用Microsoft SQL,使用B/S(Browse/Server)模式,服務器端使用Windows Server 2008 操作系統并安裝IIS,客戶端通過瀏覽器可完成系統的相關功能,它的主要優點是便于擴充、升級及維護簡便。
整個系統的功能結構圖如圖1 所示:

圖1 系統的功能結構圖
題庫是在線考試系統的基礎。題庫是按照一定的教育測量理論利用計算機技術構成的某種或多種學科題目的集合。在線考試系統里的試題是存儲在數據庫相關的數據表中,為了能夠進行計算機自動評卷,試題必須是標準化的,比如選擇題、判斷題、填空題等,且允許管理員在試題庫中添加、修改、刪除試題。
考生注冊模塊是考生進行考試的前提依據,它與學校的“數字化校園系統”中的“學籍管理”具有良好的接口,實現考生報考信息的登記注冊與維護,注冊后需管理員在后臺審核通過后方可正常登錄使用。
在線考試實現隨機選題組卷、保存用戶答題信息、考試倒計時等功能,它是本考試系統中的核心模塊。考生進行驗證登錄系統后,系統將根據綜合的考試計劃(如:考試對象、截止日期等)列出該考生可以進行考試的考試列表。考生點擊相應的考試試卷后,系統將根據試卷中的單選題數量、多選題數量、判斷題數量等從相應課程的所屬題庫中隨機抽取相應數量的題目。
考試結束采取考生主動交卷和考試時間結束自動交卷兩種有機結合的方式予以實現。交卷后,系統將對考生的答題情況進行自動閱卷、評判分數。單選題、多選題和判斷題的自動閱卷比較簡單,只需與標準答案進行比較即可。而填空題和簡答題等主觀題的閱卷,由于存在主觀性、答案個數的不確定性和評分標準不一致等等因素,要實現計算機自動閱卷相對困難。本系統采取在多個答案之間設置特定分隔符(如:分號或逗號)并對比答案中的關鍵字實現了填空題和簡答題的自動閱卷。另外,還提供了人工修改計算機自動閱卷的功能。
考試結束后,管理員、教師和考生均可以通過成績查詢模塊對某科目某天某個考生進行考試成績的查詢,以及還可以查看考生的答題試卷,核對計算機自動閱卷的成績是否正確,以便人工修正考試的成績。另外,管理員還可以查詢考試的記錄,查看考生是否參加了考試、考試的次數、考試的狀態是否正常等相關情況,同時,還能對之前的考試成績進行刪除或清空等操作。
ASP 文件是不能直接雙擊運行的,必須通過瀏覽器提出訪問請求,服務器端接到客戶端發出的請求后,由服務器端來解釋執行其中的程序代碼,將含有程序代碼的頁面轉化為標準的HTML 代碼后才可以在瀏覽器中進行瀏覽。如:本系統的用戶可通過Internet/Intranet 中的瀏覽器登錄到Web 服務器(IIS 服務器)提出訪問ASP 文件的請求,Web 服務器接到請求后打開該ASP 頁面執行相應的腳本,執行結果產生動態生成的HTML 頁面(如在線考試系統的某個界面)并返回瀏覽器進行應答;用戶通過瀏覽器對HTML 頁面進行相應的操作(如進行在線隨機抽題),則ASP 內置組件ADO 通過ODBC 訪問數據庫服務器,對試題庫進行訪問查詢,然后動態生成一個HTML 頁面將查詢結果(如考試試卷)返回瀏覽器,供用戶進行使用[3]。
本系統的各個模塊須先行測試,經過反饋問題、收集問題、修改調整后進行全??傮w測試。測試期間遇到一個問題:如何防止考生在抽題后,惡意地多次刷新抽題。解決方法是屏蔽瀏覽器的F5 刷新按鈕和右鍵菜單,再加上用session("dgjmxx_ExamTime")存儲考生剛進入考試的時間,接著判斷timer()-session("dgjmxx_ExamTime")的時間是否在考試規定的時間內;如果其值還在考試規定的時間內并沒超過試卷在組卷過程中設定的刷新次數,就將數據庫中的[userStatus]值設為“正?!?;如考生在考試規定的時間內超過設定的刷新次數就自動將[userStatus]設為“異?!?。通過以上的解決方法,從測試結果各項功能情況看,系統均已經或基本達到設計要求。
總而言之,成功的在線考試系統離不開教育評價理論的指導,本文設計的基于ASP 的在線考試系統實現了真正的無紙化在線考試,能滿足不同科目的在線考試需求,已實現隨機抽取試題、顯示考試倒計時、計算機自動閱卷等功能。由于本系統采用了B/S 結構,系統具有良好的可維護性和可擴充性,如果考試科目或試題內容有所調整,只要對題庫作相應的調整即可。與此同時,教師可以通過系統對學生成績進行分析統計,有針對性地為學生提供輔導。本系統經過一年多的投入運行,系統運行穩定,功能完善,可以支持超過500 位考生同時進行考試,產生了較好的社會效益,具有一定的推廣價值。
[1]武延軍.精通ASP 網絡編程[M].北京:人民郵電出版社,2000.
[2]翟潔,邵俊華,陳越.一個分布式網絡考試系統的設計與實現[J].微機發展,2001,11(1):76-79.
[3]汪永明.基于B/S 模式的在線考試系統[J].微機發展,2004,14(1):60.