溫彩玲
(太原城市職業(yè)技術(shù)學(xué)院,山西 太原 030027)
基于JSF框架的試題自動(dòng)生成系統(tǒng)
溫彩玲
(太原城市職業(yè)技術(shù)學(xué)院,山西 太原 030027)
論文提出一個(gè)能夠滿足高職院校需要的且基于JSF框架的試題生成系統(tǒng)。系統(tǒng)采用隨機(jī)獲取試題的方式來進(jìn)行智能組卷,并將結(jié)果輸出到word中實(shí)現(xiàn)試卷的生成。
組卷策略;JSF;試題系統(tǒng)
眾所周知,不管是什么階段的學(xué)校,學(xué)生從入學(xué)開始到最后的完成學(xué)業(yè)畢業(yè),期間都要進(jìn)行很多形式的考試,直至最終獲得畢業(yè)證書。傳統(tǒng)形式的考試要經(jīng)歷教師出題、教務(wù)處排版印刷、監(jiān)考老師分發(fā)試卷、考生答卷、教師收卷閱卷以及最后的統(tǒng)計(jì)分?jǐn)?shù)等多個(gè)步驟,這其中大部分過程都要求教師手工參與完成,不僅需要消耗了大量的時(shí)間精力,同時(shí)還需要對(duì)工作有較高的保密要求。
雖然現(xiàn)在市面上已經(jīng)出現(xiàn)了在線考試系統(tǒng),但是由于該方法對(duì)于考試的類型以及考試結(jié)束后內(nèi)容的保存等方面存在一定的問題,無法達(dá)到滿足現(xiàn)階段所有科目考試的需要。尤其對(duì)于高職院校,由于本身注重的是學(xué)生實(shí)踐、操作、應(yīng)用能力方面的培養(yǎng),簡(jiǎn)單的理論考試根本無法滿足需要。因而,我們提出這種基于試題庫(kù)的試題自動(dòng)生成系統(tǒng)。
該系統(tǒng)中的試卷是根據(jù)用戶的要求自動(dòng)提取題庫(kù)中的試題生成的。試題的抽取采取確定參數(shù)后隨機(jī)排列,然后隨機(jī)抽取的方式進(jìn)行提取,并對(duì)生成試題的用戶、試題的特征、生成時(shí)間進(jìn)行記錄,從根本上杜絕了試卷泄密和考試作弊的問題,可以充分保證了考試的公平性。
JavaServer Faces(JSF)是JavaEE5.0開始提出,是Java Community Process(JCP)推動(dòng)的,有望成為Web應(yīng)用程序開發(fā)的一種標(biāo)準(zhǔn)框架。
JSF中所有與應(yīng)用程序的用戶交互均由一個(gè)前端FacesServlet(控制器) 來處理,對(duì)于每個(gè)請(qǐng)求,F(xiàn)acesServlet首先會(huì)創(chuàng)建一個(gè)FacesContext對(duì)象,它包含了處理請(qǐng)求所必須的信息。
JSF的主要優(yōu)點(diǎn)就是它既嚴(yán)格遵循模型——視圖——控制器(MVC)設(shè)計(jì)模式,又符合Java Web應(yīng)用程序的用戶界面標(biāo)準(zhǔn),確保了應(yīng)用程序具有更高的可維護(hù)性。
(一)試題庫(kù)的設(shè)計(jì)
試題題庫(kù)是在線考試系統(tǒng)中最基礎(chǔ)也是最根本的部分,是某一門學(xué)科中所有考試題目的集合。對(duì)于一個(gè)好的試卷生成系統(tǒng)來說,試卷生成的好壞與否關(guān)鍵就在于題庫(kù)組織是否合理。要建立一個(gè)好的試題題庫(kù),首先要保證有足夠數(shù)量的考試題目,能涵蓋學(xué)科的全部至少也是大部分的知識(shí),同時(shí)還要對(duì)已有的試題題目進(jìn)行合理的分類。為了能夠滿足本系統(tǒng)的需求,試題庫(kù)中的數(shù)據(jù)庫(kù)設(shè)計(jì)如下:
表1 試題信息表
(二)組卷策略
要使考試科學(xué)合理,真正達(dá)到考察學(xué)生對(duì)知識(shí)掌握情況的目的,試卷生成的質(zhì)量非常關(guān)鍵。不同的考試需要的考試試卷不同,因而需要根據(jù)試卷相關(guān)的各種參數(shù),如試題的難度比例、題型的配比、涵蓋的知識(shí)點(diǎn)等等,然后在題庫(kù)中找出合適的題目來生成試卷。一個(gè)理想的試題應(yīng)該具備以下特性:
(1)良好的通用性,也即一個(gè)好的試題生成系統(tǒng)應(yīng)該能夠在不同的科目、不同類型的考試中應(yīng)用。
(2)試卷生成的隨機(jī)性:系統(tǒng)每次生成的試題應(yīng)該都不一樣,具有隨機(jī)性。同時(shí),系統(tǒng)也應(yīng)該可以根據(jù)管理員的要求出題。
(3)試題的合理性:試卷中試題的覆蓋面應(yīng)該足夠大,在沒有特定要求的情況下,同一份試卷中不應(yīng)當(dāng)出現(xiàn)涉及同一知識(shí)點(diǎn)的多道題目、分值也不應(yīng)涉及的太多。此外,各種題目的類型、難度和分值以及各個(gè)知識(shí)點(diǎn)所要占得比例都要均衡。
(4)應(yīng)變性:除了上述幾點(diǎn)之外,系統(tǒng)還應(yīng)該允許管理員根據(jù)不同的教學(xué)進(jìn)度、具體的教學(xué)要求以及學(xué)生的學(xué)習(xí)情況等,對(duì)試題范圍、難度進(jìn)行相應(yīng)的調(diào)整。
考慮到系統(tǒng)的實(shí)用性,該系統(tǒng)只需要組織者輸入最基本的考試要求,如考察科目、考試難度、各類題型的數(shù)量、需要涵蓋的知識(shí)點(diǎn),系統(tǒng)會(huì)根據(jù)這些基本參數(shù)在題庫(kù)中隨機(jī)抽取試題,生成一份符合要求的試卷。以《Java程序設(shè)計(jì)基礎(chǔ)》試題為例,在試題參數(shù)選擇界面中,系統(tǒng)將試題庫(kù)中所有該科目的知識(shí)點(diǎn)獲取并顯示,用戶可以根據(jù)需要對(duì)此選擇。同樣,試題類型部分也將所有的試題類型列出,并在后面設(shè)置可以填寫的文本框,一旦該題型被選中,后面的文本框自動(dòng)處于編輯狀態(tài),用戶可以輸入該題型所需要的試題個(gè)數(shù)。此外,系統(tǒng)還根據(jù)一般的情況將試卷難度設(shè)為難、較難、中等、較簡(jiǎn)單和簡(jiǎn)單五個(gè)等級(jí),基本能夠滿足一般用戶的需要。
利用計(jì)算機(jī)實(shí)現(xiàn)自動(dòng)組卷功能,最常用的方式是動(dòng)態(tài)生成隨機(jī)數(shù),然后根據(jù)隨機(jī)數(shù)從題庫(kù)中選擇對(duì)應(yīng)試題組成試卷。在這種方法中,應(yīng)保證一份試卷中的試題不重復(fù)出現(xiàn),因此要求生成的隨機(jī)數(shù)不能重復(fù)。而且,由于試題的動(dòng)態(tài)變化,生成的隨機(jī)數(shù)在數(shù)據(jù)庫(kù)中可能無法提取到相應(yīng)的試題,這樣還需要重新提取,因而采用的組卷算法必須簡(jiǎn)單高效,否則就有可能成為系統(tǒng)瓶頸,導(dǎo)致系統(tǒng)反映遲鈍。
在該系統(tǒng)中,首先根據(jù)用戶給定的參數(shù)提取數(shù)據(jù)庫(kù)中合適的試題,并按照類型分類存入不同的List中。然后,根據(jù)List的大小確定動(dòng)態(tài)生成的隨機(jī)數(shù)的范圍,從而杜絕取不到題的現(xiàn)象。另外,由于第一次存儲(chǔ)采用了隨機(jī)的存儲(chǔ)方式,因而在第二次存儲(chǔ)后整個(gè)List中試題的順序是完全隨機(jī)的,因而也可以保證試題在抽取中的隨機(jī)性。
(三)試卷生成
由于目前高校中所用的試卷基本都是通過word排版后進(jìn)行打印的,因而在該系統(tǒng)中,我們也采用生成word頁面的方式,來生成試卷。由于JSF中沒有相應(yīng)的組件能夠?qū)?dòng)態(tài)生成的數(shù)據(jù)導(dǎo)出到已經(jīng)生成的試卷模板。因而在系統(tǒng)中,我們先將數(shù)據(jù)動(dòng)態(tài)導(dǎo)出到HTML靜態(tài)頁面,然后使用BufferedInputStream和BufferedOutput——Stream獲得要讀取數(shù)據(jù),并將其輸出到word中。
目前該系統(tǒng)已經(jīng)基本完成,但是依然存在一定的問題。如組卷策略中使用隨機(jī)數(shù)來提取試題,一旦試題庫(kù)中試題數(shù)目太多,會(huì)引起試題生成緩慢,甚至產(chǎn)生瓶頸;此外,試題庫(kù)中試題的難易程度目前只能人工更新,而實(shí)際上試題的難易程度應(yīng)該由學(xué)生實(shí)際作答情況和老師的評(píng)價(jià)按一定比例來動(dòng)態(tài)更新,在下一步要努力改進(jìn)。
[1]叢根滋,蘇中濱,沈維政.基于SQLServer-Hibernate-JSF的信息門戶網(wǎng)站開發(fā)平臺(tái)的設(shè)計(jì)與實(shí)現(xiàn)[J].計(jì)算機(jī)應(yīng)用與軟件,2011,(12).
G718.5
A
1673-0046(2012)8-0053-02