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