摘 要: 隨著當今計算機技術的飛速發展,利用計算機進行試題庫的管理和考試分析已成為學校推動教學改革、提高教學質量的重要內容。本試題庫系統采用Visual Basic語言和Access數據庫開發而成,不僅能錄入包含圖形、公式和文字的各課程試題,生成不同科目的試題庫,并能按要求自動生成規定格式的試題、能對考試結果進行統計、分析和評價,生成規定格式的考試分析文檔,最終實現考試出題和考試分析的自動化。 關鍵詞: 試題庫 Visual Basic語言 成績分析 引言 隨著現代教育事業的發展,教學手段現代化問題顯得越來越重要。試題庫系統作為教學手段現代化的重要組成部分,與數據庫相結合,具有良好的發展前景。最近幾年,國內外已經有不少人員對此項工作做了研究,但是由于技術水平的限制,目前很多單位開發的試題庫系統還存在很多弊端。為響應國家教改,全面推進試題庫的建設,研制開發了這套試題庫管理和成績分析系統。該軟件在Windows XP操作系統下,采用Visual Basic語言[1]開發而成,具有Windows風格,界面友好,易于使用,通用性強[2]。通過其錄入系統錄入試題后,即可形成本課程的試題庫系統 [3],而且系統還具有自動組卷功能、成績統計與考試分析等功能,從而可以實現教考分離。 1 概述 1.1國內外題庫的發展及現狀 考試在我國古代就已經有了很大的發展,早在1300年以前就有了科舉制度。但這種考試不規范、不嚴密,不能客觀、準確地評估一個人的能力水平。第二次世界大戰結束后,考試在社會生活中的地位進一步提高,資格證書考試也就應運而生。這種考試次數頻繁,命題工作量大,并且對考試的測量學特性要求更加嚴格,不少考生要求結果相互可比,因此,建立高質量、大容量的現代化題庫成為必要。目前,經濟發達國家已經建立了完善的考試專業機構。各機構也都根據自己所承擔的職能建立起了大型題庫。 從我國恢復高考制度以后,隨著高考標準化的實施,尤其是微型計算機的快速發展,這些都為題庫建設提供了基礎條件。80年代中期以來,出現了多所學校或行政機構聯合開發試題庫的局面,同時,也出現了許多其它學科的試題庫。90年代前后,政府部門在全國范圍內有計劃、有組織、系統地開展CAI教學與國家試題庫的建設。 1.2本研究的目的和意義 傳統的考試出題總是教師考前集中出題、集中組卷,這樣很難保證試卷的質量,進而不能準確反映學生的學習效果。為促進教學手段的現代化,提高教學質量,減輕教師在出題、組卷和成績分析中的工作量,幫助教師方便、快速、準確地分析、評價學生的學習成績,本研究在VB編程環境下開發了一套能實現試題庫管理和成績分析的軟件。 本研究將試題管理、試卷生成和考試分析集為一體,不僅能幫助教師適時編制各類考試題目、生成標準試卷,還能對學生成績錄入、保存、分析并生成考試總結。本研究大大減輕了教師的工作量,有效地提高了整個考試過程的效率,對學校推動教學改革、提高教學質量起著很大的促進作用。 2系統總體結構設計 2.1系統功能 (1) 試題錄入功能 能將每道題的全部信息(包括每道題的題型、難度系數、分值等)錄入到試題庫中,而且若試題或答案中含有圖形或公式,可以進行相應的錄入。 (2) 題庫管理功能 對題庫中的試題與答案可進行整體瀏覽,或根據用戶選擇的具體查詢條件進行相應的查詢,也可以對試題庫中的試題進行修改、刪除等維護操作。 (3) 自動組卷功能 根據用戶指定的試題難度、試題類型從試題庫中隨機抽取試題組成一套試卷,答案亦隨機生成。 (4) 試卷瀏覽與修改功能 可對當前試卷進行整體瀏覽,并對不滿意的試題進行修改和刪除。 (5) 試卷輸出功能 可通過調用Word將當前生成的試卷模板進行編輯排版,從而生成一套正式的試卷,并可將其打印輸出。 (6) 考試分析功能 可實現成績庫導入、成績統計與分析、試卷分析等功能。 (7) 用戶管理功能 為不同級別的用戶設定密碼,登錄后方可實現對應的操作。 2.2本系統的數據庫結構設計 本試題庫系統數據庫[4]共分為兩個數據表,一個用來存放各種題型的試題,另一個用來存放試卷考題的試卷表。 表2.1 試題數據表 字段名 類型 意義 DM(試題代碼) Integer 每道題的唯一標識 NR(試題內容) Memo 存放試題圖文混和信息 NDXS(難度系數) Text 存放每道題的難度信息 FZ(建議分值) Text 存放每道題的分值信息 DAAN(答案) Memo 存放試題答案信息 表2.1介紹了試題數據表的具體結構,因為本試題庫系統的試題數據表中存儲的試題中往往帶有圖形,在設計數據表結構時就需要一個能存放圖文混和信息的字段,我們選用了Memo類型[5]字段來存放試題內容和試題答案信息。 表2.2 試卷表 字段名 類型 STDM(試題代碼) Text STNR(試題內容) Memo TX(題型) Text FZ(分值) Integer 表2.2介紹了試卷表的具體結構,本部分主要包括試題代碼、試題內容、題型和分值四項內容,對于試題代碼和題型都是文字信息,所以選用Text類型;試題內容中往往帶有圖形,選用Memo類型;分值都是數字,所以選用Integer類型。 3 試題錄入系統的設計 3.1試題錄入功能的實現 3.1.1純文本信息的輸入 在試題數據表中,只有試題內容與試題答案包含圖形信息,其余字段存的都是純文本信息,對這些文本信息(包括每道題的難度系數、分值、知識點)的輸入,采用了組合框控件。 3.1.2圖文混和信息的輸入 為了輸入圖文混和信息,我們使用RichText控件,該控件不僅允許輸入和編輯文本,同時還提供了標準的TextBox內部控件(文本框控件,可用來輸入純文本信息)未具有的、更高級的指定格式的許多功能。 3.1.3公式信息的輸入 為了實現公式信息的輸入,我們同樣使用RichText控件,公式信息的輸入和圖文混和信息的輸入大體相同,但是公式信息的輸入需要用到公式編輯器。 3.2題庫管理系統的設計 ●試題修改的實現 在修改試題的過程中,為避免誤操作使不應改動的試題發生改動,在用戶單擊確定按鈕后,增加了提示對話框。只有當用戶在提示對話框里單擊了“是”按鈕,確認了確實要修改,才能將變化后的試題存入題庫。在本窗體界面中,一次可以同時顯示三道試題。 ●刪除功能的實現 與試題修改相類似,要想刪除某道試題,也須先將焦點置于該題,然后單擊刪除確定按鈕。但與試題修改不同的是,試題被刪除后,數據庫中的記錄就會減少一條,而在通過向上或向下翻頁按鈕顯示試題時,記錄指針都將嚴格按順序依次向上或者向下移動,這樣當記錄突然比原來少了一條以后,再來回翻頁時,記錄指針就會無法正確定位,于是也就無法按正確順序顯示試題。為避免這種情況,引入了一個窗體級變量,在每次單擊“刪除確定”按鈕后,并不立即將該題刪除,而是將要刪除試題的代碼存入窗體級變量中,然后在關閉該窗體時,在該窗體的事件中再將其刪除。 4 試卷生成系統的設計 4.1自動組卷功能的實現 在試卷生成界面中,按照各題型的統計信息選擇題型難度及數量選擇結束后,已選擇信息將存儲在試題庫中,以此繼續下一題型的選擇,直到全部選擇完畢。 當所有題型選擇完畢后,按“生成試卷”按鈕將生成規定格式的A、B試卷。點擊“查看試卷統計信息”可以看到已選題型個數及已選分數。 4.1.1數據訪問對象(DAO) 在VB中提供了兩種訪問數據庫的方法:通過數據控件(Data)和利用數據訪問對象(Data Access Objiect :DAO)。將這兩種方法相比較,使用Data控件的特點是:幾乎不需要任何代碼,僅靠屬性的設置即可使工程具有基本的數據訪問能力;而數據訪問對象則完全在程序運行代碼中進行,使程序開發人員可以擺脫數據控件的束縛,直接編寫程序訪問數據庫數據,從而能夠開發出更具彈性且高效率的數據庫應用程序。 4.1.2試題統計信息的實現 為了在生成的記錄集中隨機抽取出一道題,可以使用VB提供的Rnd函數,該函數能生成一個0︿a之間的隨機數。設記錄集的個數為a,則i = Int(Rnd * a + 1)就是一個范圍在1︿a之間的隨機整數。這樣在記錄集中取出的第i條記錄,就是被隨機抽出的一道題,而且被選中的這道題在SELECT語句選擇條件的保證下不會重復已出過的試題。 4.2試卷瀏覽與修改 試卷管理系統主要能完成兩方面的功能:試卷的瀏覽與修改,能對當前正在生成的試卷進行瀏覽,并對不滿意的試卷進行修改或刪除;試卷的編排和打印,能將選好的試題放入標準的試卷模板并調用Word進行編輯、排版和打印。 4.3試卷編排與打印 4.3.1試卷瀏覽與修改功能的實現 在試卷瀏覽與修改窗體界面中含有一個接近整個窗體的RichTextBox控件,用來顯示當前試卷中的全部試題。 為了連續向RichTextBox控件(此處名為Rtb0)中添加試題利用了VB提供的SendMessage方法和Clipboard對象的 SetText方法來模擬剪切和粘貼的過程,即先把一道道試題送入到剪切板,再把剪切板中的內容一個個粘貼到RichTextBox控件中。 4.3.2試卷的保存和打印功能的實現 首先在工程中引用Word對象模型。定義一個Word對象應用程序的對象mypaper,再用Set方法給mypaper賦值。通過mypaper的子對象集Documents調用Add方法,生成新Word文檔。用SQL語句中的Select命令抽取出符合條件的記錄并給Data控件的記錄集賦值,將 OLE與記錄集的題目內容字段綁定,通過OLE調用Doverb方法,激活Word應用程序,并將題目內容粘貼到粘貼板上,再關閉Word。然后調用 SendKeys命令,將粘貼板上的內容貼到RichText上,同時,將Word應用程序對象mypaper的子對象Select調用Paste命令也能將題目內容粘貼到Word的新文檔中。對各種題型重復編程,最后將Word應用程序調用Quit命令,關閉Word,在關閉前會出現一個提示框,可以保存該文檔。 5 成績分析系統的設計與實現 5.1 成績庫導入 對于數據庫的實現方法,有小型數據庫Foxpro、Access、Paradox等,大型數據庫Oracle、Sybase、Informix等。基于 ODBC實現數據庫和應用程序的接口,ODBC(Open Database Connectivity)可以提供一個為各數據庫廠家支持的較一致的應用開發界面,使應用程序獨立于具體的數據庫,給信息交換帶來方便。 ODBC有驅動管理器、驅動程序監管器、驅動程序和數據源四部分組成[6]。驅動程序監管器是一個控制面板小程序,用于定義ODBC數據源。數據源就是到具體數據庫的連接定義。連接定義包括數據庫的類型信息以及數據庫相關位置信息,然后連接再被賦給一個公共名稱,叫數據源名稱(DSN)。ODBC驅動程序管理器(Driver Manager)和驅動程序,都把該名稱當作數據源表的索引,以查找與數據庫有關的信息。利用Visual Basic開發的Windows應用程序,通過ODBC機制可以方便地實現數據庫的操作。 5.2 成績統計和試卷分析 成績統計是對學生的考試成績進行統計,這些統計分固定格式的統計和用戶自定義格式的統計,并輸出這些統計的報表。包括成績的分段統計、成績分布曲線的繪制、平均分數、最低分、最高分、及格率的統計等。 試卷分析是對測驗的信度和效度進行分析。試卷分析的結果能夠反映出考試是否真正檢查出學生的知識水平與能力,是否真正檢查出教學過程的成功與否,也就是說據此可以判斷測定的結果是否能作為評價的依據。根據試卷統計三基部分分值、提高擴展部分分值、綜合性部分分值及提高部分得分率等。 6 安全系統 6.1用戶管理器 注冊表是windows95以上版本的一大特色,通過注冊表可以很方便地存取和應用程序有關的一些設置和數據,而VB又提供了十分方便的注冊表操作函數,所以在用戶管理過程中我們主要是利用注冊表來對用戶進行管理和注冊。具體實現是,將各用戶對應的用戶名依次放入數組SUsername中,然后做成一個字符串存入注冊表,需要時從注冊表中取出,再分別存入SUsername中,以便于引用。各用戶相應的口令和權限的操作也如此,分別存入數組SuserPW 和SQx中。 將用戶添加到注冊表中需要利用VB提供的Savesetting函數。該函數用來在Windows注冊表中保存或建立應用程序項目。 6.2登錄系統 登錄時將注冊表中的用戶名、口令、權限字符串取出,并分解到相應的數組SUsername、SuserPW、SQx中,將用戶輸入的用戶名與用戶名數組 SUsername中的各元素比較,若在該數組中找到該用戶名,則取出該元素在數組中的位置,再將用戶輸入的口令與口令數組SuserPW中的相同位置的元素相比較,如一致則登錄成功,將權限數組SQx中相同位置的元素取出,得到該用戶擁有的權限值,然后根據權限值給該用戶分配操作功能,否則登錄失敗。 結論 本系統以“實用”為基本指導思想,在數據庫選擇方面做了細致的研究和對比,在綜合分析了各種數據庫的優缺點和試題庫的特點后選用了穩定實用的Access 數據庫;在對試題和試卷集答題過程做了大量分析后,確定了本系統的數據結構;本系統界面友好,易于使用,通用性強;在自動組卷、試卷編排和打印等功能的設計方面突出體現了其實用性。 同時,本系統的自動組卷和成績分析模塊設計尚需進一步完善,應不斷提高自動組卷和考試分析的科學化與智能化水平,甚至可以進一步開發基于Web的試題庫與成績分析系統。 參 考 文 獻 [1] 劉志銘,高春艷,孫健鵬. Visual Basic數據庫開發實例解析.機械工業出版社 [2] 曹青,邱李華,郭志強. Visual Basic 程序設計教程. 機械工業出版社 [3] 黃明,梁旭. Visual BASIC 6.0信息系統設計與開發實例(第2版). 機械工業出版社 [4] 李春葆,曾平. 數據庫原理與應用——基于ACCESS. 清華大學出版社, 北京科海電子出版社 [5] 周國民. Visual Basic+ACCESS數據庫項目開發實踐. 中國鐵道出版社
本站部分文章來自網絡,如發現侵犯了您的權益,請聯系指出,本站及時確認刪除 E-mail:349991040@qq.com
論文格式網(www.donglienglish.cn--論文格式網拼音首字母組合)提供其他論文畢業論文格式,論文格式范文,畢業論文范文