版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請(qǐng)進(jìn)行舉報(bào)或認(rèn)領(lǐng)
文檔簡(jiǎn)介
1、<p><b> 試題庫管理系統(tǒng) </b></p><p> 摘要:隨著計(jì)算機(jī)辦公自動(dòng)化程度的不斷提高,開發(fā)各種數(shù)據(jù)庫管理應(yīng)用軟件用于各種工作中能有效地提高工作效率,節(jié)省時(shí)間,能使學(xué)校的教學(xué)工作上一個(gè)新的臺(tái)階。傳統(tǒng)的人工命題形成試卷,往往會(huì)出現(xiàn)大量的重復(fù)勞動(dòng),并且形成的試卷因出卷人的不同其質(zhì)量會(huì)差距很大,這樣一來會(huì)直接導(dǎo)致考試結(jié)果波動(dòng)很大,使考試的科學(xué)考評(píng)效果大幅度降低,這也往
2、往引起學(xué)生和教師的廣泛議論和關(guān)注,解決這一早就出現(xiàn)的問題一直是許多人的迫切愿望,由于各種考試名目繁多,試卷內(nèi)容廣雜,使出卷難度加大,要出一份好試卷更是難上加難;另外,許多基礎(chǔ)學(xué)科內(nèi)容長(zhǎng)期不變或基本不變,這就使建立試題庫成為非常必要和可能。通過篩選、總結(jié)、修正,使以往大量?jī)?yōu)秀的試題進(jìn)入試題庫,繼承了前人辛勤的勞動(dòng)和智慧的結(jié)晶,也順應(yīng)了標(biāo)準(zhǔn)化命題的要求。</p><p> 本系統(tǒng)是在WINDOWS98平臺(tái)上,以Vi
3、sual Basic6.0為工具,利用OLE等技術(shù)設(shè)計(jì)實(shí)現(xiàn)了一個(gè)試題庫管理系統(tǒng)。系統(tǒng)設(shè)有特權(quán)用戶(Supervisor),對(duì)系統(tǒng)的所有資源實(shí)施管理;一般用戶只可選擇訪問已經(jīng)授權(quán)可訪問的資源。為試卷選題可通過人工進(jìn)行,也可給出各種具體的條件,然后由程序自動(dòng)來選定完成。試卷內(nèi)容是文本文檔處理的各種數(shù)據(jù)。</p><p> 關(guān)鍵詞:OLE;試題庫;試卷生成;試卷管理 </p><p> 中
4、圖分類號(hào):TP311 </p><p> 應(yīng)用Visual Basic6.0可視化編成工具開發(fā)軟件速度快,界面實(shí)現(xiàn)簡(jiǎn)單方便,具有高可靠性、便于維護(hù)調(diào)試和高效率等突出優(yōu)點(diǎn)。在深入學(xué)習(xí)和研究了Visual Basic6.0這一可視化繼承開發(fā)環(huán)境的基礎(chǔ)上和在參閱了大量文獻(xiàn)資料的基礎(chǔ)上,同時(shí)了解到我國(guó)大、中學(xué)校錄取新學(xué)生、考察學(xué)生學(xué)習(xí)情況的手段主要還是通過考試,而每次考試,都要花費(fèi)老師大量的心血去篩選試題、組織試卷、整
5、理試題答案等。根據(jù)這些情況,我們開發(fā)設(shè)計(jì)了該《試題庫管理系統(tǒng)》應(yīng)用軟件,以實(shí)現(xiàn)課程的試題庫管理和處理,相信它必將在教學(xué)中發(fā)揮積極的作用。</p><p><b> 概述 </b></p><p><b> 1.1 研究背景</b></p><p> 1. 隨著計(jì)算機(jī)辦公自動(dòng)化程度的不斷提高,開發(fā)各種數(shù)據(jù)庫管理應(yīng)用
6、軟件用于各種工作中能有效地提高工作效率,節(jié)省時(shí)間,能使學(xué)校的教學(xué)工作上一個(gè)新的臺(tái)階。傳統(tǒng)的人工命題形成試卷,往往會(huì)出現(xiàn)大量的重復(fù)勞動(dòng),并且形成的試卷因出卷人的不同其質(zhì)量會(huì)差距很大,這樣一來會(huì)直接導(dǎo)致考試結(jié)果波動(dòng)很大,使考試的科學(xué)考評(píng)效果大幅度降低,這也往往引起學(xué)生和教師的廣泛議論和關(guān)注,解決這一早就出現(xiàn)的問題一直是許多人的迫切愿望,由于各種考試名目繁多,試卷內(nèi)容廣雜,使出卷難度加大,要出一份好試卷更是難上加難;另外,許多基礎(chǔ)學(xué)科內(nèi)容長(zhǎng)期
7、不變或基本不變,這就使建立試題庫成為非常必要和可能。通過篩選、總結(jié)、修正,使以往大量?jī)?yōu)秀的試題進(jìn)入試題庫,繼承了前人辛勤的勞動(dòng)和智慧的結(jié)晶,也順應(yīng)了標(biāo)準(zhǔn)化命題的要求。</p><p> 2. 該試題庫管理系統(tǒng)由本人和司秀華同學(xué)共同開發(fā)完成。所有的源代碼都調(diào)試運(yùn)行通過,達(dá)到了所有的預(yù)期目標(biāo)。優(yōu)秀的試題可進(jìn)入試題庫直接參與以后的試題而生成新的試卷。可直接從中抽取試卷(必要時(shí)可稍作修改)用于考試。</p>
8、<p> 1.2 本論文所做的工作</p><p> 該試題庫系統(tǒng)是一個(gè)文史類試題庫管理系統(tǒng),即:該系統(tǒng)可由特權(quán)用戶(supervisor)為課程創(chuàng)建其試題庫。系統(tǒng)設(shè)有特權(quán)用戶(supervisor)對(duì)系統(tǒng)的所有資源實(shí)施管理,同時(shí)管理用戶群:向系統(tǒng)添加用戶、撤銷用戶、分配向系統(tǒng)注冊(cè)進(jìn)入的口令和用戶名。而一般用戶只可選擇訪問已經(jīng)授權(quán)可訪問的資源。以一般用戶身份向系統(tǒng)注冊(cè)進(jìn)入后,“用戶管理”菜單項(xiàng)為
9、不可見項(xiàng)。為試卷選題可通過人工進(jìn)行,也可給出各種具體的條件,然后由程序自動(dòng)來選定完成。選題完成后可對(duì)所有試題進(jìn)行預(yù)覽并可再次決定各題的去留,然后在此基礎(chǔ)上再次進(jìn)行管理,直到滿意為止。能為多門課程創(chuàng)建試題庫,并對(duì)其試題庫進(jìn)行維護(hù)管理。試題內(nèi)容可以是文本文檔所能處理接受的文字、數(shù)字、字母等數(shù)據(jù)。試卷最后生成于文本文檔中。自動(dòng)保存歷史試卷而逐漸形成試卷庫,為直接抽取試卷(必要時(shí)可稍作修改)用于考試提供了可能。</p><p
10、> 本系統(tǒng)的一級(jí)主功能菜單有:試題管理 試卷管理 用戶管理 幫助 退出系統(tǒng) 。二級(jí)主功能菜單有:添加試題 瀏覽試題 取消選中標(biāo)記 輸入選題條件 自動(dòng)選題 試卷預(yù)覽 生成試卷 添加用戶 刪除用戶。</p><p> 單個(gè)試題有它的單個(gè)的價(jià)值和意義,而試卷有它的整體價(jià)值和意義;根據(jù)需要可以人工選定試題,然后生成試卷。</p><p> 本系統(tǒng)主要有以下幾
11、個(gè)突出的特點(diǎn):</p><p> 1.能自動(dòng)為課程創(chuàng)建試題庫,并進(jìn)行維護(hù)管理。</p><p> 2.系統(tǒng)是開放的。用戶可向系統(tǒng)內(nèi)添加試題,可對(duì)其中的試題進(jìn)行修改,也可對(duì)其中的試題進(jìn)行刪除操作。</p><p> 3.選題可手工進(jìn)行,也可根據(jù)給定的條件由程序自動(dòng)完成。</p><p> 4.利用試題庫中試題自動(dòng)生成試卷。</p&
12、gt;<p> 在試題內(nèi)容輸入后,自動(dòng)生成文本文檔。</p><p> 1.3 開發(fā)本系統(tǒng)的軟件和硬件環(huán)境</p><p> 硬件環(huán)境: 兼容機(jī) Pentium 4/256M RAM/40G/17’</p><p> 軟件環(huán)境: 操作系統(tǒng):Microsoft Windows XP</p><
13、;p> 開發(fā)工作:Visual Basic6.0 </p><p> 2. 通用試題庫系統(tǒng)需求分析</p><p> 按照軟件工程基本理論要求,軟件開發(fā)以前必須向用戶反復(fù)進(jìn)行需求調(diào)查并形成需求規(guī)格說明書,在軟件開發(fā)中仍要繼續(xù)進(jìn)行,并對(duì)已經(jīng)形成的需求規(guī)格說明進(jìn)行修改和補(bǔ)充,直到軟件產(chǎn)品開發(fā)完成為止。下面是本系統(tǒng)已經(jīng)形成的最終的需求規(guī)格說明書。</p>
14、<p><b> 2.1需求規(guī)格說明</b></p><p> 1.為有效規(guī)范管理考試及試卷命題需開發(fā)該系統(tǒng)。</p><p> 2.設(shè)定特權(quán)用戶(supervisor)來統(tǒng)一管理用戶群,給他們分配使用權(quán)限和口令,</p><p> 通過對(duì)使用權(quán)限的控制來限制某些用戶使用課程的試題庫。若用戶口令丟失可由特權(quán)用戶解鎖并重新分
15、配口令;用戶在合法進(jìn)入系統(tǒng)后能修改自己的口令。特權(quán)用戶(supervisor)可從系統(tǒng)中撤銷其他用戶,也可向系統(tǒng)中添加用戶;特權(quán)用戶(supervisor)若以其他用戶名進(jìn)入系統(tǒng)“用戶管理”主菜單項(xiàng)不可見。</p><p> 3.根據(jù)需要能為課程創(chuàng)建試題庫。每試題均有大題號(hào)、難度系數(shù)、知識(shí)點(diǎn)。</p><p> 4.每題及其相應(yīng)屬性按題型由手工輸入來完成。</p><
16、;p> 5.試題內(nèi)容可以是多樣化的各種文字、字母、數(shù)字以及各種符號(hào)等等。</p><p> 6.能瀏覽、修改、刪除系統(tǒng)內(nèi)任一所有試題。</p><p> 7.試題選題分兩種: a).所有試題均有人工選定。</p><p> b).在人工選定試題的基礎(chǔ)上,由系統(tǒng)按用戶給出的選題條件自動(dòng)隨機(jī)補(bǔ)足剩余試題。試題條件包括題型、知識(shí)點(diǎn)、難度系數(shù)。其中題型和
17、題數(shù)必須給出,知識(shí)點(diǎn)或難度系數(shù)可給出也可不給出,若不給出,則程序認(rèn)定該項(xiàng)不受限制和約束,即任意數(shù)據(jù)皆可。</p><p> 8.在人工選定試題的過程中,隨時(shí)可獲知已選定試題的數(shù)量等匯總情況。</p><p> 9.試題選定后可進(jìn)行預(yù)覽(對(duì)所有已經(jīng)選定的試題),預(yù)覽過程中可取消任意題</p><p> 的選中標(biāo)記,經(jīng)調(diào)整后最后結(jié)束選題。</p>&
18、lt;p> 10.試題選定按給定的難度比以及知識(shí)點(diǎn)覆蓋面要求進(jìn)行。在由程序自動(dòng)按用戶給出的選題條自動(dòng)隨機(jī)補(bǔ)足剩余試題該情況中,可通過對(duì)難度系數(shù)和知識(shí)點(diǎn)的輸入的控制來實(shí)現(xiàn)這一要求。</p><p> 該系統(tǒng)完全按照以上形成的需求規(guī)格說明書開發(fā)設(shè)計(jì)完成,并達(dá)到了所有預(yù)期的目標(biāo)。</p><p> 2.2建立UML模型</p><p><b> 試
19、題庫系統(tǒng)用例圖</b></p><p><b> 特權(quán)用戶 </b></p><p><b> 普通用戶</b></p><p><b> (特權(quán)用戶)</b></p><p> 2.3功能級(jí)數(shù)據(jù)流圖</p><p> 3. 試題
20、庫系統(tǒng)功能及試題庫的設(shè)計(jì)</p><p><b> 3.1系統(tǒng)總體結(jié)構(gòu)</b></p><p><b> 數(shù)據(jù)庫</b></p><p><b> 功能實(shí)現(xiàn)層</b></p><p> 第一層是數(shù)據(jù)庫,即試題庫的底層,由知識(shí)點(diǎn)庫、用戶名庫、試題庫組成。其中知識(shí)點(diǎn)庫主要為
21、用戶輸入數(shù)據(jù)或查詢提供基礎(chǔ)幫助數(shù)據(jù),它存儲(chǔ)的主要內(nèi)容是課程卡是的知識(shí)要點(diǎn),知識(shí)點(diǎn)代碼的劃分由章到節(jié)再到具體的節(jié)內(nèi)的點(diǎn)。它由6位數(shù)構(gòu)成;第一個(gè)兩位代表章,第二個(gè)兩位代表節(jié),最后兩位落實(shí)到具體的節(jié)內(nèi)的點(diǎn)。試題庫用來存放試題的屬性及內(nèi)容。</p><p> 第二層是功能實(shí)現(xiàn)層。系統(tǒng)的所有功能都以模塊的形式在第二層中實(shí)現(xiàn)。功能模塊包括用戶管理模塊、添加試題模塊、題庫維護(hù)模塊、自動(dòng)抽取試題模塊、生成試卷模塊、試卷的編輯模
22、塊。</p><p> 第三層是面向用戶的人機(jī)交互界面,主要由主菜單系統(tǒng)構(gòu)成。</p><p> 除此之外,系統(tǒng)還設(shè)計(jì)了比較完善的幫助信息系統(tǒng)。</p><p> 3.2系統(tǒng)的功能結(jié)構(gòu)</p><p> 試題庫管理系統(tǒng)各功能以菜單的形式呈現(xiàn)給用戶:</p><p> 試題管理 試卷管理
23、 用戶管理 幫助 退出系統(tǒng)</p><p><b> 各功能模塊的簡(jiǎn)介:</b></p><p> 1.添加試題 向選定的試題庫試題表內(nèi)添加試題。</p><p> 在“添加試題”中,將數(shù)據(jù)輸入足夠大的空白方塊內(nèi),用戶在輸入試題內(nèi)容后,點(diǎn)擊確定內(nèi)容最后保存在文檔中。[ 圖示1 ]</p>
24、<p> 2.瀏覽試題 順序上下翻閱每一道試題,進(jìn)入瀏覽界面以前,先要給出試題過濾條件。</p><p> [ 圖示2 ] </p><p><b> 圖1.添加試題界面</b></p><p> 圖2.進(jìn)入“瀏覽試題”狀態(tài)前首先看到以下界面:</p>&l
25、t;p> 3.取消選中標(biāo)記 取消所有人工或程序加在試題上的選中標(biāo)記。</p><p> 4.添加用戶 由特權(quán)用戶向系統(tǒng)中添加新注冊(cè)用戶名,并分配口令。</p><p> 5.撤銷用戶 由特權(quán)用戶從系統(tǒng)中撤銷某一注冊(cè)用戶名,以后系統(tǒng)將拒絕以該用戶名向系統(tǒng)注冊(cè)進(jìn)入。</p><p> 6.選題條件:在人工選定選題的基礎(chǔ)上由系統(tǒng)按要求自
26、動(dòng)隨機(jī)補(bǔ)足剩余試題而要求系統(tǒng)自動(dòng)選題時(shí)要給出各項(xiàng)具體數(shù)據(jù)要求,其中知識(shí)點(diǎn)和難度系數(shù)可不給出外,其余各項(xiàng)必須給出,未給出的項(xiàng)即認(rèn)為任意數(shù)據(jù)皆可(程序?qū)礋o法任何限制處理);知識(shí)點(diǎn)上限是用來限制出題范圍的,主要是為了適應(yīng)期中考試和期末考試(知識(shí)點(diǎn)上限不輸入即可)不同的需要,上限知識(shí)點(diǎn)不包括在出題知識(shí)點(diǎn)范圍之內(nèi)。輸入所有要求后,點(diǎn)擊“結(jié)束”命令結(jié)束輸入,然后點(diǎn)擊“自動(dòng)選題”即可開始自動(dòng)選題,自動(dòng)選題將嚴(yán)格按照如上輸入的要求數(shù)據(jù)進(jìn)行,若沒有符合
27、條件的題則不選,最后等待進(jìn)行人工調(diào)整。[ 圖示3 ]</p><p> 圖3.輸入選題條件界面</p><p> 7.自動(dòng)選題 按“輸入選題條件”中給出的條件隨機(jī)地抽取試題。</p><p> 8.生成試卷 將選定的試題自動(dòng)生成文本文檔。</p><p> 9.將已選定的試題按成卷的順序顯示出來供用戶翻閱瀏覽,并可再次決定各題的
28、去留。</p><p> 10.退出系統(tǒng) 退出試題庫系統(tǒng),回到操作系統(tǒng)環(huán)境。</p><p> 3.3 試題由人工選定</p><p> 人工選定試題在“瀏覽試題”功能中進(jìn)行,該功能的操作界面是所有操作界面中比較復(fù)雜的一個(gè),該功能也是本試題庫系統(tǒng)所有功能中使用較為頻繁的一個(gè)功能。刪除試題這一功能就在該界面中進(jìn)行,這樣一來就不必再另外創(chuàng)建一個(gè)窗體來實(shí)現(xiàn)它。
29、 </p><p> 點(diǎn)擊“上一題”、“下一題”命令按鈕即可上下翻閱每一題,點(diǎn)擊“選中”即可選中當(dāng)前題、左上角小方框內(nèi)即出現(xiàn)“+”符號(hào),表現(xiàn)當(dāng)前題已經(jīng)加上選中標(biāo)記“+” ;再點(diǎn)擊“選中”一次則取消當(dāng)前題已經(jīng)加上的選中標(biāo)記“+”。</p><p><b> 3.4 數(shù)據(jù)庫設(shè)計(jì)</b></p><p> 試題庫采用ACCESS數(shù)據(jù)庫
30、系統(tǒng)。</p><p><b> 1.試題庫結(jié)構(gòu):</b></p><p> xishu 難度系數(shù) integer</p><p> tag 選題狀態(tài) text 1</p><p> tag=“+”時(shí),說明
31、該題處于選中狀態(tài),否則處于非選中狀態(tài)</p><p> zhishidian 知識(shí)點(diǎn)代號(hào) text 50</p><p> datihao 大題號(hào) text 50</p><p> 題型代碼,選題型后由程序自動(dòng)給出相應(yīng)的代碼</p&g
32、t;<p> hao integer 2</p><p> 在隨機(jī)選題開始前,由程序自動(dòng)填寫所有符合條件試題的序號(hào),用以和隨機(jī)數(shù)生成函數(shù)Rnd掛鉤</p><p><b> 知識(shí)點(diǎn)表</b></p><p><b> 知識(shí)點(diǎn)表結(jié)構(gòu)
33、:</b></p><p> zhishidian text 50</p><p> 其內(nèi)容為:知識(shí)點(diǎn)代碼+知識(shí)點(diǎn)簡(jiǎn)單描述語</p><p><b> 知識(shí)點(diǎn)的編碼:</b></p><p> 知識(shí)點(diǎn)編碼采用6位數(shù)編碼,前兩位
34、表示第幾章,中間兩位表示第幾節(jié),</p><p> 最后兩位表示該節(jié)中考試知識(shí)的出處。例如:110521,它表示該題出自11章</p><p> 5節(jié)的21知識(shí)內(nèi)容處,這樣編碼使題庫程序控制選題章節(jié)便于實(shí)現(xiàn)。并可按</p><p> 試題進(jìn)行排序。在輸入自動(dòng)選題條件時(shí),可由給出知識(shí)點(diǎn)來控制試題的具體出處,</p><p> 同時(shí)可由給
35、出知識(shí)點(diǎn)上限來控制試題選擇的連續(xù)范圍。期中考試試題范圍依此法</p><p><b> 設(shè)定。</b></p><p><b> 3.自動(dòng)選題條件表</b></p><p><b> 表結(jié)構(gòu):</b></p><p> datihao text
36、 50 所屬大題題號(hào)</p><p> tishu integer 選題個(gè)數(shù)</p><p> zhishidian text 50 知識(shí)點(diǎn)要求</p><p> xishu text 50
37、 難度系數(shù)</p><p> 4 .關(guān)鍵技術(shù)、難點(diǎn)及解決方案</p><p> 1.本系統(tǒng)在不同盤符下,它的路徑也發(fā)生變化,因此程序讀取數(shù)據(jù)的來源也要同步</p><p> 變化,這就要求DATA控件對(duì)數(shù)據(jù)庫、表的綁定必須動(dòng)態(tài)實(shí)現(xiàn),從而保證數(shù)據(jù)的來</p><p> 源與課程保持一致。如可采用如下代碼實(shí)現(xiàn):</p&
38、gt;<p> Private Sub Form_Activate()</p><p> Data1.DatabaseName = App.Path & "\tiku.mdb"</p><p> Data1.Refresh</p><p><b> End Sub</b></p>
39、<p> 2.按用戶給出的條件,由程序自動(dòng)選題功能的實(shí)現(xiàn)</p><p> 算法描述:首先按試題條件表中第一個(gè)選題條件從試題表中按該條件過濾出符合條件的試題</p><p> 子集。若過濾出的符合條件的試題數(shù)少于或等于條件中要求的題數(shù),則全部選中過濾出的試題;</p><p> 若過濾出的符合條件的試題數(shù)多于條件中要求的題數(shù),則調(diào)用隨機(jī)函數(shù)Rnd隨
40、機(jī)地選出該選題條件中題數(shù)值所要求的試題數(shù);然后按選題條件表中第二條件從試題表中過濾出符合該條件同時(shí)未加選中標(biāo)記的試題子集,從中選出該試題條件中題數(shù)值所要求的試題數(shù);然后按選題條件表中第三個(gè)條件 ……。依次進(jìn)行,直到按選題條件表中的所有條件選出所有的符合條件的試題為止,最后結(jié)束自動(dòng)選題。</p><p> 算法的代碼實(shí)現(xiàn)如下:</p><p> Load Form11</p>
41、<p> Form11.Show</p><p> Dim s As String</p><p> s = Module1.s</p><p> Data1.DatabaseName = App.Path & "\tiku.mdb"</p><p> Data1.Refresh</p
42、><p> Data2.DatabaseName = App.Path & "\tiku.mdb"</p><p> Data2.Refresh</p><p> Dim i, j As Integer</p><p> Do While Not Data1.Recordset.EOF</p>&
43、lt;p> If Len(Trim(s)) = 0 Then</p><p> If IsNull(Data1.Recordset.xishu) Then</p><p> If IsNull(Data1.Recordset.zhishidian) Then</p><p> Data2.RecordSource = "select * fr
44、om biao1 where (tag<>'+' or isnull(tag))" & " and trim(datihao)='" & Trim(Data1.Recordset.datihao) & "'"</p><p><b> Else</b></p>
45、<p> Data2.RecordSource = "select * from biao1 where (tag<>'+' or isnull(tag))" & " and trim(datihao)='" & Trim(Data1.Recordset.datihao) & "' and trim(zhi
46、shidian) ='" & Left(Trim(Data1.Recordset.zhishidian), 6) & "'"</p><p><b> End If</b></p><p><b> Else</b></p><p> If IsNull(
47、Data1.Recordset.zhishidian) Then</p><p> Data2.RecordSource = "select * from biao1 where (tag<>'+' or isnull(tag))" & " and trim(datihao)='" & Trim(Data1.Record
48、set.datihao) & "' and xishu='" & Trim(Data1.Recordset.xishu) & "'"</p><p><b> Else</b></p><p> Data2.RecordSource = "select * from
49、biao1 where (tag<>'+' or isnull(tag))" & " and trim(datihao)='" & Trim(Data1.Recordset.datihao) & "' and trim(zhishidian) ='" & Left(Trim(Data1.Recordset
50、.zhishidian), 6) & "' and xishu='" & Trim(Data1.Recordset.xishu) & "'"</p><p><b> End If</b></p><p><b> End If</b></p>
51、<p><b> Else</b></p><p> If IsNull(Data1.Recordset.xishu) Then</p><p> If IsNull(Data1.Recordset.zhishidian) Then</p><p> Data2.RecordSource = "select *
52、from biao1 where trim(zhishidian) <'" & Trim(s) & "' and (tag<>'+' or isnull(tag))" & " and trim(datihao)='" & Trim(Data1.Recordset.datihao) & &qu
53、ot;'"</p><p><b> Else</b></p><p> Data2.RecordSource = "select * from biao1 where trim(zhishidian) <'" & Trim(s) & "' and (tag<>
54、9;+' or isnull(tag))" & " and trim(datihao)='" & Trim(Data1.Recordset.datihao) & "' and trim(zhishidian) ='" & Left(Trim(Data1.Recordset.zhishidian), 6) & &quo
55、t;'"</p><p><b> End If</b></p><p><b> Else</b></p><p> If IsNull(Data1.Recordset.zhishidian) Then</p><p> Data2.RecordSource = &quo
56、t;select * from biao1 where trim(zhishidian) <'" & Trim(s) & "' and (tag<>'+' or isnull(tag))" & " and trim(datihao)='" & Trim(Data1.Recordset.datihao
57、) & "' and xishu='" & Trim(Data1.Recordset.xishu) & "'"</p><p><b> Else</b></p><p> Data2.RecordSource = "select * from biao1 where
58、 trim(zhishidian) <'" & Trim(s) & "' and (tag<>'+' or isnull(tag))" & " and trim(datihao)='" & Trim(Data1.Recordset.datihao) & "' and tri
59、m(zhishidian) ='" & Left(Trim(Data1.Recordset.zhishidian), 6) & "' and xishu='" & Trim(Data1.Recordset.xishu) & "'"</p><p><b> End If</b>
60、</p><p><b> End If</b></p><p><b> End If</b></p><p> Data2.Refresh</p><p> If Data2.Recordset.BOF Then</p><p> Data1.Recordset
61、.MoveNext</p><p><b> Else</b></p><p> i = 1 1’</p><p> Do While Not Data2.Recordset.EOF</p><p> Data2.Record
62、set.Edit</p><p> Data2.Recordset.hao = i</p><p> Data2.Recordset.Update</p><p> Data2.Recordset.MoveNext</p><p><b> i = i + 1</b></p><p>
63、Loop 2’</p><p> If i - 1 <= Data1.Recordset.tishu Then 3’</p><p> Data2.Recordset.MoveFirst</p><p> Do While Not Data2.
64、Recordset.EOF</p><p> Data2.Recordset.Edit</p><p> Data2.Recordset.Tag = "+"</p><p> Data2.Recordset.Update</p><p> Data2.Recordset.MoveNext</p>&l
65、t;p> Loop 4’</p><p> Data1.Recordset.Edit</p><p> Data1.Recordset.tishu = 0</p><p> Data1.Recordset.Update</p><p> Dat
66、a1.Recordset.MoveNext</p><p><b> Else</b></p><p> Do While Data1.Recordset.tishu > 0</p><p> j = Int(Rnd * 100) 5’</p><p>
67、If j = i - 1 Or j = 1 Or (j < i - 1 And j > 1) Then</p><p> Data2.Recordset.FindFirst ("Trim(hao)=" & Trim(Str(j)))</p><p> If Data2.Recordset.Tag <> "+" Or
68、 IsNull(Data2.Recordset.Tag) Then</p><p> Data2.Recordset.Edit</p><p> Data2.Recordset.Tag = "+"</p><p> Data2.Recordset.Update</p><p> Data1.Recordset.Ed
69、it</p><p> Data1.Recordset.tishu = Data1.Recordset.tishu - 1</p><p> Data1.Recordset.Update</p><p><b> End If</b></p><p><b> End If</b></
70、p><p> Loop 6’</p><p> Data1.Recordset.MoveNext</p><p><b> End If</b></p><p><b> End If</b></p&g
71、t;<p><b> Loop</b></p><p> j = MsgBox("自 動(dòng) 選 題 已 經(jīng) 結(jié) 束 !??!", vbOKOnly, "")</p><p> Unload Form10</p><p> Load Form1</p><
72、;p> Form1.Show</p><p> 1’-2’:為所有過濾出的符合條件試題記錄按順序添入序號(hào)1,2,3,……</p><p> 3’-4’:若過濾出的符合條件的試題數(shù)少于或等于條件中要求的題數(shù),則全部選中</p><p><b> 過濾出的試題</b></p><p> 5’-6’:若過濾出的
73、符合條件的試題數(shù)多于條件中要求的題數(shù),則調(diào)用隨機(jī)函數(shù)Rnd,當(dāng)Int(Rnd</p><p> * 100)等于符合條件的某試題的記錄序號(hào)且該題未被選中過,則選中它,否則再由Int</p><p> (Rnd * 100)生成隨機(jī)整數(shù)然后與符合條件的試題的記錄序號(hào)比較且查看它的選中標(biāo)</p><p> 記,依次類推,直到所需要的試題數(shù)全部選出為止。每選中一題,
74、選題條件中的題數(shù)值</p><p> 減一,直到題數(shù)值減到零為止,然后如上步驟按下一個(gè)要求條件進(jìn)行選題,直到選出</p><p> 所有符合各個(gè)條件試題為止。</p><p> 3.生成試卷 [ 圖示4 ]</p><p> 算法描述:采用OLE自動(dòng)化技術(shù)(該技術(shù)比對(duì)象鏈接更進(jìn)了一步),利用記事本提供的OLE自動(dòng)化對(duì)象已經(jīng)選擇好并
75、按成卷合并寫入一個(gè)試卷記事本中。首先為存儲(chǔ)試卷創(chuàng)建一個(gè)可編輯的空記事本并打開它,然后打開第一試題對(duì)應(yīng)的記事本,全選其內(nèi)容并復(fù)制到剪貼板上,激活試卷記事本文檔,將剪貼板上的內(nèi)容粘貼進(jìn)來;然后打開第二試題對(duì)應(yīng)的記事本,全選其內(nèi)容并復(fù)制到剪貼板上,激活試卷記事本;……。依此繼續(xù),直到所有試題內(nèi)容都粘貼進(jìn)來為止。</p><p> Private Sub Form_Activate()</p><p
76、> Data1.DatabaseName = App.Path & "\tiku.mdb"</p><p> Data1.Refresh</p><p> Dim fso As New FileSystemObject</p><p> Dim ts As TextStream</p><p> D
77、im ts1 As TextStream</p><p> Dim fl As File</p><p> Dim fl1 As File</p><p> Set ts = fso.CreateTextFile(App.Path & "\tikupaper.txt", True)</p><p><b
78、> ts.Close</b></p><p> Set ts = fso.OpenTextFile(App.Path & "\tikupaper.txt", ForAppending, True)</p><p> Do While Not Data1.Recordset.EOF</p><p> RichTex
79、tBox1.SaveFile App.Path & "\shiti.txt", 1</p><p> Set ts1 = fso.OpenTextFile(App.Path & "\shiti.txt", ForReading)</p><p> ts.Write (ts1.ReadAll)</p><p>
80、; ts.WriteBlankLines (3)</p><p><b> ts1.Close</b></p><p> Data1.Recordset.MoveNext</p><p><b> Loop</b></p><p><b> ts.Close</b>&
81、lt;/p><p> OLE1.Visible = True</p><p> OLE1.Class = "word.document.8"</p><p> OLE1.DisplayType = 0</p><p> OLE1.SourceDoc = App.Path & "\tikupaper.t
82、xt"</p><p> OLE1.Action = 1</p><p> OLE1.Refresh </p><p> 圖4. 已 生 成 樣 卷 示 例 </p><p><b> 結(jié)束語:</b></p><p> 經(jīng)過二個(gè)多月的設(shè)計(jì)和開發(fā),試題庫管理系統(tǒng)基
83、本開發(fā)完畢。其功能基本符合用戶需求,能夠完成一般科目試卷中試題的存儲(chǔ)和抽取。并提供部分系統(tǒng)維護(hù)功能,使用戶方便進(jìn)行試題存儲(chǔ)、試題刪除、試題瀏覽、試卷預(yù)覽、試卷生成、用戶添加、用戶刪除功能。對(duì)于試題自動(dòng)抽取也通過程序進(jìn)行了有效的解決。</p><p> 但是由于畢業(yè)設(shè)計(jì)時(shí)間較短,所以該系統(tǒng)還有許多不盡如人意的地方,比如附加功能實(shí)現(xiàn)比較少,用戶界面不夠美觀,無打印模塊等多方面問題,這些都有待進(jìn)一步改善。本軟件公開使
84、用,在以后的教學(xué)過程中,任何人、任何學(xué)校可以根據(jù)自身的需要,可進(jìn)一步開發(fā)和完善,使該軟件能夠達(dá)到量體裁衣理想的使用效果。</p><p><b> 致謝</b></p><p> 在本次畢業(yè)設(shè)計(jì)中,我從指導(dǎo)老師**老師身上學(xué)到了很多東西。**老師認(rèn)真負(fù)責(zé)的工作態(tài)度,嚴(yán)謹(jǐn)?shù)闹螌W(xué)精神和深厚的理論水平都使我收益匪淺。他無論在理論上還是在實(shí)踐中,都給與我很大的幫助,使我得
85、到不少的提高這對(duì)于我以后的工作和學(xué)習(xí)都有一種巨大的幫助,感謝他耐心的輔導(dǎo)。</p><p> 另外,在系統(tǒng)開發(fā)過程中本系**老師也給予我們很大的幫助,幫助解決了不少的難點(diǎn),使得系統(tǒng)能及時(shí)開發(fā)完成,還有同組的同學(xué)同樣給與我不少幫助,這里一并表示感謝。</p><p><b> 參考文獻(xiàn)</b></p><p> [1]尹貴祥. Visual
86、 Basic6.0程序設(shè)計(jì)案例教程[M]. 中國(guó)鐵道出版社,2005.1</p><p> [2]羅仕鑒. 人機(jī)界面設(shè)計(jì)[M]. 機(jī)械工業(yè)出版社,2002.9[3]胡志君,高燕林等譯. SQL編程習(xí)題與解答[M]. Fundamentals of SQL Programming 中信出 版社,2002.8</p><p> [4]朱三元,錢樂秋等. 軟件工程技術(shù)概論[M]. 科學(xué)
87、出版社,2002.4</p><p> [5]薛亮. Visual Basic6.0實(shí)用教程[M]. 西安電子科技大學(xué)出版社,2002.9</p><p> [6]呂偉臣,霍言編. Visual Basic6.0初級(jí)編程教程[M]. 北京大學(xué)出版社,2002.6</p><p> [7] 何光渝. VB常用算法大全[M]. 西安電子科技大學(xué)出版社,2000.9
88、[8] 劉燕. Visual Basic程序設(shè)計(jì)[M].交通大學(xué)出版社,2000.9[9] [美] J.Roff. Visual Basic 6.0 數(shù)據(jù)庫開發(fā)[M]. 清華大學(xué)出版社,1999.1[10] 徐新華. 圖形用戶界面編程技術(shù)[M]. 清華大學(xué)出版社,2000.6</p><p> [11]曾偉民,鄧勇剛等. Visual Basic6.0高級(jí)實(shí)用教程[M]. 電子工業(yè)出版社,1999.10&
溫馨提示
- 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請(qǐng)下載最新的WinRAR軟件解壓。
- 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請(qǐng)聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
- 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁內(nèi)容里面會(huì)有圖紙預(yù)覽,若沒有圖紙預(yù)覽就沒有圖紙。
- 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
- 5. 眾賞文庫僅提供信息存儲(chǔ)空間,僅對(duì)用戶上傳內(nèi)容的表現(xiàn)方式做保護(hù)處理,對(duì)用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對(duì)任何下載內(nèi)容負(fù)責(zé)。
- 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請(qǐng)與我們聯(lián)系,我們立即糾正。
- 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時(shí)也不承擔(dān)用戶因使用這些下載資源對(duì)自己和他人造成任何形式的傷害或損失。
最新文檔
- 試題庫管理系統(tǒng)畢業(yè)論文
- 試題庫管理系統(tǒng)畢業(yè)論文
- 試題庫管理系統(tǒng)畢業(yè)論文
- 試題庫管理系統(tǒng)畢業(yè)論文.pdf
- 計(jì)算機(jī)論文試題庫管理系統(tǒng)畢業(yè)論文
- 計(jì)算機(jī)論文試題庫管理系統(tǒng)畢業(yè)論文
- 《sql server數(shù)據(jù)庫管理》試題庫管理系統(tǒng) 畢業(yè)論文
- 畢業(yè)論文——精品在線試題庫設(shè)計(jì)
- 試題庫管理系統(tǒng)論文
- 精品在線試題庫設(shè)計(jì)——畢業(yè)論文
- 試題庫管理系統(tǒng)畢業(yè)設(shè)計(jì)
- 試題庫管理系統(tǒng)畢業(yè)設(shè)計(jì)
- 畢業(yè)論文范文——試題庫管理及成績(jī)分析系統(tǒng)研究
- 智能試題庫系統(tǒng)的設(shè)計(jì)與實(shí)現(xiàn)【畢業(yè)論文】
- 畢業(yè)論文范文——精品在線試題庫設(shè)計(jì)
- 試題庫管理系統(tǒng)
- 試題庫管理系統(tǒng).pdf
- 試題庫管理系統(tǒng)的設(shè)計(jì)與實(shí)現(xiàn)——論文
- 試題庫管理系統(tǒng)本科畢業(yè)設(shè)計(jì)
- 試題庫管理系統(tǒng)簡(jiǎn)介.pdf
評(píng)論
0/150
提交評(píng)論