摘 要:本文闡述了考試與題庫系統(tǒng)的開發(fā)背景,并詳細介紹了本系統(tǒng)的數(shù)據(jù)庫的建立以及主要功能,從而實現(xiàn)“一次出題、多次利用”的目標。
關鍵詞:考試系統(tǒng);C/S模式;數(shù)據(jù)庫
中圖分類號:TP311
計算機技術的應用與推廣,實質上取決于計算機軟件的應用和推廣??梢哉f,沒有軟件,就沒有計算機的應用;學習、使用計算機,從根本上講就是學習和掌握軟件的使用。本文主要研究一個通用型的題庫和考試系統(tǒng),利用計算機和網(wǎng)絡進行無紙化考試。
本系統(tǒng)由服務器端和客戶端組成,采用C/S模式。服務器端主要包括系統(tǒng)基本操作模塊、題目錄入模塊、判卷處理模塊、系統(tǒng)查詢模塊、系統(tǒng)初始化和系統(tǒng)數(shù)據(jù)維護模塊。客戶端主要由考生登錄模塊、歷次成績查詢模塊和考試處理模塊組成。
其中系統(tǒng)基本操作模塊主要完成試卷的生成、考試設置、學生信息錄入功能;題目錄入模塊包括選擇題、填空題、判斷題、問答題、分析題的錄入;系統(tǒng)查詢模塊完成試卷、學生、學生成績的查詢功能;系統(tǒng)初始化模塊完成系統(tǒng)數(shù)據(jù)庫初始化、單位信息設置功能;數(shù)據(jù)維護模塊完成按年級、科目信息維護及操作員維護,修改密碼、數(shù)據(jù)備份/修改等功能。
總的來說包括兩大部分:一是服務器端題目的錄入與修改,教師可以從題庫中抽取試題,也可加入,刪減試題用以為學生生成試卷。并對學生所作答案進行批改給分,同時可將成績結果打印。二是客戶端可從現(xiàn)已生成的試卷中調出試題作答,學生可在考試之后查詢以前考試卷的成績。
另外,還可以使用打印機生成傳統(tǒng)的試卷,由學生進行筆答,在考試結束之后學生成績也可以使用打印機生成文本,以備存檔。
1 系統(tǒng)分析
1.1 需求分析
隨著Internet的高速發(fā)展,網(wǎng)絡逐漸進入人們的生活,給我們的生活和工作帶來許多便利,無紙化辦公也漸漸的取代傳統(tǒng)的辦公模式。在傳統(tǒng)的學?;蛘呷耸聠挝坏目荚嚪绞街校荚嚭统煽兊墓芾矶己苈闊?,每次考試都要出題、組卷、判卷,浪費很多人力和時間。
隨著計算機和網(wǎng)絡的普及,網(wǎng)上學校、網(wǎng)上教學等漸漸取代傳統(tǒng)的教學模式。所以學校和單位的考試也將改變傳統(tǒng)的模式,利用計算機和網(wǎng)絡進行學習和考核,題目可以用計算機進行數(shù)據(jù)保存,實現(xiàn)“一次出題、多次利用”。這就是開發(fā)本系統(tǒng)的目的。
1.2 運行環(huán)境分析
硬件環(huán)境:系統(tǒng)需要運行在局域網(wǎng)環(huán)境,必須有一臺性能較好的計算機作為題庫和考試控制的服務器,客戶端用于學生的考試或者教師錄入/修改題目之用。
軟件環(huán)境:服務器端操作平臺為Window Server 2003,后臺數(shù)據(jù)庫使用SQL Server 2005服務器版。客戶端可以是Windows XP等個人版系統(tǒng),如圖1所示。
1.3 開發(fā)工具的選取
由于Visual Basic 6.0工具功能強大,簡單易用,開發(fā)周期短,特別是它強大的數(shù)據(jù)庫操作功能,加上其與SQL Server的完美結合,所以優(yōu)先采用它作為前臺開發(fā)工具。
后臺數(shù)據(jù)庫使用SQL Server 2005,由于數(shù)據(jù)庫數(shù)據(jù)量比較大,需要保存各學科、各班級的題目和試卷信息,還有學生的基本信息、各次考試的試卷成績;而且數(shù)據(jù)庫必須支持多用戶同時并發(fā)訪問。所以只能選用大型多用戶多任務的數(shù)據(jù)庫系統(tǒng),比如微軟的SQL Server、Sybase、Oralce等。
Visual Basic 6.0中操作數(shù)據(jù)庫的方法很多,比如DAO、RDO、ADO等。Microsoft的ADO2.0-2.5數(shù)據(jù)庫操作對象是在DAO和RDO的基礎上完善的,其性能很好,特別適合用于本地或者遠程數(shù)據(jù)庫的操作。所以系統(tǒng)采用Microsoft ADO 2.0對象庫進行數(shù)據(jù)庫操作,用OLE DB作為數(shù)據(jù)庫的編程連接接口。
1.4 系統(tǒng)效益的估計
在傳統(tǒng)的知識和學習考試中,存在很大的浪費,比如紙張、人力、時間等,而且管理很不方便?,F(xiàn)在如果采用計算機網(wǎng)絡系統(tǒng)來出題、考試、管理等,一可以節(jié)省紙張,二可以減輕教師不必要的重復工作,效益非常可觀。
2 數(shù)據(jù)庫結構設計
數(shù)據(jù)庫分為服務器端和客戶機端。服務器端用SQL Server 2005保存各科、各班級的題目和試卷信息、所有學生的基本信息和成績信息??蛻舳擞肁ccess小型關系數(shù)據(jù)庫,考試時從服務器端讀取當前考試的試卷信息,再從服務器端讀取各題目的信息,生成本地數(shù)據(jù)庫。而客戶端暫時保存數(shù)據(jù),提高客戶端讀取數(shù)據(jù)的速度,考完試后數(shù)據(jù)就被刪除。
服務器端數(shù)據(jù)庫一共包括17張表:例如操作員的信息、學校科目信息、年級和班級結構信息、學生的基本信息、成績信息、各種考試題型(選擇題、填空題、判斷題等)信息等。
客戶端數(shù)據(jù)庫一共包括6張表,分別為:試卷信息、試卷選擇題、試卷填空題、試卷判斷題、試卷問答題、試卷分析題。
3 系統(tǒng)功能設計
鑒于以上的分析,系統(tǒng)服務器一共包括7個模塊,分別為:
(1)基本操作包括子模塊:試卷生成/修改、考試設置、學生信息錄入。
(2)題目錄入包括子模塊:選擇題錄入、填空題錄入、判斷題錄入、問答題錄入、分析題錄入。
(3)判卷處理包括子模塊:填空題判卷、問答題判卷、分析題判卷。其他的兩個題型(選擇題、判斷題)由計算機自動判卷。
(4)查詢處理包括子模塊:試卷查詢、學生查詢、學生成績查詢。
(5)系統(tǒng)初始化包括子模塊:系統(tǒng)數(shù)據(jù)庫初始化、單位信息設置初始化。
(6)數(shù)據(jù)維護包括子模塊:科目信息維護、班級信息維護、操作員維護、修改密碼、數(shù)據(jù)備份/恢復。
(7)系統(tǒng)幫助主要為用戶提供一定的幫助和使用指南。
客戶端一共包括3個模塊分別為:
(8)考生登錄負責檢查考生輸入的個人信息是否正確(從服務器端取得考生信息),正確則登錄。系統(tǒng)信息包括關閉計算機、強行交卷、系統(tǒng)消息等。
(9)考生歷次信息查詢負責考生本人的歷次考試的查詢、瀏覽考過的試卷。
(10)考生考試處理主要負責考生的考試全過程,先從服務器讀取本次考試的試卷信息,
在客戶端生成一緩存數(shù)據(jù)庫??蛻舳藬?shù)據(jù)庫為Access數(shù)據(jù)庫??荚囘^程中只對緩存數(shù)據(jù)庫操作,就算系統(tǒng)出問題也能把考生的答案保存下來,考完試后統(tǒng)一把答案提交到服務器的成績表里。
4 小結
本系統(tǒng)經(jīng)過詳細測試和檢驗,證明其設計方案是合理的、實用的,運行是可靠的,數(shù)據(jù)維護方便,用戶操作簡易??梢詫崿F(xiàn)的“一次出題、多次利用”的目標,使考試和成績的管理變得更加方便,節(jié)省了大量的人力和時間。
參考文獻:
[1]劉志嫵,張煥君,馬秀麗.基于VB和SQL的數(shù)據(jù)庫編程技術[M].北京:清華大學出版社,2008.
[2]林卓然.VB語言程序設計(第2版)[M].北京:電子工業(yè)出版社,2009.
作者簡介:焦鴻斌(1979-),男,吉林省長春市人,吉林農業(yè)大學碩士研究生,工程師,主要從事醫(yī)院計算機應用研究。
作者單位:吉林省人民醫(yī)院信息中心,長春 130000