摘要:在線考試系統(tǒng)作為一種新的考試方式已越來越多地被應(yīng)用到各個(gè)領(lǐng)域和專業(yè)。然而高等數(shù)學(xué)因其眾多的公式,實(shí)現(xiàn)在線考試還存在著技術(shù)困難。該文論述了一種高等數(shù)學(xué)在線考試系統(tǒng)的設(shè)計(jì)和實(shí)現(xiàn)過程。它采用S2SH框架,并且使用了Apache+Tomcat的集群技術(shù)增加負(fù)載量。填空題使用圖片的形式作答,運(yùn)用BLOB格式存儲(chǔ)答案并應(yīng)用識(shí)圖功能對(duì)填空題進(jìn)行自動(dòng)閱卷。
關(guān)鍵詞:高等數(shù)學(xué);在線考試;集群技術(shù);填空題;BLOB;自動(dòng)閱卷
中圖分類號(hào):TP311 文獻(xiàn)標(biāo)識(shí)碼: A 文章編號(hào):1009-3044(2013)13-3028-04
1 概述
近年來,計(jì)算機(jī)和信息技術(shù)迅猛發(fā)展,傳統(tǒng)的教學(xué)技術(shù)越來越多地融入了計(jì)算機(jī)的環(huán)節(jié)。考試作為教育的檢測手段,也在發(fā)生著巨大的變革。和傳統(tǒng)意義的考試相比,在線考試有著節(jié)省資源、時(shí)間和人力的優(yōu)勢。如今,越來越多的專業(yè)和領(lǐng)域應(yīng)用了在線考試系統(tǒng)。然而,數(shù)學(xué)因?yàn)槠渥陨砜颇康莫?dú)特性,其在線考試系統(tǒng)與其他在線考試系統(tǒng)有著明顯的區(qū)別。數(shù)學(xué)需要用到許多的公式,而普通的文本格式顯然不能滿足其要求。該文設(shè)計(jì)了一個(gè)高等數(shù)學(xué)的在線考試系統(tǒng)。我們運(yùn)用集群技術(shù)增加了系統(tǒng)負(fù)載量,并用圖片格式和BLOB格式存儲(chǔ)題目和答案的公式,解決了高等數(shù)學(xué)在線考試系統(tǒng)實(shí)現(xiàn)的困難。
2 系統(tǒng)結(jié)構(gòu)
2.1 B/S模式
本系統(tǒng)采用了流行的B/S模式。B/S模式采用三層結(jié)構(gòu),第一層瀏覽器端發(fā)出HTTP請(qǐng)求,第二層應(yīng)用服務(wù)器響應(yīng)請(qǐng)求并處理。如果請(qǐng)求是存取數(shù)據(jù)的,則第二層與第三層的數(shù)據(jù)庫服務(wù)器完成交互。完成請(qǐng)求后應(yīng)用服務(wù)器生成一串HTML代碼返回給瀏覽器端,瀏覽器解析HTML代碼后生成圖文并茂的網(wǎng)頁??忌灰诳蛻舳耸褂脼g覽器便可以進(jìn)行在線考試。這樣,客戶端無須再安裝相應(yīng)的應(yīng)用程序,只要有瀏覽器即可。這達(dá)成了瘦客戶端的目的,有利于開放式的信息管理和設(shè)計(jì),也降低了系統(tǒng)的開發(fā)和維護(hù)開銷,并且有效地提高了考試數(shù)據(jù)的安全性。
2.2 S2SH框架
本系統(tǒng)采用S2SH的構(gòu)架,即Struts2,Spring,Hibernate的構(gòu)架。它簡化了各個(gè)分層的調(diào)用設(shè)計(jì),提高了開發(fā)的效率。并且,使用了memcached作為hibernate的二級(jí)緩存以及其它靜態(tài)數(shù)據(jù)的緩存,在各個(gè)環(huán)節(jié)對(duì)靜態(tài)數(shù)據(jù)進(jìn)行緩存,減少了對(duì)數(shù)據(jù)庫的訪問,提高了性能。在業(yè)務(wù)分層上,對(duì)性能要求高的業(yè)務(wù)環(huán)節(jié)進(jìn)行了優(yōu)化,有些地方直接采用了Model 1的模式,采用JSP和servlet直接處理業(yè)務(wù),進(jìn)一步減少s2sh在框架上消耗,再次提高了性能。
2.3 集群技術(shù)
3 功能實(shí)現(xiàn)
3.1 主要模塊
本系統(tǒng)由三個(gè)模塊組成:管理員模塊,教師模塊,學(xué)生模塊。
管理員模塊主要有管學(xué)生管理、教師管理和系統(tǒng)管理。這個(gè)模塊負(fù)責(zé)管理學(xué)生賬號(hào)和信息、教師賬號(hào)和信息,并且管理整個(gè)系統(tǒng)的運(yùn)行參數(shù)設(shè)置,包括訪問地址、連接端口的設(shè)置等。
3.2 試卷管理
在線考試系統(tǒng)的核心是試卷。試卷的管理主要包括四個(gè)流程:錄入試卷、組卷、答卷和閱卷。這個(gè)流程貫穿了整個(gè)考試的過程。而高等數(shù)學(xué)因其眾多的公式,使得這個(gè)流程與其他的科目有所不同。
錄入試卷:試題的錄入主要由教師進(jìn)行,一個(gè)試題的內(nèi)容包括題目、答案、題目類型、難度系數(shù)和出現(xiàn)次數(shù),如果是選擇題還有選項(xiàng)。題目、答案和選項(xiàng)中都有可能存在公式,在這里本系統(tǒng)采取圖片格式存儲(chǔ)公式,和題目中的文本一并存儲(chǔ)于數(shù)據(jù)庫中。
組卷:教師設(shè)定好選擇題、填空題的數(shù)量、考試范圍和考試的整體難度,試題會(huì)根據(jù)設(shè)定隨機(jī)生成試卷。
答卷:試卷包括選擇題和填空題。選擇題的回答方式通過選擇選項(xiàng)來選擇正確答案。因?yàn)樾枰斎牍剑羁疹}不能用文本格式回答,因此本系統(tǒng)采用畫圖方式回答填空題。我們?cè)O(shè)計(jì)了一個(gè)支持畫圖的object組件,并提供js封裝了參數(shù)交互。每個(gè)填空題有一個(gè)畫板的區(qū)域,允許學(xué)生在畫板上用畫筆、文字或直線進(jìn)行作答,這便于學(xué)生用公式回答。
閱卷:閱卷分為選擇題的閱卷和填空題的閱卷 ,選擇題完全由系統(tǒng)自動(dòng)批改。而填空題由系統(tǒng)批改和教師批改相結(jié)合,這樣提高了準(zhǔn)確率,也相對(duì)于紙質(zhì)閱卷提高效率。
4 填空題的設(shè)計(jì)
4.1 填空題的存儲(chǔ)
學(xué)生在每個(gè)的填空題答案將以BLOB格式存儲(chǔ)在數(shù)據(jù)庫中。BLOB即二進(jìn)制大對(duì)象,在數(shù)據(jù)庫中,系統(tǒng)單獨(dú)開辟新的存儲(chǔ)頁面存放這些數(shù)據(jù),表中BLOB類型字段存儲(chǔ)的只是16字節(jié)的指針,這個(gè)指針指向存放該條記錄BLOB數(shù)據(jù)的頁面。這個(gè)方法使得答案以圖片的形式存儲(chǔ)在數(shù)據(jù)庫中。這樣的存儲(chǔ)形式易于對(duì)數(shù)據(jù)進(jìn)行管理。這確保了數(shù)據(jù)的一致性和數(shù)據(jù)的安全性。
4.2 填空題的閱卷
高等數(shù)學(xué)的填空題存在著兩個(gè)特性。確定性:如果一個(gè)答案是正確的,則必須是完全符合正確答案,不能依靠關(guān)鍵詞判斷答案是否正確。因?yàn)榧词勾鸢竿耆岁P(guān)鍵詞,如果多出了其他東西,也有可能是錯(cuò)的。多樣性:答案可能存在多個(gè)形式,因此可能有多個(gè)正確答案。
自動(dòng)閱卷的基礎(chǔ)是判斷學(xué)生答案和正確答案是否匹配。填空題是以畫圖的形式做答,因此要運(yùn)用到圖像識(shí)別技術(shù)。運(yùn)用該技術(shù)的可行性是數(shù)學(xué)公式的構(gòu)成實(shí)際上是數(shù)字和數(shù)學(xué)符號(hào),易于識(shí)別。本系統(tǒng)運(yùn)用BP神經(jīng)網(wǎng)絡(luò)技術(shù)進(jìn)行圖像識(shí)別,此技術(shù)在識(shí)別數(shù)字上較為成熟。它是一種多層前饋神經(jīng)網(wǎng)絡(luò),目前運(yùn)用較為普遍的是三層BP神經(jīng)網(wǎng)絡(luò),包括輸入層、輸出層和中間層。通過多次訓(xùn)練,它可以有效地識(shí)別圖中的不同數(shù)字和數(shù)學(xué)符號(hào)。具體設(shè)計(jì)如下:
1)提取訓(xùn)練樣圖中的圖像特征:歐拉數(shù)、圖像矩陣每行和每列的黑色像素點(diǎn)之和。以此作為BP神經(jīng)網(wǎng)絡(luò)的輸入矩陣。并規(guī)定每個(gè)數(shù)字和數(shù)學(xué)符號(hào)的輸出結(jié)果。
2)通過神經(jīng)網(wǎng)絡(luò)計(jì)算得到實(shí)際輸出結(jié)果,然后計(jì)算實(shí)際結(jié)果和期望結(jié)果的誤差,看是否滿足要求,滿足則訓(xùn)練結(jié)束,否則進(jìn)行第三步
3)計(jì)算每層神經(jīng)元的局部梯度,并根據(jù)局部梯度修正各個(gè)矩陣的權(quán)值,然后重新進(jìn)入步驟2。
因?yàn)閿?shù)學(xué)答案的多樣性,教師很難將答案的所有情況都考慮下來。因此,事先固定標(biāo)準(zhǔn)答案然后一次批改學(xué)生答案這種做法是不安全的。鑒于這個(gè)情況,本系統(tǒng)的自動(dòng)閱卷功能采用二次閱卷的方法。該方法的具體實(shí)現(xiàn)過程如下:
5 結(jié)束語
本系統(tǒng)已進(jìn)入測試階段,一個(gè)學(xué)期內(nèi)對(duì)高等數(shù)學(xué)考生實(shí)行在線考試三次。測試結(jié)果比較理想,基本完成了高等數(shù)學(xué)在線考試系統(tǒng)的目標(biāo)。
系統(tǒng)仍需要改進(jìn)的地方是考試系統(tǒng)的承載力的問題。我們的測試是每組200多人同時(shí)進(jìn)行在線考試,期間還是出現(xiàn)了無法登陸考試系統(tǒng)和考試系統(tǒng)運(yùn)行緩慢等原因。因此,本系統(tǒng)的承載能力需要繼續(xù)提高。為此,我們可以引入帶均衡策略的服務(wù)器集群技術(shù),帶負(fù)載均衡的網(wǎng)絡(luò)設(shè)計(jì)結(jié)構(gòu)中,每臺(tái)服務(wù)器可以單獨(dú)對(duì)外提供服務(wù)而無須其他服務(wù)器的輔助。通過負(fù)載均衡器將外部發(fā)送來的請(qǐng)求按照預(yù)先制定的均衡策略轉(zhuǎn)發(fā)到最佳服務(wù)器,從而使用戶請(qǐng)求得到最快的響應(yīng),從而提高系統(tǒng)的負(fù)載能力。
隨著計(jì)算機(jī)技術(shù)的普及和網(wǎng)絡(luò)的發(fā)展,在線考試系統(tǒng)取代傳統(tǒng)的紙質(zhì)考試將會(huì)成為一種趨勢,高等數(shù)學(xué)雖然因其本身的特點(diǎn)使得實(shí)現(xiàn)在線考試系統(tǒng)存在困難,但隨著技術(shù)的提高和發(fā)展,這些困難終究會(huì)被解決。
參考文獻(xiàn):
[1] 王祥金.一個(gè)智能在線考試系統(tǒng)設(shè)計(jì)與實(shí)現(xiàn)[D].濟(jì)南:山東大學(xué),2009.
[2] 張燕麗.集群技術(shù)在基于Internet考試系統(tǒng)中的研究與實(shí)現(xiàn)[D].廣州:華南理工大學(xué),2005.
[3] 陳文超.淺談Tomcat Web 服務(wù)器基于Apache的集群與負(fù)載均衡[J].科技資訊,2012(6): 29-30.
[4] 李紹平,彭志平.S2SH:一種Web應(yīng)用框架及其實(shí)現(xiàn)[J].計(jì)算機(jī)技術(shù)與發(fā)展,2009,19(8): 117-119.
[5] 趙佰青.探索SQL Server中存儲(chǔ)BLOB數(shù)據(jù)[J].電腦知識(shí)與技術(shù),2009,5(16): 4105-4106.
[6] 楊素錦,劉辛.在線考試系統(tǒng)中填空題測試模塊的設(shè)計(jì)與實(shí)現(xiàn)[J].科學(xué)技術(shù),2010,24:70,79.
[7] 魏應(yīng)彬,周星,等.網(wǎng)頁設(shè)計(jì)與web數(shù)據(jù)庫發(fā)布技術(shù)[M].北京:清華大學(xué)出版社,2002.
[8] 王強(qiáng),張小溪,等.基于神經(jīng)網(wǎng)絡(luò)的圖像識(shí)別[J].電子設(shè)計(jì)工程,2012,20(9):187-189.