畢業(yè)論文--計(jì)算機(jī)等級(jí)考試系統(tǒng)的設(shè)計(jì)和實(shí)現(xiàn)_第1頁(yè)
已閱讀1頁(yè),還剩40頁(yè)未讀, 繼續(xù)免費(fèi)閱讀

下載本文檔

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

文檔簡(jiǎn)介

1、<p><b>  學(xué)士學(xué)位論文 </b></p><p>  計(jì)算機(jī)等級(jí)考試系統(tǒng)的設(shè)計(jì)和實(shí)現(xiàn)</p><p><b>  ——</b></p><p>  學(xué)科專(zhuān)業(yè):信息與計(jì)算科學(xué)</p><p>  研究方向:數(shù)據(jù)庫(kù)技術(shù)</p><p>  提交論文日期:201

2、3年 5 月 22 日 </p><p>  論文答辯日期:2013年 6 月 10 日 </p><p><b>  學(xué)位授予單位: </b></p><p><b>  2014.6.22</b></p><p><b>  目 錄</b></p><

3、;p><b>  中文摘要I</b></p><p><b>  英文摘要II</b></p><p><b> ?。?引言1</b></p><p>  1.1課題的背景和提出1</p><p>  1.2研究的目的和意義1</p><p&

4、gt;  1.3國(guó)內(nèi)外研究現(xiàn)狀1</p><p>  1.3.1國(guó)內(nèi)研究現(xiàn)狀1</p><p>  1.3.2國(guó)外研究現(xiàn)狀2</p><p><b>  1.4關(guān)鍵問(wèn)題2</b></p><p>  1.5開(kāi)發(fā)環(huán)境及人員分工情況2</p><p>  1.5.1開(kāi)發(fā)環(huán)境2</p&

5、gt;<p>  1.5.2人員分工情況3</p><p>  2 系統(tǒng)需求分析5</p><p>  2.1可行性分析5</p><p>  2.1.1經(jīng)濟(jì)可行性5</p><p>  2.1.2 技術(shù)可行性5</p><p>  2.1.3時(shí)機(jī)可行性5</p><p&g

6、t;  2.1.4 管理可行性5</p><p>  2.1.5 用途可行性5</p><p>  2.1.6安全可行性6</p><p>  2.2 考試系統(tǒng)功能分析6</p><p>  2.2.1考試策略6</p><p>  2.2.2系統(tǒng)的數(shù)據(jù)流圖7</p><p>  2

7、.2.3用戶(hù)界面分析7</p><p>  2.2.4系統(tǒng)安全性分析7</p><p><b>  3 系統(tǒng)設(shè)計(jì)8</b></p><p><b>  3.1設(shè)計(jì)思想8</b></p><p>  3.2模塊的劃分與功能8</p><p>  4 Access數(shù)據(jù)庫(kù)

8、的建立10</p><p>  4.1構(gòu)建數(shù)據(jù)庫(kù)解決方案10</p><p>  4.2 設(shè)計(jì)考試系統(tǒng)數(shù)據(jù)庫(kù)10</p><p>  4.2.1數(shù)據(jù)表的建立10</p><p>  4.2.2數(shù)據(jù)表的關(guān)系14</p><p>  4.3 Access數(shù)據(jù)庫(kù)的安全性15</p><p>

9、;  5 系統(tǒng)的實(shí)現(xiàn)17</p><p>  5.1計(jì)算機(jī)等級(jí)考試系統(tǒng)應(yīng)用程序框架17</p><p>  5.1.1服務(wù)端管理程序框架17</p><p>  5.1.2 客戶(hù)端考試程序框架17</p><p>  5.1.3建立Visual Basic 和數(shù)據(jù)庫(kù)的接口18</p><p>  5.1.4

10、引用ADO庫(kù)文件18</p><p>  5.1.5建立數(shù)據(jù)庫(kù)的連接18</p><p>  5.1.6創(chuàng)建數(shù)據(jù)源19</p><p>  5.2服務(wù)端主程序的建立19</p><p>  5.2.1統(tǒng)一功能模塊與主程序界面19</p><p>  5.2.3系統(tǒng)鎖定功能21</p><

11、p>  5.3實(shí)現(xiàn)考試和題庫(kù)管理23</p><p>  5.3.1實(shí)現(xiàn)考試管理模塊23</p><p>  5.3.2實(shí)現(xiàn)題庫(kù)的管理24</p><p>  5.3.3生成考卷26</p><p>  5.4考試系統(tǒng)客戶(hù)端的建立26</p><p>  5.4.1驗(yàn)證考生準(zhǔn)考證號(hào)碼26</p&

12、gt;<p>  5.4.3啟動(dòng)考試過(guò)程27</p><p>  5.4.4題目顯示28</p><p>  5.4.6記錄考生的題目答案和題目狀態(tài)29</p><p>  5.4.7提交試卷29</p><p>  5.4.8實(shí)現(xiàn)實(shí)時(shí)計(jì)時(shí)功能29</p><p>  5.4.9答案匯總顯示3

13、0</p><p>  5.4.10試卷的評(píng)閱與成績(jī)計(jì)算30</p><p><b>  6 結(jié)語(yǔ)32</b></p><p><b>  致謝33</b></p><p><b>  參考文獻(xiàn)34</b></p><p><b>  

14、致謝33</b></p><p><b>  參考文獻(xiàn)34</b></p><p>  計(jì)算機(jī)等級(jí)考試系統(tǒng)的設(shè)計(jì)和實(shí)現(xiàn)</p><p><b>  ——考試管理</b></p><p>  摘要:本文以開(kāi)發(fā)一個(gè)計(jì)算機(jī)等級(jí)考試系統(tǒng)為背景,介紹了考試方式的歷史、現(xiàn)狀以及使用Visual

15、Basic6.0設(shè)計(jì)前臺(tái)控制程序和用Access2003建立后臺(tái)數(shù)據(jù)庫(kù)的概況。詳細(xì)介紹了在計(jì)算機(jī)等級(jí)考試系統(tǒng)中,實(shí)現(xiàn)機(jī)式考試的功能模塊的設(shè)計(jì),包括本地服務(wù)系統(tǒng)中的考試管理和本地考試系統(tǒng)中的激活考試、隨機(jī)生成試卷、答題系統(tǒng)、自動(dòng)計(jì)時(shí)、自動(dòng)閱卷、考試分析等。該系統(tǒng)通過(guò)權(quán)限控制,面向普通學(xué)生和考試管理員。通過(guò)改變傳統(tǒng)的考試模式,利用在線(xiàn)式考試系統(tǒng),可以節(jié)約考試成本,提高考試工作的效率。</p><p>  關(guān)鍵詞:等級(jí)

16、考試;Access數(shù)據(jù)庫(kù);Visual Basic6.0</p><p>  Design and Implementation</p><p>  Of Computer Rank Examination System</p><p>  ——Examination Management</p><p>  Abstract: This t

17、hesis introduces briefly the past and present ways of the CRE (Computer Rank Examination) System, the design of the foreground control program with Visual Basic 6.0 and the building of a background database with Access 2

18、003, the purpose of which is to develop a CRE system. Therefore, it describes the design of functional module for operational examination, which includes the examination management in local server system, activating test

19、, random generating paper, answering system,</p><p>  Keyword: Rank Examination, Access2003, Visual Basic6.0</p><p><b>  1 引言</b></p><p>  1.1課題的背景和提出</p><p&g

20、t;  在當(dāng)今的信息社會(huì)中,學(xué)校與社會(huì)上的各種考試仍大都采用傳統(tǒng)的紙質(zhì)考試方式。在此方式下,組織一次考試至少要經(jīng)過(guò)五個(gè)步驟,即人工出卷、考生考試、人工閱卷、成績(jī)?cè)u(píng)估和試卷分析。顯然,隨著考試類(lèi)型的不斷增加及考試要求的不斷提高,教師的工作量將會(huì)越來(lái)越大,并且其工作將是一件十分繁瑣和非常容易出錯(cuò)的事情,可以說(shuō)傳統(tǒng)的考試方式已經(jīng)不能適應(yīng)現(xiàn)代考試的需要。</p><p>  目前,計(jì)算機(jī)和網(wǎng)絡(luò)應(yīng)用在各行各業(yè)廣泛應(yīng)用,特別

21、在高校,所以大多數(shù)學(xué)生也已經(jīng)具備了利用網(wǎng)絡(luò)進(jìn)行交流和學(xué)習(xí)的能力??墒窃诮虒W(xué)這個(gè)環(huán)節(jié)上,對(duì)于傳統(tǒng)的教學(xué)模式仍然過(guò)分依賴(lài),而對(duì)于網(wǎng)絡(luò)的開(kāi)發(fā)和應(yīng)用程度還遠(yuǎn)遠(yuǎn)不夠。注意到這一點(diǎn),本人決定開(kāi)發(fā)一個(gè)基于網(wǎng)絡(luò)的計(jì)算機(jī)等級(jí)考試系統(tǒng),希望充分利用現(xiàn)有的計(jì)算機(jī)和網(wǎng)絡(luò)資源。</p><p>  1.2研究的目的和意義</p><p>  鑒于社會(huì)的客觀需求,計(jì)算機(jī)等級(jí)考試系統(tǒng)將針對(duì)傳統(tǒng)考試的弊端,更省時(shí)更省力更

22、準(zhǔn)確地測(cè)試考生計(jì)算機(jī)水平,并方便之后的閱卷,查分和試卷分析工作??忌ㄟ^(guò)登陸界面進(jìn)行有效的身份驗(yàn)證登錄,包括考號(hào)的輸入??忌匆笤谝?guī)定的時(shí)間內(nèi)進(jìn)行答題。當(dāng)?shù)竭_(dá)規(guī)定的時(shí)間后,系統(tǒng)將自動(dòng)予以提交,且其答案和分?jǐn)?shù)將被記入庫(kù)中以供審核和查閱,并作為成績(jī)?cè)u(píng)估和試卷分析的歷史數(shù)據(jù)。另外,還可完全由計(jì)算機(jī)自動(dòng)抽取試題庫(kù)中的各類(lèi)試題組成各種試卷,其內(nèi)容會(huì)隨著庫(kù)中試題的改變而改變,不妨把它稱(chēng)之為實(shí)時(shí)的互動(dòng)的試卷。</p><p>

23、;  用計(jì)算機(jī)進(jìn)行標(biāo)準(zhǔn)化考試,極大地減輕了出題者、應(yīng)試者和試卷評(píng)閱者的勞動(dòng),也減輕了由于人為因素造成的錯(cuò)誤。同時(shí),計(jì)算機(jī)標(biāo)準(zhǔn)化考試,也使得考試更加公平、公正。</p><p>  1.3國(guó)內(nèi)外研究現(xiàn)狀</p><p>  1.3.1國(guó)內(nèi)研究現(xiàn)狀</p><p>  現(xiàn)階段,學(xué)校與社會(huì)上的各種考試大都采用傳統(tǒng)的紙質(zhì)考試方式。在此方式下,組織一次考試至少要經(jīng)過(guò)五個(gè)步驟,

24、即出卷、考生考試、閱卷、成績(jī)?cè)u(píng)估和試卷分析。顯然,隨著考試類(lèi)型的不斷增加及考試要求的不斷提高,教師的工作量將會(huì)越來(lái)越大,并且其工作將是一件十分繁瑣和非常容易出錯(cuò)的事情,可以說(shuō)傳統(tǒng)的考試方式已經(jīng)不能適應(yīng)現(xiàn)代考試的需要。隨著計(jì)算機(jī)應(yīng)用的迅猛發(fā)展,網(wǎng)絡(luò)應(yīng)用不斷擴(kuò)大,如遠(yuǎn)程教育和虛擬大學(xué)的出現(xiàn)等等,人們迫切要求利用這些技術(shù)來(lái)進(jìn)行在線(xiàn)考試,以減輕教師的工作負(fù)擔(dān)及提高工作效率,從而提高考試的質(zhì)量,使考試更趨于公證、客觀、激發(fā)學(xué)生的學(xué)習(xí)興趣。<

25、/p><p>  理論方面,近幾年來(lái)有較大發(fā)展,尤其在在線(xiàn)等級(jí)考試系統(tǒng)的建設(shè)理論方面有較大進(jìn)展,技術(shù)也日漸成熟,目前國(guó)內(nèi)有很多公司團(tuán)體研究開(kāi)發(fā)了基于Web的考試系統(tǒng),基本上是傳統(tǒng)教學(xué)中的考試向網(wǎng)絡(luò)方向的遷移。雖然現(xiàn)在有一些基于Web的考試系統(tǒng),但是計(jì)算機(jī)等級(jí)考試系統(tǒng)的研究卻比較少。</p><p>  1.3.2國(guó)外研究現(xiàn)狀 </p><p>  當(dāng)今許多國(guó)家都十分注重

26、計(jì)算機(jī)教育事業(yè)的發(fā)展,特別是在線(xiàn)考試系統(tǒng)的研究。在發(fā)達(dá)國(guó)家,在線(xiàn)考試系統(tǒng)已經(jīng)趨于成熟,不僅學(xué)校運(yùn)用計(jì)算機(jī)考試系統(tǒng)來(lái)測(cè)試評(píng)估學(xué)生的計(jì)算機(jī)水平,還有許多國(guó)際著名的計(jì)算機(jī)公司所舉辦的各種認(rèn)證考試絕大部分采用這種方式。例如,著名的Sylvan Promentic國(guó)際考試中心和VUE(虛擬大學(xué))是實(shí)行計(jì)算機(jī)化考試的考試中心。目前流行的MCP(Microsoft Certified Professional),微軟認(rèn)證專(zhuān)家)系列考試、CCCP系列考

27、試、HP-UX系列考試,以及熟悉的TOFEL、GRE等,都是通過(guò)上面提到的兩個(gè)國(guó)際考試中心實(shí)行的“機(jī)考”。 </p><p><b>  1.4關(guān)鍵問(wèn)題 </b></p><p>  (1)人機(jī)界面的設(shè)計(jì)和考試的管理</p><p>  (2)對(duì)數(shù)據(jù)庫(kù)數(shù)據(jù)的操作控制</p><p>  (3)前臺(tái)VB應(yīng)用程序與后臺(tái)Ac

28、cess數(shù)據(jù)庫(kù)的關(guān)聯(lián)</p><p>  1.5開(kāi)發(fā)環(huán)境及人員分工情況</p><p><b>  1.5.1開(kāi)發(fā)環(huán)境</b></p><p>  (1)選擇Visual Basic6.0作為前臺(tái)開(kāi)發(fā)工具</p><p>  Visual Basic6.0能夠成為當(dāng)今最流行的軟件開(kāi)發(fā)工具之一,是與其卓越的性能是</

29、p><p>  分不開(kāi)的,它匯集了Microsoft公司的技術(shù)精華,不僅全面使用了面向?qū)ο蟮募夹g(shù),而且在編譯技術(shù)也作了優(yōu)化。與其它開(kāi)發(fā)工具相比,Visual Basic6.0具有明顯的優(yōu)勢(shì):</p><p>  ●使用Basic6.0作為基礎(chǔ),開(kāi)發(fā)難度低,開(kāi)發(fā)工作量小。</p><p>  ●Visual Basic6.0開(kāi)發(fā)環(huán)境十分友好,強(qiáng)大的可視化開(kāi)發(fā)方式能夠幫助用

30、戶(hù)輕松地開(kāi)發(fā)出多種類(lèi)型的應(yīng)用程序。</p><p>  ●使用微軟發(fā)行的編程軟件能夠提供與Windows操作系統(tǒng)的最大兼容性。</p><p>  ●微軟公司開(kāi)發(fā)的編程環(huán)境Visual Basic,不僅能夠提供強(qiáng)大的圖形支持,而且能夠是應(yīng)用程序與硬件相對(duì)獨(dú)立。</p><p>  ●WindowsAPI為實(shí)現(xiàn)應(yīng)用程序提供了強(qiáng)大的擴(kuò)展功能的支持。</p>

31、<p>  ●為用戶(hù)提供了許多有用的調(diào)試和分析工具,能夠幫助用戶(hù)尋找錯(cuò)誤和提高應(yīng)用程序效率。</p><p>  ●擁有解釋方式和編譯方式兩種運(yùn)行方式,使得應(yīng)用程序的調(diào)試更加方便、輕松。</p><p>  鑒于以上優(yōu)點(diǎn),選擇了Visual Basic 6.0作為“計(jì)算機(jī)等級(jí)考試系統(tǒng)”項(xiàng)目的開(kāi)發(fā)工具。</p><p>  (2)選擇了Access2003

32、建立后臺(tái)數(shù)據(jù)庫(kù)</p><p>  最新版本的Access2003除了保持原有的Access2002數(shù)據(jù)庫(kù)的功能特性之外,在數(shù)據(jù)庫(kù)的應(yīng)用上進(jìn)行了一定程度的擴(kuò)張,支持更加靈活和智能的操作,并支持XML文檔數(shù)據(jù)源進(jìn)行處理。</p><p>  Access雖然是小型捉摸數(shù)據(jù)庫(kù)管理系統(tǒng),但是它提供的數(shù)據(jù)庫(kù)功能卻非常強(qiáng)大,不僅包括了一般數(shù)據(jù)庫(kù)管理系統(tǒng)中的SQL(Structure Query La

33、nguage,結(jié)構(gòu)化查詢(xún)語(yǔ)言)語(yǔ)言查詢(xún),而且支持?jǐn)?shù)據(jù)的完整性和約束(包括:主鍵約束和實(shí)體完整性、外鍵約束和參照完整性、CHICK約束、UNIQUE等)。</p><p>  雖然Access也并不是十全十美。但是對(duì)于小型企業(yè)和小型數(shù)據(jù)庫(kù)而言,這些功能已經(jīng)足夠了。如果要追求那些復(fù)雜的數(shù)據(jù)庫(kù)管理機(jī)制,還是應(yīng)該使用大型、基于數(shù)據(jù)倉(cāng)庫(kù)技術(shù)的企業(yè)級(jí)數(shù)據(jù)庫(kù)管理系統(tǒng)(如,Microsoft SQL Server和Oracle等

34、)。</p><p>  現(xiàn)在Access2003已經(jīng)成為了功能強(qiáng)大、操作簡(jiǎn)單的關(guān)系數(shù)據(jù)庫(kù)管理軟件,而且由于它集成在OfficeXP組件中,更容易獲得,只要安裝OfficeXP,就可以在安裝過(guò)程中選擇安裝Access2003了。</p><p>  1.5.2人員分工情況</p><p>  計(jì)算機(jī)等級(jí)考試系統(tǒng)的功能模塊主要為本地服務(wù)系統(tǒng)、本地考試系統(tǒng)、遠(yuǎn)程查詢(xún)系統(tǒng)

35、三部分,每個(gè)主要功能模塊下又具體分為若干個(gè)小模塊,系統(tǒng)整體功能結(jié)構(gòu)如圖1.1所示。</p><p>  本人負(fù)責(zé)的考試系統(tǒng)主要是對(duì)本地服務(wù)系統(tǒng)中的考試管理和本地考試系統(tǒng)中激活考試、答題系統(tǒng)、自動(dòng)計(jì)時(shí)、自動(dòng)閱卷幾個(gè)模塊的設(shè)計(jì)。</p><p>  另一同學(xué)負(fù)責(zé)的考務(wù)系統(tǒng)主要是對(duì)本地服務(wù)系統(tǒng)中的考生管理、本地考試系統(tǒng)中的輸出成績(jī)單和遠(yuǎn)程查詢(xún)系統(tǒng)的設(shè)計(jì)。</p><p>

36、  圖 1 系統(tǒng)整體功能結(jié)構(gòu)圖</p><p><b>  2 系統(tǒng)需求分析</b></p><p><b>  2.1可行性分析</b></p><p>  可行性分析也稱(chēng)為可行性研究,是在系統(tǒng)調(diào)查的基礎(chǔ)上,針對(duì)新系統(tǒng)的開(kāi)發(fā)是否具備必要性和可能性,對(duì)新系統(tǒng)的開(kāi)發(fā)從技術(shù)、經(jīng)濟(jì)、社會(huì)的方面進(jìn)行分析和研究,以避免投資失誤,保證

37、新系統(tǒng)的開(kāi)發(fā)成功??尚行匝芯康哪康木褪怯米钚〉拇鷥r(jià)在盡可能短的時(shí)間內(nèi)確定問(wèn)題是否能夠解決。該系統(tǒng)的可行性分析包括以下幾個(gè)方面的內(nèi)容。</p><p>  2.1.1經(jīng)濟(jì)可行性</p><p>  經(jīng)濟(jì)可行性主要是對(duì)項(xiàng)目的經(jīng)濟(jì)效益進(jìn)行評(píng)價(jià)??荚囅到y(tǒng)的設(shè)計(jì)作為一個(gè)畢業(yè)設(shè)計(jì),無(wú)需開(kāi)發(fā)經(jīng)費(fèi),對(duì)于學(xué)院在經(jīng)濟(jì)上是可以接受的,并且本系統(tǒng)實(shí)施后可以顯著提高考試效率,有助于學(xué)院完全實(shí)現(xiàn)網(wǎng)絡(luò)化管理。所以本系統(tǒng)

38、在經(jīng)濟(jì)上是可行的。</p><p>  2.1.2 技術(shù)可行性</p><p>  技術(shù)可行性分析主要分析技術(shù)條件能否順利完成開(kāi)發(fā)工作,硬、軟件能否滿(mǎn)足開(kāi)發(fā)者的需要等??荚囅到y(tǒng)的設(shè)計(jì)采用了當(dāng)前較流行的Visual Basic6.0進(jìn)行開(kāi)發(fā),而數(shù)據(jù)庫(kù)服務(wù)器選用微軟公司的Access2003數(shù)據(jù)庫(kù),它是功能強(qiáng)大、操作簡(jiǎn)單的關(guān)系數(shù)據(jù)庫(kù)管理軟件,它的靈活性、安全性和易用性為數(shù)據(jù)庫(kù)編程提供了良好的條

39、件。因此,系統(tǒng)的軟件開(kāi)發(fā)平臺(tái)已成熟可行。硬件方面,科技飛速發(fā)展的今天,硬件更新的速度越來(lái)越快,容量越來(lái)越大,可靠性越來(lái)越高,價(jià)格越來(lái)越低,其硬件平臺(tái)完全能滿(mǎn)足此系統(tǒng)的需要。</p><p>  2.1.3時(shí)機(jī)可行性</p><p>  目前,大學(xué)的校園網(wǎng)路覆蓋了教學(xué)區(qū)和學(xué)生區(qū)的主要建筑物,從而滿(mǎn)足學(xué)院內(nèi)各系,各職能部門(mén),各直屬單位上網(wǎng)需求。學(xué)校良好的網(wǎng)絡(luò)設(shè)施為開(kāi)發(fā)使用計(jì)算機(jī)等級(jí)考試系統(tǒng)提供

40、了堅(jiān)實(shí)的基礎(chǔ)。</p><p>  2.1.4 管理可行性</p><p>  管理可行性主要是教務(wù)處管理人員大力支持,系領(lǐng)導(dǎo)認(rèn)同,現(xiàn)有的管理制度和方法科學(xué),規(guī)章制度齊全,原始數(shù)據(jù)正確等。規(guī)章制度和管理方法為系統(tǒng)的建設(shè)提供了制度保障。 </p><p>  2.1.5 用途可行性</p><p>  用途可行性主要是此考試系統(tǒng)的應(yīng)用范圍較廣,

41、并不局限于計(jì)算機(jī)等級(jí)考試,其它同類(lèi)型考試也可使用該系統(tǒng)。同時(shí),在考試系統(tǒng)中,大量的工作是輸入數(shù)據(jù)和選擇答案,所以考試系統(tǒng)主要是通過(guò)鍵盤(pán)和鼠標(biāo)進(jìn)行人機(jī)交互,并不需要附加的交互方式。所以在用途上是可行的。</p><p>  綜上所述,此系統(tǒng)開(kāi)發(fā)目標(biāo)已明確,在技術(shù)和經(jīng)濟(jì)等方面都可行,并且投入少,見(jiàn)效快,因此考試系統(tǒng)的開(kāi)發(fā)是完全可行的。</p><p>  2.1.6安全可行性</p>

42、;<p>  安全可行性主要是該系統(tǒng)對(duì)操作人員進(jìn)行了權(quán)限設(shè)置。通過(guò)設(shè)置權(quán)限密碼的形式,</p><p>  使擁有權(quán)限的人員才能對(duì)系統(tǒng)進(jìn)行相關(guān)操作。Access2003對(duì)數(shù)據(jù)庫(kù)的安全設(shè)置較簡(jiǎn)單,Visual Basic6.0也能實(shí)現(xiàn)密碼功能的設(shè)計(jì)。所以該系統(tǒng)在安全性上是可行的。</p><p>  2.2 考試系統(tǒng)功能分析</p><p><b&

43、gt;  2.2.1考試策略</b></p><p>  考試系統(tǒng)主要是用Visual Basic和Access2003實(shí)現(xiàn)本地考試系統(tǒng)和本地服務(wù)系統(tǒng)中考試管理的設(shè)計(jì)。</p><p>  一個(gè)完整的計(jì)算機(jī)考試,要經(jīng)過(guò)注冊(cè)考生、注冊(cè)考試、考試、取得成績(jī)單等步驟。 </p><p>  考試流程如圖2.1所示</p><p><

44、;b>  。</b></p><p><b>  圖2 考試流程圖</b></p><p>  首先,考生要使用考試系統(tǒng)進(jìn)行考試,就必須要進(jìn)行考生注冊(cè)。確認(rèn)考生身份,考生會(huì)獲得一個(gè)在整個(gè)考試系統(tǒng)中唯一的考試證號(hào)。</p><p>  接下來(lái),考生要參加某一科目的考試時(shí),必須提前注冊(cè)。否則,考生不能參加考試。</p>

45、<p>  在規(guī)定的考試日期中,考生在考試系統(tǒng)上作答。系統(tǒng)會(huì)自動(dòng)記錄考生的考試時(shí)間,死機(jī)并不會(huì)影響到考生的考試。</p><p>  當(dāng)考生完成考試后,系統(tǒng)會(huì)自動(dòng)對(duì)考生的試卷進(jìn)行評(píng)閱,并且參照題庫(kù)中的標(biāo)準(zhǔn)答案,為考生打分。</p><p>  最后,考試系統(tǒng)會(huì)向考生出示考試成績(jī)單。</p><p>  從考試流程圖2.1中可以看出,參加考試必須要在考試

46、系統(tǒng)中擁有準(zhǔn)考證號(hào)碼,提前注冊(cè)考試,而且在規(guī)定的時(shí)間內(nèi)完成考試。</p><p>  2.2.2系統(tǒng)的數(shù)據(jù)流圖</p><p>  數(shù)據(jù)流圖,即DFD圖(Data Flow Diagram),主要描述考生從激活考試到結(jié)束考試的數(shù)據(jù)流向,如圖2.2所示。</p><p><b>  圖3 數(shù)據(jù)流圖</b></p><p>

47、  2.2.3用戶(hù)界面分析</p><p>  標(biāo)準(zhǔn)的Windows應(yīng)用程序應(yīng)該包括:標(biāo)題欄、菜單欄、工具欄、狀態(tài)欄、工作區(qū)域等部分。在考試系統(tǒng)中,由于操作很簡(jiǎn)單,而且使用菜單和工具并不一定能提高操作的效率,所有在考試系統(tǒng)應(yīng)用程序中,使用了最簡(jiǎn)單的基于對(duì)話(huà)框的窗口,并且使用簡(jiǎn)單的按鈕完成功能的切換,界面雖然簡(jiǎn)單,但是它涵蓋了考試系統(tǒng)的全部功能,操作非常方便。</p><p>  2.2.4

48、系統(tǒng)安全性分析</p><p>  由于本系統(tǒng)采用Access2003進(jìn)行數(shù)據(jù)庫(kù)的制作,在安全性方面不如SQL,Oracle等大型數(shù)據(jù)庫(kù),但在訪問(wèn)時(shí)也可對(duì)訪問(wèn)權(quán)限進(jìn)行設(shè)置,而且設(shè)置方便。同時(shí)由于本系統(tǒng)將采用 Visual Basic進(jìn)行管理員密碼的設(shè)計(jì),所以說(shuō)安全性方面還是有保障的。</p><p><b>  3 系統(tǒng)設(shè)計(jì)</b></p><p&

49、gt;<b>  3.1設(shè)計(jì)思想</b></p><p>  考試系統(tǒng)的設(shè)計(jì)是以軟機(jī)周期模型為基礎(chǔ)來(lái)建立的。眾所周知,既然是工業(yè)產(chǎn)品,都有其生命周期,即要經(jīng)過(guò)分析要求、設(shè)計(jì)、制造、測(cè)試、運(yùn)行(此時(shí)需要不斷的維護(hù))等幾個(gè)階段。本系統(tǒng)的設(shè)計(jì)嚴(yán)格遵守軟件周期模型,經(jīng)歷了可行性研究與計(jì)劃階段、需求分析階段、設(shè)計(jì)階段、編程階段、測(cè)試階段、運(yùn)行階段。</p><p>  3.2模

50、塊的劃分與功能</p><p>  經(jīng)過(guò)對(duì)計(jì)算機(jī)等級(jí)考試步驟的分析,計(jì)算機(jī)等級(jí)考試系統(tǒng)的模塊將進(jìn)行以下劃分。</p><p>  考試系統(tǒng)的模塊可以大體分為2個(gè)部分:本地服務(wù)端管理程序、本地客戶(hù)端考試程序,其中每一部分都可以細(xì)分為多個(gè)模塊,如圖3.1所示。</p><p>  圖4 系統(tǒng)功能結(jié)構(gòu)圖</p><p><b>  (1)

51、考試管理</b></p><p>  考試管理這個(gè)模塊中包括了增加、刪除、修改考試科目、修改考試科目的狀態(tài),增加、刪除、修改考試題目,修改考試題目的狀態(tài)等幾種功能。</p><p>  增加、刪除、修改考試科目:用于維護(hù)考試系統(tǒng)中的考試科目信息,包括科目的名稱(chēng)、題目數(shù)量、考試時(shí)間、通過(guò)分?jǐn)?shù)等。</p><p>  修改考試科目的狀態(tài):用于設(shè)置科目有效或無(wú)

52、效的狀態(tài),當(dāng)科目處于無(wú)效狀態(tài)時(shí),考生將不能注冊(cè)這個(gè)科目的考試。</p><p>  增加、刪除、修改考試題目:用于維護(hù)考試系統(tǒng)題庫(kù)的信息。修改考試題目狀態(tài)信息可以設(shè)置題目是否可以被選入考生的考卷。</p><p><b>  (2)激活考試</b></p><p>  激活考生實(shí)際上是將考生考試的狀態(tài)設(shè)置為“正在考試”,并在開(kāi)始考試前,向考生提

53、示考試的相關(guān)信息。</p><p>  當(dāng)考試被激活后,該考試的注冊(cè)信息將不能被修改,更不能刪除。</p><p><b>  (3)答題系統(tǒng)</b></p><p>  答題系統(tǒng)將引導(dǎo)考生完成整個(gè)試卷,并記錄考生的答案和題目的狀態(tài)(是否完成、是否被標(biāo)記)。</p><p>  在一般的標(biāo)準(zhǔn)化考試中,常見(jiàn)的題目包括:?jiǎn)雾?xiàng)

54、選擇題、多項(xiàng)選擇題、不定項(xiàng)選擇題和填空題等。</p><p>  為了簡(jiǎn)便起見(jiàn),該系統(tǒng)設(shè)計(jì)中將題目設(shè)置為:?jiǎn)雾?xiàng)選擇題、多項(xiàng)選擇題和填空題三個(gè)類(lèi)型。</p><p>  標(biāo)記題目狀態(tài)和傳統(tǒng)考生中的“打標(biāo)記”一樣。如果考生對(duì)于某題目不確定,或者暫時(shí)不想回答這道題目,就可以為題目“作標(biāo)記”。做過(guò)標(biāo)記的題目會(huì)在答案匯總頁(yè)面上突出顯示出來(lái)。</p><p><b>

55、  (4)自動(dòng)計(jì)時(shí)</b></p><p>  自動(dòng)計(jì)時(shí)將在考試開(kāi)始后自動(dòng)啟動(dòng),用于在整個(gè)考試過(guò)程中提示考生考試時(shí)間,并在考試時(shí)間結(jié)束后自動(dòng)中止考生的考試。</p><p>  在考試中途出現(xiàn)死機(jī)的情況時(shí)不會(huì)影響考生的考試??荚嚨乃写鸢付紩?huì)被實(shí)時(shí)地記錄進(jìn)時(shí)間庫(kù),同時(shí),考生剩余的考試時(shí)間也會(huì)被記錄進(jìn)去。</p><p>  當(dāng)考試的剩余時(shí)間小于15分鐘時(shí)

56、,屏幕上的計(jì)時(shí)鐘會(huì)變?yōu)榧t色,以提示考生剩余的考試時(shí)間不多了。</p><p><b>  (5)自動(dòng)閱卷</b></p><p>  自動(dòng)閱卷功能將把考生的試卷與題庫(kù)中的標(biāo)準(zhǔn)答案進(jìn)行對(duì)比,并記錄考生的考試成績(jī)。</p><p>  4 Access數(shù)據(jù)庫(kù)的建立</p><p>  4.1構(gòu)建數(shù)據(jù)庫(kù)解決方案</p&

57、gt;<p>  數(shù)據(jù)庫(kù)是依照某種數(shù)據(jù)模型組織起來(lái)并存放在存儲(chǔ)器中的數(shù)據(jù)集合。這些數(shù)據(jù)為了多個(gè)應(yīng)用程序服務(wù),獨(dú)立于具體的應(yīng)用程序,數(shù)據(jù)庫(kù)由數(shù)據(jù)庫(kù)管理系統(tǒng)(DBMS,Data Base Manager system)統(tǒng)一管理,數(shù)據(jù)的插入、修改和檢索均要通過(guò)數(shù)據(jù)庫(kù)管理系統(tǒng)進(jìn)行。</p><p>  數(shù)據(jù)庫(kù)管理系統(tǒng)是一種系統(tǒng)軟件,它的這樣功能是維護(hù)數(shù)據(jù)庫(kù)并有效地訪問(wèn)數(shù)據(jù)庫(kù)中的數(shù)據(jù),對(duì)數(shù)據(jù)庫(kù)的維護(hù)包括保持?jǐn)?shù)

58、據(jù)的完整性、一致性和安全性等幾項(xiàng)內(nèi)容。</p><p>  數(shù)據(jù)管理員負(fù)責(zé)創(chuàng)建、監(jiān)控和維護(hù)整個(gè)數(shù)據(jù)庫(kù),是數(shù)據(jù)可以被任何有權(quán)使用數(shù)據(jù)庫(kù)的人訪問(wèn)。</p><p>  4.2 設(shè)計(jì)考試系統(tǒng)數(shù)據(jù)庫(kù)</p><p>  本考試系統(tǒng)使用一個(gè)Access數(shù)據(jù)庫(kù)文件,文件名稱(chēng)為:考試.mdb。在使用Visual Basic時(shí),需要建立數(shù)據(jù)庫(kù)連接。在考試數(shù)據(jù)庫(kù)系統(tǒng)中,所包含的數(shù)據(jù)應(yīng)

59、該包括考生的基本信息、所以考試科目的基本信息、全部題目的信息、考試注冊(cè)考試的信息和考試狀態(tài)、考試成績(jī)以及考生的試卷。</p><p>  這樣根據(jù)數(shù)據(jù)庫(kù)存儲(chǔ)的內(nèi)容,建立多個(gè)數(shù)據(jù)庫(kù)表。</p><p>  4.2.1數(shù)據(jù)表的建立</p><p>  (1)考生信息表(StudentInfo)</p><p>  考生信息表用于存放考生的基本注冊(cè)

60、信息。它唯一確定了一名考生的身份,因此應(yīng)該包括考生的準(zhǔn)考證號(hào)碼、姓名、性別、身份證號(hào)碼等證明考生身份的信息。按照考試系統(tǒng)項(xiàng)目的需求分析。 </p><p>  在考生信息表中,包括了可以確定考試身份的全部信息(包括準(zhǔn)考證號(hào)碼、姓名、性別、身份證號(hào)碼、聯(lián)系電話(huà)、電子郵件),以及考生的當(dāng)前狀態(tài)(是否允許考生注冊(cè)考試)。</p><p>  另外,還需要建立一個(gè)字段(SNum),這個(gè)字段用于

61、記錄考生已經(jīng)注冊(cè),但是還沒(méi)有完成考試的考試數(shù)目。設(shè)置這個(gè)字段是為了維護(hù)表的完整性。</p><p>  比如,如果考生已經(jīng)注冊(cè)了一個(gè)科目的考試,但是還沒(méi)有進(jìn)行考試。假如這時(shí)刪除了用戶(hù)就會(huì)在考生考試的過(guò)程中和成績(jī)單輸出的工程中出現(xiàn)無(wú)法找到考生姓名的錯(cuò)誤。設(shè)置這個(gè)字段,就可以避免這個(gè)問(wèn)題,當(dāng)此字段的值不為0,說(shuō)明考生還有沒(méi)有完成的考試,這時(shí)刪除考生的操作就不好進(jìn)行。</p><p>  在考生

62、信息表中,同一個(gè)準(zhǔn)考證號(hào)碼只能對(duì)應(yīng)一個(gè)考生,也就是,準(zhǔn)考證號(hào)碼時(shí)唯一的,把它標(biāo)記為主鍵??忌畔⒔Y(jié)構(gòu)圖如圖4.1所示。</p><p>  圖5 考生信息結(jié)構(gòu)圖</p><p>  (2)考試科目表(ExamInfo)</p><p>  考試科目表記錄了考試系統(tǒng)中可以進(jìn)行的所以科目信息。一個(gè)考試科目應(yīng)該包括考試的名稱(chēng)、時(shí)間、題目的數(shù)量等信息,為了增加考試系統(tǒng)的兼容

63、性,還設(shè)計(jì)了總分?jǐn)?shù)和通過(guò)分?jǐn)?shù)兩個(gè)字段。初次之外,在考試科目表中,可以使用一個(gè)7位長(zhǎng)的考試科目號(hào)用于唯一確定一個(gè)科目的考試,所以把考試科目號(hào)碼作為主鍵。在考試科目表中的ENum字段也是為了維護(hù)數(shù)據(jù)庫(kù)的完整性而設(shè)置的。在刪除表中的數(shù)據(jù)時(shí),只有此字段為0時(shí)才能進(jìn)行。</p><p>  另外,在這個(gè)表結(jié)構(gòu)中,雖然從下表看都是數(shù)字型,但是實(shí)際上是長(zhǎng)整型,單精度,整型??荚嚳颇勘斫Y(jié)構(gòu)圖如圖4.2所示。</p>

64、<p>  圖6 考試科目表結(jié)構(gòu)圖</p><p>  (3)考生注冊(cè)信息表(RegInfo)</p><p>  按照考試系統(tǒng)的分析,一個(gè)考生在參加考試前必須進(jìn)行注冊(cè)。注冊(cè)的作用是生成考生的試卷并確定考試的日期。</p><p>  考試注冊(cè)信息表中,包括考生的準(zhǔn)考證號(hào)碼、注冊(cè)日期、考試日期、考試科目號(hào)、考卷編號(hào)等信息。這里把考生準(zhǔn)考證號(hào)碼作為主鍵。&

65、lt;/p><p>  特別地,為了避免同一個(gè)考試試卷號(hào)碼在多個(gè)考試終端上參加考試,還增加了考試狀態(tài)字段,該字段描述了考生當(dāng)前的考試狀態(tài)。當(dāng)考生成功地注冊(cè)了一個(gè)考試后,此值會(huì)自動(dòng)設(shè)置0;而當(dāng)考生完成考試時(shí)(不論是否通過(guò)考試),此值會(huì)置1;此值為2時(shí)說(shuō)明考生進(jìn)行這個(gè)科目的考試;如果考試沒(méi)有在考試日期指定的時(shí)間內(nèi)考試,此值為4;</p><p>  在考試注冊(cè)信息表中,由于在進(jìn)行注冊(cè)信息查詢(xún)時(shí),很

66、少會(huì)根據(jù)試卷編號(hào)(試卷編號(hào)唯一確定時(shí))查詢(xún),所以它沒(méi)有設(shè)置主鍵。這個(gè)表無(wú)主鍵。</p><p>  使用試卷編號(hào)可以確定考試的注冊(cè)信息,它的生成規(guī)則是:</p><p>  Exam_[準(zhǔn)考證號(hào)碼]_[科目編號(hào)]_[考試日期]</p><p>  上面的斜體字的部分將在程序運(yùn)行時(shí),以實(shí)際的編號(hào)代替。考試注冊(cè)信息表結(jié)構(gòu)如圖4.3所示。</p><p

67、>  圖7 考試注冊(cè)信息表結(jié)構(gòu)圖</p><p>  (4)系統(tǒng)信息表(SysInfo)</p><p>  系統(tǒng)信息表用于存放一些維持系統(tǒng)正常運(yùn)行的所必須的數(shù)據(jù),比如管理員密碼、當(dāng)前考試的人數(shù)等,系統(tǒng)信息表結(jié)構(gòu)如圖4.4所示。 </p><p>  圖8系統(tǒng)信息表結(jié)構(gòu)圖</p><p>  系統(tǒng)信息表只有在管理操作時(shí)才會(huì)訪問(wèn),所以的

68、數(shù)據(jù)的查找速度沒(méi)有要求。在設(shè)計(jì)這個(gè)表時(shí),沒(méi)有設(shè)置主鍵。</p><p>  (5)題庫(kù)表(Quention)</p><p>  題庫(kù)表,顧名思義是存放全部考試題目的地方。在題庫(kù)表中,應(yīng)該包括考試的題目編號(hào)、題目、標(biāo)準(zhǔn)答案、類(lèi)型等信息,題庫(kù)表結(jié)構(gòu)如圖4.5所示。 </p><p><b>  圖9 題庫(kù)結(jié)構(gòu)圖</b>

69、;</p><p>  表中的QNum字段和前面一樣,都是為了維護(hù)數(shù)據(jù)庫(kù)完整性而設(shè)置的。在生成考生試卷時(shí),如果該考生使用了這道題目,這個(gè)字段的值就會(huì)加1。也就是說(shuō),它存放了這道題目的人數(shù),只有當(dāng)此值為0時(shí),才能刪除這道考試題目。</p><p>  另外,題庫(kù)表通過(guò)QID字段唯一確定考試題目,所以這個(gè)字段將作為題庫(kù)表的主鍵。考試題目編號(hào)的前7位表示這個(gè)題目歸屬哪個(gè)考試題目,剩下的10位記錄

70、題目的標(biāo)號(hào),通過(guò)這17字符長(zhǎng)度的字段就可以判斷這道題目是哪個(gè)科目的哪道題目。</p><p>  (6)考卷表(Paper)</p><p>  考卷表是在考生完成考試注冊(cè)后,記錄考生的考卷題目的表。在這個(gè)表中,通過(guò)試卷編號(hào)可以確定一個(gè)考試注冊(cè)項(xiàng)目,題目的ID號(hào)用于記錄考生應(yīng)該回答的問(wèn)題,考生的答案用于考生的答案,考卷表結(jié)構(gòu)如圖4.6所示。</p><p>  圖1

71、0 考卷表結(jié)構(gòu)圖</p><p>  這個(gè)表沒(méi)有一個(gè)字段可以唯一確定一條記錄,所以也不需要設(shè)置主鍵。</p><p>  為了方便考生作答,在考試界面中增加了“標(biāo)記”按鈕,考生可以對(duì)某一道題目進(jìn)行標(biāo)記(僅僅是為了醒目),系統(tǒng)也會(huì)自動(dòng)判斷考生的答案是否完整。這兩個(gè)記錄標(biāo)記就使用QMarked和QFinished表示。</p><p>  創(chuàng)建過(guò)程是:首先啟動(dòng)Acces

72、sXP,選擇“開(kāi)始”→“程序”→“Microsoft Access”選項(xiàng),這時(shí)就進(jìn)入了Access XP 的工作界面。在Access工作界面右側(cè)的任務(wù)窗格中直接單擊“空數(shù)據(jù)庫(kù)”項(xiàng)目,這時(shí)Access XP中會(huì)出現(xiàn)“文件新建數(shù)據(jù)庫(kù)”對(duì)話(huà)框,輸入數(shù)據(jù)庫(kù)文件的名稱(chēng),然后單擊“創(chuàng)建”按鈕。</p><p>  這時(shí),AccessXP工作界面中就會(huì)出現(xiàn)數(shù)據(jù)庫(kù)工作窗口,這樣,數(shù)據(jù)庫(kù)文件就創(chuàng)建完成了,接下來(lái)創(chuàng)建各個(gè)數(shù)據(jù)庫(kù)表。&

73、lt;/p><p>  這里只以創(chuàng)建考生信息表為例。</p><p>  在鼠標(biāo)雙擊數(shù)據(jù)庫(kù)窗口中的“使用設(shè)計(jì)器創(chuàng)建表”項(xiàng)目,Access XP會(huì)出現(xiàn)新建表的窗口,依次輸入考生信息表的結(jié)構(gòu):</p><p>  在字段名稱(chēng)列的第一行輸入“SID”;</p><p>  用鼠標(biāo)單擊第一行的數(shù)據(jù)類(lèi)型,這時(shí),數(shù)據(jù)類(lèi)型中出現(xiàn)“文本”字樣。單擊“文本”右側(cè)的

74、下拉按鈕,Access XP 彈出數(shù)據(jù)類(lèi)型列表,可以從這個(gè)列表中選擇相應(yīng)的數(shù)據(jù)類(lèi)型,對(duì)于這個(gè)字段也可以不選擇。</p><p>  在字段屬性部分單擊“字段大小”右側(cè)的輸入框,清除原來(lái)的50,輸入新的長(zhǎng)度10。</p><p>  按同樣的方法,依次輸入所有的字段,并設(shè)置相關(guān)屬性。需要說(shuō)明的是:數(shù)字類(lèi)型按字段長(zhǎng)度還分為:整型,長(zhǎng)整型和單精度數(shù)據(jù)類(lèi)型。</p><p>

75、;  設(shè)置主鍵是用鼠標(biāo)右鍵單擊字段列表中的SID行,在出現(xiàn)的菜單中選擇“主鍵”選項(xiàng)。這樣,在字段列表中的SID行面前會(huì)出現(xiàn)一個(gè)鑰匙的圖標(biāo),表示這個(gè)地段是主鍵。</p><p>  單擊保存按鈕,在出現(xiàn)的“另存為”對(duì)話(huà)框中,輸入表的名稱(chēng)“StudentInfo”,然后單擊“確定”。</p><p>  按同樣的方法,就可以建立其它表。</p><p>  6個(gè)表創(chuàng)建完

76、的界面如圖4.7所示。</p><p><b>  圖11 數(shù)據(jù)表圖</b></p><p>  4.2.2數(shù)據(jù)表的關(guān)系</p><p>  關(guān)系(Relationship)描述了數(shù)據(jù)庫(kù)中各個(gè)表之間的連帶關(guān)系和一一對(duì)應(yīng)關(guān)系。在上面設(shè)計(jì)的數(shù)據(jù)庫(kù)的各個(gè)表中,每一個(gè)表都記錄了一個(gè)特定的內(nèi)容范圍,但是這些內(nèi)容之間也是有關(guān)聯(lián)的。</p>&

77、lt;p>  比如注冊(cè)信息表(RegInfo)中記錄的考生信息,要通過(guò)SID字段道相應(yīng)的考生信息表(StudentInfo)中查找;而科目信息又要通過(guò)EID到考試科目信息表(ExamInfo)中查找,這些相互依賴(lài)的關(guān)聯(lián)就叫做關(guān)系。</p><p>  在設(shè)計(jì)的考試系統(tǒng)數(shù)據(jù)庫(kù)中,除了系統(tǒng)信息表(SysInfo)外,其它的各個(gè)表之間都是有聯(lián)系的,這些表之間就是靠關(guān)系來(lái)描述它們的聯(lián)系的,如4.8所示。</p

78、><p>  圖中用線(xiàn)畫(huà)出了這些關(guān)系,用線(xiàn)連接在一起的兩個(gè)字段就是相互關(guān)聯(lián)的字段。</p><p>  創(chuàng)建關(guān)系的過(guò)程為:?jiǎn)螕艄ぞ邫谏系年P(guān)系按鈕,這時(shí)Access XP會(huì)出現(xiàn)編輯關(guān)系對(duì)話(huà)框。</p><p>  同時(shí)Access XP還會(huì)顯示“顯示表”窗口,用于向關(guān)系視圖中添加要?jiǎng)?chuàng)建關(guān)系的表。</p><p><b>  圖12 數(shù)據(jù)關(guān)

79、系表</b></p><p>  選擇“表”選項(xiàng)卡,在其列表中選擇第一個(gè)表,然后單擊“添加”按鈕,重復(fù)執(zhí)行這個(gè)過(guò)程,直到所有的表都添加到“關(guān)系”窗口中。</p><p>  再單擊“顯示表”窗口中的“關(guān)閉”按鈕。這時(shí)會(huì)在“關(guān)系”窗口中看到所有已經(jīng)添加的表。接下來(lái),將這些表稍加布局,可以看到關(guān)系的窗口。</p><p>  Access XP會(huì)自動(dòng)根據(jù)主鍵

80、創(chuàng)建一些默認(rèn)關(guān)系,這時(shí)可以用鼠標(biāo)單擊每一條關(guān)系線(xiàn),然后按鍵盤(pán)上的“Delete”鍵,Access XP會(huì)詢(xún)問(wèn)用法是否確定刪除,單擊是即可。</p><p>  接下來(lái)就要?jiǎng)?chuàng)建的是需要的關(guān)系了,首先用鼠標(biāo)左鍵按住StudentInfo表中的SID字段,拖動(dòng)到RegInfo表中的SID字段上面,釋放鼠標(biāo)按鍵。這時(shí)Access XP中會(huì)出現(xiàn)“編輯關(guān)系”窗口。</p><p>  單擊“編輯關(guān)系”

81、窗口中的“創(chuàng)建”按鈕即可創(chuàng)建一個(gè)關(guān)系。</p><p>  按照同樣的方法創(chuàng)建其它關(guān)系。</p><p>  4.3 Access數(shù)據(jù)庫(kù)的安全性 </p><p>  添加需要字段:首先在數(shù)據(jù)窗口中雙擊“SysInfo”表,這時(shí)Access XP會(huì)彈出標(biāo)題為“SysInfo”的窗口。</p><p>  在這個(gè)表中,創(chuàng)建的3個(gè)字段就列在表的第

82、一行中,依次輸入需要的數(shù)據(jù),如圖4.9所示。</p><p>  圖13 系統(tǒng)信息表結(jié)構(gòu)</p><p>  在輸入的這些數(shù)據(jù)中,可以看出,每一行就是一條Access記錄,其中Password是保存的管理員密碼,ENum就是當(dāng)前參加考試的人數(shù)。</p><p>  然后關(guān)閉這個(gè)窗口,Access XP會(huì)自動(dòng)保存輸入的數(shù)據(jù)。</p><p> 

83、 對(duì)數(shù)據(jù)庫(kù)安全的考慮:</p><p>  本系統(tǒng)使用了Access自身的加密功能對(duì)數(shù)據(jù)庫(kù)的存取進(jìn)行限制.具體方法如下:</p><p>  選擇“工具”→“安全”→“設(shè)置數(shù)據(jù)庫(kù)密碼”。</p><p>  在出現(xiàn)的“設(shè)置數(shù)據(jù)庫(kù)密碼”窗口中輸入密碼,然后在“驗(yàn)證”文本框中重復(fù)輸入一遍密碼,最有單擊“確定”。</p><p>  其實(shí),Acce

84、ss也支持多用戶(hù)管理,選擇“工具”→“安全”→“用戶(hù)與組帳戶(hù)”可以設(shè)置用戶(hù)和組的信息。</p><p>  在“用戶(hù)與組帳戶(hù)”對(duì)話(huà)框中,可以建立、刪除、管理用戶(hù)和組,并且可以更改用戶(hù)和登陸密碼。</p><p>  而使用“工具”→“安全”→“用戶(hù)與組權(quán)限”選項(xiàng),就可以設(shè)置用戶(hù)和組權(quán)限了。</p><p>  在“用戶(hù)與組權(quán)限”對(duì)話(huà)框中,讀者可以為已經(jīng)建立的用戶(hù)和組

85、設(shè)置權(quán)限了,這些權(quán)限包括:是否允許插入、刪除、修改、更新、讀取數(shù)據(jù),是否允許管理數(shù)據(jù)庫(kù)等。通過(guò)這些權(quán)限的設(shè)置,可以顯示出使用數(shù)據(jù)庫(kù)和訪問(wèn)數(shù)據(jù)庫(kù)的一部分人。</p><p><b>  5 系統(tǒng)的實(shí)現(xiàn)</b></p><p>  5.1計(jì)算機(jī)等級(jí)考試系統(tǒng)應(yīng)用程序框架</p><p>  5.1.1服務(wù)端管理程序框架</p><

86、p><b>  (1)創(chuàng)建工程</b></p><p>  首先選擇了“開(kāi)始”→“程序”→“Microsoft Visual Basic 6.0中文版”選項(xiàng),進(jìn)入Visual Basic 的集成開(kāi)發(fā)環(huán)境。</p><p>  Visual Basic 會(huì)自動(dòng)彈出一個(gè)“新建工程”對(duì)話(huà)框。這個(gè)對(duì)話(huà)框用于簡(jiǎn)化新建和打開(kāi)工程的操作。選擇了對(duì)話(huà)框下方的“不再顯示這個(gè)對(duì)話(huà)框

87、”復(fù)選框。</p><p>  開(kāi)發(fā)環(huán)境中是空的,沒(méi)有任何內(nèi)容。選擇“文件”→“新建工程”,這時(shí)Visual Basic就會(huì)彈出“新建工程”對(duì)話(huà)框。</p><p>  在這個(gè)對(duì)話(huà)框中選擇“標(biāo)準(zhǔn)EXE”選項(xiàng),然后點(diǎn)擊“確定”按鈕,就創(chuàng)建了一個(gè)新的Visual Basic 工程。</p><p><b>  (2)命名工程</b></p&g

88、t;<p>  選擇開(kāi)發(fā)環(huán)境右側(cè)工程管理窗口,選擇其中的“工程1(工程1)”選項(xiàng),然后在下面“屬性”窗口中輸入“vbpExamServer”。</p><p>  比較好的命名方法,是使用一套標(biāo)準(zhǔn)、在整個(gè)開(kāi)發(fā)過(guò)程中都遵循的命名方案。所以本系統(tǒng)中使用“類(lèi)型名+對(duì)象名稱(chēng)“的方式命名文件和控件。舉例來(lái)說(shuō),對(duì)于VisualBasic開(kāi)發(fā)應(yīng)用程序時(shí),采用vbpExamServer,其中vbp表示這是一個(gè)Vis

89、ual Basic 工程(Visual Basic Project),ExamServer表示是考試系統(tǒng)服務(wù)端程序。</p><p><b>  (3)命名主窗體</b></p><p>  在新的工程中,Visual Basic會(huì)自動(dòng)建立一個(gè)窗體,并命名為Form1。在Visual Basic 開(kāi)發(fā)環(huán)境右側(cè)“屬性”口中單擊“(名稱(chēng))”目,然后輸入“frmMain”。

90、</p><p>  這樣,一個(gè)基本的工程就創(chuàng)建完成了。這個(gè)工作實(shí)際上是創(chuàng)建了兩個(gè)文件:一個(gè)Visual Basic工程文件,另一個(gè)是窗體文件。</p><p>  5.1.2 客戶(hù)端考試程序框架</p><p>  (1)創(chuàng)建客戶(hù)端工程</p><p>  在剛才建立工程基礎(chǔ)上,在選擇“文件”→“新建工程”選項(xiàng),在“新建工程”中選擇“標(biāo)準(zhǔn)E

91、XE”選項(xiàng),最后單擊“確定”按鈕。 </p><p>  這時(shí)Visual Basic會(huì)在工程管理窗口中添加一個(gè)名為“工程1”的工程,這個(gè)新工程會(huì)與之前建立的服務(wù)端工程并列在工程管理器窗口中。</p><p>  (2)命名工程和窗體</p><p>  與之前的操作方式相同,將剛剛添加的工程命名為“vbpExmaClient”,將窗口文件命名為“frmMain”

92、。</p><p>  這樣,客戶(hù)端的程序框架也就創(chuàng)建完成了。</p><p>  5.1.3建立Visual Basic 和數(shù)據(jù)庫(kù)的接口</p><p>  為了方便用戶(hù)大量地訪問(wèn)數(shù)據(jù)庫(kù),本人使用了ADO(Active Data Object,Active數(shù)據(jù)對(duì)象)數(shù)據(jù)訪問(wèn)技術(shù)。</p><p>  在Visual Basic中,可以通過(guò)很

93、多方式連接數(shù)據(jù)庫(kù),比較常用的包括:DAO(Data Access Object,數(shù)據(jù)訪問(wèn)對(duì)象) 、ADO、數(shù)據(jù)控件和ODBC API。</p><p>  本人使用ADO,因?yàn)樗筂icrosoft公司開(kāi)發(fā)的新的數(shù)據(jù)庫(kù)訪問(wèn)方式,具有很多新的特性,并且程序的編寫(xiě)也比較簡(jiǎn)單。</p><p>  5.1.4 引用ADO庫(kù)文件</p><p>  ADO庫(kù)在默認(rèn)情況下,是

94、不加載到 Visual Basic工程中的,所以手動(dòng)增加了這個(gè)庫(kù)。</p><p>  選擇“工程”→“引用”選用,這時(shí)Visual Basic會(huì)彈出“引用”對(duì)話(huà)框,選中“Microsoft Active Data Object2.1Library”選項(xiàng)前面的復(fù)選框,然后單擊“確定”按鈕。</p><p>  由于庫(kù)文件只會(huì)加載到當(dāng)前的工程中,所以另外一個(gè)工程中也增加這個(gè)庫(kù)文件。</

95、p><p>  5.1.5建立數(shù)據(jù)庫(kù)的連接</p><p>  用鼠標(biāo)右鍵單擊工程管理器窗口中的“vbpExamServer”項(xiàng)目,然后選擇“添加”→“添加模塊”選項(xiàng),在出現(xiàn)的“添加模塊”窗口中選擇“模塊”選項(xiàng),并單擊“打開(kāi)”按鈕。在工程管理器窗口中選擇這個(gè)模塊,參照前面的方法,在屬性窗口中,將它的“名稱(chēng)”屬性修改為“DeclarVir:”。</p><p>  在模塊

96、的代碼窗口中,輸入下面代碼:</p><p>  Global onExam As New ADODB.Connection</p><p>  Dim IsLocked As Boolean</p><p>  用同樣的方法再建立一個(gè)模塊,命名為“GlobalFunction”。在這個(gè)模塊的代碼編輯窗體中,輸入下面的代碼:</p><p>

97、  Sub InitProgrm()</p><p><b>  '初始化系統(tǒng)</b></p><p>  '打開(kāi)數(shù)據(jù)庫(kù)連接,設(shè)置初始變量</p><p>  DataPath = App.Path & "\Data\"</p><p>  cnExam.Open "

98、DSN=ExamSystem", "", "" '打開(kāi)數(shù)據(jù)庫(kù)連接</p><p>  IsLocked = False</p><p><b>  End Sub</b></p><p>  這樣就完成了一個(gè)初始化系統(tǒng)的函數(shù)。</p><p>  下面將它與主程序

99、掛接。在主窗口中雙擊窗體的空白區(qū)域,進(jìn)入代碼編輯窗體。增加下面的一行:</p><p><b>  InitProg</b></p><p>  保存工程后,就完成了Visual Basic和數(shù)據(jù)庫(kù)的連接。當(dāng)提示保存模塊時(shí),保持Visual Basic默認(rèn)值即可。</p><p>  與上面的方法類(lèi)似,為工程“vbpExamClient”也建立

100、與數(shù)據(jù)庫(kù)的連接。</p><p>  5.1.6創(chuàng)建數(shù)據(jù)源</p><p>  ODBC(Open DataBase Conenction,開(kāi)放數(shù)據(jù)庫(kù)連接)數(shù)據(jù)源可以用來(lái)訪問(wèn)多種數(shù)據(jù)庫(kù)管理系統(tǒng)的數(shù)據(jù)。為了在數(shù)據(jù)庫(kù)中使用ADO技術(shù),必須首先創(chuàng)建數(shù)據(jù)源。</p><p>  (1)打開(kāi)數(shù)據(jù)源管理器</p><p>  在Windows XP操作系

101、統(tǒng)中,選擇“開(kāi)始”→“控制版面”→“管理工具”→“ODBC 數(shù)據(jù)源(32位)”選項(xiàng),即可打開(kāi)“Microsoft ODBC 數(shù)據(jù)源”對(duì)話(huà)框。</p><p>  (2)建立ODBC DSN數(shù)據(jù)源</p><p>  在“Microsoft ODBC管理器”對(duì)話(huà)框中,選定“用戶(hù)DSN”選項(xiàng)卡,然后單擊“添加”按鈕,出現(xiàn)“創(chuàng)建新數(shù)據(jù)源向?qū)?duì)話(huà)框”,因?yàn)槭褂玫氖荕icrosoft Access數(shù)

102、據(jù)庫(kù),則在驅(qū)動(dòng)程序列表中選擇了“Microsoft Access Driver(*.mdb)”選項(xiàng),然后單擊“完成”按鈕。</p><p>  這時(shí)出現(xiàn)“ODBC Microsoft Access”安裝對(duì)話(huà)框。在這個(gè)對(duì)話(huà)框中,指定了考試.mdb這個(gè)Access數(shù)據(jù)庫(kù)。</p><p>  在“數(shù)據(jù)源名”中輸入數(shù)據(jù)庫(kù)源的名稱(chēng)“ExamSystem”,然后單擊“選擇”按鈕,在彈出“選擇數(shù)據(jù)庫(kù)”

103、對(duì)話(huà)框中選擇考試系統(tǒng)數(shù)據(jù)庫(kù)文件所在的文件夾,然后選定“考試.mab”文件,并單擊“確定”按鈕,返回到“ODBC Microsoft Access 安裝”對(duì)話(huà)框,單擊確定,再連續(xù)單擊“確定”按鈕退出ODBC管理器,這樣就完成了數(shù)據(jù)源的創(chuàng)建。</p><p>  5.2服務(wù)端主程序的建立</p><p>  5.2.1統(tǒng)一功能模塊與主程序界面</p><p><b

104、>  (1)設(shè)置窗體屬性</b></p><p><b>  ●窗體的大小</b></p><p>  使用的修改窗體大小的方法是使用“屬性”窗口。首先確定已經(jīng)選擇了當(dāng)前的窗體(可以通過(guò)屬性窗口上方的對(duì)象列表查看當(dāng)前的操作對(duì)象)。</p><p>  修改“Height”和“Width”屬性。在這里設(shè)置的值為:Height=6

105、150,Width=8505,作用是為了是窗體在不同的分辨率下都能保持一樣的大小。</p><p><b>  ●窗體的顯示特性</b></p><p>  服務(wù)器程序具有考試監(jiān)視器的功能,所以它的窗體內(nèi)容相對(duì)固定,基本上不需要調(diào)整窗體的大小,所以就把窗體設(shè)置為不能修改大小。</p><p>  首先在長(zhǎng)體屬性窗口中,設(shè)置當(dāng)前的操作對(duì)象為“fr

106、mMain”。接下來(lái)在屬性窗口中把“BorderStyle”屬性修改為“3-Fixed Dialog”,“Caption”屬性修改為“管理計(jì)算機(jī)自動(dòng)化考試系統(tǒng)—服務(wù)器”,“StarUpRosition”屬性修改為“1—所有者中心”,其它屬性沒(méi)有修改。</p><p><b>  ●設(shè)置功能按鈕</b></p><p>  作為程序主窗體,它應(yīng)該包括應(yīng)用程序中用于的全部

107、功能。所以,在設(shè)計(jì)程序的窗</p><p>  口時(shí),應(yīng)該把所有功能都包括進(jìn)去了。運(yùn)行的窗體,如圖5.1所示。</p><p>  圖14 服務(wù)端管理界面</p><p><b>  設(shè)計(jì)過(guò)程如下:</b></p><p><b>  ●繪制Frame</b></p><p>

108、;  上面窗體中左側(cè)功能按鈕外面的一圈就是Frame,F(xiàn)rame是一種Container,它可以用于盛放其它的控件,還可以對(duì)控件進(jìn)行分組。</p><p>  首先單擊開(kāi)發(fā)環(huán)境左側(cè)的控件工具的Frame工具,再在窗體上按住鼠標(biāo)左鍵,然后拖出一個(gè)矩形框,最后釋放鼠標(biāo)即可。</p><p>  同時(shí)重復(fù)同樣的過(guò)程2次,即可創(chuàng)建3個(gè) Frame控件。</p><p>  

109、接下來(lái)就修改控件的屬性,對(duì)于這3個(gè)控件。他們的功能只是用作顯示,并不響應(yīng)鼠標(biāo)或鍵盤(pán)的事件,所以并沒(méi)有修改它的名稱(chēng)“名稱(chēng)”屬性。只是將它們的“Caption”屬性設(shè)置為相應(yīng)文字。</p><p><b>  ●放置功能按鈕</b></p><p>  在Frame控件里面放置了其它的控件。</p><p>  首先選擇控件工具箱的命令按鈕工具,在

110、第一個(gè)Frame中拖動(dòng),形成一個(gè)按鈕,按照同樣的方法,在第一個(gè)Frame中放置3個(gè)按鈕,第二Frame中放置3個(gè)按鈕,第三個(gè)Frame中放置4個(gè)按鈕控件。</p><p>  .設(shè)置功能按鈕的屬性</p><p>  接下來(lái),為這些按鈕設(shè)置了屬性。按照?qǐng)D5.1依次修改設(shè)置按鈕的“Caption”屬性。</p><p>  5.2.2信息顯示的完成</p>

111、<p>  (1)繪制PictureBox</p><p>  PictureBox也是一種容器。它不僅可以用于顯示圖片(這也是它最初的功能),也可以象Frame一樣作為其它控件的容器。</p><p>  在此考試系統(tǒng)界面中,將右上方的“狀態(tài)顯示區(qū)”和右下方的“鎖定提示區(qū)”,分別設(shè)置兩個(gè)PictureBox的目的是不同的。前者用于顯示日期、時(shí)間、考試人數(shù)的內(nèi)容屬于同一個(gè)整體

112、;而后者則是由于鎖定狀態(tài)的信息提示和密碼輸入框不僅屬于同一個(gè)整體,而且在操作時(shí)要整體進(jìn)行動(dòng)作,所以在這個(gè)區(qū)域中的控件放置到一個(gè)PictureBox中能使得程序的編寫(xiě)更加簡(jiǎn)單。</p><p>  首先在控件工具箱單擊按鈕PictureBox控件按鈕,然后在窗體上按下鼠標(biāo)左鍵并拖動(dòng),形成一個(gè)矩形,然后釋放鼠標(biāo),就可以創(chuàng)建一個(gè)PictureBox。</p><p>  (2)設(shè)置Picture

113、Box的屬性</p><p>  由于這里創(chuàng)建的兩個(gè)PictureBox要在程序代碼中使用,為了使控件在程序代碼的書(shū)寫(xiě)中更容易識(shí)別,使用了標(biāo)準(zhǔn)的對(duì)象命名方法為這兩個(gè)PictureBox設(shè)置“名稱(chēng)”屬性。</p><p>  將顯示系統(tǒng)狀態(tài)信息的PictureBox的“名稱(chēng)”屬性設(shè)置為“picInfo”.首先用鼠標(biāo)選中PictureBox控件,接著在“屬性”窗口中選擇“名稱(chēng)”屬性,然后清除原

114、來(lái)的“Picture1”,輸入新的名稱(chēng)”picInfo”。</p><p>  現(xiàn)在的PictureBox是具有凹陷效果的,在考試系統(tǒng)中,這兩個(gè)使用平面效果更為合適。所以設(shè)置了PictureBox的“Border Style”(邊框樣式)屬性,只要單擊選中PictureBox控件,在屬性窗口中選擇“Border Style”(邊框樣式)屬性,單擊“Border Style”項(xiàng)目右側(cè)的下拉按鈕,選擇其中的”0-No

115、ne”。</p><p>  (3)繪制PicInfo中的控件</p><p>  首先選擇控件工具箱中的Label控件,在PictureBox中拖動(dòng),繪制出一個(gè)Label控件;接下來(lái)按照同樣的方法在繪制6個(gè);然后選擇控件工具箱的 Timer控件,在PicInfo容器中任意拖動(dòng),釋放鼠標(biāo)后,就會(huì)在拖動(dòng)的位置上出現(xiàn)一個(gè)時(shí)鐘樣子的控件。</p><p>  接下來(lái)設(shè)置這

116、些Label控件的“Caption”屬性,將其中的4個(gè)Label控件分別設(shè)置為“當(dāng)前考試信息:”、“日期:”、“時(shí)間:”、“正在參加考試的人數(shù):”。由于這些Label控件在編寫(xiě)程序代碼時(shí)并不會(huì)使用,所有沒(méi)有設(shè)置它們的“名稱(chēng)”屬性。然后又設(shè)置了Timer控件的屬性:首先選中Timer控件,在“屬性”窗口中設(shè)置它的屬性,將“名稱(chēng)”屬性設(shè)置為“tmrMain”,“Enabled”屬性設(shè)置為 “True”,“Interval”屬性設(shè)置為“300

溫馨提示

  • 1. 本站所有資源如無(wú)特殊說(shuō)明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請(qǐng)下載最新的WinRAR軟件解壓。
  • 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請(qǐng)聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶(hù)所有。
  • 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ì)用戶(hù)上傳內(nèi)容的表現(xiàn)方式做保護(hù)處理,對(duì)用戶(hù)上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對(duì)任何下載內(nèi)容負(fù)責(zé)。
  • 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請(qǐng)與我們聯(lián)系,我們立即糾正。
  • 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時(shí)也不承擔(dān)用戶(hù)因使用這些下載資源對(duì)自己和他人造成任何形式的傷害或損失。

最新文檔

評(píng)論

0/150

提交評(píng)論