試試題庫管理系統(tǒng)畢業(yè)論文_第1頁
試試題庫管理系統(tǒng)畢業(yè)論文_第2頁
試試題庫管理系統(tǒng)畢業(yè)論文_第3頁
試試題庫管理系統(tǒng)畢業(yè)論文_第4頁
試試題庫管理系統(tǒng)畢業(yè)論文_第5頁
已閱讀5頁,還剩8頁未讀, 繼續(xù)免費閱讀

下載本文檔

版權說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權,請進行舉報或認領

文檔簡介

1、-PAGE . z試題庫管理系統(tǒng) 伊犁師學院 計算機系,* 伊寧 835000摘要:隨著計算機辦公自動化程度的不斷提高,開發(fā)各種數(shù)據(jù)庫管理應用軟件用于各種工作中能有效地提高工作效率,節(jié)省時間,能使學校的教學工作上一個新的臺階。傳統(tǒng)的人工命題形成試卷,往往會出現(xiàn)大量的重復勞動,并且形成的試卷因出卷人的不同其質(zhì)量會差距很大,這樣一來會直接導致考試結果波動很大,使考試的科學考評效果大幅度降低,這也往往引起學生和教師的廣泛議論和關注,解決這一早就出現(xiàn)的問題一直是許多人的迫切愿望,由于各種考試名目繁多,試卷容廣雜,使出卷難度加大,要出一份好試卷更是難上加難;另外,許多根底學科容長期不變或根本不變,這就使

2、建立試題庫成為非常必要和可能。通過篩選、總結、修正,使以往大量優(yōu)秀的試題進入試題庫,繼承了前人辛勤的勞動和智慧的結晶,也順應了標準化命題的要求。本系統(tǒng)是在WINDOWS98平臺上,以Visual Basic6.0為工具,利用OLE等技術設計實現(xiàn)了一個試題庫管理系統(tǒng)。系統(tǒng)設有特權用戶Supervisor,對系統(tǒng)的所有資源實施管理;一般用戶只可選擇訪問已經(jīng)授權可訪問的資源。為試卷選題可通過人工進展,也可給出各種具體的條件,然后由程序自動來選定完成。試卷容是文本文檔處理的各種數(shù)據(jù)。關鍵詞:OLE;試題庫;試卷生成;試卷管理中圖:TP311應用Visual Basic6.0可視化編成工具開發(fā)軟件速度快

3、,界面實現(xiàn)簡單方便,具有高可靠性、便于維護調(diào)試和高效率等突出優(yōu)點。在深入學習和研究了Visual Basic6.0這一可視化繼承開發(fā)環(huán)境的根底上和在參閱了大量文獻資料的根底上,同時了解到我國大、中學校錄取新學生、考察學生學習情況的手段主要還是通過考試,而每次考試,都要花費教師大量的心血去篩選試題、組織試卷、整理試題答案等。根據(jù)這些情況,我們開發(fā)設計了該試題庫管理系統(tǒng)應用軟件,以實現(xiàn)課程的試題庫管理和處理,相信它必將在教學中發(fā)揮積極的作用。概述1.1研究背景1. 隨著計算機辦公自動化程度的不斷提高,開發(fā)各種數(shù)據(jù)庫管理應用軟件用于各種工作中能有效地提高工作效率,節(jié)省時間,能使學校的教學工作上一個新

4、的臺階。傳統(tǒng)的人工命題形成試卷,往往會出現(xiàn)大量的重復勞動,并且形成的試卷因出卷人的不同其質(zhì)量會差距很大,這樣一來會直接導致考試結果波動很大,使考試的科學考評效果大幅度降低,這也往往引起學生和教師的廣泛議論和關注,解決這一早就出現(xiàn)的問題一直是許多人的迫切愿望,由于各種考試名目繁多,試卷容廣雜,使出卷難度加大,要出一份好試卷更是難上加難;另外,許多根底學科容長期不變或根本不變,這就使建立試題庫成為非常必要和可能。通過篩選、總結、修正,使以往大量優(yōu)秀的試題進入試題庫,繼承了前人辛勤的勞動和智慧的結晶,也順應了標準化命題的要求。2. 該試題庫管理系統(tǒng)由本人和司秀華同學共同開發(fā)完成。所有的源代碼都調(diào)試運

5、行通過,到達了所有的預期目標。優(yōu)秀的試題可進入試題庫直接參與以后的試題而生成新的試卷??芍苯訌闹谐槿≡嚲肀匾獣r可稍作修改用于考試。1.2 本論文所做的工作該試題庫系統(tǒng)是一個文史類試題庫管理系統(tǒng),即:該系統(tǒng)可由特權用戶supervisor為課程創(chuàng)立其試題庫。系統(tǒng)設有特權用戶supervisor對系統(tǒng)的所有資源實施管理,同時管理用戶群:向系統(tǒng)添加用戶、撤銷用戶、分配向系統(tǒng)注冊進入的口令和用戶名。而一般用戶只可選擇訪問已經(jīng)授權可訪問的資源。以一般用戶身份向系統(tǒng)注冊進入后,用戶管理菜單項為不可見項。為試卷選題可通過人工進展,也可給出各種具體的條件,然后由程序自動來選定完成。選題完成后可對所有試題進展預

6、覽并可再次決定各題的去留,然后在此根底上再次進展管理,直到滿意為止。能為多門課程創(chuàng)立試題庫,并對其試題庫進展維護管理。試題容可以是文本文檔所能處理承受的文字、數(shù)字、字母等數(shù)據(jù)。試卷最后生成于文本文檔中。自動保存歷史試卷而逐漸形成試卷庫,為直接抽取試卷必要時可稍作修改用于考試提供了可能。本系統(tǒng)的一級主功能菜單有:試題管理 試卷管理 用戶管理 幫助 退出系統(tǒng) 。二級主功能菜單有:添加試題 瀏覽試題 取消選中標記 輸入選題條件 自動選題 試卷預覽 生成試卷 添加用戶 刪除用戶。單個試題有它的單個的價值和意義,而試卷有它的整體價值和意義;根據(jù)需要可以人工選定試題,然后生成試卷。本系統(tǒng)主要有以下幾個突出

7、的特點:1.能自動為課程創(chuàng)立試題庫,并進展維護管理。2.系統(tǒng)是開放的。用戶可向系統(tǒng)添加試題,可對其中的試題進展修改,也可對其中的試題進展刪除操作。3.選題可手工進展,也可根據(jù)給定的條件由程序自動完成。4.利用試題庫中試題自動生成試卷。在試題容輸入后,自動生成文本文檔。1.3 開發(fā)本系統(tǒng)的軟件和硬件環(huán)境硬件環(huán)境: 兼容機 Pentium 4/256M RAM/40G/17軟件環(huán)境: 操作系統(tǒng):Microsoft Windows *P 開發(fā)工作:Visual Basic6.0 2. 通用試題庫系統(tǒng)需求分析按照軟件工程根本理論要求,軟件開發(fā)以前必須向用戶反復進展需求調(diào)查并形成需求規(guī)格說明書,在軟件開

8、發(fā)中仍要繼續(xù)進展,并對已經(jīng)形成的需求規(guī)格說明進展修改和補充,直到軟件產(chǎn)品開發(fā)完成為止。下面是本系統(tǒng)已經(jīng)形成的最終的需求規(guī)格說明書。2.1需求規(guī)格說明1.為有效規(guī)管理考試及試卷命題需開發(fā)該系統(tǒng)。2.設定特權用戶supervisor來統(tǒng)一管理用戶群,給他們分配使用權限和口令,通過對使用權限的控制來限制*些用戶使用課程的試題庫。假設用戶口令喪失可由特權用戶解鎖并重新分配口令;用戶在合法進入系統(tǒng)后能修改自己的口令。特權用戶supervisor可從系統(tǒng)中撤銷其他用戶,也可向系統(tǒng)中添加用戶;特權用戶supervisor假設以其他用戶名進入系統(tǒng)用戶管理主菜單項不可見。3.根據(jù)需要能為課程創(chuàng)立試題庫。每試題均

9、有大題號、難度系數(shù)、知識點。4.每題及其相應屬性按題型由手工輸入來完成。5.試題容可以是多樣化的各種文字、字母、數(shù)字以及各種符號等等。6.能瀏覽、修改、刪除系統(tǒng)任一所有試題。7.試題選題分兩種: a).所有試題均有人工選定。b).在人工選定試題的根底上,由系統(tǒng)按用戶給出的選題條件自動隨機補足剩余試題。試題條件包括題型、知識點、難度系數(shù)。其中題型和題數(shù)必須給出,知識點或難度系數(shù)可給出也可不給出,假設不給出,則程序認定該項不受限制和約束,即任意數(shù)據(jù)皆可。8.在人工選定試題的過程中,隨時可獲知已選定試題的數(shù)量等匯總情況。9.試題選定后可進展預覽對所有已經(jīng)選定的試題,預覽過程中可取消任意題的選中標記,

10、經(jīng)調(diào)整后最后完畢選題。10.試題選定按給定的難度比以及知識點覆蓋面要求進展。在由程序自動按用戶給出的選題條自動隨機補足剩余試題該情況中,可通過對難度系數(shù)和知識點的輸入的控制來實現(xiàn)這一要求。該系統(tǒng)完全按照以上形成的需求規(guī)格說明書開發(fā)設計完成,并到達了所有預期的目標。2.2建立UML模型試題庫系統(tǒng)用例圖用戶管理添加用戶撤銷用戶試題管理試卷管理輸入選題條件自動選題生成試卷添加試題瀏覽試題取消選中標記試卷預覽人工選題特權用戶 普通用戶(特權用戶)2.3功能級數(shù)據(jù)流圖用戶驗證口令顯示出錯信息用戶用戶名口 令添加試題輸入選題條件自 動選 題生 成試 卷試 卷預 覽瀏覽試題人工試題取消選中標記選 題 不 滿

11、 意3. 試題庫系統(tǒng)功能及試題庫的設計3.1系統(tǒng)總體構造用戶名庫知識點庫試題庫試卷用戶管理模式添加試題模式題庫維護模式自動抽取試題模式生成試卷模式主菜單控制界面數(shù)據(jù)庫功能實現(xiàn)層第一層是數(shù)據(jù)庫,即試題庫的底層,由知識點庫、用戶名庫、試題庫組成。其中知識點庫主要為用戶輸入數(shù)據(jù)或查詢提供根底幫助數(shù)據(jù),它存儲的主要容是課程卡是的知識要點,知識點代碼的劃分由章到節(jié)再到具體的節(jié)的點。它由6位數(shù)構成;第一個兩位代表章,第二個兩位代表節(jié),最后兩位落實到具體的節(jié)的點。試題庫用來存放試題的屬性及容。第二層是功能實現(xiàn)層。系統(tǒng)的所有功能都以模塊的形式在第二層中實現(xiàn)。功能模塊包括用戶管理模塊、添加試題模塊、題庫維護模塊

12、、自動抽取試題模塊、生成試卷模塊、試卷的編輯模塊。第三層是面向用戶的人機交互界面,主要由主菜單系統(tǒng)構成。除此之外,系統(tǒng)還設計了比擬完善的幫助信息系統(tǒng)。3.2系統(tǒng)的功能構造試題庫管理系統(tǒng)各功能以菜單的形式呈現(xiàn)給用戶:試題管理 試卷管理 用戶管理 幫助 退出系統(tǒng)添加用戶刪除用戶輸入選題條件自動選題試卷預覽生成試卷添加試題瀏覽試題取消選中標記各功能模塊的簡介:1.添加試題 向選定的試題庫試題表添加試題。在添加試題中,將數(shù)據(jù)輸入足夠大的空白方塊,用戶在輸入試題容后,點擊確定容最后保存在文檔中。 圖示1 2.瀏覽試題 順序上下翻閱每一道試題,進入瀏覽界面以前,先要給出試題過濾條件。 圖示2 圖1.添加試

13、題界面圖2.進入瀏覽試題狀態(tài)前首先看到以下界面:3.取消選中標記 取消所有人工或程序加在試題上的選中標記。4.添加用戶 由特權用戶向系統(tǒng)中添加新注冊用戶名,并分配口令。5.撤銷用戶 由特權用戶從系統(tǒng)中撤銷*一注冊用戶名,以后系統(tǒng)將拒絕以該用戶名向系統(tǒng)注冊進入。6.選題條件:在人工選定選題的根底上由系統(tǒng)按要求自動隨機補足剩余試題而要求系統(tǒng)自動選題時要給出各項具體數(shù)據(jù)要求,其中知識點和難度系數(shù)可不給出外,其余各項必須給出,未給出的項即認為任意數(shù)據(jù)皆可程序?qū)礋o法任何限制處理;知識點上限是用來限制出題圍的,主要是為了適應期中考試和期末考試知識點上限不輸入即可不同的需要,上限知識點不包括在出題知識點圍

14、之。輸入所有要求后,點擊完畢命令完畢輸入,然后點擊自動選題即可開場自動選題,自動選題將嚴格按照如上輸入的要求數(shù)據(jù)進展,假設沒有符合條件的題則不選,最后等待進展人工調(diào)整。 圖示3 圖3.輸入選題條件界面7.自動選題 按輸入選題條件中給出的條件隨機地抽取試題。8.生成試卷 將選定的試題自動生成文本文檔。9.將已選定的試題按成卷的順序顯示出來供用戶翻閱瀏覽,并可再次決定各題的去留。10.退出系統(tǒng) 退出試題庫系統(tǒng),回到操作系統(tǒng)環(huán)境。3.3 試題由人工選定人工選定試題在瀏覽試題功能中進展,該功能的操作界面是所有操作界面中比擬復雜的一個,該功能也是本試題庫系統(tǒng)所有功能中使用較為頻繁的一個功能。刪除試題這一

15、功能就在該界面中進展,這樣一來就不必再另外創(chuàng)立一個窗體來實現(xiàn)它。 點擊上一題、下一題命令按鈕即可上下翻閱每一題,點擊選中即可選中當前題、左上角小方框即出現(xiàn)符號,表現(xiàn)當前題已經(jīng)加上選中標記 ;再點擊選中一次則取消當前題已經(jīng)加上的選中標記。3.4 數(shù)據(jù)庫設計試題庫采用ACCESS數(shù)據(jù)庫系統(tǒng)。1.試題庫構造:*ishu 難度系數(shù) integertag 選題狀態(tài) te*t 1 tag=時,說明該題處于選中狀態(tài),否則處于非選中狀態(tài)zhishidian 知識點代號 te*t 50datihao 大題號 te*t 50 題型代碼,選題型后由程序自動給出相應的代碼hao integer 2 在隨機選題開場前,

16、由程序自動填寫所有符合條件試題的序號,用以和隨機數(shù)生成函數(shù)Rnd掛鉤知識點表 知識點表構造:zhishidian te*t 50 其容為:知識點代碼知識點簡單描述語知識點的編碼: 知識點編碼采用6位數(shù)編碼,前兩位表示第幾章,中間兩位表示第幾節(jié),最后兩位表示該節(jié)中考試知識的出處。例如:110521,它表示該題出自11章5節(jié)的21知識容處,這樣編碼使題庫程序控制選題章節(jié)便于實現(xiàn)。并可按試題進展排序。在輸入自動選題條件時,可由給出知識點來控制試題的具體出處,同時可由給出知識點上限來控制試題選擇的連續(xù)圍。期中考試試題圍依此法設定。3.自動選題條件表 表構造: datihao te*t 50 所屬大題題

17、號 tishu integer 選題個數(shù) zhishidian te*t 50 知識點要求 *ishu te*t 50 難度系數(shù)4 .關鍵技術、難點及解決方案1.本系統(tǒng)在不同盤符下,它的路徑也發(fā)生變化,因此程序讀取數(shù)據(jù)的來源也要同步變化,這就要求DATA控件對數(shù)據(jù)庫、表的綁定必須動態(tài)實現(xiàn),從而保證數(shù)據(jù)的來源與課程保持一致。如可采用如下代碼實現(xiàn):Private Sub Form_Activate()Data1.DatabaseName = App.Path & tiku.mdbData1.RefreshEnd Sub2.按用戶給出的條件,由程序自動選題功能的實現(xiàn) 算法描述:首先按試題條件表中第一

18、個選題條件從試題表中按該條件過濾出符合條件的試題子集。假設過濾出的符合條件的試題數(shù)少于或等于條件中要求的題數(shù),則全部選中過濾出的試題;假設過濾出的符合條件的試題數(shù)多于條件中要求的題數(shù),則調(diào)用隨機函數(shù)Rnd隨機地選出該選題條件中題數(shù)值所要求的試題數(shù);然后按選題條件表中第二條件從試題表中過濾出符合該條件同時未加選中標記的試題子集,從中選出該試題條件中題數(shù)值所要求的試題數(shù);然后按選題條件表中第三個條件 。依次進展,直到按選題條件表中的所有條件選出所有的符合條件的試題為止,最后完畢自動選題。算法的代碼實現(xiàn)如下:Load Form11Form11.ShowDim s As Strings = Modul

19、e1.sData1.DatabaseName = App.Path & tiku.mdbData1.RefreshData2.DatabaseName = App.Path & tiku.mdbData2.RefreshDim i, j As Integer If Len(Trim(s) = 0 Then If IsNull(Data1.Recordset.*ishu) Then If IsNull(Data1.Recordset.zhishidian) Then Data2.RecordSource = select * from biao1 where (tag+ or isnull(ta

20、g) & and trim(datihao)= & Trim(Data1.Recordset.datihao) & Else Data2.RecordSource = select * from biao1 where (tag+ or isnull(tag) & and trim(datihao)= & Trim(Data1.Recordset.datihao) & and trim(zhishidian) = & Left(Trim(Data1.Recordset.zhishidian), 6) & End If Else If IsNull(Data1.Recordset.zhishid

21、ian) Then Data2.RecordSource = select * from biao1 where (tag+ or isnull(tag) & and trim(datihao)= & Trim(Data1.Recordset.datihao) & and *ishu= & Trim(Data1.Recordset.*ishu) & Else Data2.RecordSource = select * from biao1 where (tag+ or isnull(tag) & and trim(datihao)= & Trim(Data1.Recordset.datihao

22、) & and trim(zhishidian) = & Left(Trim(Data1.Recordset.zhishidian), 6) & and *ishu= & Trim(Data1.Recordset.*ishu) & End If End If Else If IsNull(Data1.Recordset.*ishu) Then If IsNull(Data1.Recordset.zhishidian) Then Data2.RecordSource = select * from biao1 where trim(zhishidian) & Trim(s) & and (tag

23、+ or isnull(tag) & and trim(datihao)= & Trim(Data1.Recordset.datihao) & Else Data2.RecordSource = select * from biao1 where trim(zhishidian) & Trim(s) & and (tag+ or isnull(tag) & and trim(datihao)= & Trim(Data1.Recordset.datihao) & and trim(zhishidian) = & Left(Trim(Data1.Recordset.zhishidian), 6)

24、& End If Else If IsNull(Data1.Recordset.zhishidian) Then Data2.RecordSource = select * from biao1 where trim(zhishidian) & Trim(s) & and (tag+ or isnull(tag) & and trim(datihao)= & Trim(Data1.Recordset.datihao) & and *ishu= & Trim(Data1.Recordset.*ishu) & Else Data2.RecordSource = select * from biao

25、1 where trim(zhishidian) & Trim(s) & and (tag+ or isnull(tag) & and trim(datihao)= & Trim(Data1.Recordset.datihao) & and trim(zhishidian) = & Left(Trim(Data1.Recordset.zhishidian), 6) & and *ishu= & Trim(Data1.Recordset.*ishu) & End If End If End If Data2.Refresh If Data2.Recordset.BOF Then Else i =

26、 11 Data2.Recordset.hao = i i = i + 1 Loop2 If i - 1 0 j = Int(Rnd * 100)5 If j = i - 1 Or j = 1 Or (j 1) Then Data2.Recordset.FindFirst (Trim(hao)= & Trim(Str(j) If Data2.Recordset.Tag + Or IsNull(Data2.Recordset.Tag) Then Data2.Recordset.Tag = + Data1.Recordset.tishu = Data1.Recordset.tishu - 1 En

27、d If End If Loop6 End If End IfLoopj = MsgBo*(自 動 選 題 已 經(jīng) 結 束 !, vbOKOnly, )Unload Form10Load Form1Form1.Show1-2:為所有過濾出的符合條件試題記錄按順序添入序號1,2,3,3-4:假設過濾出的符合條件的試題數(shù)少于或等于條件中要求的題數(shù),則全部選中過濾出的試題5-6:假設過濾出的符合條件的試題數(shù)多于條件中要求的題數(shù),則調(diào)用隨機函數(shù)Rnd,當IntRnd * 100等于符合條件的*試題的記錄序號且該題未被選中過,則選中它,否則再由IntRnd * 100生成隨機整數(shù)然后與符合條件的試題的記

28、錄序號比擬且查看它的選中標記,依次類推,直到所需要的試題數(shù)全部選出為止。每選中一題,選題條件中的題數(shù)值減一,直到題數(shù)值減到零為止,然后如上步驟按下一個要求條件進展選題,直到選出所有符合各個條件試題為止。3.生成試卷 圖示4 算法描述:采用OLE自動化技術(該技術比對象更進了一步),利用記事本提供的OLE自動化對象已經(jīng)選擇好并按成卷合并寫入一個試卷記事本中。首先為存儲試卷創(chuàng)立一個可編輯的空記事本并翻開它,然后翻開第一試題對應的記事本,全選其容并復制到剪貼板上,激活試卷記事本文檔,將剪貼板上的容粘貼進來;然后翻開第二試題對應的記事本,全選其容并復制到剪貼板上,激活試卷記事本;。依此繼續(xù),直到所有試

29、題容都粘貼進來為止。Private Sub Form_Activate()Data1.DatabaseName = App.Path & tiku.mdbData1.RefreshDim fso As New FileSystemObjectDim ts As Te*tStreamDim ts1 As Te*tStreamDim fl As FileDim fl1 As FileSet ts = fso.CreateTe*tFile(App.Path & tikupaper.t*t, True)ts.CloseSet ts = fso.OpenTe*tFile(App.Path & tikup

30、aper.t*t, ForAppending, True) RichTe*tBo*1.SaveFile App.Path & shiti.t*t, 1 Set ts1 = fso.OpenTe*tFile(App.Path & shiti.t*t, ForReading) ts.Write (ts1.ReadAll) ts.WriteBlankLines (3) ts1.CloseLoopts.Close OLE1.Visible = True OLE1.Class = word.document.8 OLE1.DisplayType = 0 OLE1.SourceDoc = App.Path & tikupaper.t*t OLE1.

溫馨提示

  • 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
  • 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯(lián)系上傳者。文件的所有權益歸上傳用戶所有。
  • 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁內(nèi)容里面會有圖紙預覽,若沒有圖紙預覽就沒有圖紙。
  • 4. 未經(jīng)權益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
  • 5. 人人文庫網(wǎng)僅提供信息存儲空間,僅對用戶上傳內(nèi)容的表現(xiàn)方式做保護處理,對用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對任何下載內(nèi)容負責。
  • 6. 下載文件中如有侵權或不適當內(nèi)容,請與我們聯(lián)系,我們立即糾正。
  • 7. 本站不保證下載資源的準確性、安全性和完整性, 同時也不承擔用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。

評論

0/150

提交評論