王榮海 張偉兵
摘 要:本文在對移動學(xué)習(xí)理論與實踐及微信學(xué)習(xí)應(yīng)用研究的基礎(chǔ)上,設(shè)計并實現(xiàn)了一個基于微信的在線測試系統(tǒng)。該在線測試系統(tǒng)后臺管理的主要功能有用戶管理、測試項目管理、試題管理、測試發(fā)布、測試評分、成績分析等,微信客戶端通過訪問微信公眾號有選擇測試項目、自由練習(xí)、參加測試、試題解析等功能。本文闡述了利用微信公眾平臺開發(fā)應(yīng)用系統(tǒng)的流程以及在線測試系統(tǒng)的實現(xiàn)。用戶通過微信公眾平臺可以隨時隨地進(jìn)行在線測試與學(xué)習(xí)。
關(guān)鍵詞:在線測試系統(tǒng);微信公眾平臺;測試項目;jQuery Mobile
中圖分類號:TP311.5 文獻(xiàn)標(biāo)識碼:A
1 引言(Introduction)
隨著智能手機(jī)及平板電腦的普及,各種移動應(yīng)用層出不窮,在教育領(lǐng)域,移動終端也發(fā)揮著越來越大的作用。在國外,十幾年來針對移動應(yīng)用的理論研究與實踐一直在持續(xù)進(jìn)行著。文獻(xiàn)[1]提出了一個利用移動技術(shù)構(gòu)建支持終身學(xué)習(xí)系統(tǒng)的框架,包括軟件、硬件、通信及界面設(shè)計等,并對給出的一個示范性系統(tǒng)進(jìn)行了評估。文獻(xiàn)[2]開發(fā)了一個移動學(xué)習(xí)原型程序用來輔助課堂教學(xué)并在大學(xué)本科及研究生課程中使用,結(jié)果表明移動技術(shù)可以在高等教育中發(fā)揮較大的作用。文獻(xiàn)[3]通過實驗組與對照組研究第二外語學(xué)習(xí)者利用移動設(shè)備輔助英語短語學(xué)習(xí),結(jié)果表明,使用移動設(shè)備可以取得較好的學(xué)習(xí)效果。
微信作為社交類軟件的代表已經(jīng)成為增長最快的手機(jī)應(yīng)用與互聯(lián)網(wǎng)服務(wù)[4],目前微信已經(jīng)成為移動互聯(lián)網(wǎng)的主要入口之一。在微信平臺上已經(jīng)構(gòu)建了各種類型的移動應(yīng)用,包括移動學(xué)習(xí)方面的應(yīng)用。近年來,國內(nèi)學(xué)者針對微信在移動學(xué)習(xí)方面的應(yīng)用進(jìn)行了研究,文獻(xiàn)[5]針對微信支持下的移動學(xué)習(xí)平臺進(jìn)行研究,并且設(shè)計了一個基于微信的移動學(xué)習(xí)平臺,文獻(xiàn)[6]研究了在線學(xué)習(xí)平臺和微信協(xié)作學(xué)習(xí)知識建構(gòu)層次分析,研究表明,在線學(xué)習(xí)平臺在協(xié)作學(xué)習(xí)方面質(zhì)量高于簡單的微信交流。微信平臺若要發(fā)揮其在移動學(xué)習(xí)方面的功能,還需要設(shè)計相應(yīng)的應(yīng)用程序,本文基于微信設(shè)計并實現(xiàn)了一個在線測試系統(tǒng)。
2 系統(tǒng)功能設(shè)計(System function design)
基于微信的在線測試系統(tǒng)的功能分為后臺管理與微信客戶端兩部分,兩部分的主要功能模塊如圖1所示。
2.1 后臺管理功能設(shè)計
后臺管理的主要功能如下:
(1)用戶管理:對在線測試系統(tǒng)的用戶進(jìn)行管理。用戶必須先關(guān)注提供在線測試系統(tǒng)的微信公眾號,可以對用戶進(jìn)行增加、刪除、修改等操作,可以以班級為單位對用戶進(jìn)行分組,從而支持班級形式的分組教學(xué)。
(2)測試項目。在線測試系統(tǒng)可以根據(jù)實際情況提供各種各樣的測試項目,取決于微信公眾號運營者的實際需求。如果運營者是各級學(xué)校的教師,測試項目可以是所任教的課程,也可以是一些公共課程,比如大學(xué)英語、計算機(jī)基礎(chǔ)、程序設(shè)計基礎(chǔ)等;如果運營者是培訓(xùn)機(jī)構(gòu),測試項目可以是所培訓(xùn)的相關(guān)項目;另外測試項目也可以靈活地應(yīng)用到其他場合,比如調(diào)查表、投票系統(tǒng)等。
(3)試題管理。針對不同類型的測試項目,可以支持不同類型的試題。對于學(xué)校的教學(xué)應(yīng)用,所有課程都支持常規(guī)的單項選擇、多項選擇、判斷及填空等客觀題,系統(tǒng)也內(nèi)置了對部分主觀題型的支持如簡答題,綜合題等。當(dāng)選擇試題管理功能時,首先選擇系統(tǒng)中已有的測試項目,接著進(jìn)入相應(yīng)試題的添加、修改與刪除等,對于單項選擇、多項選擇、判斷題,試題管理支持試題的批量導(dǎo)入,只要下載相應(yīng)的試題模板文件,按照模板文件的格式輸入試題的各項信息就可以實現(xiàn)試題的批量導(dǎo)入。
(4)測試發(fā)布。首先選擇測試項目,接著選擇要發(fā)布的試題并設(shè)定各個題目的分值,可以限定測試完成的時間段,這適合于班級教學(xué)的集中測試,如果沒有限定測試時間,則用戶可以在任何時間段進(jìn)行測試,最后進(jìn)行再次確認(rèn),測試發(fā)布的流程如圖2所示。
(5)測試評分。對于選擇、判斷、填空等客觀題,系統(tǒng)可以進(jìn)行自動評分,但對于填空題在錄入題目時必須設(shè)定所有的參考答案,才能保證評分的客觀性,為此系統(tǒng)針對填空題的評分除了自動評分外還允許進(jìn)行人工確認(rèn)。對于簡答、綜合等主觀題,則通過在同一屏幕同時顯示作答情況及參考答案進(jìn)行人工評分。測試評分通常用于以班級為單位進(jìn)行集中測試的情況。
(6)成績分析。對于以班級為單位組織的測試,教師可以進(jìn)行成績分析,針對一次測試,可以統(tǒng)計參加測試的人數(shù)、平均分、各個分?jǐn)?shù)段的人數(shù)及百分比,可以對成績進(jìn)行排序,還可以進(jìn)行一些比較深層次的分析,如可以分析每種題型參加測試者的得分情況,每道題的得分率等。
(7)菜單設(shè)置??梢栽O(shè)置微信客戶端進(jìn)入公眾號后在屏幕底部顯示的菜單,方便用戶進(jìn)行快捷訪問。
2.2 微信客戶端功能設(shè)計
微信客戶端的主要功能如下:
(1)用戶注冊。用戶關(guān)注提供在線測試系統(tǒng)功能的微信公眾號后,還需要進(jìn)行注冊才能使用測試系統(tǒng)的完整功能,也才能保存參加測試的數(shù)據(jù),只關(guān)注微信公眾號但沒有進(jìn)行注冊的用戶只能完成系統(tǒng)提供的一些公共的測試項目。考慮到用戶的操作體驗,注冊時僅需提供昵稱、性別、聯(lián)系郵箱等必填信息,其他信息如學(xué)校、學(xué)號、姓名、出生年月、聯(lián)系電話、QQ號、聯(lián)系地址等則作為選填信息,如果學(xué)校使用該在線測試系統(tǒng)輔助教學(xué),則需要學(xué)生在注冊時把信息填寫完整才能參加以班級為單位組織的測試等功能。
(2)項目選擇。用戶進(jìn)入在線測試系統(tǒng)所在微信公眾號后,可以通過發(fā)送信息及微信底部菜單兩種方式選擇測試項目,通常是發(fā)送測試項目名稱,比如發(fā)送“計算機(jī)基礎(chǔ)”可以進(jìn)入計算機(jī)基礎(chǔ)測試項目,也可以在后臺管理的測試項目功能中進(jìn)行設(shè)定,比如可以設(shè)定發(fā)送“jsj”進(jìn)入計算機(jī)基礎(chǔ)測試項目。通過在后臺管理菜單設(shè)置功能中可以設(shè)置菜單項,讓用戶通過菜單快速進(jìn)入某個測試項目。
(3)自由練習(xí)。用戶進(jìn)入某個測試項目后,選擇自由練習(xí)可以進(jìn)行自由練習(xí)。自由練習(xí)的題目主要是客觀題,以單項選擇題為例,用戶選擇單項選擇題后,可以設(shè)定練習(xí)的題目數(shù)量,默認(rèn)為20題,可以設(shè)定要測試的知識點,比如對于計算機(jī)基礎(chǔ)課程,可以選擇全部知識點或者某一章節(jié)的知識點,確定了題目數(shù)量和知識點后,就可以開始練習(xí),每道題選擇完后自動進(jìn)入下一題,所有題目答題完成后顯示答題結(jié)果,答題結(jié)果顯示每道題的正誤,并且可以查看試題解析。
(4)參加測試。用戶進(jìn)入某個測試項目后,選擇已發(fā)布的測試可以查看到通過后臺管理發(fā)布的測試。用戶進(jìn)入測試后,答題方式與自由練習(xí)差不多,只是測試完成后沒有顯示答題結(jié)果,也不能馬上查看試題解析。如果應(yīng)用于課堂教學(xué),教師可以事先在后臺發(fā)布測試,然后在上課期間通知學(xué)生進(jìn)入測試,學(xué)生完成測試后,教師可以實時在后臺查看到學(xué)生的測試結(jié)果并可以通過多媒體投影等形式反饋給學(xué)生,通過這種方式可以實現(xiàn)課堂上的互動反饋功能。
(5)試題解析。用戶進(jìn)入某個測試項目后,選擇試題解析可以查看自己參加過的測試的試題解析。
3 數(shù)據(jù)庫設(shè)計(Database design)
本系統(tǒng)數(shù)據(jù)庫采用MySQL,數(shù)據(jù)庫中主要數(shù)據(jù)表的信息如表1所示。
與數(shù)據(jù)表相應(yīng)的實體之間的關(guān)系如圖3所示。該圖表明一個測試項目擁有多道習(xí)題,一種題型包括多道習(xí)題,一次測試可以包括多道習(xí)題,一道習(xí)題也可以用于多次測試,一個用戶可以參加多次測試,一個用戶有多條答題記錄。
4 開發(fā)流程與系統(tǒng)實現(xiàn)(Development process and system implementation)
4.1 微信應(yīng)用開發(fā)流程
基于微信公眾號的應(yīng)用開發(fā)流程可以用圖4表示,以下進(jìn)行簡要說明。
(1)申請微信公眾號。要開發(fā)基于微信公眾號的應(yīng)用,首先要申請一個微信公眾號,只要到微信公眾平臺網(wǎng)站按提示申請即可,在微信公眾號應(yīng)用開發(fā)完成之前,可以先申請一個接口測試號,利用該接口測試號,即使沒有公眾號,也可以直接體驗和測試公眾平臺所有高級接口[7]。
(2)搭建服務(wù)器運行環(huán)境。開發(fā)的程序需要上傳至服務(wù)器中,服務(wù)器可以使用傳統(tǒng)的虛擬主機(jī)或者云服務(wù)器。微信開發(fā)通常使用PHP,服務(wù)器端一般安裝PHP、MySQL及Apache組合,服務(wù)器操作系統(tǒng)可以選用Windows系列或者Linux。
(3)開啟公眾號開發(fā)者模式。剛申請的微信公眾號默認(rèn)不在開發(fā)者模式下,開發(fā)者必須登錄微信公眾平臺管理頁面,在開發(fā)的基本配置中啟用服務(wù)器配置。
(4)進(jìn)行開發(fā)基本配置。配置包括URL即服務(wù)器地址,這是開發(fā)者要存放代碼的服務(wù)器的地址;Token用來和接口URL中包含的Token進(jìn)行比對,從而驗證安全性;消息加解密方式可以設(shè)置為明文模式,兼容模式或安全模式。
(5)編寫代碼上傳服務(wù)器。按照公眾平臺技術(shù)文檔,結(jié)合具體應(yīng)用的功能設(shè)計編寫應(yīng)用代碼并上傳到在基本配置中設(shè)置的服務(wù)器上。
(6)進(jìn)行模擬測試。通過微信公眾平臺接口調(diào)試工具可以幫助開發(fā)者檢測調(diào)用開發(fā)者API時發(fā)送的請求參數(shù)是否正確,并可獲得服務(wù)器的驗證結(jié)果,可以測試開發(fā)者的代碼邏輯是否存在錯誤,是否與預(yù)期相符合[8]。
(7)微信客戶端測試。開發(fā)者通過自己的個人微信號掃描公眾號二維碼關(guān)注微信公眾號,測試應(yīng)用程序在微信客戶端的運行效果,根據(jù)運行結(jié)果判斷代碼是否有邏輯錯誤,從而進(jìn)行修正與完善。
(8)完成所有系統(tǒng)功能。按照功能設(shè)計的內(nèi)容,逐項實現(xiàn)相應(yīng)功能,各項功能相對完善后,可以對外推廣微信公眾號,讓更多的人通過公眾號使用系統(tǒng)的功能。
4.2 系統(tǒng)實現(xiàn)
本系統(tǒng)的實現(xiàn)結(jié)合了Html5及PHP技術(shù),在實現(xiàn)中使用了jQuery Mobile框架,數(shù)據(jù)庫采用MySQL,為了簡化對數(shù)據(jù)庫的訪問,編寫了數(shù)據(jù)庫操作公用函數(shù)庫[9]。以下是本系統(tǒng)的部分實現(xiàn)界面。
圖5是關(guān)注并進(jìn)入公眾號后的界面,可以通過關(guān)鍵字回復(fù)或選擇菜單項進(jìn)入相應(yīng)功能。圖6是測試功能選擇,圖7用來選擇要參加的測試,這兩個界面的列表使用了jQuery Mobile的List View UI組件。圖8是答題界面,選擇項使用了jQuery Mobile的Radio Button UI組件,底部按鈕則使用了Grouped Buttons UI組件。
5 結(jié)論(Conclusion)
隨著智能手機(jī)與平板電腦的普及,移動學(xué)習(xí)已經(jīng)成為移動互聯(lián)網(wǎng)的重要組成部分。微信作為移動互聯(lián)網(wǎng)的入口正扮演著越來越重要的角色,開發(fā)基于微信的移動學(xué)習(xí)應(yīng)用具有廣闊的應(yīng)用前景。本文實現(xiàn)的在線測試系統(tǒng)已經(jīng)在一定范圍內(nèi)使用,目前注冊用戶數(shù)2000人左右,平均每天在線學(xué)習(xí)的人數(shù)在200人左右,在對用戶的調(diào)查中,普遍反映本系統(tǒng)對他們的學(xué)習(xí)有一定的幫助。后續(xù)將繼續(xù)完善系統(tǒng)的功能,以方便使用者充分利用碎片化時間隨時隨地進(jìn)行學(xué)習(xí)。
參考文獻(xiàn)(References)
[1] SharplesM.The Design of Personal Mobile Technologies for Lifelong Learning[J].Computers & Education,2000,34(3-4):177-193.
[2] Motiwalla LF.Mobile Learning:A Framework and Evaluation[J].Computers & Education,2007,49(3):581-596.
[3] PLLiu,CJ Chen.Learning English through Actions:a Study of Mobile-Assisted Language Learning[J].Interactive Learning Environments,2015,23(2):158-171.
[4] 方興東,等.微信傳播機(jī)制與治理問題研究[J].現(xiàn)代傳播:中國傳媒大學(xué)學(xué)報,2013,35(6):122-127.
[5] 朱學(xué)偉,朱昱,徐小麗.微信支持下的移動學(xué)習(xí)平臺研究與設(shè)計[J].中國遠(yuǎn)程教育,2014(4):77-83.
[6] 柳瑞雪,石長地,孫眾.學(xué)習(xí)管理系統(tǒng)和社交平臺協(xié)作學(xué)習(xí)知識建構(gòu)層次分析[J].中國遠(yuǎn)程教育,2016(7):10-19.
[7] 微信公眾平臺接口測試號申請頁面[EB/OL].http://mp.weixin.qq.com/debug/cgi-bin/sandbox?t=sandbox/login.
[8] 微信公眾平臺技術(shù)文檔[EB/OL].https://mp.weixin.qq.com/wiki.
[9] 宋利,張偉兵,王榮海.基于移動互聯(lián)網(wǎng)的個人學(xué)習(xí)助理開發(fā)研究[J].軟件工程:2016,19(6):34-37.
作者簡介:
王榮海(1972-),男,碩士,副教授.研究領(lǐng)域:軟件工程,虛擬現(xiàn)實,移動互聯(lián)網(wǎng).
張偉兵(1992-),男,本科生.研究領(lǐng)域:軟件開發(fā).