王小妮
摘要:在線題庫軟件是可根據(jù)考試類型自動出題、自動評分的在線考試管理系統(tǒng)。此軟件還可以支持教師和學(xué)生手動通過即時消息、電子郵件、論壇發(fā)送問題和回答問題。在線考試系統(tǒng)的功能利用XML技術(shù)、ASP技術(shù)和數(shù)據(jù)訪問技術(shù),設(shè)計題庫、自動生成試卷,并可閱卷。通過一個遠(yuǎn)程教育在線測試的試題庫,實現(xiàn)Web之間的交換數(shù)據(jù)。
關(guān)鍵詞:MOOC;在線考試系統(tǒng);學(xué)習(xí)管理系統(tǒng)
中圖分類號:TP311.1 文獻(xiàn)標(biāo)志碼:A 文章編號:1674-9324(2018)10-0045-03
一、引言
大型開放式網(wǎng)絡(luò)課程,即MOOC(massive open online courses),將課程免費(fèi)放到網(wǎng)絡(luò)上供學(xué)生自主學(xué)習(xí)。隨著Coursera、Udacity、edX三大課程提供商的興起,MOOC教學(xué)給更多學(xué)生提供了系統(tǒng)學(xué)習(xí)的可能[1]。這三大平臺的網(wǎng)絡(luò)課程都針對于高等教育領(lǐng)域,同時類似于真正的大學(xué),有專有的一套學(xué)習(xí)和管理系統(tǒng)。由此可見網(wǎng)絡(luò)教育誕生于市場需求,已經(jīng)成為了未來的一個趨勢。學(xué)習(xí)者可以通過文檔及視頻等實現(xiàn)在線學(xué)習(xí)課程,但如何考核學(xué)習(xí)者學(xué)習(xí)效果成為了慕課教學(xué)的一大難題。受教育者希望自己能夠通過考試來檢驗自身的學(xué)習(xí)成果;教育者則想在考前出題、考時監(jiān)考以及考后閱卷中提高工作效率,降低不必要的勞動強(qiáng)度;對于學(xué)校來說則更希望能夠通過在線考試實現(xiàn)對學(xué)生學(xué)習(xí)效果的及時跟進(jìn)與評價,以方便制定教學(xué)策略。傳統(tǒng)的考試需要經(jīng)歷出題、考試、閱卷、評卷這些主要環(huán)節(jié),而每一個環(huán)節(jié)都需要考試管理人員的充分參與,而很顯然這種方式已經(jīng)不適用于慕課教學(xué)[2]。在線考試系統(tǒng)是順應(yīng)時代發(fā)展的潮流而誕生的,它存在的意義就是將傳統(tǒng)考試和互聯(lián)網(wǎng)技術(shù)相結(jié)合,產(chǎn)生更適應(yīng)當(dāng)今環(huán)境的新的考試模式,從而打造出更加公平的考試環(huán)境,降低考試步驟的煩瑣性,促進(jìn)考試管理水平的提升。本課題就是研究和設(shè)計在線試題題庫系統(tǒng),幫助同學(xué)們方便對自己所學(xué)的知識進(jìn)行檢測及鞏固加深。
二、系統(tǒng)設(shè)計
本設(shè)計是實現(xiàn)基于MOOC學(xué)習(xí)課堂的在線測試試題庫,實現(xiàn)Web之間的交換數(shù)據(jù),通過此系統(tǒng)可以在線練習(xí)、考試、判卷,達(dá)到遠(yuǎn)程在線考核學(xué)生成績的目的。
1.系統(tǒng)結(jié)構(gòu)。本設(shè)計采用B-S架構(gòu)(瀏覽器-服務(wù)器架構(gòu)),運(yùn)用面向?qū)ο笳Z言Java,基于SSH三大框架整合式開發(fā),綜合設(shè)計實現(xiàn)一個在線考試系統(tǒng)[3]。
本系統(tǒng)的設(shè)計分為前臺設(shè)計和后臺設(shè)計兩部分。前臺是操作界面,其核心是一個考試界面,頁面主體是試題布局。頂部是一些小設(shè)計,主要是顯示開考時間、考試耗時、剩余時間、卷面滿分值,以及點(diǎn)擊交卷后對答案進(jìn)行機(jī)器判分并回顯得分情況。后臺部分分為三大模塊,分別是試題子模塊、試卷子模塊、考試子模塊。
2.系統(tǒng)流程圖。本系統(tǒng)的后臺部分分為三大模塊,分別是:試題子模塊、試卷子模塊、考試子模塊,它們分為試題、試卷、考試三個實體類,而這三個實體類又與數(shù)據(jù)庫的三張表一一對應(yīng)。后臺三大子模塊,可分別對相應(yīng)實體類進(jìn)行增、刪、改、查操作。
后臺部分的具體實現(xiàn)方式是,用戶一刷新考試頁面,即向后臺發(fā)送ajax請求,要求發(fā)起一場新的考試[4]。后臺響應(yīng)前臺的這一新建考試的請求,會遍歷試題庫,隨機(jī)抽取固定數(shù)目的試題,將這一批試題組裝成一份新的試卷,并對各試題的分?jǐn)?shù)進(jìn)行累加,得出試卷的卷面滿分分值。然后,將試卷入庫(裝入試卷庫),新建一場考試,該考試引用本份試卷,及填寫考生信息(姓名等)、考試信息(開考時間、考試時間等)。最后,將試卷內(nèi)容回傳給前臺,在前臺顯示試題,供考生答題??忌鹜觐}后,點(diǎn)擊提交,會再向后臺發(fā)送ajax請求,將試題編號、答案組裝成有序的數(shù)據(jù)結(jié)構(gòu),傳回后臺。后臺接收到答案,遍歷數(shù)據(jù)庫,取出標(biāo)準(zhǔn)答案,與考生的答案進(jìn)行匹配,匹配成功則本題答案正確,累加考生考試得分。由于各題的分值不同,所以計算得分不是對答對題目數(shù)的簡單統(tǒng)計。計算完考生本場考試得分后,將得分情況回傳給前臺,供前臺回顯考試得分。初始化考試流程圖如圖1所示。
三、學(xué)習(xí)課堂視頻制作流程系統(tǒng)詳細(xì)設(shè)計
1.頁面設(shè)計。
……
$(function() {
init();//頁面刷新初始化
$("#submit").click(function() {//點(diǎn)擊交卷按鈕
var answerMap = {}; /*向后臺發(fā)送的答案數(shù)組,格式為:[{"uuid":uuid,"value":value},...]*/
/*取得判斷題的答案:選擇被選中的那個即可*/
$.each(judgeTrArr,function(idx,dom) {
var uuid = $(dom).find("[class='uuid']").val();
var answer =
$(dom).find("[class='judge']:checked").val();
answerMap["uuid" + i] = uuid;
answerMap["answer" + i++] = answer != null ? answer :"";
});
/*取得選擇題的答案:是多選,將多個選擇用逗號隔開拼在一起當(dāng)成一道題的答案,同時處理掉在拼接時拼在最后的一個逗號*/
/*交卷:發(fā)送ajax請求,將題號及答案發(fā)回后臺,計算得分,將得分返回前臺,前臺修改界面上的分?jǐn)?shù)*/
$.post("exam_ajaxAsk",
{aaa:JSON.stringify(answerMap)},function(data) {
$("#examGrade").val(data);
});
2.java部分代碼。
public class ExamAction extends ActionSupport {
public ExamEntity exam = new ExamEntity(); //考試實體對象
//聲明ExamService對象及setter方法供給注入調(diào)用
private ExamService examService;
public void setExamService(ExamService examService) {
this.examService = examService;
} }
//出場考試:暫把生成試卷也放在本內(nèi)
public String index() {
Set
//建份新試卷
ExamPaperEntity examPaper = new ExamPaperEntity();
examPaper.setUuid(StrUtils.getUUID()); //隨機(jī)生成id值
examPaper.setExercises(exerciseSet);
//設(shè)置試卷內(nèi)的題
examPaper.setExamPaperNum("SJ000" + "0000" + System.currentTimeMillis()); /*生成試卷編號,SJ000是有意義的代號,0000是四位暫留的占位符,后23位是當(dāng)前時間的微秒值*/
double sumGrade = 0; /*試卷總分,通過計算各題分?jǐn)?shù)得出*/
//建場新考試
/*保存試卷、考試,后面將做功能擴(kuò)展,能調(diào)用歷史上生成的試卷直接考試(不是新生成),可以查看歷史上的考試*/
//隨機(jī)出題
//計算得分
/*根據(jù)id去數(shù)據(jù)庫查本題正確答案,與前臺傳回答案進(jìn)行匹配,正確則得分,不正確則不得分*/
/*設(shè)置字符流格式,以便響應(yīng)ajax請求,向前臺返回得分情況*/
}
四、總結(jié)
本設(shè)計實現(xiàn)了在線考試系統(tǒng),其整體技術(shù)架構(gòu)為:運(yùn)行于B-S模式下,采用MVC模式開發(fā)。其前臺界面,動態(tài)頁面由JSP技術(shù)實現(xiàn),靜態(tài)頁面使用Html頁面。前臺界面的動態(tài)效果及事件響應(yīng),由javascript實現(xiàn),而使用jQuery技術(shù)編寫javascript代碼。本課題的后臺,是基于SSH三大框架整合開發(fā)。其中,Struts2框架負(fù)責(zé)攔截、過濾前臺請求,Hibernate封裝對數(shù)據(jù)庫的操作。由Spring來完成對前兩框架的整合。本課題的數(shù)據(jù)庫采用免費(fèi)的MySQL,服務(wù)器選用免費(fèi)的Tomcat7.0,在myEclipse平臺上開發(fā)成功。
參考文獻(xiàn):
[1]趙國棟.微課與慕課設(shè)計初級教程[M].北京:北京大學(xué)出版社,2014.
[2]焦建利.移動學(xué)習(xí)應(yīng)用與研究的新進(jìn)展[J].中國教育網(wǎng)絡(luò),2013,(6).
[3]李寧,等.Java Web編程實戰(zhàn)寶典[M].北京:清華大學(xué)出版社,2014.
[4]袁曉曦.網(wǎng)絡(luò)在線考試管理系統(tǒng)的應(yīng)用分析探索[J].電子技術(shù)與軟件工程,2015,(5).