葉欣 陳磊 楊小國 劉柳 朱接文
摘要:該文從調(diào)研現(xiàn)有考試方式入手,結(jié)合在線考試的實際情況,對基于B/S模式的在線考試系統(tǒng)進行了系統(tǒng)分析,針對自動組卷的關(guān)鍵問題,選擇并使用了遺傳算法作為自動組卷算法,接著對系統(tǒng)進行了設(shè)計和實現(xiàn),實踐證明,該系統(tǒng)具有一定的應(yīng)用價值。
關(guān)鍵詞:自動組卷算法;在線考試;B/S
中圖分類號:TP391 ? ? ?文獻標識碼:A
文章編號:1009-3044(2021)35-0048-03
考試是各級各類教育、教學、培訓中十分重要的一個環(huán)節(jié),考試工作的方式與質(zhì)量也就擺在了極為突出的位置。傳統(tǒng)考試大都以紙質(zhì)試卷、筆等為材料,每次考試都要浪費大量的材料,且工作試卷的批閱、整理需要大量時間,致使考試的工作效率低下。鑒于這些原因,及時對考試工作進行改革顯得十分必要。
當今世界信息技術(shù)的迅速發(fā)展,正掀起一場前所未有的社會變革,該變革逐步滲透到國民經(jīng)濟的各行各業(yè)、人們生活的各個方面,并催生了許多新業(yè)態(tài)、新模式??荚囶I(lǐng)域也不例外,信息技術(shù)與傳統(tǒng)考試的深度融合,誕生了在線考試的新模式,在線考試由于其具有實時、高效率、可信度高等特點,將逐步占據(jù)傳統(tǒng)考試的份額。
本文從分析在線考試所需的技術(shù)入手,以煤礦管理人員考試實際,詳細分析在線考試系統(tǒng)的業(yè)務(wù)過程和自動組卷算法選取等重要問題,通過對系統(tǒng)進行設(shè)計,實現(xiàn)了在線考試系統(tǒng)的全部功能 [1-3]。
1 相關(guān)技術(shù)
1.1 B/S模式
B/S模式,即Browser/Server模式,中文全稱是瀏覽器/服務(wù)器模式,是當今流行的軟件開發(fā)模式,與傳統(tǒng)的C/S模式相比,即Client/Server(客戶端/服務(wù)器模式),B/S模式具有占用客戶機內(nèi)存較小、服務(wù)端反應(yīng)迅速、使用靈活方便等特點,其完全能夠滿足在線考試系統(tǒng)的相關(guān)要求,故B/S模式適合開發(fā)在線考試系統(tǒng)。
1.2 LAMP體系
LAMP體系是指Linux+Apache+MySQL+PHP的技術(shù)組合開發(fā)模式,該體系使用功能強大、性能穩(wěn)定、開源共享的Linux作為Web服務(wù)器的操作系統(tǒng),Web服務(wù)器采用靈敏、健壯的Apache服務(wù)器,數(shù)據(jù)庫服務(wù)器采用當今十分流行、靈活精悍的MySQL作為數(shù)據(jù)庫管理工具,服務(wù)器端的編程語言使用PHP作為動態(tài)Web開發(fā)技術(shù),鑒于此,該體系符合在線考試的技術(shù)需求。
2 系統(tǒng)分析
為了保證所設(shè)計的在線系統(tǒng)能保證常規(guī)考試的正常進行,必須先在全面、深入調(diào)查煤礦管理人員傳統(tǒng)考試現(xiàn)狀的基礎(chǔ)上,結(jié)合在線考試相關(guān)技術(shù),對其進行具體的需求分析。
2.1 用戶需求分析
首先,從用戶的角度來說,本在線考試系統(tǒng)有三種類型的用戶,分別是考生、教師、系統(tǒng)管理員。由于用例圖具有正確捕捉用戶功能性需求的作用,以下先分別對三種用戶使用用例圖進行需求分析,該三種用戶對應(yīng)的用例圖分別如圖1、圖2、圖3所示。
如圖1所示,考生用例圖包括在線考試、查看成績、退出系統(tǒng)三個基本需求。
如圖2所示,在在線考試系統(tǒng)中,教師用例圖具有試題庫數(shù)據(jù)維護、學生成績維護、退出系統(tǒng)等功能需求,其中試題數(shù)據(jù)庫維護又包含對單選題、多選題、判斷題等多種題型的管理,以單選題為例,教師還可以進行添加單選題、刪除單選題、修改單選題、查詢單選題等操作。
除了考生、教師外,在線考試系統(tǒng)還包含系統(tǒng)管理員用戶,如圖3所示,系統(tǒng)管理員具有考試管理、考生管理、數(shù)據(jù)庫維護管理、推出系統(tǒng)等使用需求,其中考試管理又包括新增考試、查看考試、開考管理、考試管理等內(nèi)容,考生管理又包括添加考生、考看考生、導入考生、檢查相片等功能[4]。
2.2 系統(tǒng)業(yè)務(wù)流程分析
如圖4所示,結(jié)合傳統(tǒng)考試的實際情況,分析在線考試的整個業(yè)務(wù)過程如下:
l)系統(tǒng)管理員初始化系統(tǒng),并在系統(tǒng)中新增考試,添加配置教師、考生等用戶,并將其導入到在線考試系統(tǒng)中。
2)教師按照考試試題的屬性,如試題的題型、難度等,添加、配置相應(yīng)的試題。
3)試題配置完成后,考生可輸入考生信息,登錄到本系統(tǒng)進行在線考試,此時考生的信息將被保存系統(tǒng)中。
4)在線考試系統(tǒng)按照事先確定的自動組卷算法,從題庫中按照要求選擇相應(yīng)試題組成試卷,本系統(tǒng)分配給不同學生的試題順序、試題內(nèi)容不一樣,以防止學生作弊。
5)考生得到系統(tǒng)分發(fā)出的試卷后,開始試題作答,待題目回答完畢,通過點擊提交按鈕進行試卷提交。
6)系統(tǒng)在收到全部參與在線考試考生的試卷后,按照預先的規(guī)則,自動評閱試卷,并給出相應(yīng)成績。
7)考生可在規(guī)定時間或在收到系統(tǒng)成績查詢的通知后,可登錄系統(tǒng)選擇相應(yīng)考試科目進行本人成績的查詢,但不能查詢別人成績。
3 自動組卷算法
3.1 自動組卷算法的選取
目前常用的自動組卷算法包括隨機選取法、回溯試探法、遺傳算法三種[5-6]。
隨機選取法是指根據(jù)一定狀態(tài)空間的控制指標,通過計算機隨機抽取一道試題放入指定的試題庫,然后不斷重復此過程,直到組卷完畢為止,或者直到無法從題庫中抽取符合控制指標的試題為止。該方法雖結(jié)構(gòu)較為簡單,一般對于單道題的抽取速度較快,但不適用于整個組卷過程,這樣因為組卷的成功率較低,且需要花費大量時間。特別是對于各狀態(tài)類型平均出題量較低的題庫,容易出現(xiàn)組卷失敗的情況。
回溯試探法是在隨機選取法的基礎(chǔ)上將產(chǎn)生的每一狀態(tài)類型先記錄下來,當搜索失敗時釋放上次記錄的狀態(tài)類型,之后再通過選擇一定的規(guī)律(正是這種規(guī)律破壞了選取試題的隨機性)變換一種新的狀態(tài)類型進行試探,該方法最終通過不斷地回溯試探直到試卷生成完畢或退回原來出發(fā)點為止,對于這種有條件的深度優(yōu)先算法,在狀態(tài)類型和出題量都較少的題庫系統(tǒng)的情況下,具有較高的組卷成功率,但是此算法在具體的應(yīng)用時耗用大量內(nèi)存,并且結(jié)構(gòu)相對復雜、試題選擇缺少隨機性,組卷所需的時間較長,而這是用戶不能同意的,所以這種組卷算法也有待于改進。
遺傳算法是適合于給定約束條件下求問題的最優(yōu)解,一種并行的、自進化(自組織、自適應(yīng)、自學習性)的算法,該算法模擬遺傳學規(guī)律,以種群為研究單位,在編碼的基礎(chǔ)上,通過不斷選擇、交叉、變異,逐漸生成新的、具有更好適應(yīng)度的種群,最后通過解碼得到具有最大適應(yīng)度的個體作為輸出。該算法本質(zhì)上是一種把自然界生物的優(yōu)勝劣汰和自然選擇與一個種群中個體與個體之間的隨機信息交換機制相互結(jié)合的查找算法,顯然,直接依據(jù)一定的組卷規(guī)則從數(shù)據(jù)庫中獲取一定數(shù)量的試題生成一套試卷,因為次數(shù)有限,無法保證這樣組卷得到的結(jié)果是合適的,并且更難滿足這樣得到的結(jié)果是最優(yōu)的。所以,我們需要一個優(yōu)秀的自動組卷算法,遺傳算法具有自進化、并行執(zhí)行等特點,就非常適合解決自動組卷的問題。
3.2 遺傳算法在自動組卷中的應(yīng)用
本系統(tǒng)所采取的遺傳算法的流程如下[7-8]:
1)初始化:隨機生成一個規(guī)模為N的種群,設(shè)置最大進化次數(shù)以及停止進化條件。
2)計算適應(yīng)度:適應(yīng)度是評價種群中個體質(zhì)量的指標,并且具有唯一性。
3)選擇:選擇是從種群中選擇一些優(yōu)秀的個體來產(chǎn)生下一代。由于在一定程度上選擇會影響種群的進化方向,所以選擇算法十分重要。常用的選擇算法包括隨機抽取、競標賽選擇和輪盤賭模擬法等。
4)交叉:交叉是種群中的兩個個體繁衍下一代的過程,實際上是子代從父親和母親中獲取部分基因,即基因重組。常用的交叉方法包括單點交叉和多點交叉等。
5)變異:變異即模擬染色體基因突變的過程。通過變異,種群中的個體變得多樣。但是變異是有一個概率的事件。
本遺傳算法使用的編碼方法、適應(yīng)度函數(shù)、選擇算子、交叉算子、變異算子如下:
1)編碼方法:將試題根據(jù)題型分段,再進行題號染色體的編碼。
2)適應(yīng)度函數(shù):受題號、題型、難度、知識點、章節(jié)組成的五維向量所約束。
3)選擇算子:輪盤賭模擬法。
4)交叉算子:單點交叉。
5)變異算子:設(shè)置變異閾值,進行分段變異。
4 系統(tǒng)設(shè)計與實現(xiàn)
4.1 系統(tǒng)設(shè)計
經(jīng)過前一節(jié)的系統(tǒng)分析,我們可以得到,本系統(tǒng)可以包括三個子系統(tǒng):考生用戶子系統(tǒng)、教師用戶子系統(tǒng)、系統(tǒng)管理員用戶子系統(tǒng),這三個子系統(tǒng)分別面向考生用戶、教師用戶、系統(tǒng)管理員用戶三種人員,此系統(tǒng)的總體結(jié)構(gòu)如圖5所示[9-10]。
系統(tǒng)管理員用戶子系統(tǒng)主要為系統(tǒng)管理員提供考試整個過程的信息管理服務(wù),涉及考試管理、考生管理、數(shù)據(jù)庫維護等方面。教師用戶子系統(tǒng)包含管理試題庫、考生成績管理等功能。學生用戶子系統(tǒng)的主要功能是為考生參加相應(yīng)考試提供服務(wù),如在線考試、查看成績等。此系統(tǒng)功能模塊如圖6所示。
4.2 系統(tǒng)實現(xiàn)
5 結(jié)束語
本文所設(shè)計的基于B/S模式在線考試系統(tǒng),以遺傳算法為自動組卷算法,具有實用性、可靠性、無紙化,能夠較大提高考試的效率,為師生參與教育教學提供方便。
參考文獻:
[1] 任曉霞.基于B/S結(jié)構(gòu)的在線考試系統(tǒng)的設(shè)計與實現(xiàn)[D].天津:河北工業(yè)大學,2011.
[2] 曾艷麗.基于B/S的在線考試系統(tǒng)設(shè)計與實現(xiàn)[J].電腦編程技巧與維護,2019(5):35-36,79.
[3] 王嫻,劉輝,倪遠平.B/S與C/S體系結(jié)構(gòu)的應(yīng)用研究[J].信息技術(shù),2006,30(6):53-55.
[4] 王繼成,高珍.軟件需求分析的研究[J].計算機工程與設(shè)計,2002,23(8):18-21.
[5] 張健.在線測試系統(tǒng)中自動組卷算法的探討[J].計算機時代,2004(12):43-44.
[6] 王宇穎,侯爽,郭茂祖.題庫系統(tǒng)試卷自動生成算法研究[J].哈爾濱工業(yè)大學學報,2003,35(3):342-346.
[7] 歐薇.基于遺傳算法的在線考試系統(tǒng)的設(shè)計與實現(xiàn)[D].廣州:華南理工大學,2012.
[8] 胡木林.基于遺傳算法的在線考試系統(tǒng)組卷設(shè)計[J].中國教育技術(shù)裝備,2018(12):23-27.
[9] 曹鑫.高校在線考試系統(tǒng)的設(shè)計與實現(xiàn)[D].石家莊:河北科技大學,2011.
[10] 謝海.攀鋼職工培訓在線考試系統(tǒng)研究與實現(xiàn)[D].成都:電子科技大學,2010.
【通聯(lián)編輯:朱寶貴】