楊剛
摘要:考試是考查學(xué)生對(duì)知識(shí)掌握程度的主要方式之一,目前大多數(shù)院校采用的是傳統(tǒng)的考試方式——卷面考試。為解決卷面考試周期長(zhǎng)、工作量大、成本高、試卷管理難的缺點(diǎn),該文設(shè)計(jì)了一個(gè)在線考試系統(tǒng),該系統(tǒng)主要包括考試子系統(tǒng)和題庫子系統(tǒng)。最后使用Django框架實(shí)現(xiàn)了該系統(tǒng)。
關(guān)鍵詞:Django;在線考試系統(tǒng);web
中圖分類號(hào):TP393 文獻(xiàn)標(biāo)識(shí)碼:A 文章編號(hào):1009-3044(2016)14-0040-03
考試是考查學(xué)生對(duì)知識(shí)掌握程度的主要方式之一,隨著我國高等教育的不斷發(fā)展,各個(gè)學(xué)校的規(guī)模再不斷地?cái)U(kuò)大,在校生的人數(shù)也越來越多,考試的規(guī)模也就越來越大。目前大多數(shù)院校采用的是傳統(tǒng)的考試方式——卷面考試。在大規(guī)模的考試中,這種方式暴露出了諸多的弊端:一、周期長(zhǎng),工作量大;二、成本高;三、試卷管理難。
1 在線考試系統(tǒng)的優(yōu)勢(shì)
計(jì)算機(jī)技術(shù)自問世以來,推動(dòng)并深化了教育教學(xué)改革。在考試環(huán)節(jié)可以使用基于web的在線考試系統(tǒng)對(duì)學(xué)生的學(xué)習(xí)效果進(jìn)行測(cè)試[1]。相對(duì)于卷面考試而言,在線考試系統(tǒng)的主要優(yōu)勢(shì)在于[6]:
1)保密性強(qiáng)
卷面考試的主要流程環(huán)節(jié)比較多,如命題、印刷試卷和領(lǐng)取試卷等,整個(gè)流程中參與人員眾多,給保密帶來一定的困難。而在線考試系統(tǒng)將所有試題都保存在數(shù)據(jù)庫中,試卷在考試時(shí)由系統(tǒng)實(shí)時(shí)的根據(jù)組卷策略隨機(jī)生成,有效地避免了相互抄襲的現(xiàn)象。還可以指定專人負(fù)責(zé)管理試題庫,從而增強(qiáng)保密性。
2)客觀性較強(qiáng)
由于同時(shí)生成多套隨機(jī)試卷,可以客觀地反映出考生對(duì)課程的掌握程度,保證了考試的客觀準(zhǔn)確性。采用卷面考試時(shí),試卷整體覆蓋面有限,容易形成小范圍復(fù)習(xí)或猜題等傾向,影響了測(cè)試的客觀性。
3)迅速準(zhǔn)確
試卷中的客觀題由系統(tǒng)自動(dòng)評(píng)分,主觀題由教師評(píng)閱,當(dāng)所有主觀題評(píng)閱完成后,試卷總分由系統(tǒng)統(tǒng)計(jì),杜絕了人為的失誤,迅速準(zhǔn)確且提高了工作效率。
2在線考試系統(tǒng)的總體設(shè)計(jì)
本文設(shè)計(jì)的在線考試系統(tǒng)主要包括以下功能[6]:
1)支持多種題型,如單項(xiàng)選擇題、多項(xiàng)選擇題和判斷題等客觀題,以及填空、改錯(cuò)、簡(jiǎn)單、論述等主觀題。
2)靈活的組卷策略,能夠按照不同的要求生成相應(yīng)的試卷。
3)考試時(shí)能夠自動(dòng)計(jì)時(shí)。
4)閱卷。
5)各類基礎(chǔ)數(shù)據(jù)的維護(hù)。
為實(shí)現(xiàn)以上功能,本文設(shè)計(jì)的在線考試系統(tǒng)主要包括考試子系統(tǒng)和題庫子系統(tǒng)。
2.1 題庫子系統(tǒng)
題庫子系統(tǒng)的用戶是教師,其功能結(jié)構(gòu)如圖1所示。
1)試卷管理模塊
每次考試時(shí),每個(gè)考生的考題以及考生的答案,以及教師的評(píng)閱都會(huì)被存儲(chǔ)為一個(gè)單獨(dú)的文件,該文件被稱為試卷。本模塊的主要功能包括查閱試卷、備份試卷等。
2)試題管理模塊
題庫是在線考試系統(tǒng)的基石,本模塊的主要功能是管理試題,主要的操作包括錄入、查詢、修改和刪除試題,除此之外還提供批量操作的功能。
3)組卷管理模塊
組卷是在線考試系統(tǒng)的核心功能之一[3],本模塊的主要功能是根據(jù)教師設(shè)置的約束條件,通過算法來生成試卷。主要的約束條件包括試卷的難度、知識(shí)點(diǎn)覆蓋率,題型以及題型比例等,教師可以根據(jù)學(xué)生的特點(diǎn)以及考試的目的等需求設(shè)置不同的值。
4)成績(jī)管理模塊
本模塊的主要功能是對(duì)查詢考生成績(jī)。
5)統(tǒng)計(jì)分析模塊
對(duì)試卷試題的分析可以為教師提供一個(gè)準(zhǔn)確的反饋,為教師進(jìn)行教學(xué)改革提供一個(gè)堅(jiān)實(shí)的基礎(chǔ)。本模塊的主要功能有兩個(gè):試卷分析和試題分析。
試卷分析指的是對(duì)某次考試所有考生的成績(jī)進(jìn)行統(tǒng)計(jì)分析,如優(yōu)秀率,不及格率等。
試題分析指的是對(duì)分析某道試題的難度以及區(qū)分度,通過統(tǒng)計(jì)所有考生對(duì)該題的得分情況,然后分析,從而得到對(duì)該試題的評(píng)價(jià)。
6)報(bào)表打印模塊
本模塊的主要功能是打印各種統(tǒng)計(jì)表格,如成績(jī)分析、試題分析等。
2.2 在線考試子系統(tǒng)
其功能結(jié)構(gòu)如圖2所示:
1)用戶登錄模塊
本模塊的主要功能是驗(yàn)證用戶,包括用戶的身份是否合法和用戶是否具有相應(yīng)的權(quán)限。
2)在線考試模塊
本模塊的主要功能是,當(dāng)考生登錄后,從數(shù)據(jù)庫中讀取試卷供學(xué)生考試。在考試的過程中,會(huì)一直提示剩余的考試時(shí)間,當(dāng)考試時(shí)間結(jié)束時(shí),若果考試沒有交卷,則系統(tǒng)會(huì)自動(dòng)提交試卷。
3)分?jǐn)?shù)查詢模塊
本模塊的主要功能是向考生提供一個(gè)查詢成績(jī)的入口。
4)自動(dòng)閱卷模塊
試卷通常由客觀題和主觀題組成。本模塊的主要功能是當(dāng)考生提交試卷后,系統(tǒng)自動(dòng)對(duì)客觀題部分批閱。
5)在線閱卷模塊
本模塊的主要功能是教師批閱試卷的主觀題部分,批閱完成后,主觀題得分和客觀題得分將被匯總計(jì)入學(xué)生成績(jī)。
3系統(tǒng)實(shí)現(xiàn)
在眾多web開發(fā)框架中,本文選擇了Django框架。Django是一個(gè)用Python語言編寫的MVC框架,它大而全,為web開發(fā)中的常見問題提供了很好的解決方案[4-5]。MVC模式中的C,即控制器,由Django自行處理,所以使用Django開發(fā)web應(yīng)用時(shí),主要的關(guān)注對(duì)象是MTV:Model(模型)、Template(模板)和Views(視圖)。
3.1模型的設(shè)計(jì)
與其他Web技術(shù)不同的是,使用Django框架不需要先建立數(shù)據(jù)庫表。Django自帶了一套映射工具,使用Django的第一步是建立模型,當(dāng)模型建立后,該映射工具可以根據(jù)模型自動(dòng)生成數(shù)據(jù)庫表。本系統(tǒng)的主要模型如下:
1)學(xué)生,它包括以下主要字段:
2)單選題模型,它包括以下主要字段:
[字段名\&說明\&id\&編號(hào),主鍵\&course\&所屬課程\&content\&題干\&img\&圖片\&opA\&選項(xiàng)A\&opB\&選項(xiàng)B\&opC\&選項(xiàng)C\&opD\&選項(xiàng)D\&answer\&答案\&]
3)考試結(jié)果模型,它包括以下主要字段:
2.2 模版設(shè)計(jì)
在Django中,MVC模式中的視圖功能被分解為視圖和模版[4,5]。視圖決定顯示哪些數(shù)據(jù),而模版決定如何顯示這些數(shù)據(jù)。這樣的分解,降低了模塊之間的耦合度,更利于后期的維護(hù),因?yàn)榭梢噪S時(shí)更換模版,而不影響程序的邏輯。本文設(shè)計(jì)的在線考試系統(tǒng)使用Html5和Jquery技術(shù)來開發(fā)模版??荚囎酉到y(tǒng)的登錄界面以及主界面如圖3和圖4所示。
2.3 視圖設(shè)計(jì)
Django框架中的視圖函數(shù)和URLconf機(jī)制實(shí)現(xiàn)了MVC模式中的控制器部分[4-5]。URLconf機(jī)制是使用正則表達(dá)式匹配URL,然后調(diào)用匹配的視圖函數(shù)。視圖函數(shù)的本質(zhì)上是一個(gè)Python函數(shù),它要求至少有一個(gè)request參數(shù),例如在線考試子系統(tǒng)中生成試卷的視圖:
def exam(request, course_id):
student = Student.objects.get(stuId=request.user.username)
course = Course.objects.get(pk=course_id)
result = Result.objects.filter(student=student).filter(
course=course).order_by('-id')
singles = sample(set(SingleChoice.objects.filter(course=course)), course.sCount)
yesnos = sample(set(YesNoQuestion.objects.filter(course=course)), course.yCount)
sAnswer = [];yAnswer = [];sList = [];yList = []
for index in range(0, course.sCount):
sAnswer.append(singles[index].answer)
sList.append('s' + str(singles[index].id))
for index in range(0, course.yCount):
yAnswer.append(yesnos[index].answer)
yList.append('y' + str(yesnos[index].id))
context = {'student':student,'course': course.name, 'singles': singles, 'yesnos': yesnos}
return render(request, 'exam/exam.html', context)
3 系統(tǒng)運(yùn)行分析和結(jié)論
本系統(tǒng)完成后,于2012年開始應(yīng)用于安徽職業(yè)技術(shù)學(xué)院信息工程系的部分基礎(chǔ)課和專業(yè)課期末考試,以及學(xué)院往屆畢業(yè)生的補(bǔ)考。目前共有3000余人次使用本系統(tǒng)考試,經(jīng)測(cè)試,運(yùn)行情況良好,證明本系統(tǒng)設(shè)計(jì)是成功的。
與傳統(tǒng)的卷面考試相比,本文設(shè)計(jì)的在線考試系統(tǒng)最大限度排除了人為因素的作用,保證了考試的客觀性、實(shí)時(shí)性、閱卷標(biāo)準(zhǔn)的一致性。使用在線考試系統(tǒng),能夠高效率、高質(zhì)量地完成對(duì)考生的能力測(cè)評(píng)。
一人一卷是在線考試系統(tǒng)最大的特點(diǎn),相鄰考生之間試卷的不相同,因?yàn)樵嚲硎窍到y(tǒng)實(shí)時(shí)的根據(jù)組卷策略生產(chǎn)的,因此考生之間就很難相互傳遞信息,從而避免了聯(lián)合作弊現(xiàn)象的發(fā)生。
在傳統(tǒng)的卷面考試中,考試的主要環(huán)節(jié)如試卷命題、試卷印刷、試卷評(píng)閱、試卷保管與保密和成績(jī)匯總等,在每個(gè)環(huán)節(jié)中,學(xué)校要付出巨大的時(shí)間成本和經(jīng)濟(jì)成本。而使用在線考試系統(tǒng)組織考試,試卷評(píng)閱、成績(jī)匯總等環(huán)節(jié)的也由系統(tǒng)自動(dòng)完成,大大地節(jié)約了時(shí)間成本;而且也不存在試卷印制和運(yùn)輸、試卷保管等環(huán)節(jié),節(jié)約了經(jīng)濟(jì)成本。雖然題庫的建設(shè),以及考場(chǎng)設(shè)備需要較大的投入,但是,這是中一次性的投入,當(dāng)系統(tǒng)建成之后可多次重復(fù)使用,后續(xù)只需花費(fèi)很小的維護(hù)成本。因此,總體看,在線考試具有較好的經(jīng)濟(jì)性,值得推廣。
參考文獻(xiàn):
[1] 孫延靖.基于B/S模式的在線考試系統(tǒng)的實(shí)現(xiàn)[J].煤炭技術(shù),2011(9):234-236.
[2] 賀榮,陳爽.在線組卷策略的研究與設(shè)計(jì)[J].計(jì)算機(jī)工程與設(shè)計(jì),2011(6):2183-2186.
[3] 張桂英.標(biāo)準(zhǔn)化在線考試系統(tǒng)的設(shè)計(jì)與數(shù)據(jù)庫建設(shè)[J].內(nèi)蒙古農(nóng)業(yè)大學(xué)學(xué)報(bào),2012(Z1):5-6:222-225.
[4] 向光軍.基于Django的數(shù)據(jù)持久化研究[J].楚雄師范學(xué)院學(xué)報(bào),2013(6):28-33.
[5] 吳廷焰.基于Django的科研管理信息平臺(tái)的研究與實(shí)現(xiàn)[J].科技信息,2011(35):146-147.
[6] 王昆.基于.NET的網(wǎng)上考試系統(tǒng)的設(shè)計(jì)與實(shí)現(xiàn)[D].濟(jì)南:山東大學(xué)碩士學(xué)位論文,2013.