畢業(yè)設(shè)計(jì)(論文)基于VB的網(wǎng)絡(luò)考試系統(tǒng)_第1頁(yè)
畢業(yè)設(shè)計(jì)(論文)基于VB的網(wǎng)絡(luò)考試系統(tǒng)_第2頁(yè)
畢業(yè)設(shè)計(jì)(論文)基于VB的網(wǎng)絡(luò)考試系統(tǒng)_第3頁(yè)
畢業(yè)設(shè)計(jì)(論文)基于VB的網(wǎng)絡(luò)考試系統(tǒng)_第4頁(yè)
畢業(yè)設(shè)計(jì)(論文)基于VB的網(wǎng)絡(luò)考試系統(tǒng)_第5頁(yè)
已閱讀5頁(yè),還剩21頁(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、本科畢業(yè)論文(設(shè)計(jì))題目: 基于vb的網(wǎng)絡(luò)考試系統(tǒng) 學(xué)院: 數(shù)學(xué)與計(jì)算機(jī)科學(xué)學(xué)院 班級(jí): 07級(jí)計(jì)算機(jī)一班 姓名: 指導(dǎo)教師: 職稱: 講師 完成日期: 2011 年 05 月 27 日網(wǎng)絡(luò)考試系統(tǒng) 摘要:在網(wǎng)絡(luò)技術(shù)逐漸滲入社會(huì)生活各個(gè)層面的今天,電子考試的發(fā)展使得傳統(tǒng)的考試方式也面臨著變革,而網(wǎng)絡(luò)考試則是一個(gè)很重要的方向?;诰W(wǎng)絡(luò)的考試系統(tǒng)是傳統(tǒng)考場(chǎng)的延伸,加上數(shù)據(jù)庫(kù)技術(shù)的利用,大大簡(jiǎn)化了傳統(tǒng)考試的過(guò)程。因此網(wǎng)絡(luò)考試系統(tǒng)是電子化教學(xué)不可缺少的一個(gè)重要環(huán)節(jié)。所以現(xiàn)在較好的考試方法為網(wǎng)絡(luò)考試,考生通過(guò)姓名、準(zhǔn)考證號(hào)碼或口令進(jìn)行登錄,試卷可以根據(jù)題庫(kù)中的內(nèi)容即時(shí)生成,可避免考試前的壓題;而且可以采

2、用大量標(biāo)準(zhǔn)化試題,從而使用計(jì)算機(jī)判卷,大大提高閱卷效率;還可以直接把成績(jī)送到數(shù)據(jù)庫(kù)中,進(jìn)行統(tǒng)計(jì)、排序等操作。因此,采用網(wǎng)絡(luò)考試方式將是以后考試發(fā)展的趨勢(shì)。本考試系統(tǒng)是利用非常流行的基于basic語(yǔ)言的可視化編程工具microsoft visual basic 6.0,并用sql server 2000數(shù)據(jù)庫(kù)編寫(xiě)的應(yīng)用程序。它有應(yīng)用簡(jiǎn)單、升級(jí)和部署方便、擴(kuò)展性強(qiáng)等特點(diǎn)。滿足任何授權(quán)的考生隨時(shí)隨地考試并迅速獲得成績(jī)。關(guān)鍵詞:網(wǎng)絡(luò)考試系統(tǒng);vb;sql server 2000數(shù)據(jù)庫(kù).目 錄一 、概述1(一)系統(tǒng)簡(jiǎn)介1(二)開(kāi)發(fā)用到的工具和語(yǔ)言11.microsoft visual basic 6.0

3、12. sql server 200033.visual basic語(yǔ)言特點(diǎn)4二、系統(tǒng)分析5(一)需求分析51.系統(tǒng)需要解決的主要問(wèn)題52.系統(tǒng)應(yīng)該具備的基本功能6(二)系統(tǒng)達(dá)到的目標(biāo)6三、系統(tǒng)概要設(shè)計(jì)7(一)系統(tǒng)模塊圖7(二)系統(tǒng)流程圖71.考生考試管理數(shù)據(jù)流程圖72. 教師閱卷管理管理數(shù)據(jù)流程圖8(三) 數(shù)據(jù)庫(kù)設(shè)計(jì)9(四)關(guān)鍵技術(shù)101. 考生隨機(jī)抽題的實(shí)現(xiàn)102. 考試定時(shí)功能的實(shí)現(xiàn)113. mschart控件的使用12四、系統(tǒng)實(shí)現(xiàn)13(一) 主要窗口的設(shè)計(jì)及功能實(shí)現(xiàn)14(二) 部分功能的演示19五、小結(jié)21參考文獻(xiàn)21 一 、概述(一)系統(tǒng)簡(jiǎn)介 我們知道,在現(xiàn)在信息飛速發(fā)展的時(shí)代,速度

4、和效率已經(jīng)變成非常重要了,在學(xué)校也如此,舉行一次考試也可以不要集中學(xué)生在一起進(jìn)行,可以在學(xué)校的網(wǎng)內(nèi)進(jìn)行,這可以提高考試的效率,網(wǎng)上考試系統(tǒng)已變的非常重要。以前的人工監(jiān)考既費(fèi)時(shí)又費(fèi)力,現(xiàn)在有了網(wǎng)上考試系統(tǒng)只要一個(gè)管理員,一切就輕松解決了,對(duì)考試的公平性和保密性也得到了很好的保證。對(duì)試卷的管理也很方便,對(duì)學(xué)生的情況管理也特別管用,這些優(yōu)點(diǎn)極大的提高了傳統(tǒng)考試的效率,使得網(wǎng)絡(luò)考試系統(tǒng)變的相當(dāng)重要。由此可見(jiàn),開(kāi)發(fā)一套網(wǎng)絡(luò)考試系統(tǒng)是很有必要的。傳統(tǒng)考試要求老師刻試卷、印試卷、安排考試、監(jiān)考、收集試卷、評(píng)改試卷、講評(píng)試卷和分析試卷。這是一個(gè)漫長(zhǎng)而復(fù)雜的過(guò)程,已經(jīng)越來(lái)越不適應(yīng)現(xiàn)代教學(xué)的需要。在網(wǎng)絡(luò)技術(shù)逐漸滲

5、入社會(huì)生活各個(gè)層面的今天,傳統(tǒng)的考試方式也面臨著變革,而網(wǎng)絡(luò)考試則是一個(gè)很重要的方向?;诰W(wǎng)絡(luò)的考試系統(tǒng)是傳統(tǒng)考場(chǎng)的延伸,加上數(shù)據(jù)庫(kù)技術(shù)的利用,大大簡(jiǎn)化了傳統(tǒng)考試的過(guò)程。因此網(wǎng)絡(luò)考試系統(tǒng)是電子化教學(xué)不可缺少的一個(gè)重要環(huán)節(jié)。所以現(xiàn)在較好的考試方法為網(wǎng)絡(luò)考試,考生通過(guò)姓名、準(zhǔn)考證號(hào)碼或口令進(jìn)行登錄,試卷可以根據(jù)題庫(kù)中的內(nèi)容即時(shí)生成,可避免考試前的壓題;而且可以采用大量標(biāo)準(zhǔn)化試題,從而使用計(jì)算機(jī)判卷,大大提高閱卷效率;還可以直接把成績(jī)送到數(shù)據(jù)庫(kù)中,進(jìn)行統(tǒng)計(jì)、排序等操作。因此,采用網(wǎng)絡(luò)考試方式將是以后考試發(fā)展的趨勢(shì)。在下面的各章中我將以開(kāi)發(fā)一套基于局域網(wǎng)的網(wǎng)絡(luò)考試系統(tǒng)為例,談?wù)勗陂_(kāi)發(fā)過(guò)程中所涉及的問(wèn)題

6、及解決的方法。軟件采用visual basic 6.0作為系統(tǒng)的開(kāi)發(fā)工具,采用sql server 2000中文版作為后臺(tái)數(shù)據(jù)庫(kù)來(lái)維護(hù)和管理數(shù)據(jù)庫(kù)。本軟件主要針對(duì)各大高校和中小學(xué)校設(shè)計(jì),實(shí)現(xiàn)基于局域網(wǎng)的網(wǎng)絡(luò)考試系統(tǒng)。它主要完成了模擬一般考試的各個(gè)功能,如考試的分發(fā)試卷,交卷,學(xué)生異常的處理等功能。本系統(tǒng)界面友好,操作簡(jiǎn)單,即使對(duì)不太熟悉電腦的老師來(lái)說(shuō)也是很容易操作的。隨著網(wǎng)絡(luò)的逐漸普及,本系統(tǒng)已變得越來(lái)越重要。(二)開(kāi)發(fā)用到的工具和語(yǔ)言1.microsoft visual basic 6.0microsoft visual basic 6.0是非常流行的基于basic語(yǔ)言的可視化編程工具,其開(kāi)

7、發(fā)界面如圖1.1所示。圖1.1 visual basic集成開(kāi)發(fā)環(huán)境microsoft visual basic 6.0能夠成為當(dāng)今最流行的軟件開(kāi)發(fā)工具之一,是與其卓越的性能分不開(kāi)的,它匯集了微軟(microsoft)公司的技術(shù)精華,不僅全面使用了面向?qū)ο蟮募夹g(shù),而且在編譯技術(shù)上也作了優(yōu)化。與其他開(kāi)發(fā)工具相比,visual basic 6.0具有明顯的優(yōu)勢(shì):1使用basic語(yǔ)言作為基礎(chǔ),開(kāi)發(fā)難度低、開(kāi)發(fā)工作量小。2visual basic 6.0開(kāi)發(fā)環(huán)境十分友好,強(qiáng)大的可視化開(kāi)發(fā)方式能夠幫助用戶輕松地開(kāi)發(fā)出多種類型的應(yīng)用程序。3由于微軟公司在pc操作系統(tǒng)市場(chǎng)上的壟斷地位,使用微軟發(fā)行的編程軟件

8、能夠提供與windows操作系統(tǒng)的最大兼容性。 4微軟公司開(kāi)發(fā)的編程環(huán)境visual basic,不僅能夠提供強(qiáng)大的圖形支持,而且能夠使應(yīng)用程序與硬件相對(duì)獨(dú)立。5windowsapi為實(shí)現(xiàn)應(yīng)用程序提供了強(qiáng)大的擴(kuò)展功能支持。6為用戶提供了許多有用的調(diào)試和分析工具,能夠幫助用戶尋找錯(cuò)誤和提高應(yīng)用程序效率。 7擁有解釋方式和編譯方式兩種運(yùn)行方式,使得應(yīng)用程序的調(diào)試更加方便、輕松。鑒于以上的優(yōu)點(diǎn),我們選擇visual basic 6.0作為此次網(wǎng)絡(luò)考試系統(tǒng)的開(kāi)發(fā)工具。2. sql server 2000圖1.2sql server 2000 (如圖1.2)是microsoft 公司推出的sql ser

9、ver 數(shù)據(jù)庫(kù)管理系統(tǒng)的一個(gè)版本。該版本繼承了sql server 7.0 版本的優(yōu)點(diǎn)同時(shí)又比它增加了許多更先進(jìn)的功能,具有使用方便,可伸縮性好與相關(guān)軟件集成程度高等優(yōu)點(diǎn),可跨越從運(yùn)行microsoft windows 98 的膝上型電腦到運(yùn)行microsoft windows 2000 的大型多處理器的服務(wù)器等多種平臺(tái)使用。 sql server 2000 的特性包括: 1.internet 集成。sql server 2000 數(shù)據(jù)庫(kù)引擎提供完整的xml 支持。它還具有構(gòu)成最大的web 站點(diǎn)的數(shù)據(jù)存儲(chǔ)組件所需的可伸縮性、可用性和安全功能。sql server 2000 程序設(shè)計(jì)模型與 wi

10、ndows dna 構(gòu)架集成,用以開(kāi)發(fā) web 應(yīng)用程序,并且sql server 2000 支持 english query 和 microsoft 搜索服務(wù)等功能,在web 應(yīng)用程序中包含了用戶友好的查詢和強(qiáng)大的搜索功能。 2.可伸縮性和可用性。同一個(gè)數(shù)據(jù)庫(kù)引擎可以在不同的平臺(tái)上使用,從運(yùn)行 microsoft windows 98 的便攜式電腦,到運(yùn)行 microsoft windows 2000 數(shù)據(jù)中心版的大型多處理器服務(wù)器。sql server 2000 企業(yè)版支持聯(lián)合服務(wù)器、索引視圖和大型內(nèi)存支持等功能,使其得以升級(jí)到最大 web 站點(diǎn)所需的性能級(jí)別。 3.企業(yè)級(jí)數(shù)據(jù)庫(kù)功能。sq

11、l server 2000 關(guān)系數(shù)據(jù)庫(kù)引擎支持當(dāng)今苛刻的數(shù)據(jù)處理環(huán)境所需的功能。數(shù)據(jù)庫(kù)引擎充分保護(hù)數(shù)據(jù)完整性,同時(shí)將管理上千個(gè)并發(fā)修改數(shù)據(jù)庫(kù)的用戶的開(kāi)銷減到最小。sql server 2000 分布式查詢使您得以引用來(lái)自不同數(shù)據(jù)源的數(shù)據(jù),就好象這些數(shù)據(jù)是 sql server 2000 數(shù)據(jù)庫(kù)的一部分,同時(shí)分布式事務(wù)支持充分保護(hù)任何分布式數(shù)據(jù)更新的完整性。復(fù)制同樣使您得以維護(hù)多個(gè)數(shù)據(jù)復(fù)本,同時(shí)確保單獨(dú)的數(shù)據(jù)復(fù)本保持同步??蓪⒁唤M數(shù)據(jù)復(fù)制到多個(gè)移動(dòng)的脫接用戶,使這些用戶自主地工作,然后將他們所做的修改合并回發(fā)布服務(wù)器。 4.易于安裝、部署和使用。 sql server 2000 中包括一系列管理

12、和開(kāi)發(fā)工具,這些工具可改進(jìn)在多個(gè)站點(diǎn)上安裝、部署、管理和使用 sql server 的過(guò)程。sql server 2000 還支持基于標(biāo)準(zhǔn)的、與 windows dna 集成的程序設(shè)計(jì)模型,使 sql server 數(shù)據(jù)庫(kù)和數(shù)據(jù)倉(cāng)庫(kù)的使用成為生成強(qiáng)大的可伸縮系統(tǒng)的無(wú)縫部分。這些功能使您得以快速交付 sql server 應(yīng)用程序,使客戶只需最少的安裝和管理開(kāi)銷即可實(shí)現(xiàn)這些應(yīng)用程序。其主要特點(diǎn)如下: (1)高性能設(shè)計(jì),可充分利用windows nt的優(yōu)勢(shì)。 (2)系統(tǒng)管理先進(jìn),支持windows圖形化管理工具,支持本地和遠(yuǎn)程的系統(tǒng)管理和配置。 (3)強(qiáng)壯的事務(wù)處理功能,采用各種方法保證數(shù)據(jù)的完整

13、性。 (4)支持對(duì)稱多處理器結(jié)構(gòu)、存儲(chǔ)過(guò)程、odbc,并具有自主的sql語(yǔ)言。 sql server以其內(nèi)置的數(shù)據(jù)復(fù)制功能、強(qiáng)大的管理工具、與internet的緊密集成和開(kāi)放的系統(tǒng)結(jié)構(gòu)為廣大的用戶、開(kāi)發(fā)人員和系統(tǒng)集成商提供了一個(gè)出眾的數(shù)據(jù)庫(kù)平臺(tái)。所以sql server 2000也是一個(gè)很好的選擇。3.visual basic語(yǔ)言特點(diǎn)visual basic(以下簡(jiǎn)稱vb)是運(yùn)行于windows平臺(tái)下的一種可視化的高級(jí)編程語(yǔ)言。自1991年問(wèn)世以來(lái),vb適應(yīng)了windows3.x到windows 95/98及windows nt等各版本的操作系統(tǒng)的發(fā)展,廣泛應(yīng)用于普通窗口類、數(shù)據(jù)庫(kù)管理類、網(wǎng)絡(luò)

14、數(shù)據(jù)通信類等應(yīng)用程序的開(kāi)發(fā)。vb作為一種可視化的計(jì)算機(jī)的高級(jí)程序設(shè)計(jì)語(yǔ)言,有以下顯著的特點(diǎn):(1)vb繼承了basic語(yǔ)言簡(jiǎn)單易學(xué)的特點(diǎn) microsoft在發(fā)展vb過(guò)程中從來(lái)沒(méi)有忘記其根源,編程的入門(mén)者即使是一個(gè)對(duì)計(jì)算機(jī)工作原理一竅不通的人,也可以在相當(dāng)短的時(shí)間內(nèi)編寫(xiě)一個(gè)可行的windows程序。(2)與基于dos環(huán)境下的編程語(yǔ)言相比,vb編程思想上發(fā)生了根本的改變與基于dos環(huán)境下的編程語(yǔ)言相比,vb編程思想上發(fā)生了根本的改變,vb中引入了面向?qū)ο蟮某绦蛟O(shè)計(jì)方法,使程序設(shè)計(jì)人員從煩瑣的程序設(shè)計(jì)細(xì)節(jié)中解脫出來(lái),程序設(shè)計(jì)人員在進(jìn)行程序開(kāi)發(fā)時(shí),選擇適當(dāng)?shù)膶?duì)象構(gòu)造自己需要的界面。然后安排好某對(duì)象接

15、收到何消息做什么就可以了。而不需要具體地考慮對(duì)象如何做、哪個(gè)先做、哪個(gè)后做的問(wèn)題。(3)vb具有強(qiáng)大的數(shù)據(jù)庫(kù)管理功能 vb支持sql數(shù)據(jù)庫(kù)查詢,利用vb中嵌入的數(shù)據(jù)庫(kù)管理功能幾乎可以操縱各種格式的數(shù)據(jù)庫(kù)。(4)程序開(kāi)發(fā)環(huán)境高度集成化 vb是一個(gè)包括編輯、程序調(diào)試、程序運(yùn)行、程序編譯等各種功能的集成程序開(kāi)發(fā)環(huán)境。(5)vb適應(yīng)于開(kāi)發(fā)視窗類應(yīng)用程序 vb中包含大量的函數(shù)、命令及關(guān)鍵字,其中大部分與windows圖形用戶界面相關(guān),專業(yè)人員可以很方便地使用它們開(kāi)發(fā)出功能強(qiáng)大的windows應(yīng)用程序。二、系統(tǒng)分析要實(shí)現(xiàn)一個(gè)軟件系統(tǒng),首先應(yīng)該進(jìn)行需求分析,這樣才能令設(shè)計(jì)出的軟件滿足用戶的各項(xiàng)功能。下面就對(duì)

16、考試系統(tǒng)的設(shè)計(jì)進(jìn)行需求分析。(一)需求分析1.系統(tǒng)需要解決的主要問(wèn)題首先,因?yàn)榭荚囀敲嫦蛱囟ǖ哪承?duì)象的,所以考試者進(jìn)入系統(tǒng)應(yīng)該進(jìn)行身份驗(yàn)證。考試者進(jìn)入考試系統(tǒng)后,應(yīng)該能根據(jù)自己的需要選擇考試科目,所以該系統(tǒng)還應(yīng)具有考試科目選擇的功能??荚囉谝话愕膯螜C(jī)考試是不同的。鑒于考試環(huán)境一般為機(jī)房,考試者之間的距離很近,為了考試做到規(guī)范,對(duì)于每個(gè)應(yīng)試者來(lái)說(shuō),試卷的試題和題量都應(yīng)是相同的,但試題并不相同。試卷應(yīng)該從服務(wù)器的數(shù)據(jù)庫(kù)隨機(jī)抽取試題后動(dòng)態(tài)生成。另外,系統(tǒng)還應(yīng)該對(duì)考試時(shí)間進(jìn)行控制,時(shí)間到了會(huì)要求考試者交卷。考試者選擇答案提交后,應(yīng)該由計(jì)算機(jī)自動(dòng)判卷,得到成績(jī)后顯示出來(lái)。考試完畢后,可以返回登錄界面或

17、繼續(xù)考試。此外,應(yīng)該能夠方便、快捷的對(duì)考試系統(tǒng)進(jìn)行管理,此外,用戶還應(yīng)能進(jìn)行注冊(cè)。2.系統(tǒng)應(yīng)該具備的基本功能用戶登陸:用戶通過(guò)用戶名和密碼進(jìn)行登錄。用戶信息的管理:管理員可以增刪用戶。試題庫(kù)管理:可以增加、修改、刪除試題。試卷生成:從試題庫(kù)里隨機(jī)抽取試題生成一份原始試卷。在線考試:系統(tǒng)嚴(yán)格控制整個(gè)考試過(guò)程,實(shí)行時(shí)間的監(jiān)控與權(quán)限的控制,考生需要在限定的考試時(shí)間內(nèi)交卷。 計(jì)算機(jī)自動(dòng)閱卷:要求計(jì)算機(jī)能自動(dòng)閱卷,然后馬上顯示出考生分?jǐn)?shù)。成績(jī)查閱:考生考完以后,管理員應(yīng)該能對(duì)所有紀(jì)錄進(jìn)行查詢,并應(yīng)該可以刪除指定紀(jì)錄。網(wǎng)絡(luò)考試系統(tǒng)具有多用戶同時(shí)在線考試、考試時(shí)間控制、自動(dòng)判卷、題庫(kù)維護(hù),以及用戶管理等功能

18、。本系統(tǒng)主要針對(duì)高等院校的網(wǎng)絡(luò)考試,能幫助學(xué)校、企業(yè)、機(jī)關(guān)單位提高工作效率,實(shí)現(xiàn)考試信息管理以及考試流程的系統(tǒng)化、規(guī)范化和自動(dòng)化。本系統(tǒng)采用集中式的信息數(shù)據(jù)庫(kù),考生隨機(jī)抽取考試題目,對(duì)高等學(xué)校作弊成風(fēng)的壞習(xí)慣起到一定的遏制作用,同時(shí)能減輕了監(jiān)考、判卷人員的工作任務(wù),減少了人員配置,降低了管理成本,方便教師統(tǒng)計(jì)考試結(jié)果,并能提供試卷分析等功能。同時(shí),網(wǎng)絡(luò)考試系統(tǒng)簡(jiǎn)化了傳統(tǒng)考試過(guò)程,其自動(dòng)評(píng)閱、計(jì)分、成績(jī)存檔功能將有效地避免資源的浪費(fèi),有利于環(huán)保,減少工作人員,提高效率。(二)系統(tǒng)達(dá)到的目標(biāo)一個(gè)完善的網(wǎng)絡(luò)考試系統(tǒng)的任務(wù)主要包括以下幾項(xiàng):(1) 考試設(shè)置:負(fù)責(zé)管理考試信息設(shè)置和考生分配。(2) 系統(tǒng)

19、資料:負(fù)責(zé)對(duì)考試題庫(kù)、考生信息、教師信息進(jìn)行維護(hù)。(3) 系統(tǒng)管理:負(fù)責(zé)管理人員信息、重新登錄、密碼維護(hù)。(4) 考生考試管理:負(fù)責(zé)管理考生考試和考生成績(jī)查詢。(5) 教師閱卷管理:負(fù)責(zé)管理教師閱卷、成績(jī)查詢、成績(jī)統(tǒng)計(jì)等。三、系統(tǒng)概要設(shè)計(jì)該系統(tǒng)用于用戶注冊(cè)、登錄、參加考試以及管理員進(jìn)行試題錄入、修改、刪除、成績(jī)查詢、管理用戶的應(yīng)用程序。它應(yīng)該具有開(kāi)放性、方便性和靈活性??忌M(jìn)行有效的身份驗(yàn)證登錄后,要求在規(guī)定的時(shí)間內(nèi)進(jìn)行答題,當(dāng)達(dá)到規(guī)定的時(shí)間后,系統(tǒng)將自動(dòng)予以提示。一旦考生做完交卷后便能立即看到自己的考試成績(jī);另外,還可完全由計(jì)算機(jī)自動(dòng)靈活、隨機(jī)的抽取試題庫(kù)中的各類試題形成試卷,其內(nèi)容會(huì)隨著庫(kù)

20、中試題的改變而改變,而且,不同的考生生成的試題是不同的。(一)系統(tǒng)模塊圖根據(jù)以上的系統(tǒng)需求分析,一個(gè)標(biāo)準(zhǔn)的網(wǎng)絡(luò)考試系統(tǒng)應(yīng)該包括考試設(shè)置、系統(tǒng)資料、系統(tǒng)管理、考生考試管理和教師閱卷管理等功能,如圖3.1所示:網(wǎng)絡(luò)考試 系 統(tǒng)考試設(shè)置系統(tǒng)資料系統(tǒng)管理考生考試管理教師閱卷管理考試信息考生分配考試名單考題設(shè)置考生管理教師管理管理人員信息密碼維護(hù)重新登錄考生考試考生成績(jī)查詢教師閱卷成績(jī)查詢成績(jī)統(tǒng)計(jì)圖3.1系統(tǒng)模塊圖(二)系統(tǒng)流程圖1.考生考試管理數(shù)據(jù)流程圖考生考試管理模塊主要用來(lái)管理考生的考試情況,包括客觀題和主觀題的考生考試的相關(guān)內(nèi)容和考生成績(jī)查詢。考生考試功能主要負(fù)責(zé)考生的客觀題和主觀題兩部分考題的

21、考試??忌目碱}都是隨機(jī)在試題庫(kù)中抽取??忌煽?jī)查詢功能主要提供考生考試成績(jī)查詢、打印功能。成績(jī)信息包括客觀題得分、主觀題得分、總分。其主要數(shù)據(jù)流程圖如圖3.2所示:考生系統(tǒng)抽題考生成績(jī)查詢考生答題主觀題答案客觀題臨時(shí)表考生主觀題作答表成績(jī)信息表考生登錄信息答題信息查詢條件題目信息成績(jī)信息客觀題成績(jī)客觀題主觀題客觀題信息表主觀題信息表客觀題主觀題圖3.2系統(tǒng)流程圖2. 教師閱卷管理管理數(shù)據(jù)流程圖教師閱卷管理主要負(fù)責(zé)管理教師閱卷、成績(jī)查詢、成績(jī)統(tǒng)計(jì),能對(duì)考卷的主觀題部分進(jìn)行改卷評(píng)分,實(shí)現(xiàn)考試成績(jī)的查詢、排序和打印功能以及成績(jī)分布情況,數(shù)據(jù)流程圖如圖3.3所示:教師教師閱卷成績(jī)查詢成績(jī)統(tǒng)計(jì)考生主觀

22、題作答表成績(jī)信息表教師登錄信息查詢條件查詢條件閱卷信息成績(jī)統(tǒng)計(jì)結(jié)果查詢結(jié)果圖3.3教師閱卷管理管理數(shù)據(jù)流程圖(三) 數(shù)據(jù)庫(kù)設(shè)計(jì)根據(jù)需求分析可知,系統(tǒng)需要建立9張表,分別是考試信息表、客觀題信息表、主觀題信息表、管理人員信息表、考生信息表、客觀題臨時(shí)表、考生主觀題作答表、成績(jī)信息表、教師信息表。通過(guò)sql server企業(yè)管理器可以得到數(shù)據(jù)庫(kù)表的關(guān)聯(lián)圖,如圖3.4所示:教師信息表pk考試代碼開(kāi)考時(shí)間考試時(shí)間考試人數(shù)考試標(biāo)志考生信息表pk考生號(hào)姓名密碼身份證號(hào)所屬院校專業(yè)住址郵箱主觀題信息表pk考題號(hào)fk1題目?jī)?nèi)容答案難度系數(shù)入庫(kù)時(shí)間錄入人員id成績(jī)信息表pk成績(jī)idfk1fk2fk3考生號(hào)姓名考

23、試代碼交卷時(shí)間客觀題得分主觀題得分總分試卷狀態(tài)評(píng)卷教師idpk教師id姓名密碼職稱教育背景電話郵箱客觀題臨時(shí)表pkid自增fk1fk2fk3考生號(hào)考題號(hào)標(biāo)準(zhǔn)答案考生作答考生主觀題作答表表管理人員信息表pkpk姓名密碼電話郵箱fk1fk2作答id管理人員id考生號(hào)考題號(hào)答案得分閱卷標(biāo)志考試信息表客觀題信息表pk考題號(hào)fk1題目?jī)?nèi)容a選項(xiàng)b選項(xiàng)c選項(xiàng)d選項(xiàng)答案難度系數(shù)入庫(kù)時(shí)間錄入人員id圖3.4 數(shù)據(jù)庫(kù)表的關(guān)聯(lián)圖(四)關(guān)鍵技術(shù)網(wǎng)絡(luò)考試系統(tǒng)的關(guān)鍵技術(shù)包括如何實(shí)現(xiàn)考生隨機(jī)抽題,如何實(shí)現(xiàn)考試定時(shí)功能和如何使用mschart控件繪制圖表,下面分別進(jìn)行闡述。1. 考生隨機(jī)抽題的實(shí)現(xiàn)在網(wǎng)絡(luò)考試系統(tǒng)中,要求考生

24、能夠隨機(jī)抽題。為了實(shí)現(xiàn)考生隨機(jī)抽題,需要分別對(duì)客觀題和主觀題進(jìn)行遍歷。(1)獲得隨機(jī)抽取客觀題,代碼如下: private sub getkgt()隨機(jī)抽取客觀題 dim rst as adodb.recordset dim flag as boolean dim index1 as integer dim index2 as integer dim tempid as integer dim temp as integer dim sum as integer 保存題庫(kù)中的題目總數(shù)量 dim randno(1 to 10) as string 保存考生的10道客觀題的隨機(jī)序列號(hào) 初始化數(shù)組

25、for index1 = 1 to 10 randno(index1) = -1 next index1 查詢客觀題題號(hào)信息 sql = select subjectid,answer from 客觀題信息表 order by subjectid set rst = selectsql(sql, msg) sum = rst.recordcount 得到題庫(kù)中題目總數(shù)量 取10道客觀題的隨機(jī)序列號(hào) for index1 = 1 to 10 保證所有的序號(hào)不能重復(fù)存在 do while true randomize 隨機(jī)數(shù)種子 tempid = int(rnd() * (sum - 1) + 1

26、 flag = true for index2 = 1 to index1 if tempid = randno(index2) then 如果取得序列號(hào)和前面的相同 flag = false exit for end if next index2 if flag = true then exit do loop randno(index1) = tempid next index1 對(duì)隨機(jī)得到的序號(hào)進(jìn)行排序 for index1 = 1 to 9 tempid = index1 for index2 = index1 + 1 to 10 if cint(trim(randno(index2)

27、 5 then exit do 插入過(guò)程完成 rst.movenext index1 = index1 + 1 loop rst.closeend sub2. 考試定時(shí)功能的實(shí)現(xiàn)考試是有一定時(shí)間限制的??忌荚嚂r(shí),系統(tǒng)要能夠隨時(shí)提供所剩時(shí)間的信息,而visual basic中的timer(時(shí)間)控制器就是專門(mén)解決這方便問(wèn)題的控件。在“考生考試”窗體上繪制一個(gè)timer1控件。timer1_timer事件的代碼如下所示:private sub timer1_timer()計(jì)算時(shí)間 time = time + 1 if time = 60 then label4.caption = val(tri

28、m(label4.caption) - 1 time = 0 end ifend sub3. mschart控件的使用mschart控件,給圖形統(tǒng)計(jì)和報(bào)表圖形顯示提供了很好的解決辦法,同時(shí)支持web和winform兩種方式,包含英文版,中文版。mschart控件與一個(gè)數(shù)據(jù)網(wǎng)格(datagrid對(duì)象)關(guān)聯(lián),該數(shù)據(jù)網(wǎng)格存放了要顯示的數(shù)據(jù),數(shù)據(jù)網(wǎng)格也可以包含用于圖表中標(biāo)識(shí)系列或類別的標(biāo)簽。圖表應(yīng)用程序設(shè)計(jì)者在數(shù)據(jù)網(wǎng)格中插入數(shù)據(jù)或從報(bào)表或矩陣中輸入數(shù)據(jù).在【成績(jī)統(tǒng)計(jì)】窗體上繪制一個(gè)mschart1控件,使用默認(rèn)設(shè)置。通過(guò)設(shè)置mschart1控件的行值和列值可以實(shí)現(xiàn)成績(jī)統(tǒng)計(jì),其代碼如下所示:privat

29、e sub cboquery_click()成績(jī)統(tǒng)計(jì)操作 dim record as double dim index1 as integer dim ss(1 to 4, 1 to 2) dim number(1 to 4) as integer 保存各個(gè)等級(jí)分?jǐn)?shù)的人數(shù) dim chart(1 to 4) as string 保存圖表的列名 dim sum as double 保存所有參加考試的人總分?jǐn)?shù) dim stu as integer 保存參加考試的人數(shù) 初始化數(shù)組 for index = 1 to 4 number(index) = 0 next index 為圖表列值賦值 char

30、t(1) = 60分以下人數(shù) chart(2) = 6075分人數(shù) chart(3) = 7590分人數(shù) chart(4) = 90分以上人數(shù) 為變量賦初值 sum = 0 stu = 0 查詢成績(jī)信息 sql = select * from 成績(jī)信息表 where examid= & trim(cboquery.text) & set rs = selectsql(sql, msg) if rs.eof = true then msgbox 信息出錯(cuò), vbokonly + vbexclamation, 警告 exit sub else (省略部分代碼) 繪制圖表 for index = 1

31、 to 4 ss(index, 1) = chart(index) for index1 = 2 to 2 ss(index, index1) = number(index) next index1 next index mschart1.chartdata = ssend sub四、系統(tǒng)的設(shè)計(jì)實(shí)現(xiàn)在進(jìn)行了整體設(shè)計(jì)以后,就開(kāi)始進(jìn)行詳細(xì)的設(shè)計(jì)及編碼工作。也就是設(shè)計(jì)文件和把他們有機(jī)地組織在一起實(shí)現(xiàn)所有功能。根據(jù)系統(tǒng)概要設(shè)計(jì),首先系統(tǒng)要有一個(gè)登錄界面,用戶可以從該界面登錄參加考試。管理員也應(yīng)該有一個(gè)進(jìn)入管理登錄界面的通道。進(jìn)入開(kāi)始考試界面,由計(jì)算機(jī)隨機(jī)提取試題,顯示出來(lái)組成試卷,并開(kāi)始進(jìn)行計(jì)時(shí)。考生

32、再次進(jìn)行考試,答完試題后交卷,進(jìn)入下一個(gè)界面。考生提交答卷后,由計(jì)算機(jī)進(jìn)行處理-判卷,得出考試分?jǐn)?shù),顯示出來(lái),并把該生考試記錄存入數(shù)據(jù)庫(kù)。(一) 主要窗口的設(shè)計(jì)及功能實(shí)現(xiàn)1.用戶登錄窗口 登錄時(shí)將檢查用戶類型,其用戶類型包括考生、教師、管理人員。如圖4.1所示:圖4.1 用戶登錄窗口2.工作人員管理界面窗口,如圖4.2所示:圖4.2 工作人員管理界面窗口3.考生考試管理界面窗口,如圖4.3所示:圖4.3考生考試管理界面窗口4.教師閱卷管理界面窗口,如圖4.4所示:圖4.4教師閱卷管理界面窗口5.公共模塊為了能夠?qū)?shù)據(jù)庫(kù)訪問(wèn)進(jìn)行集中處理,需要?jiǎng)?chuàng)建一個(gè)專門(mén)訪問(wèn)數(shù)據(jù)庫(kù)的公共模塊module,保存為f

33、unmain.bas。其代碼如下:public loginsucceeded as boolean 用戶登錄標(biāo)志public userid as string 用戶idpublic userstyle as string 保存用戶類型public connectionstring as string 數(shù)據(jù)庫(kù)連接字符串public function getconnstr() as string得到數(shù)據(jù)庫(kù)連接字符串,用戶可以在此處設(shè)置連接字符串 connectionstring = provider=sqloledb.1;integrated security=sspi;persist secur

34、ity info=false;initial catalog=網(wǎng)絡(luò)考試系統(tǒng) getconnstr = connectionstring 設(shè)置數(shù)據(jù)庫(kù)連接字符串end functionpublic function openconn(byref conn as adodb.connection) as boolean打開(kāi)數(shù)據(jù)庫(kù)連接,連接成功返回true,出錯(cuò)時(shí)返回false set conn = new adodb.connection 出錯(cuò)處理 on error goto errorhandle conn.open getconnstr openconn = true exit function

35、errorhandle: msgbox 連接數(shù)據(jù)庫(kù)失??!請(qǐng)重新連接! openconn = false exit functionend functionpublic sub executesql(byval sql as string, byref msg as string)執(zhí)行sql語(yǔ)句 dim conn as adodb.connection dim stokens() as string 出錯(cuò)處理 on error goto errorhandle 判斷sql語(yǔ)句 stokens = split(sql) if instr(insert,delete,update, ucase(st

36、okens(0) then 打開(kāi)數(shù)據(jù)庫(kù)連接 if openconn(conn) then conn.execute sql msg = stokens(0) & 操作執(zhí)行成功! end if else msg = sql語(yǔ)句有誤: & sql end iffinally_exit: set rst = nothing set conn = nothing exit suberrorhandle: msg = 執(zhí)行錯(cuò)誤: & err.description resume finally_exitend subpublic function selectsql(byval sql _as stri

37、ng, byref msg as string) as adodb.recordset執(zhí)行sql語(yǔ)句,返回adodb.recordset dim conn as adodb.connection dim rst as adodb.recordset dim stokens() as string 出錯(cuò)處理 on error goto errorhandle 判斷sql語(yǔ)句 stokens = split(sql) if instr(select, ucase(stokens(0) then 打開(kāi)數(shù)據(jù)庫(kù)連接 if openconn(conn) then set rst = new adodb.r

38、ecordset rst.cursorlocation = aduseclient rst.open trim$(sql), conn, adopendynamic, adlockoptimistic set selectsql = rst msg = 查詢到 & rst.recordcount & 條記錄! end if else msg = sql語(yǔ)句有誤: & sql end iffinally_exit: set rst = nothing set conn = nothing exit functionerrorhandle: msgstring = 查詢錯(cuò)誤: & _ err.de

39、scription resume finally_exitend functionpublic function batchselectsql(byval sql _ as string, byref msg as string) as adodb.recordset執(zhí)行sql語(yǔ)句,返回批處理的adodb.recordset dim conn as adodb.connection dim rst as adodb.recordset dim stokens() as string 出錯(cuò)處理 on error goto errorhandle 判斷sql語(yǔ)句 stokens = split(s

40、ql) if instr(select, ucase(stokens(0) then 打開(kāi)數(shù)據(jù)庫(kù)連接 if openconn(conn) then set rst = new adodb.recordset rst.cursorlocation = aduseclient rst.open trim$(sql), conn, adopendynamic, adlockbatchoptimistic set batchselectsql = rst msg = 查詢到 & rst.recordcount & 條記錄! end if else msg = sql語(yǔ)句有誤: & sql end if

41、finally_exit: set rst = nothing set conn = nothing exit functionerrorhandle: msgstring = 批查詢錯(cuò)誤: & _ err.description resume finally_exitend function(二) 部分功能的演示1.考生管理界面,如圖4.5所示:圖4.5考生管理界面2.教師管理界面,如圖4.6所示:圖4.6教師管理界面3.系統(tǒng)管理系統(tǒng)管理主要實(shí)現(xiàn)管理人員信息、重新登錄和密碼維護(hù)功能。如圖4.7所示:圖4.7 管理人員信息4.密碼維護(hù)負(fù)責(zé)用戶密碼的修改。如圖4.8所示:圖4.8 密碼維護(hù)5.考

42、生考試管理考生考試管理主要實(shí)現(xiàn)考生考試和考生成績(jī)查詢。如圖4.9、4.10所示:圖4.9 考生考試圖4.10 考生成績(jī)查詢五、小結(jié)一個(gè)完整的網(wǎng)絡(luò)考試系統(tǒng)已經(jīng)創(chuàng)建完成。在網(wǎng)絡(luò)考試系統(tǒng)中,首先進(jìn)行詳細(xì)的需求分析,劃分系統(tǒng)模塊;然后進(jìn)行數(shù)據(jù)庫(kù)的分析設(shè)計(jì),做好數(shù)據(jù)庫(kù)準(zhǔn)備工作;最后通過(guò)visual basic 6.0進(jìn)行應(yīng)用程序的開(kāi)發(fā),實(shí)現(xiàn)了所需求的系統(tǒng)模塊功能。通過(guò)系統(tǒng)的制作和學(xué)習(xí),了解整個(gè)考試過(guò)程的實(shí)現(xiàn),掌握了mschart控件的使用方法。在這次畢業(yè)課題的設(shè)計(jì)過(guò)程中,不僅僅只是單純的拓寬了我的專業(yè)知識(shí)面,更重要的是它提高了我各方面的能力。當(dāng)我在進(jìn)行程序設(shè)計(jì)時(shí),忽然涉及到了我從來(lái)都不了解的問(wèn)題,甚至是根本就沒(méi)有聽(tīng)說(shuō)過(guò)的新概念或者是新技術(shù),這時(shí)我必須去圖書(shū)館或是網(wǎng)上查找與這個(gè)問(wèn)題相關(guān)的內(nèi)容,并求教于我的導(dǎo)師武偉。在這一過(guò)程中,慢慢的鍛煉了我在多如大海的各種類型的資料中查詢我所需要的材料的能力。在以前學(xué)習(xí)課程的時(shí)間里,我很少會(huì)這樣體驗(yàn)如何去查找自己需要的資料,如今才知道在浩瀚的書(shū)海里要想找到我真正需要的東西也并非是一件易事。在這里我要感謝導(dǎo)師武偉對(duì)我的幫助,并感謝對(duì)我提供各種幫助的同學(xué)們,祝工作順利、學(xué)業(yè)有成。參考文獻(xiàn)1管麗娜 白海波實(shí)用visual basic6 教程m .北京:清華大學(xué)出版社,2001.2visual basic 程序設(shè)計(jì)教程,劉炳文,許蔓舒清華大學(xué)出版社,2

溫馨提示

  • 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ù)網(wǎng)僅提供信息存儲(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)論