?

基于微信的在線測試系統的設計與實現

2017-03-22 12:43王榮海張偉兵
軟件工程 2017年1期
關鍵詞:測試項目微信公眾平臺

王榮?!垈ケ?/p>

摘 要:本文在對移動學習理論與實踐及微信學習應用研究的基礎上,設計并實現了一個基于微信的在線測試系統。該在線測試系統后臺管理的主要功能有用戶管理、測試項目管理、試題管理、測試發布、測試評分、成績分析等,微信客戶端通過訪問微信公眾號有選擇測試項目、自由練習、參加測試、試題解析等功能。本文闡述了利用微信公眾平臺開發應用系統的流程以及在線測試系統的實現。用戶通過微信公眾平臺可以隨時隨地進行在線測試與學習。

關鍵詞:在線測試系統;微信公眾平臺;測試項目;jQuery Mobile

中圖分類號:TP311.5 文獻標識碼:A

1 引言(Introduction)

隨著智能手機及平板電腦的普及,各種移動應用層出不窮,在教育領域,移動終端也發揮著越來越大的作用。在國外,十幾年來針對移動應用的理論研究與實踐一直在持續進行著。文獻[1]提出了一個利用移動技術構建支持終身學習系統的框架,包括軟件、硬件、通信及界面設計等,并對給出的一個示范性系統進行了評估。文獻[2]開發了一個移動學習原型程序用來輔助課堂教學并在大學本科及研究生課程中使用,結果表明移動技術可以在高等教育中發揮較大的作用。文獻[3]通過實驗組與對照組研究第二外語學習者利用移動設備輔助英語短語學習,結果表明,使用移動設備可以取得較好的學習效果。

微信作為社交類軟件的代表已經成為增長最快的手機應用與互聯網服務[4],目前微信已經成為移動互聯網的主要入口之一。在微信平臺上已經構建了各種類型的移動應用,包括移動學習方面的應用。近年來,國內學者針對微信在移動學習方面的應用進行了研究,文獻[5]針對微信支持下的移動學習平臺進行研究,并且設計了一個基于微信的移動學習平臺,文獻[6]研究了在線學習平臺和微信協作學習知識建構層次分析,研究表明,在線學習平臺在協作學習方面質量高于簡單的微信交流。微信平臺若要發揮其在移動學習方面的功能,還需要設計相應的應用程序,本文基于微信設計并實現了一個在線測試系統。

2 系統功能設計(System function design)

基于微信的在線測試系統的功能分為后臺管理與微信客戶端兩部分,兩部分的主要功能模塊如圖1所示。

2.1 后臺管理功能設計

后臺管理的主要功能如下:

(1)用戶管理:對在線測試系統的用戶進行管理。用戶必須先關注提供在線測試系統的微信公眾號,可以對用戶進行增加、刪除、修改等操作,可以以班級為單位對用戶進行分組,從而支持班級形式的分組教學。

(2)測試項目。在線測試系統可以根據實際情況提供各種各樣的測試項目,取決于微信公眾號運營者的實際需求。如果運營者是各級學校的教師,測試項目可以是所任教的課程,也可以是一些公共課程,比如大學英語、計算機基礎、程序設計基礎等;如果運營者是培訓機構,測試項目可以是所培訓的相關項目;另外測試項目也可以靈活地應用到其他場合,比如調查表、投票系統等。

(3)試題管理。針對不同類型的測試項目,可以支持不同類型的試題。對于學校的教學應用,所有課程都支持常規的單項選擇、多項選擇、判斷及填空等客觀題,系統也內置了對部分主觀題型的支持如簡答題,綜合題等。當選擇試題管理功能時,首先選擇系統中已有的測試項目,接著進入相應試題的添加、修改與刪除等,對于單項選擇、多項選擇、判斷題,試題管理支持試題的批量導入,只要下載相應的試題模板文件,按照模板文件的格式輸入試題的各項信息就可以實現試題的批量導入。

(4)測試發布。首先選擇測試項目,接著選擇要發布的試題并設定各個題目的分值,可以限定測試完成的時間段,這適合于班級教學的集中測試,如果沒有限定測試時間,則用戶可以在任何時間段進行測試,最后進行再次確認,測試發布的流程如圖2所示。

(5)測試評分。對于選擇、判斷、填空等客觀題,系統可以進行自動評分,但對于填空題在錄入題目時必須設定所有的參考答案,才能保證評分的客觀性,為此系統針對填空題的評分除了自動評分外還允許進行人工確認。對于簡答、綜合等主觀題,則通過在同一屏幕同時顯示作答情況及參考答案進行人工評分。測試評分通常用于以班級為單位進行集中測試的情況。

(6)成績分析。對于以班級為單位組織的測試,教師可以進行成績分析,針對一次測試,可以統計參加測試的人數、平均分、各個分數段的人數及百分比,可以對成績進行排序,還可以進行一些比較深層次的分析,如可以分析每種題型參加測試者的得分情況,每道題的得分率等。

(7)菜單設置??梢栽O置微信客戶端進入公眾號后在屏幕底部顯示的菜單,方便用戶進行快捷訪問。

2.2 微信客戶端功能設計

微信客戶端的主要功能如下:

(1)用戶注冊。用戶關注提供在線測試系統功能的微信公眾號后,還需要進行注冊才能使用測試系統的完整功能,也才能保存參加測試的數據,只關注微信公眾號但沒有進行注冊的用戶只能完成系統提供的一些公共的測試項目??紤]到用戶的操作體驗,注冊時僅需提供昵稱、性別、聯系郵箱等必填信息,其他信息如學校、學號、姓名、出生年月、聯系電話、QQ號、聯系地址等則作為選填信息,如果學校使用該在線測試系統輔助教學,則需要學生在注冊時把信息填寫完整才能參加以班級為單位組織的測試等功能。

(2)項目選擇。用戶進入在線測試系統所在微信公眾號后,可以通過發送信息及微信底部菜單兩種方式選擇測試項目,通常是發送測試項目名稱,比如發送“計算機基礎”可以進入計算機基礎測試項目,也可以在后臺管理的測試項目功能中進行設定,比如可以設定發送“jsj”進入計算機基礎測試項目。通過在后臺管理菜單設置功能中可以設置菜單項,讓用戶通過菜單快速進入某個測試項目。

(3)自由練習。用戶進入某個測試項目后,選擇自由練習可以進行自由練習。自由練習的題目主要是客觀題,以單項選擇題為例,用戶選擇單項選擇題后,可以設定練習的題目數量,默認為20題,可以設定要測試的知識點,比如對于計算機基礎課程,可以選擇全部知識點或者某一章節的知識點,確定了題目數量和知識點后,就可以開始練習,每道題選擇完后自動進入下一題,所有題目答題完成后顯示答題結果,答題結果顯示每道題的正誤,并且可以查看試題解析。

(4)參加測試。用戶進入某個測試項目后,選擇已發布的測試可以查看到通過后臺管理發布的測試。用戶進入測試后,答題方式與自由練習差不多,只是測試完成后沒有顯示答題結果,也不能馬上查看試題解析。如果應用于課堂教學,教師可以事先在后臺發布測試,然后在上課期間通知學生進入測試,學生完成測試后,教師可以實時在后臺查看到學生的測試結果并可以通過多媒體投影等形式反饋給學生,通過這種方式可以實現課堂上的互動反饋功能。

(5)試題解析。用戶進入某個測試項目后,選擇試題解析可以查看自己參加過的測試的試題解析。

3 數據庫設計(Database design)

本系統數據庫采用MySQL,數據庫中主要數據表的信息如表1所示。

與數據表相應的實體之間的關系如圖3所示。該圖表明一個測試項目擁有多道習題,一種題型包括多道習題,一次測試可以包括多道習題,一道習題也可以用于多次測試,一個用戶可以參加多次測試,一個用戶有多條答題記錄。

4 開發流程與系統實現(Development process and system implementation)

4.1 微信應用開發流程

基于微信公眾號的應用開發流程可以用圖4表示,以下進行簡要說明。

(1)申請微信公眾號。要開發基于微信公眾號的應用,首先要申請一個微信公眾號,只要到微信公眾平臺網站按提示申請即可,在微信公眾號應用開發完成之前,可以先申請一個接口測試號,利用該接口測試號,即使沒有公眾號,也可以直接體驗和測試公眾平臺所有高級接口[7]。

(2)搭建服務器運行環境。開發的程序需要上傳至服務器中,服務器可以使用傳統的虛擬主機或者云服務器。微信開發通常使用PHP,服務器端一般安裝PHP、MySQL及Apache組合,服務器操作系統可以選用Windows系列或者Linux。

(3)開啟公眾號開發者模式。剛申請的微信公眾號默認不在開發者模式下,開發者必須登錄微信公眾平臺管理頁面,在開發的基本配置中啟用服務器配置。

(4)進行開發基本配置。配置包括URL即服務器地址,這是開發者要存放代碼的服務器的地址;Token用來和接口URL中包含的Token進行比對,從而驗證安全性;消息加解密方式可以設置為明文模式,兼容模式或安全模式。

(5)編寫代碼上傳服務器。按照公眾平臺技術文檔,結合具體應用的功能設計編寫應用代碼并上傳到在基本配置中設置的服務器上。

(6)進行模擬測試。通過微信公眾平臺接口調試工具可以幫助開發者檢測調用開發者API時發送的請求參數是否正確,并可獲得服務器的驗證結果,可以測試開發者的代碼邏輯是否存在錯誤,是否與預期相符合[8]。

(7)微信客戶端測試。開發者通過自己的個人微信號掃描公眾號二維碼關注微信公眾號,測試應用程序在微信客戶端的運行效果,根據運行結果判斷代碼是否有邏輯錯誤,從而進行修正與完善。

(8)完成所有系統功能。按照功能設計的內容,逐項實現相應功能,各項功能相對完善后,可以對外推廣微信公眾號,讓更多的人通過公眾號使用系統的功能。

4.2 系統實現

本系統的實現結合了Html5及PHP技術,在實現中使用了jQuery Mobile框架,數據庫采用MySQL,為了簡化對數據庫的訪問,編寫了數據庫操作公用函數庫[9]。以下是本系統的部分實現界面。

圖5是關注并進入公眾號后的界面,可以通過關鍵字回復或選擇菜單項進入相應功能。圖6是測試功能選擇,圖7用來選擇要參加的測試,這兩個界面的列表使用了jQuery Mobile的List View UI組件。圖8是答題界面,選擇項使用了jQuery Mobile的Radio Button UI組件,底部按鈕則使用了Grouped Buttons UI組件。

5 結論(Conclusion)

隨著智能手機與平板電腦的普及,移動學習已經成為移動互聯網的重要組成部分。微信作為移動互聯網的入口正扮演著越來越重要的角色,開發基于微信的移動學習應用具有廣闊的應用前景。本文實現的在線測試系統已經在一定范圍內使用,目前注冊用戶數2000人左右,平均每天在線學習的人數在200人左右,在對用戶的調查中,普遍反映本系統對他們的學習有一定的幫助。后續將繼續完善系統的功能,以方便使用者充分利用碎片化時間隨時隨地進行學習。

參考文獻(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].現代傳播:中國傳媒大學學報,2013,35(6):122-127.

[5] 朱學偉,朱昱,徐小麗.微信支持下的移動學習平臺研究與設計[J].中國遠程教育,2014(4):77-83.

[6] 柳瑞雪,石長地,孫眾.學習管理系統和社交平臺協作學習知識建構層次分析[J].中國遠程教育,2016(7):10-19.

[7] 微信公眾平臺接口測試號申請頁面[EB/OL].http://mp.weixin.qq.com/debug/cgi-bin/sandbox?t=sandbox/login.

[8] 微信公眾平臺技術文檔[EB/OL].https://mp.weixin.qq.com/wiki.

[9] 宋利,張偉兵,王榮海.基于移動互聯網的個人學習助理開發研究[J].軟件工程:2016,19(6):34-37.

作者簡介:

王榮海(1972-),男,碩士,副教授.研究領域:軟件工程,虛擬現實,移動互聯網.

張偉兵(1992-),男,本科生.研究領域:軟件開發.

猜你喜歡
測試項目微信公眾平臺
我國金融科技“監管沙盒”測試項目準入標準制度研究
籃球半場往返運球上籃的訓練方法——體育中考籃球測試項目訓練心得
智能家電關鍵零部件
基于微信公眾平臺的高校綜合素質社團建設
基于微信公眾平臺的閱讀推廣案例研究
基于微信的大學生微型學習平臺的設計與實現
基于微信公眾平臺的碎片化學習研究
媒體融合背景下出版社微信公眾平臺發展研究
微信公眾平臺在高校圖書館信息服務中的應用研究
纖檢機構管理信息系統標準項目庫存在的問題及改進建議
91香蕉高清国产线观看免费-97夜夜澡人人爽人人喊a-99久久久无码国产精品9-国产亚洲日韩欧美综合