覃俊杰高 翔黃金春
(1.廣西中醫學校信息中心,廣西 南寧 530001;2.廣西中醫藥大學信息網絡中心,廣西 南寧 530022;3.廣西中醫藥大學圖書館信息技術部,廣西 南寧 530022)
基于微信的考試系統設計與實現
覃俊杰1高 翔2黃金春3
(1.廣西中醫學校信息中心,廣西 南寧 530001;2.廣西中醫藥大學信息網絡中心,廣西 南寧 530022;3.廣西中醫藥大學圖書館信息技術部,廣西 南寧 530022)
文章以設計廣西中醫藥大學中醫內科學考試系統為背景,介紹了如何使用SAE云計算平臺作為后臺服務器并且同時運用Servlet技術對微信公眾平臺進行消息響應的機制來設計的微信考試系統。實踐證明該系統能滿足中醫內科學平時測試和練習的需求。
微信考試;Servlet技術;緩存技術
目前很多高校還在使用傳統的紙質試卷對學生進行考核。紙質考核需要投入大量的人力物力進行組卷、評分,已經不符合當前社會對考試方式的需求了[1]。因此,人們把焦點轉向了基于WEB的網絡考試系統,相對來說比原來的考試系統更進一步。當前隨著人們對移動終端設備的持有量大大增加,迫切需要一個能隨時隨地考試和練習的平臺,因此,基于微信的網絡考試系統必將成為考試的一個重要分支[2]。
2.1系統功能模塊設計
本系統的功能模塊主要有考試模塊和練習模塊兩大模塊組成如圖 1所示。考試模塊提供了綁定、抽題、評分、計時四個功能。系統根據用戶所綁定的身份來給用戶權限,綁定了管理員身份的用戶可以進行抽題、計時、結束操作,但是綁定了學生身份的用戶只能進行考試。練習模塊提供了綁定、抽題、評分、計時、統計五個功能。練習模塊也需要用戶綁定身份,但是與考試模塊不同的在于練習模塊會立即給出正確答案和解釋,并且將用戶做錯的題目進行統計,用戶可以在練習結束之后查看自己做錯的題目。

圖1 系統模塊和功能
2.2數據庫構成
2.2.1題目表
本系統中的試題分為三大類的試題,分別是選擇題、判斷題、填空題,由于目前的技術無法實現計算機自動批閱主觀題,因此本系統中并無主觀題的設計[3]。其題目表結構如表1所示。

表1 題目表結構
2.2.2用戶表

表2 管理員表結構

表3 用戶表結構
3.1系統總體流程設計
本微信考試系統流程如圖2所示:

圖2 系統總體流程
其流程具體來說即為管理員綁定微信號——學生綁定微信號——管理員開始抽題——學生開始答題——評分模塊統計——考生交卷——顯示考生成績。
3.2綁定功能實現
在微信公眾平臺中,微信號是唯一識別每個用戶的依據,因此在使用考試系統之前就需要將用戶的學號和微信號綁定在一起,方便對學生進行管理,所謂綁定即用戶將會把自己的微信號與學號或者管理員賬號綁定在一起。當用戶回復“綁定學生”或“綁定管理員”關鍵詞時,系統將會進入綁定功能。系統首先將用戶回復的用戶名和密碼從消息中提取出來,并且分別賦予stu和pass兩個變量中。之后系統實例化一個BoundUser對象,將用戶名、賬號、密碼三個參數傳遞給這個對象的BoundUserNameToStuName方法。其核心代碼如下:

系統通過update語句對用戶(user)表進行更新,如果賬號密碼正確則更新user表,自此綁定成功。
3.3計時功能
考試都應該是在規定時間內完成,基于微信模式的考試也不例外,即要實現計時功能。但由于微信公眾平臺每次都從接入的方法開始順序的執行代碼,因此計時器實現并不容易。經研究發現系統緩存存在服務器內存中,具有一次初始化便可多次使用且不受微信結構化讀取代碼限制的特點,因此考慮可以使用系統緩存作為計時器。
具體實現方法是在考生回復“考試”時,系統將“考試”寫入緩存并且給緩存加入有效時間限制,具體代碼如下:


以上代碼為初始化考試的過程,在此過程中系統構造了一個字符串”’isOver‘+fromUserName”作為緩存變量名,值為”isAlive”意味考試沒有結束,在創建這個變量的時候系統加入了緩存存在的時間,此緩存與考試同在,當緩存被清零時即表示考試結束。并且考生答題的時候,每次答題系統都會檢查”’isOver’+fromUserName”這個緩存變量,當這個變量清空之后,系統自動結束考試[4],代碼如下:

3.4統計功能
統計功能分為分數統計和錯題統計兩種,分數統計用于統計用戶考試和練習時所得的分數并存入數據庫中;錯題統計是把做錯的題記錄到數據庫中,用戶在練習完成后,回復“查看錯題”關鍵字來查看上一次練習時做錯的題目。
基于微信的考試系統是比較新型的一種考試方式。在移動客戶端高速更新換代的今天,功能將越來越強大,能完成的任務也越來越復雜,因此人們非常樂于接受這種能夠隨時隨地練習和考試的系統。該系統相比于其他考試系統有很大不同,主要體現在:
(1)使用 SAE云服務器作為后臺服務器,穩定性強,部署簡單;
(2)基于微信公眾平臺開發,符合學生使用習慣;
(3)使用移動網絡,而不是有線網絡,學生可以隨時隨地的進行自測和練習。
[1] 劉紅軍.基于 B_S三層架構的標準化考試系統的設計與實現[D].青島:中國海洋大學,2005.
[2] 洪學銀.高等職業院校網絡考試系統的設計與實現[D].沈陽:東北大學,2008.
[3] 顧洪博.智能化網絡試題庫系統的研究與實現[D].大慶:大慶石油學院,2004.
[4] 鄢濤.基于 B_S模式的通用無紙化考試系統的設計與實現[D].成都:電子科技大學,2005.
Design and implementation of online examination system based on WeChat
To probe the use of SAE cloud computing platform as a backend server in the We Chat test system for the exam of Internal Medicine of Traditional Chinese Medicine in Guangxi University of Chinese Medicine, in application of the Servlet technology with Message Control Mechanism in the WeChat public platform. The outcome showed the test system can meet the need of the daily use, including testing and practicing in the subject of Internal Medicine of Traditional Chinese Medicine.
We Chat test system; Servlet technology; caching technology
G64
A
1008-1151(2015)12-0018-03
2015-11-10
覃俊杰(1990-),男,廣西柳州人,廣西中醫學校信息中心工程師,研究方向為現代化教育。