計算機課程設(shè)計----實用網(wǎng)絡(luò)考試系統(tǒng)_第1頁
已閱讀1頁,還剩42頁未讀 繼續(xù)免費閱讀

下載本文檔

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

文檔簡介

1、<p><b>  實用網(wǎng)絡(luò)考試系統(tǒng)</b></p><p><b>  題目: </b></p><p><b>  實用網(wǎng)絡(luò)考試系統(tǒng)</b></p><p>  系 別: </p><p>  專 業(yè): </p>&l

2、t;p>  姓 名: </p><p>  學(xué) 號: </p><p>  指導(dǎo)教師: </p><p>  2012年 5月 16 日</p><p><b>  目 錄</b></p><p>  摘 要錯誤!未定義書

3、簽。</p><p>  引 言錯誤!未定義書簽。</p><p>  1系統(tǒng)簡介錯誤!未定義書簽。</p><p>  1.1主要功能錯誤!未定義書簽。</p><p>  1.2開發(fā)工具的選擇錯誤!未定義書簽。</p><p>  2網(wǎng)絡(luò)考試系統(tǒng)功能分析與應(yīng)用程序框架的建立錯誤!未定義書簽。</p

4、><p>  2.1考試系統(tǒng)流程8</p><p>  2.2考試系統(tǒng)模塊的劃分與功能9</p><p>  2.3 創(chuàng)建考試管理系統(tǒng)應(yīng)用程序框架9</p><p>  3考試管理系統(tǒng)概要設(shè)計9</p><p>  3.1 網(wǎng)絡(luò)考試系統(tǒng)應(yīng)用環(huán)境圖10</p><p>  3.2考試管理系統(tǒng)

5、流程10</p><p>  3.3考試管理系統(tǒng)模塊的詳細(xì)劃分11</p><p>  4考試管理系統(tǒng)詳細(xì)設(shè)計14</p><p>  4.1 網(wǎng)絡(luò)通信的實現(xiàn)與設(shè)計14</p><p>  4.2 考試管理機的軟件初步設(shè)計16</p><p>  4.3 考試管理機核心功能的實現(xiàn)與編制16</p>

6、;<p>  4.4 考試管理系統(tǒng)詳細(xì)設(shè)計錯誤!未定義書簽。</p><p>  4.5考試進程管理的設(shè)計錯誤!未定義書簽。</p><p>  5 測試與調(diào)試22</p><p><b>  5.1調(diào)試27</b></p><p><b>  5.2分調(diào)27</b><

7、/p><p><b>  5.3總調(diào)27</b></p><p><b>  6結(jié)束語28</b></p><p><b>  參考文獻29</b></p><p><b>  附 錄31</b></p><p><b&

8、gt;  摘 要</b></p><p>  在網(wǎng)絡(luò)技術(shù)逐漸滲入社會生活各個層面的今天,傳統(tǒng)的考試方式也面臨著變革,而網(wǎng)絡(luò)考試則是一個很重要的方向?;诰W(wǎng)絡(luò)的考試系統(tǒng)是傳統(tǒng)考場的延伸,加上數(shù)據(jù)庫技術(shù)的利用,大大簡化了傳統(tǒng)考試的過程。因此網(wǎng)絡(luò)考試系統(tǒng)是電子化教學(xué)不可缺少的一個重要環(huán)節(jié)。所以現(xiàn)在較好的考試方法為網(wǎng)絡(luò)考試,考生通過姓名、準(zhǔn)考證號碼或口令進行登錄,試卷可以根據(jù)題庫中的內(nèi)容即時生成,可避免考試前

9、的壓題;而且可以采用大量標(biāo)準(zhǔn)化試題,從而使用計算機判卷,大大提高閱卷效率;還可以直接把成績送到數(shù)據(jù)庫中,進行統(tǒng)計、排序等操作。因此,采用網(wǎng)絡(luò)考試方式將是以后考試發(fā)展的趨勢。</p><p>  關(guān)鍵詞:上機考試 考試模塊 閱卷系統(tǒng)</p><p><b>  Abstract</b></p><p>  In network technolog

10、y graduall</p><p>  y infiltrated all levels of social life today, the traditional test method is also faced with changes, and the test network is a very important direction. Web based examination system is

11、an extension of the traditional examination room, coupled with the use of database technology, greatly simplifies the traditional examination process. </p><p>  Therefore the network test system is an indisp

12、ensable electronic teaching is an important link in. So now 's a good way to test the network examination, candidates by name, ticket number and password to log, test questions can be generated in real-time content,

13、can avoid the pressure before the exam questions; and a large number of standardized test can be used, in order to use the computer grading, greatly enhance the efficiency of marking; also can be directly results to the

14、database, statisti</p><p>  Key words: computer examination examination module marking system</p><p><b>  引言</b></p><p>  系統(tǒng)分為三大模塊:考試模塊,系統(tǒng)管理模塊和用戶注冊模塊。其中系統(tǒng)管理模塊是進行題目的添加、存儲

15、和刪除,是系統(tǒng)運行的基礎(chǔ);查詢子模塊實現(xiàn)了對學(xué)生考試信息查詢??荚嚹K是客戶端學(xué)生或教師通過自己的姓名和學(xué)號以及密碼登陸系統(tǒng),進入界面時由系統(tǒng)按照出題教師預(yù)先設(shè)置好的試卷結(jié)構(gòu)從題庫中隨機抽取適合的題目,形成試卷。第三部分是用戶注冊模塊,這一模塊的任務(wù)是完成師生的注冊和刪除。 </p><p><b>  1系統(tǒng)簡介</b></p><p><b>  .1.

16、1主要功能</b></p><p>  .1.1.1本考試系統(tǒng)的主要功能包括以下四大部考生信息和試題的管理和維護,這部分由考生信息和試題的數(shù)據(jù)庫功能模塊完成??蛻魴C考試環(huán)境的提供,這部分由客戶機考試應(yīng)用程序?qū)崿F(xiàn)。</p><p>  .1.1.2服務(wù)器考試過程控制,其中主要包含客戶機遠(yuǎn)程控制、考試機狀態(tài)管 理與設(shè)置、備份機狀態(tài)管理與配置、考試過程監(jiān)督與管理、試卷評閱與

17、成績計算等功能。這部分功能由服務(wù)器考試管理系統(tǒng)完成。</p><p>  .1.1.3考試過程有效信息的備份與恢復(fù),這部分由考試備份系統(tǒng)實現(xiàn)。</p><p>  1.2 開發(fā)工具的選擇</p><p>  Microsoft Visual Basic 6.0是非常流行的基于Basic語言的可視化編程工具,其開發(fā)界面如圖1-1所示。</p><p

18、>  sql="select stuKey from stuPaper where stuID='"&stuExamID&"' and examID="&examID&" order by paperID asc"</p><p>  set rs=conn.execute(sql)</p>

19、;<p>  if not(rs.eof or rs.bof) then stuKey=rs("stuKey")</p><p>  rs.movenext</p><p>  while not(rs.eof or rs.bof)</p><p>  stuKey=stuKey&"|"&rs(&

20、quot;stuKey")</p><p>  rs.movenext</p><p><b>  wend</b></p><p>  sql="update stuScore set stuKey='"&stuKey&"', stuScore="&st

21、uScoreSum&", stuStatus='over' where stuID='"&stuExamID&"' and examID="&examID</p><p>  set rs=conn.execute(sql) if not(rs.eof or rs.bof) then stuKey=rs(&qu

22、ot;stuKey")</p><p>  rs.movenext</p><p>  while not(rs.eof or rs.bof)</p><p>  stuKey=stuKey&"|"&rs("stuKey")</p><p>  rs.movenext</

23、p><p>  圖1.1 Visual Basic集成開發(fā)環(huán)境</p><p>  Microsoft Visual Basic 6.0能夠成為當(dāng)今最流行的軟件開發(fā)工具之一,是</p><p>  與其卓越的性能分不開的,它匯集了微軟(Microsoft)公司的技術(shù)精華,不僅全面使用了面向?qū)ο蟮募夹g(shù),而且在編譯技術(shù)上也作了優(yōu)化。</p><p>

24、  與其他開發(fā)工具相比,Visual Basic 6.0具有明顯的優(yōu)勢:</p><p>  1.1.1.使用Basic語言作為基礎(chǔ),開發(fā)難度低、開發(fā)工作量小。</p><p>  1.1.2.Visual Basic 6.0開發(fā)環(huán)境十分友好,強大的可視化開發(fā)方式能夠幫助用戶</p><p>  輕松地開發(fā)出多種類型的應(yīng)用程序。</p><p&g

25、t;  1.1.3.由于微軟公司在PC操作系統(tǒng)市場上的壟斷地位,使用微軟發(fā)行的編程軟</p><p>  件能夠提供與Windows操作系統(tǒng)的最大兼容性。 </p><p>  2功能分析與應(yīng)用程序框架的建立</p><p>  實行計算機化考試與傳統(tǒng)的考試不同,傳統(tǒng)的考試由于人的參與,靈活性很強,可以根據(jù)現(xiàn)場情況靈活處理應(yīng)急事件:</p><p

26、><b>  2.1考試系統(tǒng)流程</b></p><p>  一個完整的計算機考試,要經(jīng)過注冊考生、考試和取得考試成績單等步驟,</p><p>  具體流程如圖2-1所示:</p><p>  圖2.1考試系統(tǒng)流程</p><p>  考生要使用考試系統(tǒng)進行考試,必須首先進行考生注冊,確認(rèn)身份后考生會獲得一個在整

27、個考試系統(tǒng)中唯一的準(zhǔn)考證號。在規(guī)定的考試日期中,考生在考試系統(tǒng)上作答,系統(tǒng)自動記錄考生的考試時間和答題記錄,出現(xiàn)意外情況不會影響考生的考試。</p><p>  當(dāng)考生完成考試后,系統(tǒng)會自動提交考生的試卷答案并進行評閱,參照題庫中的標(biāo)準(zhǔn)答案為考生評分。最后考試系統(tǒng)能夠提供考試成績單的查詢。</p><p>  .2.2考試系統(tǒng)模塊的劃分與功能</p><p>  通

28、過前面的分析,已經(jīng)了解了使用考試系統(tǒng)完成考試的步驟,接下來則需要對考試系統(tǒng)的模塊進行劃分。</p><p>  考試系統(tǒng)的模塊大體劃分為四個部分:數(shù)據(jù)庫管理系統(tǒng)、考試管理系統(tǒng)、客戶機考試系統(tǒng)和考試備份系統(tǒng)。其中每一部分都細(xì)分為多個模塊,如圖2-2所示:</p><p>  圖2.2模塊的劃分與功能</p><p>  .2.2.1數(shù)據(jù)庫管理系統(tǒng):</p>

29、<p>  數(shù)據(jù)庫管理系統(tǒng)包括了注冊、修改、刪除考生信息功能,相關(guān)考生、考試信息查詢等功能,以及建立和維護考試系統(tǒng)題庫。</p><p>  .2.2.2考試管理系統(tǒng):</p><p>  主要包含客戶機遠(yuǎn)程控制(此功能程序放置于客戶考試機,且隨操作系統(tǒng)啟動時加載,并運行于后臺)、考試機狀態(tài)管理與設(shè)置、備份機狀態(tài)管理與配置、考試過程監(jiān)督與管理、試卷評閱與成績計算等功能。<

30、;/p><p>  .2.2.3客戶機考試系統(tǒng):</p><p>  包括考生考試環(huán)境的提供——答題系統(tǒng)、自動計時、鎖定考試機功能以及考試題庫。</p><p>  .2.2.4客戶機考試系統(tǒng):</p><p>  包括自動按時備份考生試題答案,考試過程中出現(xiàn)意外情況后恢復(fù)有效答題,提交最終試卷答案等功能。</p><p>

31、;  .2.3創(chuàng)建考試管理系統(tǒng)應(yīng)用程序框架</p><p>  首先要創(chuàng)建工程,進入Visual Basic 6.0的集成開發(fā)環(huán)境,在“新建工程”</p><p>  對話框中選擇[標(biāo)準(zhǔn)EXE]選項,單擊確定,就創(chuàng)建了一個新的Visual Basic工程。接下來,要為工程文件命名,在開發(fā)環(huán)境右側(cè)工程管理器窗口中,在工程1選項下的屬性窗口中輸入“考試管理系統(tǒng)”,即完成工程的命名。窗體的命名則

32、在屬性窗口的[名稱]項目中輸入“ExamSeverMain” 。</p><p>  基本的工程建立完成后保存剛剛創(chuàng)建的工程,這樣,考試管理系統(tǒng)的應(yīng)用程序簡單框架就創(chuàng)建完畢。</p><p>  3考試管理系統(tǒng)概要設(shè)計</p><p>  .3 .1網(wǎng)絡(luò)考試系統(tǒng)應(yīng)用環(huán)境圖</p><p>  圖3.1 網(wǎng)絡(luò)考試系統(tǒng)應(yīng)用環(huán)境圖</p>

33、;<p>  在網(wǎng)絡(luò)考試系統(tǒng)中,管理機統(tǒng)一控制管理所有考試機,備份機在管理機配置工作狀態(tài)后獨立自動完成備份工作。因此考試管理機有統(tǒng)管整個考試全局的功能與作用。</p><p>  .3.2考試管理系統(tǒng)流程</p><p>  在以前的內(nèi)容中簡要介紹了整體的網(wǎng)絡(luò)考試系統(tǒng)流程和功能分析,從現(xiàn)在開始將要詳細(xì)介紹作者本人負(fù)責(zé)的考試管理系統(tǒng)。下圖3-2是考試管理系統(tǒng)的整體流程:<

34、/p><p>  圖3.2 考試管理系統(tǒng)流程</p><p>  啟動考試管理系統(tǒng)應(yīng)用程序后有兩種模式可供選擇進入,一種是查詢模式,只可以調(diào)用數(shù)據(jù)庫查詢系統(tǒng),另一種是管理模式,需要正確輸入管理員密碼后進入,管理系統(tǒng)的所有功能都有效。</p><p>  進入管理模式后可以對考試機進行掃描設(shè)置,對備份機進行連接配置。在進行上述兩項設(shè)置之后即可進入考試進程管理。</

35、p><p>  考試結(jié)束后對考生試卷進行評分,然后輸出成績單。</p><p>  .3.3考試管理系統(tǒng)模塊的詳細(xì)劃分</p><p>  服務(wù)器考試管理系統(tǒng)按照功能的分類劃分為遠(yuǎn)程控制、考試機狀態(tài)管理與設(shè)置、備份機狀態(tài)管理與配置、考試過程監(jiān)督與管理、試卷評閱與成績計算五大部分。然而,管理機要控制整個考試過程,這需要在設(shè)計前分析和考慮好將遇到的情況和相應(yīng)的功能,因此有必

36、要對之前的基礎(chǔ)上逐步細(xì)化考試管理系統(tǒng)模塊。如下圖3-3所示:</p><p>  圖3.3 考試管理系統(tǒng)模塊圖</p><p>  .3.3.1考試機狀態(tài)管理</p><p>  先進行網(wǎng)絡(luò)掃描,得到考試機的網(wǎng)絡(luò)狀況,看是否連接正常,然后可以選擇添加經(jīng)過掃描的考試機,添加的網(wǎng)絡(luò)狀態(tài)正常連接的考試機將作為有效的考試機用于考生考試。</p><p&

37、gt;  .3.3.2備份機狀態(tài)管理</p><p>  首先將管理機與備份機建立連接,然后管理機可以自動對備份機進行配置,讓其工作在穩(wěn)定、高效的狀態(tài)下。</p><p>  .3.3.3考試進程管理</p><p>  這部分功能主要是控制和監(jiān)督考試的,先遠(yuǎn)程控制考試機啟動考試程序,然后從數(shù)據(jù)庫導(dǎo)入考生信息用于考生登錄考試,設(shè)置考試時間后清理考場(即使考試機處于初

38、始狀態(tài)),抽取試題后即可考試計時考試,到時間后鎖定考試機,</p><p>  從備份機收取考生最終提交的試卷答案,所有考試結(jié)束后,可以遠(yuǎn)控關(guān)閉考試機考試程序。</p><p>  .3.3.4成績計算和統(tǒng)計</p><p>  考試結(jié)束后管理機通過收取的考生試卷答案按照題庫中標(biāo)準(zhǔn)答案進行計算機閱卷評分,然后將每個考生的成績輸入到每個人的考生注冊的信息表中的成績字段

39、中以供查詢。</p><p>  .3.3.5遠(yuǎn)程控制</p><p>  這一部分功能的實現(xiàn)是通過將一個用于接收來自管理機命令的遠(yuǎn)控客戶端程序放置于考試機,只要使這個程序隨操作系統(tǒng)啟動時加載到后臺運行即可響應(yīng)管理機的各種指令。</p><p>  4考試管理系統(tǒng)詳細(xì)設(shè)計</p><p>  在確立了考試管理系統(tǒng)的總體結(jié)構(gòu),并考慮出了該系統(tǒng)中

40、各個組成模塊間的聯(lián)系。接下來的工作,就是要在上述結(jié)果的基礎(chǔ)上,考慮“怎樣實現(xiàn)”這個軟件系統(tǒng)</p><p>  .4 網(wǎng)絡(luò)通信的實現(xiàn)與設(shè)計</p><p>  .4.1 網(wǎng)絡(luò)協(xié)議基礎(chǔ)</p><p>  .TCP/IP參考模型</p><p>  TCP/IP是協(xié)議的集合,其名稱代表它的兩個基本協(xié)議,TCP(Transmission Cont

41、rol Protocol,傳輸控制協(xié)議)和IP(Internet Protocol,互聯(lián)網(wǎng)協(xié)議)。雖然從名稱上來說只有兩個協(xié)議,其實TCP/IP是一個由4層協(xié)議系統(tǒng),由以下4層組成: 應(yīng)用層、傳輸層、網(wǎng)絡(luò)層、鏈路層。</p><p>  互聯(lián)網(wǎng)上的每一個接口必須有唯一的Internet地址也就是IP地址。一個IP地址通常由4個用點隔開的8個二進制位的數(shù)字(從0到255)組成的。</p><p&

42、gt;  在TCP/IP連接過程中,都是通過采用16位端口號來識別的。因為IP地址只是標(biāo)志了一臺機器在網(wǎng)絡(luò)中的位置。而IP端口是對應(yīng)了一個主機上運行的應(yīng)用程序。</p><p>  TCP和UDP協(xié)議使用的較為廣泛,而TCP和UDP都是基于IP協(xié)議的。</p><p><b>  .TCP協(xié)議</b></p><p>  TCP協(xié)議是支持面向連

43、接的可靠的數(shù)據(jù)傳輸,提供體積可變的滑動窗口機制,支持端到端的流量控制。TCP數(shù)據(jù)包格式如圖4-1所示。</p><p>  圖4.1 TCP報頭</p><p>  其中,序列號字段是指該報頭段在發(fā)送方字節(jié)流中的位置確認(rèn)序號是指接收方希望接收的下一個報文段序號,窗口字段是指接收緩沖區(qū)的大小,碼元比特字段是一個6位的標(biāo)志字段,緊急指針字段是用來處理帶外數(shù)據(jù)(DOOB)而設(shè)的;最大段長度用來選

44、擇適當(dāng)?shù)腗SS,目的是與MTU相符合,如果取值過小會導(dǎo)致帶寬利用率太低,而如果取值過大又會造成IP數(shù)據(jù)包分段,若分段丟失導(dǎo)致重發(fā)整個報文,這樣會浪費網(wǎng)絡(luò)資源。最佳長度是使攜帶了長度S的TCP報文段的IP數(shù)據(jù)包在從源至目的地的路徑上不被分段。</p><p>  .4.1.1UDP協(xié)議</p><p>  UDP協(xié)議是面向操作的,未提供提交和復(fù)制保護,是不可靠的傳輸協(xié)議。UDP數(shù)據(jù)包格式如圖

45、4.2所示。</p><p>  圖4.2 UDP數(shù)據(jù)包格式</p><p>  偽首部是為了計算檢驗而設(shè)置的;偽首部包含IP首部一些字段,其目的是讓UDP兩次檢查數(shù)據(jù)是否已經(jīng)正確到達目的地。使用UDP協(xié)議時,“協(xié)議”字為17。源端口是可選的,不用時時置0。報文長度是包括頭部和數(shù)據(jù)區(qū)的總長度,最小8個字節(jié)。校驗和是以16位為單位,各位求補(首位為符號位)將和相加,之后再求補。</p

46、><p>  因為UDP協(xié)議是無差錯控制的,所以發(fā)送過程與IP協(xié)議類似,就是先IP分組,然后再用ARP協(xié)議來解析物理地址,然后發(fā)送。</p><p>  .4.2網(wǎng)絡(luò)協(xié)議的選擇</p><p>  由于考慮到備份機在整個考試系統(tǒng)中的重要性,以及管理機與備份機間網(wǎng)絡(luò)傳輸?shù)目煽啃砸筝^高,且備份機數(shù)量只是一臺,所以選擇了應(yīng)用能夠提供可靠數(shù)據(jù)傳送的TCP協(xié)議來完成管理機與備份

47、機間的數(shù)據(jù)通信。</p><p>  然而考慮到考試客戶機的數(shù)量很多,網(wǎng)絡(luò)間數(shù)據(jù)傳送量相對較少,且UDP協(xié)議相對于TCP協(xié)議有很大的速度優(yōu)勢,所以選擇了UDP協(xié)議來完成管理機與考試機間的數(shù)據(jù)通信。</p><p>  .4.3網(wǎng)絡(luò)與通信控件</p><p>  在Visual Basic中,進行網(wǎng)絡(luò)通信開發(fā)是非常方便的。Visual Basic提供了豐富的控件。目前

48、絕大部分的應(yīng)用層程序都是利用Socket來進行開發(fā)。在Windows操作系統(tǒng)中,又稱為Winsock開發(fā)。對于眾多的基層網(wǎng)絡(luò)協(xié)議,Winsock是訪問它們的首選接口。</p><p>  4.3.1Winsock規(guī)范</p><p>  Windows Sockets規(guī)范以U.C.Berkeley大學(xué)BSD UNIX中流行的Socket接口為范例定義了一套Microsoft Windows

49、下網(wǎng)絡(luò)編程接口。它不僅包含了人們所熟悉的Berkeley Socket風(fēng)格的庫函數(shù);也包含了一組針對Windows的擴展庫函數(shù),以使程序員能充分地利用Windows消息驅(qū)動機制進行編程。 Windows Sockets規(guī)范定義了應(yīng)用程序開發(fā)者能夠使用,并且網(wǎng)絡(luò)軟件供應(yīng)商能夠?qū)崿F(xiàn)的一套庫函數(shù)調(diào)用和相關(guān)語義。</p><p>  4.3.2Winsock控件</p><p>  Winsock

50、控件對用戶來說是不可見的,它提供了訪問TCP和UDP網(wǎng)絡(luò)服務(wù)的方便途徑。Microsoft Access、VisualBasic、VisualC++或VisualFoxPro的開發(fā)人員都可使用它。為編寫客戶或服務(wù)器應(yīng)用程序,不必了解TCP的細(xì)節(jié)或調(diào)用低級的WinsockAPI。通過設(shè)置控件的屬性并調(diào)用其方法就可輕易地連接到一臺遠(yuǎn)程計算機上去,并且還可雙向交換數(shù)據(jù)。</p><p>  利用VB開發(fā)網(wǎng)絡(luò)應(yīng)用程序,更

51、多的是利用Winsock控件來實現(xiàn),而很少使用WinsockAPI。直接使用Winsock控件的效率比直接使用API容易,同時效率也高很多。</p><p>  下圖4-3是應(yīng)用程序與Winsock控件的關(guān)系。</p><p>  圖4.3 應(yīng)用程序與Winsock控件的關(guān)系</p><p>  應(yīng)用程序調(diào)用Windows Sockets的API實現(xiàn)相互之間的通信

52、。Windows Sockets又利用下層的網(wǎng)絡(luò)通信協(xié)議功能和操作系統(tǒng)調(diào)用實現(xiàn)實際的通信工作。每一個正在被使用的套接字都有它的類型和與其相關(guān)的進程。套接字存在于通</p><p><b>  信域中。</b></p><p>  建立Winsock規(guī)范的主要目的是提供一個與協(xié)議無關(guān)的傳送接口。利用Winsock對象來實現(xiàn)各種應(yīng)用程序的開發(fā),并不需要知道數(shù)據(jù)在網(wǎng)絡(luò)中是如

53、何傳輸?shù)摹?lt;/p><p>  4.3.3 Winsock控件的使用</p><p>  利用Winsock控件可以與遠(yuǎn)程計算機建立連接,并通過用戶數(shù)據(jù)文報協(xié)議(UDP)或者傳輸控制協(xié)議(TCP)進行數(shù)據(jù)交換。這兩種協(xié)議都可以用來創(chuàng)建客戶與服務(wù)器應(yīng)用程序。與Timer控件類似,Winsock控件在運行時是不可見的。</p><p>  在使用Winsock控件時,首

54、先需要考慮使用什么協(xié)議。可以使用的協(xié)議包括TCP和UDP。兩種協(xié)議之間的重要區(qū)別在于它們的連接狀態(tài)</p><p>  Winsock控件的屬性、方法以及事件請參看附錄內(nèi)容。</p><p> ?、?通信中自定義的數(shù)據(jù)流幀格式規(guī)程說明</p><p>  在管理機和備份機以及考試機之間的通信是通過判斷傳輸過來的自定義字符串來轉(zhuǎn)到相應(yīng)子程序中的。本網(wǎng)絡(luò)考試系統(tǒng)中統(tǒng)一規(guī)

55、定數(shù)據(jù)流的幀格式如圖4-4所示。</p><p>  圖4.4 自定義數(shù)據(jù)流幀格式</p><p>  幀頭:以“@S”2個字節(jié)的符號表示數(shù)據(jù)幀的開始。</p><p>  LEN長度:用于標(biāo)記該次傳送的數(shù)據(jù)幀長,占3個字節(jié)。</p><p>  源和目的:標(biāo)記發(fā)送端和接收端的機器號,可以通過查詢事先配置好的數(shù)組</p><

56、;p>  查找到對應(yīng)發(fā)送端和接收端的IP地址,各占2個字節(jié)。</p><p>  控制位:占6個字節(jié),其中裝有約定好的具有特殊意義的控制字符,為6個</p><p>  大寫英文字母。根據(jù)規(guī)定好的方式來檢出數(shù)據(jù)區(qū)的數(shù)據(jù)信息格式,得</p><p>  到有用的信息數(shù)據(jù)或執(zhí)行命令位中的語句(或得到響應(yīng)位)。</p><p> ?、?命令/

57、響應(yīng)位:1) 命令位也同樣是6個字節(jié),規(guī)定為6個大寫英文字母,具</p><p>  有事先約定好的功能命令。</p><p>  2)當(dāng)使用UDP協(xié)議傳輸時,每次收到數(shù)據(jù)時都要返回一個帶有</p><p>  響應(yīng)位的響應(yīng)幀,表示接收成功。</p><p>  ⑦ 數(shù)據(jù)區(qū):它是不定長的,但按照控制位的不同有不同預(yù)先約定好的格式以便</

58、p><p><b>  于檢出有用信息。</b></p><p>  ⑧ CRC循環(huán)校驗:對傳輸?shù)臄?shù)據(jù)進行差錯校驗。</p><p>  以上對于網(wǎng)絡(luò)協(xié)議的選擇、開發(fā)工具中的網(wǎng)絡(luò)通信控件的選擇以及網(wǎng)絡(luò)通信中數(shù)據(jù)流幀格式的規(guī)定都已經(jīng)完成,由此網(wǎng)絡(luò)通信的實現(xiàn)和簡單的設(shè)計就已經(jīng)初步完成。</p><p>  4.4考試管理機的軟件

59、初步設(shè)計</p><p>  在事先建立應(yīng)用程序框架的新工程ExamSeverMain中添加一個模塊,在其中聲明一些全局變量、程序運行中常需要調(diào)用的函數(shù)和經(jīng)常使用到的常量。</p><p>  在網(wǎng)絡(luò)考試系統(tǒng)中,管理機經(jīng)常要控制和掃描考試客戶機,為了便于管理和掃描考試機處于的狀態(tài),在模塊中聲明了一個變量數(shù)組,用于存儲考試機的相關(guān)信息和狀態(tài),如下所示:</p><p>

60、;  Public ExamClient(1 To 40, 1 To 10) As String</p><p>  上面的代碼是在模塊中聲明的一個二維數(shù)組,表示了1到40號機器的10組相關(guān)信息和狀態(tài),詳細(xì)說明如下:</p><p>  ExamClient(i, 1)配置的考試機IP地址</p><p>  ExamClient(i, 2)設(shè)定考試機網(wǎng)絡(luò)狀態(tài)——0

61、:未響應(yīng);1:連接正常;2:未知</p><p>  ExamClient(i, 3)設(shè)定考試機初始選定狀態(tài)——0:未選定;1:預(yù)選;2:選定</p><p>  ExamClient(i, 4)設(shè)定考試機初始有效狀態(tài)——0:無效;1:有效;2:正在使用</p><p>  ExamClient(i, 5)設(shè)定考試機當(dāng)前狀態(tài)——0:未知;1:考試系統(tǒng)未啟動;2:考試

62、系統(tǒng)已啟動;3:顯示準(zhǔn)考證查詢界面;4:正在考試答題;5:考生已經(jīng)提交試卷;6:考試系統(tǒng)已關(guān)閉</p><p>  ExamClient(i, 6)存放隨機生成的試題題號</p><p>  其中i表示機器號,7到10的信息狀態(tài)暫時未應(yīng)用,用于以后的擴展。</p><p>  程序執(zhí)行的一開始要對這個考試機信息狀態(tài)的數(shù)組進行初始化,因此在模塊</p>

63、<p>  中聲明了一個初始化的函數(shù),在程序加載時調(diào)用即可,詳細(xì)的函數(shù)編制如下:</p><p>  Public Function ClientManagerStatuSet()</p><p>  Dim i As Integer</p><p>  For i = 1 To 40</p><p>  ExamClient(i,

64、 2) = "2" '設(shè)定考試機初始網(wǎng)絡(luò)狀態(tài)為“未知</p><p>  ExamClient(i, 3) = "0" '設(shè)定考試機初始選定狀態(tài)為“未選定” </p><p>  ExamClient(i, 4) = "0" '設(shè)定考試機初始有效狀態(tài)為“無效” </p>

65、<p>  ExamClient(i, 5) = "0" '設(shè)定考試機當(dāng)前狀態(tài)為“未知”</p><p>  ExamClient(i, 6) = "" '設(shè)定考試機當(dāng)前存放的試題號為空</p><p><b>  Next i</b></p><p>  E

66、nd Function</p><p>  在考試過程中管理機與考試機、備份機之間需要進行網(wǎng)絡(luò)通信,這就需要事先統(tǒng)一規(guī)定一下所要使用的端口號,在模塊中聲明了這些常量之后,在整個程序中隨時都可以調(diào)用,十分方便。下面的代碼就是一部分常量的聲明:</p><p>  Public Const ClientPort As Long = 3500</p><p>  Publ

67、ic Const SeverPort As Long = 9700</p><p>  Public Const BackupPort As Long = 8500</p><p>  4.4.1考試管理機核心功能的實現(xiàn)與編制</p><p>  在對軟件的初步設(shè)計以及用戶操作界面的設(shè)計制作之后,就應(yīng)該考慮設(shè)計實現(xiàn)考試管理的主要功能了。</p><

68、;p><b>  .1網(wǎng)絡(luò)掃描的設(shè)計</b></p><p>  網(wǎng)絡(luò)掃描的主要設(shè)計思想是利用UDP協(xié)議向考試機發(fā)送事先規(guī)定的探測幀,如果考試機中后臺加載的遠(yuǎn)控程序接收到之后則會返回一個響應(yīng)幀,管理機收到響應(yīng)幀則表示掃描的該網(wǎng)絡(luò)連接正常,即該考試機連接正??捎?;如果管理機在一定時間內(nèi)未收到響應(yīng)幀,則會延時重發(fā)探測幀,并監(jiān)測響應(yīng)幀的返回,若重發(fā)次數(shù)達到最大預(yù)設(shè)值,則表明掃描的該網(wǎng)絡(luò)未響應(yīng)

69、,即該考試機無法通信使用。</p><p>  具體實現(xiàn)的設(shè)計方法如下:</p><p>  在掃描前要先設(shè)置需要掃描的機器號范圍最小機器號topnum和最大機器號botmnum,用時鐘控件來控制掃描延時,設(shè)置重新掃描的最大次數(shù)flagtime1 = 3,在程序加載時設(shè)置掃描標(biāo)志為flag1 = 0,如果收到響應(yīng)幀則將其置1,表示連接正常,如果一定時間內(nèi)仍然為0,則需要重發(fā)探測幀。部分代碼

70、如下:</p><p>  Private Sub SckCliManager_DataArrival(ByVal bytesTotal As Long)</p><p>  Dim mydata As String</p><p>  Dim itmx As ListItem</p><p>  SckCliManager.GetData

71、mydata '接收到數(shù)據(jù)流</p><p>  If Left$(mydata, 2) = "@S" Then '對數(shù)據(jù)流進行檢測</p><p>  pclocal = Mid$(mydata, 8, 2)</p><p>  pcremote = Mid$(mydata, 6, 2)&l

72、t;/p><p>  controldata = Mid$(mydata, 10, 6)</p><p>  orderdata = Mid$(mydata, 16, 6)</p><p>  usedata = Mid$(mydata, 22, 1)</p><p><b>  End If</b></p>

73、<p>  If controldata = "NETSHW" Then</p><p>  If orderdata = "ASKASK" Then '檢測到響應(yīng)幀</p><p>  flag1 = 1 '標(biāo)志位置1</p><p

74、>  ExamClient(pccount - 1, 2) = "1"</p><p>  If usedata = "1" Then ExamClient(pccount - 1, 5) = "1"</p><p>  If usedata = "2" Then ExamClient(pccount -

75、 1, 5) = "2"</p><p><b>  End If</b></p><p><b>  End If</b></p><p><b>  End Sub</b></p><p>  Private Sub Timer1_Timer()<

76、/p><p>  Select Case flag1 '查看檢測標(biāo)志位</p><p>  Case 0 '0表示需要重發(fā),重發(fā)的記數(shù)減1</p><p>  pccount = pccount - 1</p><p>  flagtime1

77、= flagtime1 - 1</p><p><b>  Case 1</b></p><p><b>  flag1 = 0</b></p><p>  flagtime1 = netflagtimes</p><p>  End Select</p><p>  If

78、pccount > botmnum Then '若當(dāng)前掃描的機器號大于了最大掃描機器</p><p><b>  號則退出掃描過程</b></p><p>  Timer1.Enabled = False</p><p>  LabStatu.Caption = ""</p><p>

79、;  MsgBox "掃描完畢!"</p><p>  CmdStartScan.Enabled = True</p><p>  CmdScanAll.Enabled = True</p><p>  CmdPauseScan.Enabled = False</p><p>  CmdStopScan.Enabled =

80、 False</p><p><b>  Exit Sub</b></p><p><b>  End If</b></p><p>  LabStatu.Caption = "正在掃描" & LTrim$(Str$(pccount)) & "號機: " &

81、 ExamClient(pccount, 1) & ":3500 請稍等......"</p><p>  If flagtime1 > 0 Then '若重發(fā)次數(shù)小于3次則掃描該考試機</p><p>  SckCliManager.RemoteHost = ExamClient(pccount, 1)</p>&l

82、t;p>  Dim fadata As String '發(fā)送探測幀</p><p>  Dim pcnum As String</p><p>  pcnum = Str$(pccount)</p><p>  If pccount < 10 Then</p><p>  fadata =

83、 "@S000300" & LTrim$(pcnum) & "NETSHWGETINF"</p><p><b>  Else</b></p><p>  fadata = "@S00030" & LTrim$(pcnum) & "NETSHWGETINF"

84、</p><p><b>  End If</b></p><p>  SckCliManager.SendData fadata</p><p><b>  Else:</b></p><p><b>  flag1 = 1</b></p><p> 

85、 ExamClient(pccount, 2) = "0" '掃描次數(shù)大于3,該考試機未響應(yīng)</p><p><b>  End If</b></p><p>  pccount = pccount + 1</p><p>  scannum = pccount</p><p>  If

86、scanflag = 1 Then</p><p>  Timer1.Enabled = False</p><p><b>  End If</b></p><p><b>  End Sub</b></p><p>  掃描后的考試機陳列在列表之中,添加、刪除考試機的設(shè)計思路為:檢測列表中被選擇

87、的項目行,并將這些行加入到新的列表中或從中刪除。下面給出添加的設(shè)計代碼:</p><p>  Private Sub CmdAddClient_Click()</p><p>  Dim n As Integer</p><p>  For n = 0 To (List1.ListCount - 1) '設(shè)置循環(huán)檢測被選行</p>

88、<p>  If List1.Selected(n) = True Then</p><p>  If ExamClient(n + 1, 3) = 0 Then</p><p>  If ExamClient(n + 1, 2) <> 2 Then</p><p>  LabStatu.Caption = ""</

89、p><p>  List2.AddItem List1.List(n) '被選中的行添加到新的列表中</p><p>  ExamClient(n + 1, 3) = 1</p><p>  Else: LabStatu.Caption = "注意:未經(jīng)掃描的考試機禁止添加!"</p><p><b&g

90、t;  End If</b></p><p>  Else: LabStatu.Caption = "注意:已經(jīng)添加的考試機禁止重復(fù)添加!"</p><p><b>  End If</b></p><p><b>  End If</b></p><p><b

91、>  Next</b></p><p>  CmdDelClient.Enabled = True</p><p>  CmdClearClient.Enabled = True</p><p><b>  End Sub</b></p><p>  在掃描設(shè)置考試機后,連接備份機,對其進行配置,使其工

92、作在穩(wěn)定高效的工作狀態(tài)下。主要是將考試機的當(dāng)前狀態(tài)傳輸配置給備份機,備份機則對正在進行考試的考試機進行備份。當(dāng)管理機與備份機之間建立連接后,則將連接標(biāo)志位置1,計時器開始工作,每隔20秒就將當(dāng)前考試機的狀態(tài)傳輸配置給備份機一次。具體實現(xiàn)方法請參看下面的代碼:</p><p>  Private Sub Timer1_Timer()</p><p>  Dim i As Integer<

93、;/p><p>  Dim setinfo As String</p><p>  Dim datasend As String</p><p>  timecount = timecount + 1 '計數(shù)加1</p><p>  If timecount > 20 Then '20秒到后進行配置

94、</p><p>  If flag1 = 1 Then</p><p>  For i = 1 To 40</p><p>  setinfo = setinfo & ExamClient(i, 5) '收集考試機的狀態(tài)</p><p><b>  Next i</b></p>&l

95、t;p>  datasend = "@S0000530BACKUPSETCLI" & setinfo</p><p>  SckBackManager.SendData datasend '發(fā)送配置信息</p><p>  timecount = 0 '計時器清0<

96、/p><p><b>  End If</b></p><p><b>  End Sub</b></p><p>  .4.5考試進程管理的設(shè)計</p><p>  4.5.1 在考試進程管理中大多數(shù)功能主要由遠(yuǎn)程控制來完成,例如啟動考試應(yīng)用程序、關(guān)閉考試程序、鎖定考試機等等,都是通過網(wǎng)絡(luò)發(fā)出一個命令

97、幀,考試機客戶端檢測出指令后執(zhí)行該功能,下面舉出啟動考試應(yīng)用程序的設(shè)計示例,其他的都是與其極為相似,在這里不再贅述。</p><p>  Private Sub CmdLoadClient_Click()</p><p>  sckBOnet.SendData "@S0001630NETSHWEXMRUN" '發(fā)送命令幀</p><

98、p>  Timer1.Enabled = True</p><p>  Label2.Caption = "考試程序啟動完畢"</p><p><b>  End Sub</b></p><p>  當(dāng)考試客戶機接收檢測到此命令就會利用Shell函數(shù)啟動考試程序。</p><p>  4.5.2

99、因為管理機與考試客戶機之間應(yīng)用UDP協(xié)議來通信,因此考試進程中要不斷的掃描網(wǎng)絡(luò)來查看網(wǎng)絡(luò)連接是否保持正常,這一部分的實現(xiàn)與網(wǎng)絡(luò)掃描的原理相同,只不過這里只自動按時掃描已被選擇用作考試的客戶機,當(dāng)發(fā)現(xiàn)出現(xiàn)網(wǎng)絡(luò)不響應(yīng)的機器時立即發(fā)出警告信息。</p><p>  4.5.3考試倒計時的設(shè)計實現(xiàn)</p><p>  首先創(chuàng)建一個Timer控件,將其時間間隔設(shè)為1000毫秒,然后將由用戶設(shè)置的考試

100、時間換算成秒,將這個總時間作為倒數(shù)的總時間,每經(jīng)過一秒鐘將其進行一次減一操作,并將剩余時間顯示出來供管理員查看。當(dāng)減到0時則倒數(shù)完畢,即考試時間到時,應(yīng)結(jié)束考試。以下為部分代碼:</p><p>  Private Sub TimerLeft_Timer()</p><p>  intremainder = intremainder – 1 '總時間的秒數(shù)減一</p

101、><p>  inthour = intremainder \ 3600 '將剩余時間換算成00:00:00形式</p><p>  intminute = intremainder \ 60 Mod 60</p><p>  intsecond = intremainder Mod 60</p><p>  If Len(LTr

102、im$(Str$(intminute))) = 1 Then '顯示剩余時間</p><p>  If Len(LTrim$(Str$(intsecond))) = 1 Then</p><p>  Label1 = "0" & inthour & " : " & "0" &

103、; intminute & " : " & "0" & intsecond</p><p><b>  Else</b></p><p>  Label1 = "0" & inthour & " : " & "0" &am

104、p; intminute & " : " & intsecond</p><p><b>  End If</b></p><p><b>  Else</b></p><p>  If Len(LTrim$(Str$(intsecond))) = 1 Then</p>&

105、lt;p><b>  End If</b></p><p><b>  End If</b></p><p>  If intremainder = 0 Then</p><p>  TimerLeft.Enabled = False</p><p>  SckExamManager.Send

106、Data "@S0000030NETSHWEXMLCK" '發(fā)送鎖定考試機的指令</p><p>  Label2.Caption = "已經(jīng)鎖定考試機"</p><p><b>  End If</b></p><p><b>  End Sub</b></p&g

107、t;<p>  4.5.4抽取試題的實現(xiàn)</p><p>  抽取試題主要是按照題庫中試題編號的范圍隨機生成,同一套試題中不允許有重復(fù)的試題,共生成40套試卷(因為考場最多只有40臺機器可用),抽取后的試卷題號存儲到ExamClient(i, 6)中,當(dāng)相應(yīng)的考試機有考生登錄考試時,在考生正確登錄后,將考試試卷題號存放到考生的信息數(shù)據(jù)庫表的字段中去。</p><p>  4.

108、5.5考場的清理</p><p>  考場清理是由管理機發(fā)出一個命令幀使考試機的考試程序恢復(fù)到起始狀</p><p>  等待考生登錄。同時管理機將ExamClient(1 To 40, 1 To 10)考試機相關(guān)信息和狀態(tài)初始化,請查看4.2節(jié)的相關(guān)說明。</p><p>  . 5測試與調(diào)試</p><p><b

109、>  5.1 調(diào)試</b></p><p>  系統(tǒng)調(diào)試的目的是發(fā)現(xiàn)程序和系統(tǒng)中的錯誤并及時予以糾正。在一個系統(tǒng)中調(diào)試應(yīng)該包括程序調(diào)試、功能調(diào)試(分調(diào))、總調(diào),在庫存管理系統(tǒng)中用的調(diào)試方法也包括這些:</p><p><b>  5.1.1程序調(diào)試</b></p><p>  包括語法調(diào)試和邏輯檢查,測試數(shù)據(jù)除采用正常數(shù)據(jù)外,

110、還應(yīng)用一些異常資料,用來考驗程序的正確性。</p><p>  ① 用正常資料調(diào)試。</p><p>  ② 用異常資料調(diào)試。</p><p>  ③ 用錯誤資料調(diào)試。</p><p><b>  .5.2分調(diào)</b></p><p>  即將一個功能內(nèi)所有程序按次序串聯(lián)起來調(diào)試。 </p&

111、gt;<p><b>  .5.3總調(diào)</b></p><p>  將主控制調(diào)度程序和功能模塊聯(lián)結(jié)起來調(diào)試。</p><p><b>  .5.4測試</b></p><p>  測試是系統(tǒng)開發(fā)周期中一個十分重要的階段,其重要性體現(xiàn)在它是保證系統(tǒng)質(zhì)量與可靠性的最后關(guān)口,是對整個系統(tǒng)開發(fā)過程的最終審查,如果錯誤

112、不能在測試階段被發(fā)現(xiàn)并糾正,就會造成不堪設(shè)想的后果。在上機考試系統(tǒng)中測試的對象不僅僅是源程序,而是整個軟件。系統(tǒng)測試是以找錯誤為目的,不是要證明程序無錯,而是要精心選取那些易于發(fā)生錯誤的測試數(shù)據(jù),以十分挑剔的態(tài)度,證明程序有錯。</p><p>  在上機考試系統(tǒng)中,所用到的測試方法有人工測試和機器測試。在人工測試中用的是個人復(fù)查,即當(dāng)源程序編完以后,由自己進行檢查,但這種測試方法存在不足之處:由于心理上對自己程

113、序的偏愛,因此有些習(xí)慣性的錯誤不易發(fā)現(xiàn),如果對功能理解有誤,自己也不易糾正,所以在個人復(fù)查的基礎(chǔ)上又用了機器測試中的白盒測試和黑盒測試。</p><p>  5.4.1白盒測試:也稱結(jié)構(gòu)測試,將軟件看作一個透明的白盒子,按照程序的內(nèi)部結(jié)構(gòu)和處理邏輯來選定測試用例,對軟件的邏輯路徑及過程進行測試,檢查它與設(shè)計是否符。在進行白盒測試時,開發(fā)者對其軟件進行測試,在完全了解系統(tǒng)功能、內(nèi)部結(jié)構(gòu)的前提下對系統(tǒng)進行測試,看實現(xiàn)

114、的功能與想要實現(xiàn)的設(shè)計有什么沖突不符,并及時改正。</p><p>  5.4.2黑盒測試:也稱功能測試,將軟件看作黑盒子,在完全不考慮程序的內(nèi)部結(jié)構(gòu)和特性的情況下,測試軟件的外部特性,根據(jù)軟件的需求規(guī)格說明書設(shè)計測試用例,從程序的輸入和輸出特性上測試是否滿足設(shè)定的功能。在進行黑盒測試時,開發(fā)者以使用者的身份對其軟件進行測試,多次輸入符合條件的數(shù)據(jù),看結(jié)果是否與預(yù)期相符,如果相符則說明程序?qū)斎氲臈l件反映正確,如

115、果不符則說明程序有錯,所以這種黑盒測試只能證明程序有錯而不能證明程序無錯。</p><p>  典型的面向?qū)ο蟪绦蚓哂欣^承、封裝和多態(tài)的新特性,這使得傳統(tǒng)的測試策略必須有所改變。封裝是對數(shù)據(jù)的隱藏,外界只能通過被提供的操作來訪問或修改數(shù)據(jù),這樣降低了數(shù)據(jù)被任意修改和讀寫的可能性,降低了傳統(tǒng)程序中對數(shù)據(jù)非法操作的測試。繼承是面向以對程序的重要特點,繼承使得代碼的重用率提高,同時也使錯誤傳播的概率提高。多態(tài)性使得面向

116、對象程序?qū)ν獬尸F(xiàn)出強大的處理能力。但同時去使得程序內(nèi)“同一”函數(shù)的行為復(fù)雜化,測試時不得不考慮不同類型具體執(zhí)行的代碼和產(chǎn)生 的行為。</p><p>  5.4.3功能測試:測試是否滿足開發(fā)要求,是否能夠提供設(shè)計所描述的功能,是否用戶的需求都得到滿足。功能測試是系統(tǒng)測試最常用和必須的測試,通常還會以正式的軟件說明書為測試標(biāo)準(zhǔn)。</p><p>  5.4.4強度測試及性能測試:測試系統(tǒng)的能

117、力最高實際限度,即軟件在一些超負(fù)荷的情況,功能實現(xiàn)情況,如要求軟件某一行為的大量重復(fù)、輸入大量的數(shù)據(jù)、對數(shù)據(jù)庫大量復(fù)雜性的查詢等。測試軟件的運行性能。這種測試常常與強度測試結(jié)合進行,需要事先對被測試軟件提出性能指標(biāo),如傳輸連接的最長時限、傳輸?shù)腻e誤率、計算的精度 、記錄的精度、響應(yīng)的時限和恢復(fù)時限等</p><p><b>  6結(jié)束語</b></p><p>  經(jīng)

118、過對考試管理系統(tǒng)的開發(fā),我掌握了Visual Basic 6.0的基本編程原理和使用方法,熟悉了網(wǎng)絡(luò)編程的思想,對軟件工程理論在軟件實際開發(fā)過程中的作用有了更深的了解,對C/S體系結(jié)構(gòu)有了進一步的了解。在本系統(tǒng)的開發(fā)過程中,某些功能還存在一些不足,同時由于時間原因某些功能還未實現(xiàn)。在我完成這篇畢業(yè)論文期間,得到了許多老師的熱情幫助和悉心指導(dǎo),從他們身上,我不僅僅學(xué)到了VB編程的理論知識,更重要的是學(xué)到了嚴(yán)謹(jǐn)治學(xué)的態(tài)度和忘我的工作精神,還

119、有如何做人,如何處世,這些將令我受益終生。</p><p>  我衷心的感謝關(guān)心和指導(dǎo)我的xx老師,感謝他對我的教育、指導(dǎo);同時也衷心的感謝xx老師,感謝他給我的指導(dǎo)和幫助;還要感謝與我共同完成此次網(wǎng)絡(luò)考試系統(tǒng)開發(fā)的其他同學(xué)的協(xié)助。</p><p><b>  參考文獻</b></p><p>  [1]周國民、李國軍主編.Visual Bas

120、ic+Access數(shù)據(jù)庫應(yīng)用系統(tǒng)開發(fā)與實例[M]. 北京:人民郵電出版社,2009,9,55-70</p><p>  [2]黃明、梁旭主編.Visual Basic 6.0信息系統(tǒng)設(shè)計與開發(fā)實例[M]. 北京:機械工業(yè)出版社,2008,6,20-33</p><p>  [3]陳明主編.Visual Basic程序設(shè)計[M].北京:中央廣播電視大學(xué)出版社,2001.8,69-87<

溫馨提示

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

評論

0/150

提交評論