試題庫(kù)系統(tǒng)畢業(yè)設(shè)計(jì)(含外文翻譯)_第1頁(yè)
已閱讀1頁(yè),還剩43頁(yè)未讀 繼續(xù)免費(fèi)閱讀

下載本文檔

版權(quán)說(shuō)明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請(qǐng)進(jìn)行舉報(bào)或認(rèn)領(lǐng)

文檔簡(jiǎn)介

1、<p><b>  摘  要</b></p><p>  隨著高等院校在教學(xué)模式方面的改革步伐,教學(xué)手段和方法也在發(fā)生著日新月異的變化。考試是教學(xué)過(guò)程中的重要環(huán)節(jié),是對(duì)學(xué)生所學(xué)知識(shí)和能力的一種評(píng)價(jià),也是衡量教師教學(xué)成果好壞的一種教育測(cè)量手段。試題庫(kù)的研究與開發(fā)在教學(xué)中有著重要的意義,組卷是試題庫(kù)系統(tǒng)的重要的基本功能,也是考試系統(tǒng)的核心目標(biāo)之一。在改革的進(jìn)一步深入和課程建設(shè)的逐步完善

2、的條件下, 對(duì)各門課程的考試也要求規(guī)范化、系統(tǒng)化、科學(xué)化、智能化和合理化。針對(duì)傳統(tǒng)出卷方式的弊端,研究和開發(fā)了《c++面向?qū)ο蟪绦蛟O(shè)計(jì)》試題庫(kù)系統(tǒng),實(shí)現(xiàn)了試題的組卷功能以及試題、試卷的管理功能,簡(jiǎn)化了出卷流程。 </p><p><b>  Abstract</b></p><p>  With the institutions of higher learn

3、ing in the pace of reform of teaching models, teaching tools and methods are undergoing rapid change. Examination is an important part of the teaching process, students learn is an evaluation of knowledge and ability, bu

4、t also measure the results of good and bad teaching as a means of education measurement.The research and development of test in teaching has important significance. The system of examination is an important basic functio

5、n, is one of the core </p><p>  This system research and development process, the 2003 as database Access service platform, system data structure is established, on the basis of examination and test, user ma

6、nagement system.This system USES Delphi language platform for visual system, design, use of object-oriented method, its programmed the normal operation of the database system, using Delphi ADO data Access technology, suc

7、cessfully realized Access database Access system operation: in Delphi environment success achieved user m</p><p><b>  目  錄</b></p><p><b>  摘  要i</b></p><p>

8、  Abstractii</p><p>  第1章 緒  論1</p><p><b>  1.1選題背景1</b></p><p>  1.2國(guó)內(nèi)外研究狀況1</p><p><b>  1.3研究?jī)?nèi)容2</b></p><p>  第2章 開發(fā)工具的介紹以及相

9、關(guān)技術(shù)4</p><p>  2.1Delphi開發(fā)環(huán)境的簡(jiǎn)介4</p><p>  2.2 access2003數(shù)據(jù)庫(kù)系統(tǒng)的簡(jiǎn)介以及主要功能5</p><p>  2.3ADO數(shù)據(jù)訪問(wèn)技術(shù)6</p><p>  第3 章 系統(tǒng)設(shè)計(jì)8</p><p>  3.1《C++面向?qū)ο蟪绦蛟O(shè)計(jì)》試題庫(kù)系統(tǒng)試題管理功能

10、模塊設(shè)計(jì)8</p><p>  3.1.1試題錄入功能8</p><p>  3.1.2題庫(kù)維護(hù)功能8</p><p>  3.2《C++面向?qū)ο蟪绦蛟O(shè)計(jì)》試題庫(kù)系統(tǒng)試卷管理功能模塊設(shè)計(jì)8</p><p>  3.2.1抽取現(xiàn)有試卷8</p><p>  3.2.2手動(dòng)生成試卷8</p>&l

11、t;p>  3.3《C++面向?qū)ο蟪绦蛟O(shè)計(jì)》試題庫(kù)系統(tǒng)選項(xiàng)設(shè)置8</p><p>  3.3.1修改密碼9</p><p>  3.3.2用戶管理9</p><p>  3.3.3數(shù)據(jù)庫(kù)備份9</p><p>  3.4《C++面向?qū)ο蟪绦蛟O(shè)計(jì)》試題庫(kù)系統(tǒng)模塊設(shè)計(jì)9</p><p>  3.5《C++面

12、向?qū)ο蟪绦蛟O(shè)計(jì)》試題庫(kù)系統(tǒng)數(shù)據(jù)庫(kù)設(shè)計(jì)10</p><p>  3.5.1數(shù)據(jù)庫(kù)概念設(shè)計(jì)10</p><p>  3.5.2數(shù)據(jù)庫(kù)的詳細(xì)設(shè)計(jì)10</p><p>  第4章 系統(tǒng)實(shí)現(xiàn)16</p><p>  4.1主窗口設(shè)計(jì)16</p><p>  4.2登陸模塊17</p><p>

13、  4.3試題錄入功能模塊18</p><p>  4.4試題維護(hù)功能模塊19</p><p>  4.5試卷功能模塊20</p><p>  4.5.1手動(dòng)生成試卷功能模塊20</p><p>  4.5.2抽取試卷功能模塊22</p><p><b>  第5章 測(cè)試24</b>&

14、lt;/p><p>  5.1測(cè)試目的24</p><p>  5.2測(cè)試目標(biāo)24</p><p>  5.3測(cè)試方法24</p><p>  5.3.1白盒法24</p><p>  5.3.2黑盒法24</p><p>  5.4測(cè)試步驟24</p><p>

15、  5.5《c++面向?qū)ο蟪绦蛟O(shè)計(jì)》試題庫(kù)系統(tǒng)測(cè)試25</p><p>  5.5.1登陸模塊測(cè)試25</p><p>  5.5.2用戶模塊測(cè)試27</p><p><b>  結(jié)  論30</b></p><p>  參 考 文 獻(xiàn)31</p><p><b>  致  謝

16、32</b></p><p>  外文科技資料翻譯33</p><p><b>  英文原文33</b></p><p><b>  中文譯文40</b></p><p><b>  第1章 緒  論</b></p><p><

17、b>  1.1選題背景</b></p><p>  隨著現(xiàn)代教育技術(shù)的不斷深化,CAI這一領(lǐng)域的概念的內(nèi)涵和外延還在發(fā)生著變化。是在計(jì)算機(jī)輔助下進(jìn)行的各種教學(xué)活動(dòng),以對(duì)話方式與學(xué)生討論教學(xué)內(nèi)容、安排教學(xué)進(jìn)程、進(jìn)行教學(xué)訓(xùn)練的方法與技術(shù)。CAI為學(xué)生提供一個(gè)良好的個(gè)人化學(xué)習(xí)環(huán)境。綜合應(yīng)用多媒體、超文本、人工智能和知識(shí)庫(kù)等計(jì)算機(jī)技術(shù),克服了傳統(tǒng)教學(xué)方式上單一、片面的缺點(diǎn)。它的使用能有效地縮短學(xué)習(xí)時(shí)間、

18、提高教學(xué)質(zhì)量和教學(xué)效率,實(shí)現(xiàn)最優(yōu)化的教學(xué)目標(biāo)。</p><p>  試題庫(kù)系統(tǒng)是目前迅速發(fā)展起來(lái)的新型計(jì)算機(jī)輔助教學(xué)的一種有利的工具,是計(jì)算機(jī)科學(xué)、教育測(cè)量理論科學(xué)相結(jié)合的產(chǎn)物,是計(jì)算機(jī)輔助教學(xué)系統(tǒng)的一個(gè)新的實(shí)用的發(fā)展方向。題庫(kù)是按照一定的教育測(cè)量理論,在計(jì)算機(jī)系統(tǒng)中實(shí)現(xiàn)的某個(gè)學(xué)科題目的集合,是嚴(yán)格遵循教育測(cè)量理論,在精確的數(shù)學(xué)模型基礎(chǔ)上建立起來(lái)的教育測(cè)量工具。試題庫(kù)的種類和品種十分繁多。最常用、最傳統(tǒng)的試題庫(kù)是

19、各種習(xí)題集及其解答、分析類的圖書,一般用于學(xué)生的平時(shí)訓(xùn)練。其次比較常用的是以套題形式出現(xiàn)的試題庫(kù),這類題庫(kù)往往掌握在教師手中,一般用于階段性測(cè)試或各種考試。目前最流行的是基于計(jì)算機(jī)的電子試題庫(kù),這種試題庫(kù)便于海量試題的存儲(chǔ)、使用和修改,更便于試題和試卷的難度劃分、采分點(diǎn)的運(yùn)用和試后分析等。試題庫(kù)的出現(xiàn)和發(fā)展顯示出強(qiáng)大的生命力,在教學(xué)活動(dòng)中發(fā)揮了重要作用,不僅彌補(bǔ)了傳統(tǒng)教學(xué)的部分缺陷,而且將計(jì)算機(jī)在教學(xué)管理中的應(yīng)用推向了一個(gè)新的階段,引起

20、了計(jì)算機(jī)界和教育界廣泛的興趣和重視。</p><p>  1.2國(guó)內(nèi)外研究狀況</p><p>  試題庫(kù)在教育活動(dòng)中具有十分重要的意義,試題庫(kù)經(jīng)過(guò)發(fā)展已經(jīng)逐步形成了自己的理論、原則和方法,發(fā)展成了一種新的教育管理手段,成為了計(jì)算機(jī)輔助教育的一個(gè)重要方面。目前,國(guó)內(nèi)外己有許多試題庫(kù)系統(tǒng),它們?yōu)樘岣呓處煿ぷ髻|(zhì)量和教學(xué)的現(xiàn)代化進(jìn)程起到重要作用。但它們?cè)诠δ苌虾托阅苌隙即嬖谥恍┤毕荩绕涫菍?shí)用

21、性、網(wǎng)絡(luò)化上。研究并開發(fā)新的實(shí)用性、智能化、網(wǎng)絡(luò)化試題庫(kù)系統(tǒng)以幫助教師在工作和學(xué)生在學(xué)習(xí)中方便地使用它,是目前待解決的問(wèn)題。試題庫(kù)在教學(xué)實(shí)踐中有兩個(gè)獨(dú)特的優(yōu)勢(shì):一是教學(xué)管理上的,抓喲是試題庫(kù)的高效、經(jīng)濟(jì)、靈活和保密的特點(diǎn);二是教育測(cè)量上的,主要表現(xiàn)在試題庫(kù)能生成高質(zhì)量、能預(yù)控等值可比的試卷;依據(jù)兩個(gè)特點(diǎn),在教學(xué)中引入了試題庫(kù)系統(tǒng)。通常試題庫(kù)是按照一定的教育測(cè)量理論,利用計(jì)算機(jī)技術(shù)在計(jì)算機(jī)系統(tǒng)中實(shí)現(xiàn)的某個(gè)學(xué)科題目的集合,它是嚴(yán)格遵循教育測(cè)

22、量理論,在精確的教學(xué)模型基礎(chǔ)上建立起來(lái)的教育測(cè)量工具。</p><p>  我國(guó)試題庫(kù)系統(tǒng)的研究和應(yīng)用最廣泛的領(lǐng)域是考試和組卷方面。在先進(jìn)理論指導(dǎo)下用計(jì)算機(jī)管理的試題庫(kù),具有科學(xué)、高效、經(jīng)濟(jì)、靈活、方便等顯著特點(diǎn)。試題庫(kù)系統(tǒng)為題目的保存、分類和檢索提供了便利,為編制試卷提供了高效率和低成本的手段,另一個(gè)方面它也可以作為評(píng)價(jià)的工具。教學(xué)過(guò)程中充分利用試題庫(kù)這種教學(xué)資源,進(jìn)行富有成效的課堂和課外的學(xué)習(xí)以及形式性測(cè)驗(yàn),

23、可以幫助師生把注意力從名次上、得分集中到要真正應(yīng)該實(shí)現(xiàn)的教育目標(biāo)上來(lái),真正關(guān)心學(xué)生的學(xué)習(xí)困難和錯(cuò)誤所在,關(guān)心學(xué)生素質(zhì)的提高,促使教育觀念逐漸從“應(yīng)試教育”向“素質(zhì)教育”轉(zhuǎn)變。因此,對(duì)試題庫(kù)組卷功能進(jìn)行研究和建設(shè)仍然具有十分重要的意義。</p><p>  我國(guó)不少院校和公司在試題庫(kù)系統(tǒng)研制中也取得了顯著成績(jī),要從根本上實(shí)現(xiàn)試題庫(kù)系統(tǒng)的功能,組卷是試題庫(kù)系統(tǒng)必須具備的核心功能。而要實(shí)現(xiàn)組卷,又要合理的知識(shí)庫(kù)和高效的

24、知識(shí)推理模型支持,就要求有一個(gè)功能強(qiáng)大、設(shè)計(jì)科學(xué)合理的試題庫(kù)為前提。因此試題庫(kù)的設(shè)計(jì)在功能上除了要考慮能夠提供試題和答案的錄入、修改、刪除外,更重要的是其設(shè)計(jì)要為組卷系統(tǒng)提供高效的服務(wù),以便組卷系統(tǒng)能夠準(zhǔn)確、快速地從題庫(kù)中調(diào)用所需要的試題和答案。目前的試題庫(kù)系統(tǒng)偏重于試題庫(kù)的管理以及實(shí)現(xiàn)組卷的功能,但一個(gè)好的試題庫(kù)系統(tǒng)不僅需要這些功能,更重要的是能夠使出題速度快和組卷效率高,減少試題庫(kù)的冗余度。如果能夠編制實(shí)用且科學(xué)的試題庫(kù),廣泛開展對(duì)

25、試題庫(kù)系統(tǒng)組卷的研究與應(yīng)用,必將促進(jìn)我國(guó)計(jì)算機(jī)在教學(xué)應(yīng)用中的迅速發(fā)展,從而提高計(jì)算機(jī)在各種教學(xué)管理中的應(yīng)用。</p><p><b>  1.3研究?jī)?nèi)容</b></p><p>  傳統(tǒng)的考試出題總是教師考前集中出題、集中組卷,不但非常浪費(fèi)時(shí)間,而且這樣也很難保證科學(xué)地、全面地考核學(xué)生的學(xué)習(xí)成績(jī)。為促進(jìn)教學(xué)手段的現(xiàn)代化,提高教學(xué)質(zhì)量,減輕教師的出題、組卷中的工作量,幫

26、助教師方便、快速、準(zhǔn)確地分析、評(píng)價(jià)學(xué)生的學(xué)習(xí)成績(jī),本系統(tǒng)的設(shè)計(jì)研究是在Delphi環(huán)境下開發(fā)了一套能實(shí)現(xiàn)試題庫(kù)管理及組卷系統(tǒng)的軟件。</p><p>  本研究將試題管理、試卷生成集為一體,幫助教師適時(shí)編制各類考試題目、生成標(biāo)準(zhǔn)試卷。從而可以減輕教師的工作量,有效地提高整個(gè)考試過(guò)程中的效率,對(duì)學(xué)校推動(dòng)教學(xué)改革、提高教學(xué)質(zhì)量都起著一定的促進(jìn)作用。</p><p><b>  系統(tǒng)具

27、體功能如下:</b></p><p><b>  試卷功能</b></p><p>  根據(jù)用戶指定的試題難度、試題類型、試題章節(jié)等從試題庫(kù)中隨機(jī)抽取試題組成一套試卷,答案也隨即生成。</p><p><b>  題庫(kù)功能</b></p><p>  將每道題的全部信息(題型、題目、難易

28、度、章節(jié)等)添加到試題庫(kù)中;也可對(duì)試題庫(kù)中的試題進(jìn)行修改、刪除、查詢等維護(hù)操作。</p><p><b>  選項(xiàng)設(shè)置</b></p><p>  包括對(duì)用戶的管理和數(shù)據(jù)庫(kù)的備份。</p><p>  第2章 開發(fā)工具的介紹以及相關(guān)技術(shù)</p><p>  2.1Delphi開發(fā)環(huán)境的簡(jiǎn)介</p><

29、p>  Delphi是Borland公司推出的非常理想的可視化程序設(shè)計(jì)環(huán)境,為我們提供了一種方便、快捷的Windows應(yīng)用程序開發(fā)工具。它使用了Microsoft Windows圖形用戶界面的許多先進(jìn)特性和設(shè)計(jì)思想,采用了彈性可重復(fù)利用的完整的面向?qū)ο蟪绦蛘Z(yǔ)言(Object-Oriented Language)、當(dāng)今世界上最快的編譯器、最為領(lǐng)先的數(shù)據(jù)庫(kù)技術(shù)。對(duì)于廣大的程序開發(fā)人員來(lái)講,使用Delphi開發(fā)應(yīng)用軟件,無(wú)疑會(huì)大大地提高

30、編程效率。從Borland公司推出Delphi1.0至今,Delphi已經(jīng)發(fā)展了7代產(chǎn)品,每一代都是伴隨Windows操作平臺(tái)的升級(jí)而是升級(jí)。用戶使用Delphi輕松地進(jìn)行各種復(fù)制應(yīng)用程序的開發(fā)。</p><p>  Delphi被稱為第四代編程語(yǔ)言,它具有簡(jiǎn)單、高效、功能強(qiáng)大的特點(diǎn)。和VC相比,Delphi更簡(jiǎn)單、更易于掌握,而在功能上卻絲毫不遜色;和VB相比,Delphi則功能更強(qiáng)大、更實(shí)用。可以說(shuō)Delph

31、i同時(shí)兼?zhèn)淞薞C功能強(qiáng)大和VB簡(jiǎn)單易學(xué)的特點(diǎn)。它一直是程序員至愛(ài)的編程工具。DELPHI 擁有一個(gè)可視化的集成開發(fā)環(huán)境(IDE),采用面向?qū)ο蟮木幊陶Z(yǔ)言O(shè)bjectPascal和基于部件的開發(fā)結(jié)構(gòu)框架。Delphi它提供了500多個(gè)可供使用的構(gòu)件,利用這些部件,開發(fā)人員可以快速地構(gòu)造出應(yīng)用系統(tǒng)。開發(fā)人員也可以根據(jù)自己的需要修改部件或用Delphi本身編寫自己的部件。</p><p>  Delphi具有以下的特性

32、:基于窗體和面向?qū)ο蟮姆椒?,高速的編譯器,強(qiáng)大的數(shù)據(jù)庫(kù)支持,與Windows編程緊密結(jié)合,強(qiáng)大而成熟的組件技術(shù)。但最重要的還是Object Pascal語(yǔ)言,它才是一切的根本。 Object Pascal語(yǔ)言是在Pascal語(yǔ)言的基礎(chǔ)上發(fā)展起來(lái)的,簡(jiǎn)單易學(xué)。</p><p>  Delphi提供了各種開發(fā)工具,包括集成環(huán)境、圖像編輯(Image Editor),以及各種開發(fā)數(shù)據(jù)庫(kù)的應(yīng)用程序,如DesktopDat

33、aBase Expert等。除此之外,還允許用戶掛接其它的應(yīng)用程序開發(fā)工具,如Borland公司的資源編輯器(Resourse Workshop)。</p><p>  在Delphi眾多的優(yōu)勢(shì)當(dāng)中,它在數(shù)據(jù)庫(kù)方面的特長(zhǎng)顯得尤為突出:適應(yīng)于多種數(shù)據(jù)庫(kù)結(jié)構(gòu),從客戶機(jī)/服務(wù)機(jī)模式到多層數(shù)據(jù)結(jié)構(gòu)模式;高效率的數(shù)據(jù)庫(kù)管理系統(tǒng)和新一代更先進(jìn)的數(shù)據(jù)庫(kù)引擎;最新的數(shù)據(jù)分析手段和提供大量的企業(yè)組件。</p><

34、;p>  2.2 access2003數(shù)據(jù)庫(kù)系統(tǒng)的簡(jiǎn)介以及主要功能</p><p>  Access是Office系列軟件中用來(lái)專門管理數(shù)據(jù)庫(kù)的應(yīng)用軟件,它可以運(yùn)行于各種Windows系統(tǒng)環(huán)境中。由于Access繼承了Windows的特性,不僅易于使用,而且界面友好,因此被用戶廣泛采用。使用Access的時(shí)候不需要數(shù)據(jù)庫(kù)管理者具有專業(yè)的程序設(shè)計(jì)水平,任何非專業(yè)的用戶都可以用它來(lái)創(chuàng)建功能強(qiáng)大的數(shù)據(jù)庫(kù)管理系統(tǒng)。

35、</p><p>  Access使用標(biāo)準(zhǔn)的SQL(Structured Query Language,結(jié)構(gòu)化查詢語(yǔ)言)作為它的數(shù)據(jù)庫(kù)語(yǔ)言,從而提供了強(qiáng)大的數(shù)據(jù)處理能力和通用性,使其成為一個(gè)功能強(qiáng)大而且易于使用的桌面關(guān)系型數(shù)據(jù)庫(kù)管理系統(tǒng)和應(yīng)用程序生成器。一個(gè)Access數(shù)據(jù)庫(kù)可以包含表、查詢、窗體、報(bào)表、宏、模塊以及數(shù)據(jù)訪問(wèn)頁(yè),不同于傳統(tǒng)的桌面數(shù)據(jù)庫(kù)(dbase、 FoxPro、Paradox),Access數(shù)據(jù)

36、庫(kù)使用單一的*.mdb文件管理所有的信息,這種針對(duì)數(shù)據(jù)庫(kù)集成的最優(yōu)化文件結(jié)構(gòu)不僅包括數(shù)據(jù)本身,也包括了它的支持對(duì)象。Access是一種關(guān)系型數(shù)據(jù)庫(kù)管理系統(tǒng),其主要特點(diǎn)如下:  ?。ǎ保┐鎯?chǔ)方式單一   Access管理的對(duì)象有表、查詢、窗體、報(bào)表、頁(yè)、宏和模塊,以上對(duì)象都存放在后綴為(.mdb)的數(shù)據(jù)庫(kù)文件種,便于用戶的操作和管理。  ?。ǎ玻┟嫦?qū)ο?  Access是一個(gè)面向?qū)ο蟮拈_發(fā)工具,利用面向?qū)ο蟮姆绞綄?shù)據(jù)庫(kù)系統(tǒng)中的

37、各種功能對(duì)象化,將數(shù)據(jù)庫(kù)管理的各種功能封裝在各類對(duì)象中。它將一個(gè)應(yīng)用系統(tǒng)當(dāng)作是由一系列對(duì)象組成的,對(duì)每個(gè)對(duì)象它都定義一組方法和屬性,以定義該對(duì)象的行為和外國(guó),用戶還可</p><p>  2.3ADO數(shù)據(jù)訪問(wèn)技術(shù)</p><p>  ADO(ActiveX Data Object)是微軟一種基于OLE DB的數(shù)據(jù)訪問(wèn)技術(shù),被設(shè)計(jì)用來(lái)與數(shù)據(jù)訪問(wèn)層OLE DB Provider一起協(xié)同工作,以

38、提供通用數(shù)據(jù)訪問(wèn)(Universal Data Access)。ADO對(duì)OLE DB的接口作了封裝,定義了ADO對(duì)象,屬于數(shù)據(jù)訪問(wèn)的高層接口。 </p><p>  ADO技術(shù)是訪問(wèn)數(shù)據(jù)庫(kù)的新技術(shù),具有易于使用、訪問(wèn)靈活、應(yīng)用廣泛的特點(diǎn)。用ADO訪問(wèn)數(shù)據(jù)源的特點(diǎn)可總結(jié)如下:</p><p> ?。?)易于使用,這是ADO技術(shù)的最重要的一個(gè)特征。由于ADO

39、是高層應(yīng)用,所以相對(duì)于OLE DB或者ODBC來(lái)說(shuō),它具有面向?qū)ο蟮奶卣鳌M瑫r(shí),在ADO的對(duì)象結(jié)構(gòu)中,其對(duì)象之間的層次關(guān)系并不明顯。相對(duì)于DAO等訪問(wèn)技術(shù)來(lái)講,又不必關(guān)心對(duì)象的構(gòu)造層次。對(duì)于要用的對(duì)象,不必先建立連接、會(huì)話等對(duì)象,只需直接構(gòu)造即可,方便了應(yīng)用程序的編制;</p><p> ?。?)高速訪問(wèn)數(shù)據(jù)源,由于ADO技術(shù)基于OLE DB,所以,它繼承了OLE DB訪問(wèn)數(shù)據(jù)庫(kù)的高速性;</p>

40、<p> ?。?)可以訪問(wèn)不同數(shù)據(jù)源,ADO技術(shù)可以訪問(wèn)包括關(guān)系數(shù)據(jù)庫(kù)和非關(guān)系數(shù)據(jù)庫(kù)的所有文件系統(tǒng)。此特點(diǎn)使應(yīng)用程序有很多的靈活性和通用性;</p><p> ?。?)可以用于Microsoft ActiveX頁(yè),ADO技術(shù)可以以ActiveX控件的形式出現(xiàn),所以被應(yīng)用于Microsoft ActiveX頁(yè),此特征可簡(jiǎn)化WEB頁(yè)的編程;</p><p> ?。?)程序占用內(nèi)存少,

41、由于ADO是基于組件對(duì)象模型COM的訪問(wèn)技術(shù),所有用ADO產(chǎn)生的應(yīng)用程序占用內(nèi)存少。</p><p><b>  第3 章 系統(tǒng)設(shè)計(jì)</b></p><p>  3.1《C++面向?qū)ο蟪绦蛟O(shè)計(jì)》試題庫(kù)系統(tǒng)試題管理功能模塊設(shè)計(jì)</p><p>  試題庫(kù)系統(tǒng)的試題功能模塊包括兩個(gè)個(gè)方面的內(nèi)容,即試題錄入、試題維護(hù)。</p><

42、p>  3.1.1試題錄入功能</p><p>  用戶可根據(jù)錄入的題型(選擇、填空、判斷、簡(jiǎn)答、編程)選擇相應(yīng)的錄入題型界面,錄入的選項(xiàng)包括題型、答案、難易度和所在章節(jié)等內(nèi)容。</p><p>  3.1.2題庫(kù)維護(hù)功能</p><p>  在題庫(kù)維護(hù)功能模塊中,用戶可對(duì)數(shù)據(jù)庫(kù)中的題目進(jìn)行修改更新、查詢和刪除等操作;用戶可按照章節(jié)對(duì)數(shù)據(jù)庫(kù)中的題目進(jìn)行查詢。&

43、lt;/p><p>  3.2《C++面向?qū)ο蟪绦蛟O(shè)計(jì)》試題庫(kù)系統(tǒng)試卷管理功能模塊設(shè)計(jì)</p><p>  在試卷管理功能模塊中,用戶可對(duì)數(shù)據(jù)庫(kù)中已經(jīng)存在的試卷進(jìn)行預(yù)覽,可以對(duì)數(shù)據(jù)庫(kù)中已經(jīng)有的題目進(jìn)行手動(dòng)生成試卷。</p><p>  3.2.1抽取現(xiàn)有試卷</p><p>  在該界面中有兩個(gè)數(shù)據(jù)表,上面的數(shù)據(jù)表中能顯示數(shù)據(jù)庫(kù)中已經(jīng)存在的試題,

44、顯示包括試卷編號(hào)(ID)、試卷名稱(SJMC)、出題者(CTZ)以及總分(ZF)等內(nèi)容;當(dāng)選中一份試卷時(shí),在下面的數(shù)據(jù)表中將顯示該試卷中所包含的題型、題目、題號(hào)、所在試卷名稱以及該題所占的分值;通過(guò)Word進(jìn)行試卷預(yù)覽和保存答案。</p><p>  3.2.2手動(dòng)生成試卷</p><p>  顯示章節(jié)列表,并根據(jù)選擇的章節(jié)列表顯示出該章節(jié)中所包含的題目</p><p&

45、gt;  根據(jù)題型的選擇在題目列表中顯示不同題型的題目</p><p>  試卷信息設(shè)置,為不同題型的題目設(shè)置分值,另外還包括總分以及試卷名稱、出卷人姓名的設(shè)置</p><p>  完成信息設(shè)置后可根據(jù)所選章節(jié)加入試題到新建試卷中并保存試卷</p><p>  3.3《C++面向?qū)ο蟪绦蛟O(shè)計(jì)》試題庫(kù)系統(tǒng)選項(xiàng)設(shè)置</p><p>  選項(xiàng)設(shè)置界

46、面包括當(dāng)前用戶修改密碼、系統(tǒng)管理員的用戶管理以及系統(tǒng)管理員的數(shù)據(jù)庫(kù)備份三個(gè)功能模塊。</p><p><b>  3.3.1修改密碼</b></p><p>  當(dāng)前用戶可在改界面中進(jìn)行用戶密碼修改。</p><p><b>  3.3.2用戶管理</b></p><p>  系統(tǒng)管理員在該界面中可

47、以添加新用戶、刪除用戶、修改用戶信息等操作,而一般用戶在進(jìn)入系統(tǒng)時(shí)此界面為不可操作。</p><p>  3.3.3數(shù)據(jù)庫(kù)備份</p><p>  系統(tǒng)管理員可對(duì)數(shù)據(jù)庫(kù)進(jìn)行備份,而一般用戶在進(jìn)入系統(tǒng)時(shí)此界面為不可操作。</p><p>  3.4《C++面向?qū)ο蟪绦蛟O(shè)計(jì)》試題庫(kù)系統(tǒng)模塊設(shè)計(jì)</p><p>  根據(jù)功能的要求,《C++面向?qū)ο?/p>

48、程序設(shè)計(jì)》試題庫(kù)系統(tǒng)主要分為三個(gè)模塊。試題庫(kù)管理功能包括可根據(jù)不同的題型章節(jié)對(duì)試題的錄入和試題的維護(hù),試卷管理功能模塊可對(duì)已經(jīng)存在的試卷進(jìn)行試卷預(yù)覽、保存答案和刪除試卷等操作,在手動(dòng)生成試卷功能模塊可按用戶設(shè)置進(jìn)行手動(dòng)生成試卷。功能模塊的關(guān)系圖如下圖3-1所示:</p><p>  圖3.1 功能模塊關(guān)系圖</p><p>  3.5《C++面向?qū)ο蟪绦蛟O(shè)計(jì)》試題庫(kù)系統(tǒng)數(shù)據(jù)庫(kù)設(shè)計(jì)</

49、p><p>  3.5.1數(shù)據(jù)庫(kù)概念設(shè)計(jì)</p><p>  數(shù)據(jù)庫(kù)設(shè)計(jì)是在需求分析的基礎(chǔ)上,如何對(duì)應(yīng)用系統(tǒng)所設(shè)計(jì)的數(shù)據(jù)進(jìn)行分類、描述、關(guān)聯(lián)和存取的一種技術(shù)。數(shù)據(jù)庫(kù)設(shè)計(jì)通常是一個(gè)通用的DBMS 支持下進(jìn)行的,對(duì)于一個(gè)給定的應(yīng)用環(huán)境,構(gòu)造最優(yōu)的數(shù)據(jù)庫(kù)模式,使之能夠有效的存取數(shù)據(jù),滿足各種用戶的需要。</p><p>  數(shù)據(jù)庫(kù)是試題庫(kù)系統(tǒng)的后臺(tái),存儲(chǔ)著所有信息,在試題庫(kù)系

50、統(tǒng)中占據(jù)著重要地位。數(shù)據(jù)庫(kù)的好于壞直接影響到整個(gè)程序的運(yùn)行效率。良好的數(shù)據(jù)庫(kù)設(shè)計(jì),可以提高數(shù)據(jù)信息的存儲(chǔ)效率,保證數(shù)據(jù)信息的完整性和一直性。同時(shí),一個(gè)合理的數(shù)據(jù)庫(kù)結(jié)構(gòu)有利于程序的實(shí)現(xiàn)。介于該試題庫(kù)系統(tǒng)所用到的表較少,所作的查詢并不多,所有在此選用Access2003作為系統(tǒng)的后臺(tái)數(shù)據(jù)庫(kù)。</p><p>  3.5.2數(shù)據(jù)庫(kù)的詳細(xì)設(shè)計(jì)</p><p>  在名稱為test.mdb的數(shù)據(jù)庫(kù)中

51、,根據(jù)系統(tǒng)需要建立相關(guān)數(shù)據(jù)表,如下:</p><p>  (1)用戶表(YH)</p><p>  用來(lái)存放所有用戶信息。具體字段的定義及其含義如下表3.1所示(權(quán)限QX:1為系統(tǒng)管理員,0為一般用戶):</p><p><b>  表3.1 用戶表</b></p><p> ?。?)權(quán)限表(QX)</p>

52、<p>  用來(lái)存放用戶權(quán)限信息。用戶只能操作相應(yīng)權(quán)限的功能,具體字段的定義及其含義如下表3.2所示:</p><p><b>  表3.2 權(quán)限表</b></p><p> ?。?)難易度表(NYD)</p><p>  用于存放試題難易度類型的表。具體字段的定義及其含義如下表3.3所示:</p><p>

53、<b>  表3.3 難易度表</b></p><p> ?。?)試題類型表(Type)</p><p>  用于存放試題類型的表(包括選擇題、填空題、判斷題、簡(jiǎn)單題和編程題)。具體字段的定義及其含義如下表3.4所示:</p><p>  表3.4 試題類型表 </p><p> ?。?)選擇題表(XuanZeTi)&l

54、t;/p><p>  存放所有選擇題的表,具體字段的定義及其含義如下表3.5所示:</p><p><b>  表3.5 選擇題表</b></p><p> ?。?)填空題表(TianKongTi)</p><p>  用于存放所有填空題的表,具體字段的定義及其含義如下表3.6所示:</p><p>

55、<b>  表3.6 填空題表</b></p><p> ?。?)判斷題表(PanDuanTi)</p><p>  用于存放所有判斷題的表,具體字段的定義及其含義如下表3.7所示:</p><p><b>  表3.7 判斷題表</b></p><p> ?。?)簡(jiǎn)答題(JianDaTi)<

56、/p><p>  用于存放所有簡(jiǎn)答題的表,具體字段的定義及其含義如下表3.8所示:</p><p><b>  表3.8 簡(jiǎn)答題表</b></p><p> ?。?)編程題表(BianChengTi)</p><p>  用于存放所有編程題的表,具體字段的定義及其含義如下表3.9所示:</p><p>

57、;<b>  表3.9 編程題表</b></p><p> ?。?0)章節(jié)表(ZhangJie)</p><p>  用于存放所有題型所在的章節(jié),具體字段的定義及其含義如下表3.10所示:</p><p><b>  表3.10 章節(jié)表</b></p><p> ?。?1)試卷表(SJB)</

58、p><p>  用于存放手動(dòng)生成的試卷,具體字段的定義及其含義如下表3.11所示:</p><p><b>  表3.11 試卷表</b></p><p> ?。?2)試題表(STB)</p><p>  用于存放已生成試卷里的題型、分值等具體情況,具體字段的定義及其含義如下表3.12所示:</p><p

59、><b>  表3.12 試題表</b></p><p><b>  第4章 系統(tǒng)實(shí)現(xiàn)</b></p><p><b>  4.1主窗口設(shè)計(jì)</b></p><p><b>  圖4.1 主窗口</b></p><p>  設(shè)計(jì)說(shuō)明:一個(gè)好的試題庫(kù)系

60、統(tǒng),不僅要求界面友好,能方便地生成試卷,試卷的維護(hù)(添加、修改、刪除試題)操作簡(jiǎn)單,組卷靈活快捷,查詢?cè)囶}或試卷迅速,以適應(yīng)各種知識(shí)更新對(duì)試卷難度的要求,還要具有一定的安全性。為此,試題庫(kù)系統(tǒng)發(fā)主窗口模塊圍繞實(shí)用性設(shè)計(jì),比如題庫(kù)功能模塊就是為了實(shí)現(xiàn)題庫(kù)的錄入、題庫(kù)的維護(hù)以及選項(xiàng)設(shè)置而設(shè)計(jì)的;試卷功能模塊是為了抽取現(xiàn)有試卷和手動(dòng)生成試卷而設(shè)計(jì)的;選項(xiàng)設(shè)置是考慮到系統(tǒng)的安全性,管理用戶名和密碼,以及對(duì)數(shù)據(jù)庫(kù)進(jìn)行備份,而整個(gè)設(shè)計(jì)簡(jiǎn)潔明了,同時(shí)

61、也就方便了操作。</p><p><b>  4.2登陸模塊</b></p><p>  用戶登陸界面如下圖4.2所示:</p><p><b>  圖4.2 登錄界面</b></p><p>  模塊說(shuō)明:用戶輸入正確的用戶名和密碼后就能進(jìn)入到主界面窗口。在這個(gè)窗口中,不同的用戶登陸到主界面中所能

62、操作的功能葉不一樣,當(dāng)用戶以管理員身份進(jìn)入時(shí),主 界面上的所有功能都可用,當(dāng)用戶以一般用戶身份登陸時(shí),用戶管理和數(shù)據(jù)備份模塊將不可用。</p><p>  設(shè)計(jì)思想:為了能夠統(tǒng)一、規(guī)范、安全的管理,在登陸模塊中設(shè)計(jì)了權(quán)限控制。在該模塊中使用了2個(gè)ADOQuery,一個(gè)ADOQuery控制用戶信息的獲取,而另外一個(gè)ADOQuery則負(fù)責(zé)權(quán)限(QX)表中權(quán)限信息的獲?。?為一般用戶,1為系統(tǒng)管理員),將獲取的用戶表用

63、用戶信息的權(quán)限對(duì)照權(quán)限表中的權(quán)限信息,當(dāng)用戶為1時(shí)(即為系統(tǒng)管理員),將對(duì)其開放所有功能,當(dāng)用戶為0時(shí)(即為一般用戶),將自動(dòng)把用戶管理模塊和數(shù)據(jù)備份模塊設(shè)為不可用。用戶登陸主要代碼如下:</p><p>  adoquery1.Close;</p><p>  adoquery1.SQL.Clear;</p><p>  adoquery1.SQL.Add(

64、9;select * from YH where username='''+u+'''and password='''+p+'''');</p><p>  adoquery1.Open;</p><p>  q:=trim(adoquery1.FieldByName('qxid

65、').AsString);</p><p>  if adoquery1.RecordCount=0 then</p><p><b>  begin</b></p><p>  application.MessageBox('用戶名或密碼錯(cuò)誤,請(qǐng)重新輸入','提示',mb_ok);</p>

66、<p>  edit1.SetFocus;</p><p><b>  end</b></p><p>  4.3試題錄入功能模塊</p><p>  試題錄入模塊是試題庫(kù)系統(tǒng)不可缺少的一部分,在本系統(tǒng)的試題錄入模塊主要是添加試題。該模塊可根據(jù)需要選擇不同的章節(jié)、題型、難易度等選項(xiàng),將試題按照題型的分類添加到試題庫(kù)系統(tǒng)中。添加試題界

67、面如下圖4.3所示:</p><p><b>  圖4.3 題庫(kù)錄入</b></p><p>  在此添加試題界面中,題型的選項(xiàng)用了一個(gè)pagecontrol,通過(guò)pagecontrol設(shè)定5個(gè)tabsheet,即5個(gè)題型,通過(guò)對(duì)Tabsheet的選擇切換不同題型的錄入界面。在每種題型的錄入界面中,其題型、難易度、章節(jié)以及部分答案的選擇項(xiàng),都通過(guò)ComboBox組合框

68、控件來(lái)向試題數(shù)據(jù)表中輸入文本信息,用戶可以直接點(diǎn)擊下拉列表,選擇所需要的對(duì)應(yīng)項(xiàng)。選擇組合框控件,其好處在于:完全的Windows風(fēng)格,只要Windows比較熟悉的人,就知道只需要單擊其右側(cè)的向下夾頭,就可以獲得能夠輸入的所有選項(xiàng),點(diǎn)擊某項(xiàng)即可將該項(xiàng)選中,這樣就不會(huì)使用戶產(chǎn)生到底該怎么輸入(是該輸入文字還是輸入數(shù)字等)的疑問(wèn)。另外也不需要做任何聲明,用戶看到此組合框就知道該怎么使用;當(dāng)用戶完全知道該怎么輸入后,也可以直接從文本框部分輸入;

69、另外采用下拉式列表框還可以節(jié)省空間。</p><p>  4.4試題維護(hù)功能模塊</p><p>  在試題維護(hù)功能模塊中,主要設(shè)計(jì)了試題修改、試題保存、試題查詢、試題刪除功能。試題維護(hù)界面如下圖4.4所示:</p><p><b>  圖4.4 題庫(kù)維護(hù)</b></p><p>  本界面的功能是對(duì)試題庫(kù)進(jìn)行維護(hù),通過(guò)

70、該界面可以對(duì)試題的文本內(nèi)容、難易度、章節(jié)以及試題的其他各項(xiàng)信息進(jìn)行修改、查詢和刪除。更新試題模塊與添加試題模塊的功能一樣 ??梢愿鶕?jù)需要選擇不同的題型、難易度、章節(jié)等選項(xiàng),以滿足不同考試的需求;試題查詢功能可以按照試題章節(jié)或者難易度查詢?cè)囶}庫(kù)中的題目,刪除試題功能可以把試題庫(kù)中不需要的題目刪除;其中的選擇框與添加試題界面中一樣由DBComboBox組合框控件構(gòu)成實(shí)現(xiàn),大大方便了用戶的操作與使用。選擇題查詢功能模塊的部分代碼如下:<

71、/p><p>  if TKNYD1_CB.Text <>'' then</p><p><b>  begin</b></p><p>  else if TKZJ1_CB.Text<>'' then</p><p><b>  begin</b>

72、;</p><p>  XZ_ADOQuery.Close;</p><p>  XZ_ADOQuery.SQL.Clear;</p><p>  XZ_ADOQuery.SQL.Add('select * from XuanZeTi');</p><p>  XZ_ADOQuery.SQL.Add('where ZJ

73、='''+b+'''');</p><p>  // wh_xz.Parameters.ParamByName('no').Value:=query1.fieldbyname('id').AsInteger;</p><p>  XZ_ADOQuery.Open;</p><p>

74、;  if XZ_ADOQuery.RecordCount=0 then</p><p><b>  begin</b></p><p>  // ShowMessage('不存在符合條件選擇題!');</p><p>  application.MessageBox('不存在符合條件選擇題!','提示&

75、#39;,mb_ok);</p><p><b>  end</b></p><p><b>  else</b></p><p>  XZ_ADOQuery.Active:=true;</p><p><b>  end</b></p><p><

76、;b>  else</b></p><p><b>  begin</b></p><p>  application.MessageBox('請(qǐng)選擇題目難度或出自的章節(jié)!','提示',mb_ok)</p><p><b>  end</b></p><

77、p><b>  end;</b></p><p><b>  4.5試卷功能模塊</b></p><p>  4.5.1手動(dòng)生成試卷功能模塊</p><p>  手動(dòng)組卷是一種精確的手工選題的方式,用戶瀏覽試題的過(guò)程中決定該道題是否被選中。在選題過(guò)程中,用戶可以通過(guò)章節(jié)選擇找到想要的試題。這種選題方式帶有很強(qiáng)的目的性

78、和正對(duì)性,只是效率相對(duì)低些。手工組卷的界面圖如下圖4.5所示:</p><p>  圖4.5 手動(dòng)生成試卷</p><p>  手動(dòng)生成試卷模塊,在界面中用了2個(gè)DBGrid,左邊的DBGrid連接到章節(jié)表(ZhangJie),將章節(jié)表中的章節(jié)名稱在DBGrid顯示出來(lái),右邊的DBGrid用來(lái)顯示選中章節(jié)中所包含的題目,界面中設(shè)計(jì)了5個(gè)radioButton,每個(gè)radioButton代表

79、選擇一種題型,在右邊的DBGrid將顯示對(duì)應(yīng)題型題庫(kù)中的題目。在試卷信息設(shè)置中可以設(shè)計(jì)各類題型的單題分值、試卷名稱、試卷總分、以及出題者的姓名,試卷信息設(shè)置中各類題型的分值、題量以及總分用的是SpinEdit控件,各類題型的題量SpinEdit控件設(shè)為不可編輯,沒(méi)添加一題將會(huì)自增一題,設(shè)置總分的SpinEdit控件的范圍設(shè)為0~100,出了這個(gè)范圍或者不填將會(huì)出現(xiàn)系統(tǒng)錯(cuò)誤,在試卷信息設(shè)置完畢后方可加入試卷,添加試卷完畢后點(diǎn)擊保存試卷則可

80、把新加的試卷加入到數(shù)據(jù)庫(kù)中,如果退出時(shí)沒(méi)有保存,則會(huì)提示是否保存試卷的對(duì)話框。</p><p>  4.5.2抽取試卷功能模塊</p><p>  在前面的工作中已近指出題庫(kù)建設(shè)中所需的各個(gè)模塊,其中,出題者采集試題,輸入試題的各個(gè)指標(biāo),同時(shí)還要進(jìn)行題目入庫(kù)存儲(chǔ)工作。一般試題庫(kù)的規(guī)模都交大,并且隨著時(shí)間的推移將會(huì)越來(lái)越多的試題入庫(kù),這就要求我們使用緊湊、安全、高效的題目存儲(chǔ)方式。Word是

81、目前最流行的優(yōu)秀辦公軟件,功能強(qiáng)大,操作簡(jiǎn)潔,加上Word文檔能方便轉(zhuǎn)換為Web網(wǎng)頁(yè)等其他格式,因此在選擇Word作為試卷模塊的編輯工具。抽取試題功能模塊的主界面如下圖4.6</p><p>  圖4.6 抽取現(xiàn)有試卷</p><p>  在本功能模塊中使用到了WordDocument、WordApplication和WordFont三個(gè)組件。在生成試卷的過(guò)程中,首先編寫一個(gè)設(shè)置試卷字體的

82、過(guò)程,方便后面調(diào)用,由WordFont組件設(shè)置新生成試卷的標(biāo)題以及試題的字體、顏色、字號(hào)等內(nèi)容;生成開始由AppPath變量取得本程序的路徑,再由WordDocument組件控制鏈接到Microsoft Office Word,由WordApplication通過(guò)Conect類連接檢查Word,當(dāng)連接失敗時(shí)提示“連接失敗,請(qǐng)檢查Word安裝情況”。 在輸出試題時(shí),按照題型分類(選擇題、填空題、判斷題、簡(jiǎn)答題、編程題)依次從試題庫(kù)中獲取并

83、輸入到Word文檔中。</p><p> ?。?)用WordDocument創(chuàng)建Word應(yīng)用程序代碼:</p><p>  AppPath:=ExtractFilePath(Application.ExeName); //取得本程序的路徑</p><p>  f_scwd.Show;</p><p>  f_scwd.p1.Capti

84、on:='正在鏈接Microsoft Office Word......';</p><p>  f_scwd.g1.MaxValue:=adoq_sjb.RecordCount+25;</p><p>  f_scwd.Repaint;</p><p>  (2)建立Word應(yīng)用程序后,提取試題庫(kù)中的數(shù)據(jù),在按題型輸出題目的同時(shí),幾下每一道題目的答

85、案,以便在輸出答案時(shí)能正確輸出。選擇題輸出部分代碼:</p><p>  XT_ADOQ.Close;</p><p>  XT_ADOQ.SQL.Clear;</p><p>  XT_ADOQ.SQL.Add('SELECT * FROM XuanZeTi WHERE TH=:TT');</p><p>  XT_ADOQ

86、.Parameters.ParamByName('TT').Value:=X_ADOQ.FieldValues['th'];</p><p>  XT_ADOQ.Open;</p><p>  temp:=Format('%d. %s',[STH,XT_ADOQ.FieldValues['TM']]); //輸出選擇題題目&l

87、t;/p><p>  SJ_WD.Range.InsertAfter(temp+#13);</p><p>  SJDA.Add(XT_ADOQ.fieldbyname('da').AsString); //記下每一小題的答案</p><p>  f_scwd.g1.Progress:=f_scwd.g1.Progress+1;</p>

88、<p>  f_scwd.Repaint;</p><p>  STH:=STH+1;</p><p>  X_ADOQ.Next; </p><p> ?。?)釋放所占用的連接資源文件:</p><p>  X_ADOQ.Close; //關(guān)閉ADOQuery以減少資源占用</p><

89、;p>  f_scwd.Close; //關(guān)閉進(jìn)度窗口</p><p>  SJ_WA.Visible:=true;</p><p>  SJ_WA.Disconnect; //斷開鏈接</p><p>  SJ_WD.Disconnect;</p><p>  在生成答案模塊,首先得對(duì)選中的試卷

90、進(jìn)行預(yù)覽,然后才能保存答案。保存答案模塊也是通過(guò)把數(shù)據(jù)輸入到Word文檔中來(lái)保存。</p><p> ?。?)生成答案部分代碼:</p><p>  SJ_WF.ConnectTo(SJ_WD.Sentences.Get_Last.Font);</p><p>  SJ_WF.Name:='宋體';</p><p>  SJ_

91、WF.Bold := aBold;</p><p>  SJ_WF.Italic := aItalic;</p><p>  SJ_WF.Shadow := aShadow;</p><p>  SJ_WF.Size := aSize; //設(shè)置字體</p><p>  NewDocument:=SJ_WA.Documents.Add(E

92、mptyParam,EmptyParam,EmptyParam,</p><p>  EmptyParam);</p><p>  f_scwd.p1.Caption:='正在新建Microsoft Office Word 文檔......';</p><p>  f_scwd.g1.Progress:=f_scwd.g1.Progress+5;&l

93、t;/p><p>  f_scwd.Repaint;</p><p>  SJ_WD.ConnectTo(NewDocument);</p><p>  SJ_WD.Windows.Item(ItemIndex).Caption:=sjm+' 答案';</p><p>  f_scwd.g1.Progress:=f_scwd.g

94、1.Progress+5;</p><p>  f_scwd.Repaint;</p><p>  SJ_WA.Options.CheckSpellingAsYouType := False;</p><p>  SJ_WA.Options.CheckGrammarAsYouType := False;</p><p>  SetFont(1

95、,0,0,24);</p><p>  SJ_WD.Range.InsertAfter(' '+sjm+'答案'+#13);</p><p><b>  第5章 測(cè)試 </b></p><p><b>  5.1測(cè)試目的</b></p><p>  軟件測(cè)試的

96、目的是為了發(fā)現(xiàn)軟件中的錯(cuò)誤,而發(fā)現(xiàn)錯(cuò)誤并不是最終的目的,而是通過(guò)測(cè)試發(fā)現(xiàn)錯(cuò)誤之后還必須診斷并改正錯(cuò)誤。</p><p><b>  5.2測(cè)試目標(biāo)</b></p><p>  軟件測(cè)試的目標(biāo)為:測(cè)試是為了發(fā)現(xiàn)程序中的錯(cuò)誤而執(zhí)行程序的過(guò)程。好的測(cè)試方案是極可能發(fā)現(xiàn)迄今為止尚未發(fā)現(xiàn)的錯(cuò)誤。試是發(fā)現(xiàn)了至今為止尚未發(fā)現(xiàn)的錯(cuò)誤的測(cè)試。</p><p>&

97、lt;b>  5.3測(cè)試方法</b></p><p><b>  5.3.1白盒法</b></p><p>  其測(cè)試的前提是可以把程序看成裝在一個(gè)透明的白盒子中,也就是完全了解程序的結(jié)構(gòu)盒處理過(guò)程。這種方法按照程序內(nèi)部的邏輯測(cè)試程序,檢驗(yàn)程序中的每一條通路是否能按預(yù)定的要求正確工作。</p><p><b>  5

98、.3.2黑盒法</b></p><p>  其測(cè)試前提是把程序看成一個(gè)黑盒子,完全不考慮程序的內(nèi)部結(jié)構(gòu)盒處理過(guò)程。也就是說(shuō)黑盒測(cè)試是在程序接口進(jìn)行的測(cè)試,它只檢查程序功能是否能按照規(guī)格說(shuō)明書的規(guī)定正常使用,程序是否能適當(dāng)?shù)慕邮蛰斎氲臄?shù)據(jù)產(chǎn)生正確的輸出信息,并保持外部信息的完整性。</p><p><b>  5.4測(cè)試步驟</b></p>&

99、lt;p>  一般大型軟件系統(tǒng)的測(cè)試基本上包括5個(gè)步驟:模塊測(cè)試、子系統(tǒng)測(cè)試、系統(tǒng)測(cè)試、驗(yàn)收測(cè)試和平行運(yùn)行。軟件測(cè)試在軟件生命周期中橫跨兩個(gè)階段。通常在編寫出每個(gè)模塊之后就對(duì)它作必要的測(cè)試,模塊的編寫者和測(cè)試者是同一個(gè)人,編碼和模塊測(cè)試屬于軟件生命周期的同一個(gè)階段。在這個(gè)階段結(jié)束之后,對(duì)系統(tǒng)還應(yīng)該進(jìn)行各種綜合測(cè)試,這是軟件生命周期中的另一個(gè)獨(dú)立的階段,通常由專門的測(cè)試人員承擔(dān)這項(xiàng)工作。</p><p>  

100、5.5《c++面向?qū)ο蟪绦蛟O(shè)計(jì)》試題庫(kù)系統(tǒng)測(cè)試</p><p>  《C++面向?qū)ο蟪绦蛟O(shè)計(jì)》試題庫(kù)系統(tǒng)主要采用上述的步驟方法,大部分采用“白盒測(cè)試”因?yàn)楦鱾€(gè)模塊程序的流程很清楚,在編寫過(guò)程中也出現(xiàn)過(guò)很多錯(cuò)誤,甚至根本無(wú)法運(yùn)行下去,采用程序中的設(shè)置斷點(diǎn),進(jìn)行斷點(diǎn)測(cè)試,逐步縮小范圍并最終找到問(wèn)題的解。在編寫的過(guò)程中一邊編寫一邊進(jìn)行測(cè)試,發(fā)現(xiàn)錯(cuò)誤立刻更正盡量使模塊功能更貼近用戶。首先測(cè)試了一個(gè)模塊的功能,能夠?qū)崿F(xiàn)后,

101、再對(duì)其它模塊進(jìn)行測(cè)試,在這個(gè)過(guò)程中,往往又會(huì)返回到剛才的模塊,再次改進(jìn)。如此反復(fù)當(dāng)所有模塊測(cè)試完成后,便對(duì)子系統(tǒng)分別測(cè)試,輸入大量數(shù)據(jù)并盡可能多的假設(shè)“非正常情況”以測(cè)試系統(tǒng)的健壯性。待這些測(cè)試都通過(guò)后就對(duì)整個(gè)系統(tǒng)進(jìn)行測(cè)試。</p><p>  5.5.1登陸模塊測(cè)試</p><p>  登陸模塊是該系統(tǒng)的大門,屬于一個(gè)重要的模塊,所以對(duì)該模塊很好地測(cè)試也是至關(guān)重要的。測(cè)試該模塊時(shí)選擇了正

102、確的用戶和正確的密碼組數(shù)據(jù)、正確的用戶和錯(cuò)誤的密碼組數(shù)據(jù)、錯(cuò)誤的用戶和正確的密碼組數(shù)據(jù)和錯(cuò)誤的用戶和錯(cuò)誤的密碼組數(shù)據(jù)等進(jìn)行了測(cè)試。在該模塊還涉及到權(quán)限控制,不同權(quán)限的用戶登陸的系統(tǒng)中只能操作與其權(quán)限相應(yīng)的功能。</p><p>  測(cè)試數(shù)據(jù):測(cè)試用戶 a和測(cè)試密碼 a,測(cè)試用戶 a和測(cè)試密碼 b,測(cè)試用戶 b和測(cè)試密碼 a,測(cè)試用戶 b和測(cè)試密碼 b四組數(shù)據(jù)。</p><p>  測(cè)試結(jié)果

103、:正確的用戶和密碼可以成功進(jìn)入試題庫(kù)系統(tǒng)主界面,使用其余3組數(shù)據(jù)均提示錯(cuò)誤。錯(cuò)誤提示如下圖5.1:</p><p>  圖5.1 用戶登陸錯(cuò)誤提示</p><p>  當(dāng)以管理員(admin)的身份進(jìn)入到系統(tǒng)時(shí),主界面用戶管理和數(shù)據(jù)備份功能可用。主界面如下圖5.2:</p><p>  圖5.2 管理員身份登入界面功能</p><p>  當(dāng)

104、以一般用戶身份(teacher)進(jìn)入系統(tǒng)時(shí),主界面用戶管理和數(shù)據(jù)備份功能為不可用。主界面如下圖5.3</p><p>  圖5.3 一般用戶登入界面功能</p><p>  5.5.2用戶模塊測(cè)試</p><p>  用戶模塊是系統(tǒng)管理員管理用戶的模塊,其操作包括添加用戶,修改用戶權(quán)限,修改用戶密碼等。</p><p>  以下是針對(duì)不同情況

105、測(cè)試后的結(jié)果:</p><p>  當(dāng)修改admin用戶是,系統(tǒng)將提示“此用戶不可修改”。測(cè)試結(jié)果如下圖5.4</p><p>  圖5.4 admin不可修改</p><p>  當(dāng)admin修改完其他用戶信息時(shí),提示信息如下圖5.5:</p><p>  圖5.5 用戶信息修改</p><p>  當(dāng)admin新添

106、加用戶保存時(shí),提示信息如下圖5.6:</p><p>  圖5.6 添加新用戶</p><p>  當(dāng)admin用戶刪除不需要的用戶時(shí),提示信息如下圖5.7</p><p><b>  圖5.7 刪除用戶</b></p><p><b>  結(jié)  論</b></p><p>

107、  通過(guò)《C++面向?qū)ο蟪绦蛟O(shè)計(jì)》試題庫(kù)系統(tǒng)的設(shè)計(jì),我認(rèn)識(shí)到了圖形界面編程工具Delphi的強(qiáng)大。也進(jìn)一步加強(qiáng)了對(duì)Access2003數(shù)據(jù)庫(kù)的管理的認(rèn)識(shí)。</p><p>  本文通過(guò)五個(gè)章節(jié),詳細(xì)闡述了《C++面向?qū)ο蟪绦蛟O(shè)計(jì)》試題庫(kù)系統(tǒng)的設(shè)計(jì)與實(shí)現(xiàn),主要完成了一下工作:</p><p>  詳細(xì)介紹了ADO技術(shù),通過(guò)ADOQuery組件實(shí)現(xiàn)與數(shù)據(jù)庫(kù)的連接。</p><

108、;p>  根據(jù)需求分析進(jìn)行了系統(tǒng)總體設(shè)計(jì),主要實(shí)現(xiàn)了試題的錄入、維護(hù),和手動(dòng)生成試卷的功能這兩大功能模塊。</p><p>  對(duì)系統(tǒng)部分功能模塊的實(shí)現(xiàn)方法進(jìn)行了詳細(xì)描述,給出了部分實(shí)現(xiàn)代碼。</p><p>  對(duì)整個(gè)軟件的運(yùn)行進(jìn)行了測(cè)試,給出完整的運(yùn)行過(guò)程。</p><p>  本軟件也有一些需要進(jìn)一步改進(jìn)的地方:</p><p>

109、<b>  系統(tǒng)界面不夠美觀。</b></p><p>  沒(méi)有實(shí)現(xiàn)自動(dòng)生成試卷的功能。</p><p>  最后,我希望自己在以后的學(xué)習(xí)工作過(guò)程中,將不斷的對(duì)本軟件進(jìn)行改進(jìn),使它更加完善。</p><p><b>  參 考 文 獻(xiàn)</b></p><p>  [1] 童愛(ài)紅,張琦,胡光兵.De

110、lphi 7應(yīng)用教程[M]. </p><p>  北京交通大學(xué)出版社 ,2004.11</p><p>  [2] 李存斌,汪兵.Delphi深度編程及其項(xiàng)目應(yīng)用開發(fā)[M].</p><p>  水利水電出版社,2002.9</p><p>  [3] 李俊平.Delphi程序設(shè)計(jì)與軟件項(xiàng)目開發(fā)[M].清華大學(xué)出版社,2007.5<

111、;/p><p>  [4] 田民格,盧昌荊.Delphi 程序設(shè)計(jì) [M].清華大學(xué)出版社, 2007.</p><p>  [5] 黃文鈺.Delphi程序設(shè)計(jì)經(jīng)典[M].科學(xué)出版社,2005.2</p><p>  [6] 曹巖.Delphi程序設(shè)計(jì)使用教程[M].化學(xué)工業(yè)出版社,2008.10</p><p>  [7] 李強(qiáng)等.D

112、elphi7程序設(shè)計(jì)實(shí)例導(dǎo)學(xué)[M].中國(guó)水利水電出版社,2003.3</p><p>  [8] 張海藩.軟件工程導(dǎo)論[M].清華大學(xué)出版社,2008.9</p><p>  [9] 張海卿,張占軍.Delphi7編程技巧與實(shí)例精解[M].國(guó)防工業(yè)出版社,2003.1</p><p>  [10] 張?jiān)鰪?qiáng),蔣志光.Delphi7編程實(shí)例與技巧集萃[M].北京希望

113、電子出版,2003.1</p><p>  [11] 朱少民.軟件測(cè)試方法和技術(shù)[M]. 北京:清華大學(xué)出版社, 2005.7</p><p>  [12]譚浩強(qiáng)等.C++面向?qū)ο蟪绦蛟O(shè)計(jì)[M].北京:清華大學(xué)出版社,2006.1</p><p>  [13]王瑜,余鵬.Delphi6程序設(shè)計(jì)培訓(xùn)教程[M].北京:清華大學(xué)出版社,2002.7</p>

114、<p>  [14]周忠榮.數(shù)據(jù)庫(kù)原理與應(yīng)用(Access)[M].北京:清華大學(xué)出版社,2003.8</p><p><b>  致  謝</b></p><p>  時(shí)光匆匆,如白駒過(guò)隙。在畢業(yè)論文定稿之際,四年的大學(xué)本科生活也即將畫上句號(hào)。遙想初入求是園之時(shí),還歷歷在目,恍如隔日,不免感嘆光陰易逝、韶華難追。然而,艱辛而快樂(lè)的求學(xué)之路,也給我留下了很多

115、難以忘懷的欣慰和幸福。在此,向四年來(lái)陪伴我一起走過(guò),給予我?guī)椭完P(guān)心的良師益友以及親人們,致以最為真摯的謝意!</p><p>  整個(gè)畢設(shè)自始自終都在xx老師的精心指導(dǎo)下完成的,在此,向xx老師表示最真摯的謝意!此外,xx老師淵博的知識(shí)、嚴(yán)謹(jǐn)?shù)闹螌W(xué)態(tài)度、兢兢業(yè)業(yè)的工作精神和一絲不茍的作風(fēng)給我留下了十分深刻的印象,這些精神和態(tài)度是我在今后的學(xué)習(xí)和工作中應(yīng)該秉持的。</p><p>  在此

116、也對(duì)所有關(guān)心和幫助過(guò)我的其他老師、同學(xué)和朋友表示誠(chéng)摯的感謝。謝謝你們與我一起度過(guò)這段美好的時(shí)光。</p><p>  在未來(lái)的生活中,我會(huì)努力奮斗,以更好的成果來(lái)報(bào)答老師和朋友們對(duì)我的關(guān)心和支持。</p><p><b>  外文科技資料翻譯</b></p><p><b>  英文原文</b></p>&l

117、t;p>  Design Patterns in C#設(shè)計(jì)模式C #</p><p>  A model is a program using such a program, we can complete certain tasks. A model is a way through this way, we can achieve a certain purpose. Meanwhile, a mode

118、l is a technology. In order to complete a particular job, we need to access and use the technology effectively. This kind of thinking can be applied to many types of work, such as : cooking, pyrotechnic, software develop

溫馨提示

  • 1. 本站所有資源如無(wú)特殊說(shuō)明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請(qǐng)下載最新的WinRAR軟件解壓。
  • 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請(qǐng)聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
  • 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁(yè)內(nèi)容里面會(huì)有圖紙預(yù)覽,若沒(méi)有圖紙預(yù)覽就沒(méi)有圖紙。
  • 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
  • 5. 眾賞文庫(kù)僅提供信息存儲(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ì)自己和他人造成任何形式的傷害或損失。

評(píng)論

0/150

提交評(píng)論