王亞南
(鄭州飛機裝備有限責(zé)任公司 河南 鄭州 450005)
為配合公司某資格認(rèn)證的需要,開發(fā)了在線自測考試系統(tǒng)。該系統(tǒng)運行于公司局域網(wǎng),采用Delphi+SQL Server 2000的架構(gòu)。該系統(tǒng)分為自測練習(xí)、模擬考試和考試參數(shù)配置三個模塊。系統(tǒng)管理員可對題目類型、分值、考試時間等參數(shù)進行配置。同時還具有隨機抽題、自動組卷、自動計時、自動閱卷、自動評分功能,各單位人員可通過客戶端登錄本系統(tǒng),完成自測練習(xí)和模擬考試。通過本系統(tǒng)的應(yīng)用,大大提高了學(xué)習(xí)效率,順利通過了資格認(rèn)證知識考試,獲得了較好的應(yīng)用效果。
通過分析資格認(rèn)證考試的題型分類和題庫的試題存儲格式,得出了通過結(jié)構(gòu)化的關(guān)系型數(shù)據(jù)庫可以存儲各類試題的題干和題肢,以及正確答案,從而對用戶的選擇和作答做出判斷,并根據(jù)參數(shù)配置確定用戶分值。根據(jù)這一分析,著手使用Delphi 7.0開發(fā)一個集成題庫管理、試卷管理、自動組卷、在線考試、試卷評閱、自測練習(xí)、模擬考試和考試參數(shù)配置等功能的在線知識自測考試系統(tǒng)。
2.2.1 系統(tǒng)開發(fā)語言和數(shù)據(jù)庫
本系統(tǒng)是通過Delphi7.0設(shè)計程序來連接和管理 SQL Server2000數(shù)據(jù)庫,完成所有功能的操作。其核心技術(shù)便是研究數(shù)據(jù)庫管理和Delphi程序設(shè)計。
系統(tǒng)開發(fā)主要采用了C/S的兩層結(jié)構(gòu)模式、SQL數(shù)據(jù)庫技術(shù)、Pascal開發(fā)語言等諸多技術(shù),綜合采用面向組件和面向?qū)ο蠓椒▽ο到y(tǒng)進行需求分析、設(shè)計和構(gòu)建系統(tǒng)模型。
結(jié)合本系統(tǒng)的設(shè)計,C/S架構(gòu)的兩層體系結(jié)構(gòu)對應(yīng)于硬件設(shè)計就是客戶端和數(shù)據(jù)庫服務(wù)器。服務(wù)器采用SQL SERVER 2000數(shù)據(jù)庫,客戶端運行客戶端程序來完成自測全過程,同時可進行遠(yuǎn)程系統(tǒng)維護和管理。
2.2.2 關(guān)鍵技術(shù)及解決方案
基于知識測試的題型特點,關(guān)鍵技術(shù)是試題的智能組卷設(shè)計。經(jīng)過對比分析研究,本系統(tǒng)采用隨機算法進行系統(tǒng)算法的實現(xiàn)。
隨機算法是最常用的組卷算法,它根據(jù)狀態(tài)空間的控制指標(biāo),由計算機隨機地抽選一道試題加入試卷中,此過程不斷重復(fù),直到組卷完畢,或已經(jīng)無法從試題庫中抽選滿足指標(biāo)的試題為止。在具體實現(xiàn)時,可以采用一個定長的線性表作為試卷生成過程中的狀態(tài),線性表的長度為用戶提交的總題量,每一元素代表選中試題的狀態(tài)長度,狀態(tài)類型由試題的若干分量組成,如題型、難度等,待組卷完成后,再從試題庫中抽取與之相應(yīng)的試題生成試卷。算法的實現(xiàn)過程為:
(1)建立兩個數(shù)組P(M)、Q(N)。P(M)的值為某種狀態(tài)M的試題在試題庫中的試題量,Q(N)為用戶要求的該狀態(tài)的試題數(shù)目,P(M)對應(yīng)的全部狀態(tài)的集合構(gòu)成線性表LIST;
(2)如果 P(M)> Q(N),則轉(zhuǎn)向(5),否則產(chǎn)生隨機數(shù) X1,X1=int(rand(-1)*P(M),其值小于P(M),讀取X1記錄,并對該記錄作選取標(biāo)志,抽取下一道題目時,有選取標(biāo)志的記錄不再有效;
(3)若 P(M)<>0,則 P(M)=P(M)-1,重復(fù)(2);
(4)若 LIST 表未滿,則轉(zhuǎn)向(1),否則組卷成功;
(5)算法結(jié)束。
2.2.3 數(shù)據(jù)庫設(shè)計
數(shù)據(jù)庫的整體結(jié)構(gòu)設(shè)計如下:
試題(試題編號,試題內(nèi)容,試題類型,題干,題肢,答案)
用戶(用戶編號,用戶帳號,用戶密碼,權(quán)限)
題型參數(shù)(總分,考試時間,題型數(shù)量,題型分值)
2.2.4 在線組卷模塊詳細(xì)設(shè)計
下面以選擇題組卷為例,簡要描述實現(xiàn)過程:
(1)順序測試時,按順序抽取所有選擇題并進行排列顯示,代碼如下:
(2)模擬測試時,根據(jù)分值、題型的數(shù)量通過隨機算法進行抽取,代碼如下:
(3)組卷,代碼如下:
2.2.5 在線測試模塊詳細(xì)設(shè)計
仍然以選擇題為例,簡要描述實現(xiàn)過程:
function PreProcessDXT(StrBuff:WideString;var Item:
2.2.6 系統(tǒng)管理模塊詳細(xì)設(shè)計
系統(tǒng)管理模塊主要包括用戶權(quán)限與登錄、題型設(shè)置、考試時間設(shè)置、題型數(shù)量、題型分值等功能的設(shè)計。
通過本系統(tǒng)的應(yīng)用,大大提高了相關(guān)知識學(xué)習(xí)的效率,順利通過了資格認(rèn)證知識考試,獲得了較好的應(yīng)用效果。
[1]吳靜霞.基于智能組卷的在線考試系統(tǒng)得設(shè)計與實現(xiàn)[J].2008(4)第10卷第3期.
[2]SQL Server 聯(lián)機叢書[M].