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

(2)模擬測試時,根據分值、題型的數量通過隨機算法進行抽取,代碼如下:

(3)組卷,代碼如下:

2.2.5 在線測試模塊詳細設計
仍然以選擇題為例,簡要描述實現過程:
function PreProcessDXT(StrBuff:WideString;var Item:


2.2.6 系統管理模塊詳細設計
系統管理模塊主要包括用戶權限與登錄、題型設置、考試時間設置、題型數量、題型分值等功能的設計。
通過本系統的應用,大大提高了相關知識學習的效率,順利通過了資格認證知識考試,獲得了較好的應用效果。
[1]吳靜霞.基于智能組卷的在線考試系統得設計與實現[J].2008(4)第10卷第3期.
[2]SQL Server 聯機叢書[M].