胡劍鋒
摘要:論文主要實現(xiàn)了一個基于Android平臺的在線考試系統(tǒng)。該系統(tǒng)上是以Android為終端,提供在線考試、客觀題的閱卷工作等相關服務,通過移動無線網(wǎng)絡技術(shù)實現(xiàn)在線考試系統(tǒng)。系統(tǒng)主要包括Android客戶端、服務端二大功能結(jié)構(gòu)模塊。
關鍵詞:Android;在線考試;客戶端;移動
中圖分類號:TP311 文獻標識碼:A 文章編號:1009-3044(2015)34-0082-03
Abstract:This paper mainly realizes an online examination system based on Android platform. The system is based on Android as the terminal, provides online examination, objective examination papers and other related services, through mobile wireless network technology to achieve online examination system. System mainly includes Android client, server two functional structure module.
Key words: Android; online test; client; mobile
隨著互聯(lián)網(wǎng)技術(shù)的迅速發(fā)展,特別是近年來校園內(nèi)無線網(wǎng)絡的全面覆蓋以及WiFi的使用范圍不斷擴展,基于Android平臺的智能手機等移動智能設備在大學校園內(nèi)迅速得到普及,對校園日常生活特別是學生生活產(chǎn)生了巨大的影響。因此,本文設計并實現(xiàn)了一種基于Android平臺智能手機的在線考試系統(tǒng),以適應校園的這種變化。利用該系統(tǒng),教師可以對考題進行更新和維護,不斷擴展對知識點考查的覆蓋,學生平時也可以在手機上下載安裝該系統(tǒng)的APP進行在線試題練習,在教師開放考試后,可以進行在線考試,系統(tǒng)會隨機抽取相應試題進行自動組卷,以脫離傳統(tǒng)紙質(zhì)組卷考試。
目前在很多高職院校中都擁有自己的在線考試系統(tǒng),但基本上都是基于B/S或C/S等結(jié)構(gòu)模式,這些考核形式在靈活度、自由度等方面有所欠缺。特別是在電腦設備資源有限的情況下,導致安排考試場次時間不足,教師也無法及時獲取學生階段性學習結(jié)果的反饋信息,從而影響到整個教學過程的順利實施。
目前高職院校學生在線考試系統(tǒng)基本上是由專門的理員來負責管理維護,將系統(tǒng)部署到相關實驗室,在需要進行考核的時候,通過系部教務與實驗室管理員溝通過后,安排班級考試具體時間和實驗室,這種方式就需要與學生人數(shù)相對應的計算機,才能完成相應考試,否則只能錯開場次。
本文介紹胃基于Android的在線考試系統(tǒng)的設計與開發(fā),采用Java和Eclipse開發(fā)環(huán)境,后臺數(shù)據(jù)庫采用MySQL作為數(shù)據(jù)庫開發(fā)環(huán)境。
1 Android操作系統(tǒng)介紹
Android操作系統(tǒng)平臺是由Google公司開發(fā)的一款專門面向移動應用平臺的開源操作系統(tǒng),由Google和二十多家業(yè)界重量級企業(yè)聯(lián)盟提供技術(shù)支持。目前在校大學生中絕大多數(shù)的學生使用的智能手機都采用Android操作系統(tǒng),只要是Android操作系統(tǒng)擁有豐富的硬件資源和各種APP應用程序、而且因為Android操作系統(tǒng)支開源免費的特點,全國各大手機生產(chǎn)商基本采用Android操作系統(tǒng)。目前已在大學校園中的智能手機市場中占據(jù)龍頭地位。
Android設備相比于其它智能設備而言,具有相對的價格優(yōu)勢,而且性能也相當出色??紤]學生的實際情況,Android手機在學生中還是占有相當大的比例,在前期系統(tǒng)試用或推廣上也具有很大優(yōu)勢,所以采用Android設備作為考試客戶端。
Android平臺中給出了四大組件(Activity、Service、Broadcast Receiver、Content Privider)供開發(fā)者使用,這四大組件分別實現(xiàn)了不同的功能:
1)Activity
在Android開發(fā)中,Activity是非常重要的組件,其承載了所有程序的UI界面和運行流程,其概念和網(wǎng)頁相類似。
2)Service
Service依賴后臺運行,可以不停地運行,與Activity的主要區(qū)別是界面,但可以和其他組件進行相互交互。
3)Broadcast Receiver
Broadcast Receiver是廣播接收者,主要過濾應用程序之間傳輸?shù)男畔?,然后接受該信息并對之響應的一類組件。
4)Content Privider
Content Privider是內(nèi)容提供者,主要用于應用之間的數(shù)據(jù)提供和交換,也可以使用它對外部應用提供數(shù)據(jù)。
2 在線考試系統(tǒng)設計
2.1 系統(tǒng)整體設計
本系統(tǒng)的整體框架圖如圖1所示,客戶端需要安裝APP,并獲得訪問網(wǎng)絡授權(quán),采用C/S模式,以更好地利用Android系統(tǒng)資源,服務器端采用B/S模式實現(xiàn),提供各種API接口,方便客戶端對服務端的訪問。
服務器端的數(shù)據(jù)主要來自數(shù)據(jù)庫以及客戶端輸入數(shù)據(jù),服務端的API接口則用來完成系統(tǒng)業(yè)務邏輯操作以及對客戶端發(fā)來的數(shù)據(jù)進行處理,處理結(jié)果封裝成JSON格式回傳給客戶端??蛻舳藙t完成兩方面工作,一方面提供操作界面,接收來自于用戶的輸入(包括數(shù)據(jù)和指令),發(fā)送至服務端進行處理;另一方面接收來自服務端的處理結(jié)果,并進行解析處理,用于呈現(xiàn)給用戶查看??蛻舳艘话悴恢苯舆M行數(shù)據(jù)處理,只是進行數(shù)據(jù)的中轉(zhuǎn)和解析工作,保證數(shù)據(jù)的安全性。
根據(jù)前期調(diào)研分析,整個系統(tǒng)Android客戶端、服務端二大功能部分。
2.2 詳細設計
1)客戶端設計
根據(jù)前期調(diào)研結(jié)構(gòu),該模塊前臺功能結(jié)構(gòu)如圖2所示,客戶端主要完成以下功能:
l 考生登陸賬號,并能進行相應管理。
l 系統(tǒng)完成自動組卷,從試題庫中隨機抽取試題,以保證多樣性。
l 在線考試功能,自動閱卷并給出成績。
l 計時功能,計時結(jié)束,能夠自動交卷。
l 提供成績查詢功能。
考生登錄該系統(tǒng)后,就可以打開在線考試模塊,查看可考科目,進行科目選擇,系統(tǒng)進行自動組卷,然后進行該科目的考試,考試結(jié)束后,系統(tǒng)進行閱卷及評分,顯示成績,考生看到成績后即可退出登錄,服務器記錄該考生已經(jīng)完成本場考試。
考生登錄該系統(tǒng)后也可進行密碼修改和身份信息的完善,也可進行成績查詢。
每門課任課老師來導入?yún)⒓釉撻T課考試的學生信息。
2)服務端設計
本系統(tǒng)服務器端主要實現(xiàn)以下功能:數(shù)據(jù)存儲功能、數(shù)據(jù)處理功能和后臺管理系統(tǒng)功能,各模塊的具體實現(xiàn)如下:
3 系統(tǒng)功能實現(xiàn)
3.1 服務器端功能實現(xiàn)
1)服務器端的數(shù)據(jù)存儲功能。本系統(tǒng)采用MySQL數(shù)據(jù)庫進行數(shù)據(jù)存儲,數(shù)據(jù)庫最主要的表是試題表,考生信息表,課程表,試卷表,考試信息表等。在校的注冊學生由管理員直接導入學生信息,課程可考學生信息由任課教師進行數(shù)據(jù)選擇即可。
2)數(shù)據(jù)處理功能。服務器端主要功能就是進行數(shù)據(jù)處理,那就需要提供各種API供客戶端調(diào)用。服務器端要求能夠處理客戶端發(fā)來的請求信息,然后服務器依據(jù)請求調(diào)用相應的API來作出相應的處理,并將處理后的數(shù)據(jù)通過API接口返回給客戶端并在UI界面上作出相應顯示,以便考生能夠及時了解考試信息,并進行相應操作。這樣避免了客戶端直接進行數(shù)據(jù)庫操作,節(jié)約客戶端操作時間,也方便進行客戶端開發(fā),同時保證了數(shù)據(jù)庫的安全。
3)后臺管理功能。系統(tǒng)管理員主要負責維護系統(tǒng)后臺信息,包括考生信息導入、待考課程信息,考試時間信息,考試通知等。同時也統(tǒng)籌負責課程考試的安排和成績的導出,并更新學生的考試狀態(tài)標志。任課教師還要及時更新試題,保證試題的充足性。
3.2 客戶端功能實現(xiàn)
本系統(tǒng)中客戶端的框架圖如圖4所示。
在考試系統(tǒng)正式開考之前,教務管理員必須把考試課程以及學生信息導入該系統(tǒng),學生的用戶名就是該生的學號,如該考生信息已經(jīng)存在系統(tǒng)中,則不需要導入。也就是說該系統(tǒng)只有在新增考試課程或新增考生后,才需要導入數(shù)據(jù)。各個學院教務管理員還需錄入任課教師基本信息,以方便該門課程老師能夠?qū)雲(yún)⒓诱n程考試的學生信息。
課程任課教師在學生開考前要導入該門課程的考試試題,以便在考生考試時能進行組卷;同時也要導入該門課程的考生信息。
為保證系統(tǒng)數(shù)據(jù)一致性,由服務器端來進行數(shù)據(jù)的更新,客戶端只進行檢測下載。打開客戶端必須進行聯(lián)網(wǎng)檢測,檢測本地數(shù)據(jù)是否與服務器數(shù)據(jù)保持同步,如不一致則下載更新數(shù)據(jù)。這一操作過程的詳細流程圖如圖5所示。
考生啟用客戶端后,第一步先進行檢測網(wǎng)絡,判斷該手機是否已經(jīng)聯(lián)網(wǎng),如未聯(lián)網(wǎng),則必須進行相關設置,連接互聯(lián)網(wǎng),為節(jié)省流量也可連接校園網(wǎng),聯(lián)網(wǎng)成功后方可進入客戶端進行后續(xù)操作;第二步用戶登陸系統(tǒng);登錄成功后客戶端自動從服務器上進行更新??忌梢愿鶕?jù)實際情況來選擇考試科目等操作。
4 結(jié)束語
本文提出并實現(xiàn)了一個基于Android平臺的在線考試系統(tǒng),該系統(tǒng)力求改變傳統(tǒng)的考試形式。與傳統(tǒng)考試方式相比較,本系統(tǒng)客戶端運行在Android平臺,具有靈活、方便等特點。
本系統(tǒng)不足之處在于只是一個考試系統(tǒng),后期要與日常教學相結(jié)合,用來完成日常作業(yè)的布置,階段性測試以及平時練習結(jié)合起來,提供課程知識點的講解。
參考文獻:
[1] 姚昱旻. 基于Android的移動學習終端平臺的開發(fā)與研究[D]. 長沙:中南大學, 2008.
[2] 姚昱旻,劉衛(wèi)國. Android的架構(gòu)與應用開發(fā)研究[J]. 計算機系統(tǒng)應用, 2008(11):112-114.
[3] 郁亞男.基于Android平臺的人機交互的研究與實現(xiàn)[D]. 北京:北京郵電大學,2011.
[4] 楊子天,邵宇. 基于Android平臺的在線考試系統(tǒng)的設計與實現(xiàn)[J]. 電腦知識與技術(shù),2014(3):554-558.
[5] 高愛梅.基于Android平臺的在線考試系統(tǒng)的設計與實現(xiàn)[J]. 農(nóng)業(yè)網(wǎng)絡信息,2015(9):107-108.
[6] 張思,吳開誠,廖恩陽. 基于Android平臺的在線考試練習系統(tǒng)的設計與實現(xiàn)[J].計算機時代,2015(3):27-29.