河南城建學院計算機科學與工程學院 楊盛苑
B/S和C/S結合模式下在線考試系統的設計與實現
河南城建學院計算機科學與工程學院 楊盛苑
對在線考試系統的開發模式進行研究,提出了以C/S模式和B/S模式相結合的在線考試系統的總體架構,分析并實現了相關的功能模塊。建立了數量充足的試題庫,能夠實現自動組卷和自動批卷的功能,與傳統的筆試方式相比能顯著提高考試效率和教學管理水平。系統運行情況良好,安全性較高,界面友好,能夠在一定程度上提高考務工作人員的工作效率。
在線考試系統;C/S;B/S;自動組卷
近年來,Internet技術的高速發展使得在線考試系統逐漸成為人們關注的熱點之一。與傳統的考試模式相比,在線考試具有許多的優越性,它能夠把傳統考試的諸多環節諸如試卷的組織、登記、判定、成績發布等縮小到一兩個環節,基本上可以屏蔽人工干預考試過程和考試結果的可能性。這樣一方面可以大大提高考試的客觀性與公正性,另一方面還可以節約大量的人力、物力、時間與財力。
ERP在線考試系統的研究目標是測試學生對于《ERP供應鏈管理應用教程》這門課程的掌握情況,并通過對學生成績的分析,幫助授課老師在以后的授課的過程中及時的調整授課重點。在實現以上目標的同時,本系統亦實現了減輕考務人員負擔,節約資源,縮短考試時間,簡化考試流程的目標。
1.1 架構方式
當前已經投入使用的在線考試系統大多采用兩種架構模式,即C/S模式和B/S模式,大部分在線考試系統一般都會選用這兩種模式中的其中一種。傳統的在線考試系統的架構模式大多采用的是C/S模式,但由于這種模式每臺客戶機都要安裝相應的客戶端,缺少通用性,變更不夠靈活,后期管理和維護難度較大,具有較大的局限性。因此,隨著技術和時代的發展,B/S模式逐漸取代C/S模式成為當前在線考試系統構建的重要模式。但由于現有技術和開發工具的限制,B/S模式的在線考試系統在系統的響應速度、交互友好性能以及安全性方面還存在一定的缺陷,不能令用戶完全滿意。
鑒于C/S模式和B/S模式各自的優缺點,本考試系統采用了兩種模式相結合的開發方法,以便能充分發揮兩種模式各自的優點。通用在線考試系統采用三級授權方式,即管理員、教師和學生。其中在線考試模塊對效率要求比較高,因此,這部分采用C/S模式。而管理員、教師和學生查詢成績操作相關的功能模塊對操作的便利性要求比較高,而且由于使用環境不確定,又需要系統具備一定的開放性。所以這幾個模塊的功能采用B/S模式來實現。用戶可以直接通過用戶機訪問前臺頁面而不需要安裝其他的應用程序,管理員計算機上安裝在線考試的管理系統,與考試相關的考生信息和試題信息存放在數據庫服務器上。
1.2 系統功能模塊描述
《ERP原理及應用》課程是信息管理與信息系統專業學生的專業必修課,學習目標是能夠掌握ERP的發展,ERP的一些基礎理論與基礎知識。根據教學需要,本考試系統實現的主要是基礎理論和基礎知識部分。具體來說,整個考試系統中的題型主要有三種,即單項選擇題、多項選擇題和主觀題。系統實現了從考試題庫管理、考試報名組織、考試、試卷批改到成績發布全過程的自動化、網絡化和無紙化。根據前期的需求分析,將考試系統分為管理員、教師和學生三個子系統,各個子系統的功能如下:
管理員子系統主要是完成學生管理、教師管理、管理員管理;教師管理子系統主要是完成試題庫的創建和管理、學生成績管理、修改密碼;學生管理子系統主要是完成在線考試、成績查詢、找回密碼,修改密碼。系統功能組織結構圖如圖1.1所示。

圖1.1 系統組織結構圖
1.3 系統開發平臺
根據現有技術發展需要,本在線考試系統選擇使用VisualStudio.NET2012在Microsoft的.Net框架下進行ASP.NET程序設計,后臺數據庫使用的是MicrosoftSQLServer2010。
2.1 用戶登錄
系統對用戶登錄的控制主要是為了防止非法用戶登錄系統對系統造成破壞,因此在系統的登錄頁面設置了一個判斷登錄用戶是否合法的參數,用于對用戶的身份進行驗證。驗證結束后將該參數值傳遞給考試頁面,只有通過用戶名、密碼和驗證碼檢驗的用戶方可進入系統,否則判定為非法,需要返回到登錄頁面,重新登錄考試系統。這樣一方面可以根據用戶登錄的信息判斷用戶類型,根據不同用戶和不同權限使系統跳轉到不同的操作頁面,另一方面還可以防止非法用戶利用URL鏈接跳過登錄頁面直接訪問考試系統,增加了系統的安全性和可操作性。
2.2 考生試卷題序的控制
為了盡可能大程度的避免在考試過程中有抄襲作弊的現象出現,系統在抽取到試卷后會將每一種題型的順序打亂,這樣即便是抽取到同一套試卷,試題的出現順序也會不同。
具體的算法描述如下:
1)假設某一種題型有N道試題,將打亂順序前的試題ID存放在數組Array[N]中,并賦值i=N;
2)利用Random函數隨機選取(1~i)之間的一個整數,與Array[i]交換;
3)i--;
4)若i>1,重復步驟2)和3);
5)算法結束。
2.3 系統組卷的實現
考生以合法身份登錄考試系統后,系統會自動跳轉到考生須知頁面,考生閱讀并確定后進入考試頁面,系統自動從試題庫中抽題形成試卷,同時系統開始倒計時,考生開始考試。在數據庫中,使用selecttopnorderbynewid()來實現系統的自動組卷功能。在生成試卷時,newid()會掃描每條記錄并生成一個唯一的函數值,然后將試題按照這個函數值進行排序。因為生成的函數值每次都不相同,因此每次的排序結果也不同,進而從當前排序結果里抽取前若干道題目組成的試卷也不同。對于當前題庫中試題數量較多的現狀來說,這種處理方法可以更好的避免試題的重復性,對知識點的考察更加全面,考試的結果更加具有可參考性。
2.4 考試時間控制
本考試系統的考試時間統一規定為100分鐘,具體設置由管理員通過設置試卷參數的方式進行設置。考生須在規定的時間內完成答題并提交答題結果,否則,如果考試時間結束仍未提交,系統將自動保存并提交已完成的部分。此外,系統還實現了在當前的考試頁面顯示考試剩余時間的功能,以便考試可以更加方便有效的管控好自己的考試時間和做題速度。
該系統目前已投入使用,用戶反饋在實際應用過程中效果良好,基本實現了無紙化操作,使考試從報名到考試以及成績發布整個過程實現自動化。但還存在主觀題評分不能夠完全自動化,部分模塊流程過于負責等不足,在系統進一步完善的過程中將會更加詳盡的考慮用戶的需求,這對于系統的開發過程也是非常重要的。
[1]耿小波.在線考試系統的現狀與對策研究[J].中國對外貿易(英文版),2010:23-26.
[2]董芙斌,竹翠.基于網絡的新型計算機考試系統[M].電子工業出版社,2010.
[3]方玉華.基于.NET在線考試系統的設計與實現[J].長江大學學報,2011.
楊盛苑(1985—),女,河南平頂山人,碩士,河南城建學院計算機科學與工程學院教師,研究方向:軟件工程,管理信息系統。