(精品)無紙化考試系統(tǒng)精品(2013年優(yōu)秀畢業(yè)設(shè)計)_第1頁
(精品)無紙化考試系統(tǒng)精品(2013年優(yōu)秀畢業(yè)設(shè)計)_第2頁
(精品)無紙化考試系統(tǒng)精品(2013年優(yōu)秀畢業(yè)設(shè)計)_第3頁
(精品)無紙化考試系統(tǒng)精品(2013年優(yōu)秀畢業(yè)設(shè)計)_第4頁
(精品)無紙化考試系統(tǒng)精品(2013年優(yōu)秀畢業(yè)設(shè)計)_第5頁
已閱讀5頁,還剩40頁未讀, 繼續(xù)免費(fèi)閱讀

下載本文檔

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

文檔簡介

計算機(jī)考試系統(tǒng)的設(shè)計與實(shí)現(xiàn) 題 目: 計算機(jī)考試系統(tǒng) 專業(yè)班級: 姓 名: 學(xué) 號: 指導(dǎo)教師: 日期:2005-3-23【摘要】本論文以“計算機(jī)考試系統(tǒng)”的開發(fā)為背景,論述了計算機(jī)考試系統(tǒng)發(fā)展的歷史及現(xiàn)狀。全文共分為系統(tǒng)調(diào)查、 系統(tǒng)分析、功能設(shè)計、數(shù)據(jù)庫設(shè)計、系統(tǒng)實(shí)現(xiàn)、 總結(jié)、參考文獻(xiàn)。本文詳細(xì)闡述了系統(tǒng)分析、系統(tǒng)設(shè)計的方法及其內(nèi)容,對如何使用VB開發(fā)本系統(tǒng)作了較為詳細(xì)的介紹。本系統(tǒng)包括題庫的維護(hù)維護(hù)、考生的考試模塊、評分模塊,而且老師和學(xué)生可以分別使用不同的用戶名進(jìn)行登錄,具有不同的操作權(quán)限?!続bstract】This thesis take the development of the calculator examination system as the background, discussing the history and the present condition of the calculator examination system development.The full text is divided into the system inquisition, system analysis, the function design, database design, system realization, tallies up totally, reference.This text was detailed to elaborate that system analysis, method and its contentses of the system design, to how use the development of VB originally the system makes to compare to introduce detailedly.This system includes the examination mold piece, the grade point mold piece of maintenance maintenance, examinee of a database, and the different from student can use respectively users name of teacher carries on the logging, having the different operation legal power.【關(guān)鍵詞】計算機(jī)考試系統(tǒng) VB6.0 系統(tǒng)功能【Keywords】The computer examination system VB6.0 system function目 錄摘要關(guān)鍵詞前言第一章 系統(tǒng)調(diào)查-3第二章 系統(tǒng)分析-4第三章 功能設(shè)計-9第四章 數(shù)據(jù)庫設(shè)計-12第五章 系統(tǒng)實(shí)現(xiàn)-15第六章 總結(jié)-35第七章 參考文獻(xiàn)-35前 言“科學(xué)技術(shù)是第一生產(chǎn)力”,是鄧小平同志堅持和發(fā)展馬克思主義關(guān)于生產(chǎn)力的理論,于1988年提出的精辟論斷。這個論斷提示了科學(xué)技術(shù)在現(xiàn)代社會在的重要作用,為我國社會主義市場經(jīng)濟(jì)中科學(xué)技術(shù)發(fā)展指明了方向??茖W(xué)技術(shù)的突飛猛進(jìn),給世界生產(chǎn)力的人類經(jīng)濟(jì)社會的發(fā)展帶來了極大的推動。當(dāng)前,以微電子技術(shù)為基礎(chǔ),以計算機(jī)、網(wǎng)絡(luò)和通信技術(shù)為主體的信息技術(shù),已滲透到經(jīng)濟(jì)的各個領(lǐng)域。信息技術(shù)的發(fā)展,已給人類經(jīng)濟(jì)生活方式帶來質(zhì)的變化。未來的科技發(fā)展還將產(chǎn)生新的重大飛躍。我們作為新世紀(jì)的中國人,作為計算機(jī)專業(yè)的學(xué)生,理應(yīng)為我們國家的發(fā)展做出自己應(yīng)有的一份貢獻(xiàn)。在學(xué)校里我們學(xué)習(xí)的都是非常理論的東西,雖然可能有上機(jī)的實(shí)踐,但是確沒有面對過一個真正的實(shí)際的問題,理論如果離開了理論,就失去了生長的土壤。也沒有非常系統(tǒng)的使用過學(xué)習(xí)到的知識,可以這么說我們的水平可能還沒有轉(zhuǎn)化為生產(chǎn)力。如果學(xué)習(xí)的知識不加于應(yīng)用,不但不容易透徹的理解理論知識,而且非常的容易忘記。所以我借著這次畢業(yè)設(shè)計的時候 ,好好的解決一個實(shí)際的問題,好好的,全面的運(yùn)用自己所學(xué)的,為自己以后畢業(yè)后的工作生活打下一個良好的基礎(chǔ)。在人的一生中,總是要經(jīng)歷許許多多的考試,大到考研究生,小到單元測驗(yàn)。從在校的學(xué)生,到已經(jīng)在社會上工作的人,從為人師的教師,到開出租車的司機(jī),都要經(jīng)歷很多的考試。而現(xiàn)在傳統(tǒng)的考試模式已經(jīng)跟不上現(xiàn)在的發(fā)展,所以在這次畢業(yè)設(shè)計中,我準(zhǔn)備做一個考試系統(tǒng)??赡茉摽荚囅到y(tǒng)比較的簡單,但是麻雀雖小,五臟俱全。包括了題庫的維護(hù)維護(hù)、考生的考試模塊、評分模塊。還是具有一定的使用價值的。在本系統(tǒng)設(shè)計的過程中我以我所學(xué)習(xí)的東北大學(xué)網(wǎng)絡(luò)學(xué)院為設(shè)計背景進(jìn)行設(shè)計的.具體的設(shè)計過程如以下各章所述.第一章 系統(tǒng)調(diào)查現(xiàn)在全國無論是政府、企業(yè)、學(xué)校還是農(nóng)村的信息化建設(shè)都在如火如荼的展開著。信息化建設(shè)的一個必然結(jié)果就是電腦越來越普及了,現(xiàn)在很多的高中、初中都已經(jīng)擁有自己的微機(jī)房了,甚至發(fā)展的比較好的小學(xué)也已經(jīng)配置了不錯的電腦。隨著計算機(jī)技術(shù)的不斷普及,計算機(jī)工作者也越來越多,水平也越來越高 ,同時學(xué)校也肯花錢請專門的人員來管理機(jī)房,這些就為實(shí)行無紙化考試系統(tǒng)提供了硬件條件。隨著計算機(jī)技術(shù)的發(fā)展,考試的方式也在不斷的變化著。從最初的考試的時候,人工印刷試卷,到發(fā)考卷,然后收卷,然后改卷,然后發(fā)布成績,整個流程相對的比較的復(fù)雜,而且涉及的人員較多,不容易協(xié)調(diào)。手工改卷,在主觀題上是有他的優(yōu)勢的,畢竟電腦是沒有評測主觀題的能力,但是客觀題也采用手工修改的話,對于評卷老師來說工作量就非常的大。面對幾百份,甚至是上千份的試卷,精力在好、工作在認(rèn)真的老師也會感覺頭疼的。根據(jù)計算機(jī)的特點(diǎn),我們該類試題正好可以使用計算機(jī)進(jìn)行處理,于是在一套試題里,客觀題和主觀題同時存在的情況下,出現(xiàn)了另外一種考試的方法。那就是把主觀體和客觀題分開,主觀題照樣在原來的試卷上考試,而客觀題則要求學(xué)生涂卡。這樣客觀題的評卷就變的簡單了。但是如果考試純粹考的是客觀題,使用這種涂卡的方式,就暴露出了一些缺點(diǎn)了,比如,每回老師還是要下發(fā)試卷,上交試卷,封存試卷,這樣操作對于老師來說比較的麻煩。還有一點(diǎn)就是考生還要花很長的時間來涂卡,無形間就增加了考試的時間,也就增加了考試的成本。所以現(xiàn)在全國比較流行的是使用無紙化考試系統(tǒng),每回考試只要使用軟盤等等存儲介質(zhì)帶題庫下來,在計算機(jī)上安裝一個考試客戶端(甚至有些就直接使用windows內(nèi)置的瀏覽器就可以了),就可以考試了??荚囃戤呏?,學(xué)生交卷后,評分的時候只要帶走一些數(shù)據(jù),就可以完全使用電腦修改,評分過程可能也就在一兩分鐘左右。采取這種方法,不知不覺中就減少了考試時間,降低了考試成本,減少了老師的工作。而且一般情況下,該類考試系統(tǒng)都是使用隨機(jī)組卷,電腦隨機(jī)抽卷的,保證了公正性,即使是監(jiān)考老師也無法干預(yù)電腦的隨機(jī)抽卷。現(xiàn)在網(wǎng)絡(luò)發(fā)展的非常的快,網(wǎng)絡(luò)的無地域性也不停的拉近了我們之間的距離。寬帶的資費(fèi)也由剛開始的高不可攀,到現(xiàn)在的平民化。網(wǎng)絡(luò)正在慢慢的影響著我們的生活方式。不知不覺網(wǎng)絡(luò)辦公,網(wǎng)上購物,都被人們所接受。那么通過internet網(wǎng)進(jìn)行網(wǎng)絡(luò)考試如何呢?答案是可能的。該類考試系統(tǒng)現(xiàn)在也已經(jīng)冒出了很多,采取的基本上是B/S結(jié)構(gòu)的。客戶端只要在特定的時間通過瀏覽器登陸到考試服務(wù)器上面去,然后系統(tǒng)會在瀏覽器上顯示出考試的題目,可以說這種模式真正的實(shí)現(xiàn)了在家考試。但是這種考試也有一些本身的問題,第一、客戶端是通過internet訪問服務(wù)器的,網(wǎng)絡(luò)速度和穩(wěn)定性方面就是個考驗(yàn)。第二、對服務(wù)器的要求非常的高,試問,如果有幾百個人甚至上網(wǎng)個人同時在線考試的話呢?服務(wù)器的負(fù)荷是非常大的。網(wǎng)上考試是以后的發(fā)展趨勢,但是現(xiàn)在還是有些問題存在的。從以上的調(diào)查我們可以總結(jié)出一個結(jié)論,現(xiàn)在的考試系統(tǒng)越來越簡單,越來越網(wǎng)路化,無論是局域網(wǎng)還是internet網(wǎng)。而且無紙化的考試系統(tǒng)越來越流行。這更加堅定了我做這么個考試系統(tǒng)的決心。第二章 系統(tǒng)分析參考了很多計算機(jī)考試系統(tǒng),可以看到這些考試系統(tǒng)的特點(diǎn)如下:2 1 考試系統(tǒng)的特點(diǎn)1操作界面和操作方法簡單。如果操作過于復(fù)雜化的化,老師培訓(xùn)學(xué)生考試操作就得很長得時間,這樣使用無紙化考試系統(tǒng)可以說是得不償失。所以操作界面一定要簡單,操作方法也一定要簡單。2、提示必須正確,沒有歧異。對于參加考試得學(xué)生,通常都非常得緊張,可以說是非常得惶恐,非常的怕自己考不好,所以出現(xiàn)提示的時候,如果提示說不明確或者是有歧異,會馬上問老師的,這樣不但不利于考生的正常發(fā)揮 ,而且考場秩序也會非常的混亂。3、必須有很強(qiáng)的錯誤處理能力。參加考試的學(xué)生,其中可能有很大一部分計算機(jī)操作都不是很熟練,不熟練的意思就是可能會亂刪文件,可能會做些正常情況下不會去使用的功能。所以一定要防止學(xué)生進(jìn)行這種操作,即使是操作了,也該有相應(yīng)的錯誤提示。4、穩(wěn)定性??荚囅到y(tǒng)的穩(wěn)定性非常非常的重要,必須能夠保證正確得考試流程。這表現(xiàn)在考試數(shù)據(jù)不容易丟失,不會出現(xiàn)一些寫入錯誤等等??傊前l(fā)生硬盤損害等等非可抗的能力,否則必須得保證考生得數(shù)據(jù)不丟失。如果考試機(jī)意外重啟,應(yīng)該也運(yùn)行考生能夠繼續(xù)做試題。而不是完全重新開始做。5 、考生考試數(shù)據(jù)集中管理。所謂考生考試數(shù)據(jù)集中管理是只一個考場里的考生數(shù)據(jù)最好是存放在一個地方,而不是存放于各自的考生計算機(jī)上。為什么要強(qiáng)調(diào)這一點(diǎn)呢?因?yàn)槿绻芽荚嚨臄?shù)據(jù)都存放在下面各自的機(jī)器上的時候,監(jiān)考老師要一個一個的進(jìn)行收卷,我想這樣和下發(fā)試卷可能非常的類似,這樣也沒有發(fā)揮出計算機(jī)考試的優(yōu)勢。如果直接都存放在服務(wù)器上,那么數(shù)據(jù)采集就非常的簡單了,只要直接從服務(wù)器上取得就可以了6 、網(wǎng)絡(luò)化?,F(xiàn)在考試系統(tǒng)的發(fā)展就是向網(wǎng)絡(luò)化發(fā)展,從最初的單機(jī),到局域網(wǎng),到internet網(wǎng)。所以考試系統(tǒng)必須支持網(wǎng)絡(luò)化操作。22 考試系統(tǒng)主要功能(我的畢業(yè)設(shè)計只是做了下面的一部分)一般情況下,整套的考試系統(tǒng)需要如下的模塊。1 、 報名模塊該模塊的主要功能是記錄每個考生的信息,比如報名日期等等。2 、 題庫維護(hù)模塊該模塊的主要功能是制作題庫使用的。3 、 考生考試模塊該模塊是提供給考生考試使用的,包括答題和交卷等等功能。4 、 考場數(shù)據(jù)采集模塊該模塊是導(dǎo)出考生的考試信息,評分模塊依賴于該考試信息來評分。5 、 評分模塊評出考生的成績。6 、 學(xué)生成績和分析模塊對考生的成績進(jìn)行統(tǒng)計分析,比如及格人數(shù)是多少,通過率有多少等等。24 開發(fā)環(huán)境的選擇241 操作系統(tǒng)的選擇現(xiàn)在主流的操作系統(tǒng)有Windows和linux,最近Linux的發(fā)展很快,在界面上的友好度上面已經(jīng)做的越來越好了,據(jù)說在穩(wěn)定性上面已經(jīng)超過了Windows操作系統(tǒng)。但是linux操作系統(tǒng)用的比較多的還是服務(wù)器的版本,在桌面上的普及始終還是不如windows,而且windows的操作更加的傻瓜化,可以這么說windows操作系統(tǒng)更加的適合于入門的用戶,而且我們也知道現(xiàn)在學(xué)校里幾乎上使用的都是Windows 操作系統(tǒng),所以使用Windows操作系統(tǒng)變成了我們的首選。Windows操作系統(tǒng)也分為很多種,包括Win95、Win98、Win2000、WinXp、Win2003。雖然win98操作系統(tǒng)發(fā)行已經(jīng)很多年了,但是一直以它的操作方便性深受用戶的喜愛,所以我們這里的操作系統(tǒng)當(dāng)仁不讓的選擇Win98操作系統(tǒng)242 開發(fā)工具的選擇現(xiàn)在在市場上,流行的Windows開發(fā)工具主要由兩個供應(yīng)商提供,一個是微軟公司,另外一個是Borland公司。而這兩個公司的最有名的RAD(快速開發(fā)工具)為Visual Basic 和Delphi。因?yàn)閂isual Basic是微軟專門為開發(fā)Windows程序而設(shè)計的,特點(diǎn)是簡單易用,開發(fā)快速,和Windows結(jié)合緊密,語言簡單,試想學(xué)計算機(jī)的誰沒有學(xué)過Basic語言呢?雖然Delphi功能也很強(qiáng)大,但是考慮到簡單性,所以我決定使用Visual Basic。2421 Visual Basic介紹我們先來了解一下Visual Basic,經(jīng)過總結(jié)我覺得Visual Basic有主要有如下的三個特點(diǎn):1、Visual BASIC提供可視化的編程工具 用傳統(tǒng)的高級語言編程時,程序的各種功能、用戶界面和顯示的結(jié)果全要由程序語句來實(shí)現(xiàn),這就增加了編程難度。而用Visual BASIC開發(fā)應(yīng)用程序,包括兩部分工作:一是設(shè)計用戶界面,二是編寫程序代碼。Visual BASIC向程序設(shè)計人員提供圖形對象(窗體、控件、菜單等)來進(jìn)行應(yīng)用程序的界面設(shè)計,例如程序人員可以根據(jù)用戶的需要輕而易舉地在屏幕上畫出下圖的用戶界面。Visual BASIC提供的“工具箱”內(nèi)存放若干個“控件”,程序設(shè)計者可以自由地從工具箱中取出所需控件,放到窗體中的指定位置,而不必為此編寫程序。也就是說,屏幕上的用戶界面是用Visual BASIC提供的可視化設(shè)計工具直接“畫”出來的,而不是用程序“寫出來的”。2、程序采用“事件驅(qū)動“方式 在設(shè)計好用戶界面后,第二件事是編寫程序。Visual BASIC改變了程序的機(jī)制,它沒有傳統(tǒng)意義上的主程序,而由“事件”來驅(qū)動子程序的運(yùn)行。一般來說,每個子程序要實(shí)現(xiàn)的功能是單一的,子程序的規(guī)模一般不會太大,也就是說,把原來一個統(tǒng)一控制的、包羅萬象的大程序分解為許多個獨(dú)立的、小規(guī)模的子程序,分別由各種“事件”來驅(qū)動執(zhí)行,于是編程難度大大降低了。3、Visual BASIC融入了最新的計算機(jī)技術(shù) Visual BASIC的設(shè)計者在Visual BASIC中融入了最新的計算機(jī)技術(shù),使得用Visual BASIC編程能充分利用了這些最新的技術(shù),例如在多媒體方面的應(yīng)用、在Internet 方面的應(yīng)用等??傊?,Visual BASIC是面向?qū)ο蟮?、結(jié)構(gòu)化的計算機(jī)語言。Visual BASIC的界面由一些對象組成,每個對象有若干個屬性、方法和事件,程序人員的任務(wù)是設(shè)計這些對象的事件處理過程。Visual BASIC是一種很容易學(xué)習(xí)并很快就可以熟練掌握的功能強(qiáng)大的編程語言。243 數(shù)據(jù)庫的選擇考試系統(tǒng)里有很多的地方需要存取數(shù)據(jù),為了能夠更好的組織數(shù)據(jù),并且使編碼更加的簡單,決定使用數(shù)據(jù)庫技術(shù)來組織所有的數(shù)據(jù),包括題庫數(shù)據(jù)和考生在考試的時候的數(shù)據(jù)。現(xiàn)在市場上主流的數(shù)據(jù)庫分為網(wǎng)路型的數(shù)據(jù)庫和桌面型的數(shù)據(jù)庫。網(wǎng)絡(luò)型的數(shù)據(jù)庫一般情況下使面向企業(yè)級的用戶,數(shù)據(jù)存儲比較的穩(wěn)定,而且安全,數(shù)據(jù)存儲的容量也非常的巨大。而桌面型的數(shù)據(jù)庫一般是面向一些中小型的用戶,他們的數(shù)據(jù)量不是非常的龐大,由于一般情況下,不是通過網(wǎng)絡(luò)來存取的,所以速度相對來說要快一點(diǎn),而且價格方面要便宜的多,缺點(diǎn)是數(shù)據(jù)安全性方面稍差。而本次畢業(yè)設(shè)計使用的數(shù)據(jù)庫Access2000更是微軟Office2000中的一個套件。為了減少成本,而且對于一個考場的考生來說使用Access數(shù)據(jù)庫已經(jīng)足夠,而且減低了整個系統(tǒng)的造價。1 、 Access簡介作為Microsoft的office套件產(chǎn)品之一,access已經(jīng)賣出了近900萬份,成為世界上最流行的桌面數(shù)據(jù)庫系統(tǒng)。Access與許多優(yōu)秀的關(guān)系數(shù)據(jù)庫一樣,可以讓你很容易地連接相關(guān)的信息而且還對其他的數(shù)據(jù)庫系統(tǒng)有所補(bǔ)充。它能操作其它來源的資料,包括許多流行的PC數(shù)據(jù)庫程序(如dBASE,Paradox,Microsoft FoxPro)和服務(wù)器、小型機(jī)、大型機(jī)上的許多SQL數(shù)據(jù)庫。Access還完全支持Microsoft的OLE技術(shù)。 Access還提供windows操作系統(tǒng)的高級應(yīng)用程序開發(fā)系統(tǒng)。Access與其它數(shù)據(jù)庫開發(fā)系統(tǒng)之間相當(dāng)顯著的區(qū)別就是:您不用寫一行代碼,就可以在很短的時間里開發(fā)出一個功能強(qiáng)大而且相當(dāng)專業(yè)的數(shù)據(jù)庫應(yīng)用程序,并且這一愉快的過程是完全可視的!如果您能給它加上簡短的VBA代碼,那么您的程序決不比專業(yè)程序員潛心開發(fā)的程序差。2 、 Access的總體結(jié)構(gòu) Access將所有具有名字的東西都成為對象(object),在Access 2000中,最重要的對象有表,查詢,窗體,報表,宏和模塊。表 用戶定義的存儲資料的對象。每一個表都包含有關(guān)某個主體的信息。表包括存儲不同種類資料的字段(列),而記錄(行)則收集特定主體實(shí)例的所有信息。查詢 為來自一個或多個表的資料提供定制視圖的對象。在Access中,可以利用圖形化的實(shí)例查詢機(jī)制(QBE)或通過SQL語句來建立查詢。你可以在查詢中選擇、更新、插入或刪除資料,也可以用查詢來建立新表。窗體 窗體是主要的人機(jī)接口。大量的操作(幾乎所有)都要通過窗體完成。窗體通過運(yùn)行宏(macro)或Visual Basic for Applicatinns(VBA)過程,來響應(yīng)大量的事件。Access 2000為我們提供了強(qiáng)大的(同時也是相當(dāng)方便的向?qū)В﹣斫?biāo)準(zhǔn)的Windows窗體。報表 為格式化、計算、打印選定資料而設(shè)計的對象。它是衡量一個優(yōu)秀的數(shù)據(jù)庫的重要標(biāo)準(zhǔn)(有時甚至是唯一的標(biāo)準(zhǔn))。宏 為了響應(yīng)已定義的事件,需要讓Access去執(zhí)行一個或多個操作,而宏就是對這些操作的結(jié)構(gòu)化的定義對象。它可以讓你像堆積木一樣建立一個功能強(qiáng)大的程序,而無須寫大量的代碼。模塊 包括用VBA編碼的定制過程的一個對象。模塊提供了獨(dú)立的動作流以捕獲錯誤,而宏做不到。模塊能直接響應(yīng)窗體或報表事件,也可以從應(yīng)用程序的任何地方被調(diào)用。3 、為何要選擇AccessAccess 功能強(qiáng)大,使用方便,是開發(fā)桌面數(shù)據(jù)庫的最優(yōu)秀的工具之一。如果你具有下面的情況,就應(yīng)該考慮選擇Access。1、 我要建立一個數(shù)據(jù)庫系統(tǒng),卻不愿因此而去系統(tǒng)地區(qū)學(xué)習(xí)編程。2 、我略懂編程,希望能夠建立一個專業(yè)的數(shù)據(jù)庫系統(tǒng)。3 、我精通C+,但我發(fā)現(xiàn)要用它做許多復(fù)雜的報表是一件令人頭疼的事。4 、我有大量的資料要處理,卻不會寫SQL語句。5 、我精通多種數(shù)據(jù)庫語言,但我希望工作更輕松一些。從上面的VB和Access的介紹后,我們知道如果使用這兩種軟件來開發(fā)是個比較不錯的選擇,所以決定使用這兩個軟件進(jìn)行本次的開發(fā)和設(shè)計。第三章 功能設(shè)計在經(jīng)過系統(tǒng)的分析和設(shè)計后,我設(shè)計了這么一個簡化版本的考試系統(tǒng),功能圖如下:題庫維護(hù)模塊用戶登陸套號設(shè)置題庫內(nèi)容維護(hù)備選答案瀏覽退出系統(tǒng)抽題設(shè)置題庫內(nèi)容瀏覽備選答案維護(hù)考生考試模塊考生登陸考生答題考生交卷考試評分模塊考生瀏覽考生答題瀏覽考生成績?yōu)g覽考試評分模塊31 題庫維護(hù)模塊311 用戶登陸 由于題庫設(shè)置相當(dāng)?shù)闹匾囅肴绻l都能進(jìn)入該模塊進(jìn)行題庫操作的話,那么題庫將是非常的危險的.所以有必要對登陸的人員進(jìn)行控制.312 退出系統(tǒng)退出系統(tǒng)。313 套號設(shè)置所謂一套試題,其實(shí)就是完整的一份試卷。之所以采取這種套來區(qū)分題庫里面的內(nèi)容,一個原因是為了管理方便,另外一個原因是為了后面的隨機(jī)抽題設(shè)計的,隨機(jī)抽題也是按照套來隨機(jī)抽題的。也就是說如果有三套,那么每回隨機(jī)抽卷就是在這三套里進(jìn)行抽取,當(dāng)然本系統(tǒng)也有指定一套進(jìn)行抽題的模式的。314 題庫內(nèi)容維護(hù)對于一道選擇題來說,是分為題目描述和備選答案兩個部分的,這里的題庫內(nèi)容維護(hù),只的就是題目描述的維護(hù),當(dāng)然也包括題目的正確答案輸入和分值的輸入。1 、 題目內(nèi)容增加其實(shí)就是往題庫里增加一道題目。2 、 題目內(nèi)容修改在錄入的過程中難免有錯誤,該功能就是修改題目內(nèi)容到數(shù)據(jù)庫中去。3 、 題目內(nèi)容刪除當(dāng)題目錄入錯誤的時候,或者是該題目不再使用的時候,就使用該功能,但是當(dāng)該題目內(nèi)容下面已有備選答案設(shè)置的時候,本系統(tǒng)將不允許刪除該題目內(nèi)容的.4 、 題庫內(nèi)容瀏覽當(dāng)題目編輯完畢的時候,可以使用該功能對所有的題目進(jìn)行瀏覽。5 、備選答案維護(hù)每道選擇題都有備選答案,該功能就是維護(hù)備選答案的 備選答案增加針對某到題目內(nèi)容,其實(shí)就是某道題目,增加一個備選題目。 備選答案修改備選答案錄入錯誤,使用該功能進(jìn)行修改。備選答案刪除備選答案錄入錯誤或者是備選答案不在需要的時候,可以使用該功能進(jìn)行刪除。但是如果該備選答案對應(yīng)的試題已經(jīng)在考試的過程中被抽到,將不能刪除該備選答案。6 、 備選答案瀏覽通過選擇題目來瀏覽它對應(yīng)的備選答案。7 、抽題設(shè)置由于本系統(tǒng)在考試的時候有兩種抽題模式,一種是由計算機(jī)從題庫里隨機(jī)抽取,也就是說在場的考生可能使用的都是不同的試題。另外一種指定一套試題給考生考,也就是全場所有的考生都是使用一套試題。如果選擇了使用一套試題的模式,則從題庫里選擇一套。32 考生考試模塊1 、 考生登陸每個考生登陸本系統(tǒng)必須得輸入考生的準(zhǔn)考證號,在這里系統(tǒng)也將會驗(yàn)證登陸的考生是否已經(jīng)交過卷了,如果是已經(jīng)處于已經(jīng)交卷的狀態(tài),則將不能再次登陸到本系統(tǒng)進(jìn)行考試。2 、 考生答題考生使用該功能進(jìn)行考試加載系統(tǒng)抽取的或者是已經(jīng)指定的套數(shù)。 加載考生已經(jīng)做過的試題的考生答案。這樣可以防止考生在考生的過程中由于不可抗因素退出系統(tǒng)后,還可以繼續(xù)進(jìn)行答題,而不是完全重新開始答題??荚嚧鸢副4?自動保存考生做過的答案顯示當(dāng)前的考生答題的位置,也就是做到哪一道了,總共有多少題。3 、 考生交卷本功能是考生答卷的終點(diǎn),考生交卷了就保證該考生本次考試結(jié)束了,也就不能再次進(jìn)入進(jìn)行考試了。33 考試評分模塊1 、 考生瀏覽瀏覽所有的登陸本系統(tǒng)考試的考生,包括該考生的交卷狀態(tài),做的是哪一套試題。2 、考生答題瀏覽瀏覽該考生抽取的試題的具體內(nèi)容3 、 考生成績?yōu)g覽瀏覽該考生的每道題的對錯,還有得分情況。4 、考試評分使用該功能對考生進(jìn)行評分。第四章 數(shù)據(jù)庫設(shè)計經(jīng)過了上面的分析,我們現(xiàn)在已經(jīng)知道了我們系統(tǒng)的所有具有的功能,也就知道了系統(tǒng)需要存取些什么數(shù)據(jù)了,接下來我們進(jìn)行數(shù)據(jù)庫的設(shè)計。41 題庫主表該表存儲的是題目的主表信息,經(jīng)過分析,我們可以知道,一道選擇題只有一個題目內(nèi)容(題目描述),一個答案,而會有多個的備選答案,所以我們有必要把題目內(nèi)容的存儲和備選答案分開來存儲。表的結(jié)構(gòu)如下:字段名字段類型備注ID自動編號主關(guān)鍵字題目編號字符題目的唯一編號題目內(nèi)容字符題目套號數(shù)字套的ID題目類型是/否是=多選題 否=單選題題目答案字符題目分值數(shù)字題目備注字符42 題目明細(xì)存儲題目的備選答案,正好是前面題庫主表的從表。表的結(jié)構(gòu)如下:字段名稱字段類型備注ID自動編號主關(guān)鍵字題目編號字符題目編碼字符A,B,C,D等等備選答案字符備選答案的內(nèi)容題目備注字符43 套號存儲套號的信息,自動抽取的時候,就是從這個表里的ID來隨機(jī)抽取的,而題目主表里的套號也是來自該表的ID,表結(jié)構(gòu)如下:字段名稱字段類型備注ID自動編號主關(guān)鍵字套號名稱字符唯一索引44 題庫設(shè)置 在前面的功能設(shè)計中,我們知道本系統(tǒng)有兩種抽題的模式,而系統(tǒng)采取的模式就是存在這張表中的。表結(jié)構(gòu)如下:字段名稱字段類型備注ID自動編號主關(guān)鍵字考試套號數(shù)字當(dāng)前的套號,如果是0,表示,使用隨機(jī)的抽取,如果是其他的表示的是當(dāng)前的套號45 考生每次考生登陸的時候,系統(tǒng)是會記錄考生的信息,考生的考試套號的。而且還要驗(yàn)證該考生是否已經(jīng)交卷了,都是從該表里讀取數(shù)據(jù)的。該表結(jié)構(gòu)如下:字段名稱字段類型備注ID自動編號主關(guān)鍵字準(zhǔn)考證號字符唯一索引考生姓名字符考試套號數(shù)字考生狀態(tài)字符未交卷、已交卷46 考生答案為了能夠了解考生的具體答題信息,并且在考生意外退出后能夠重新加載考生的信息,我們需要記錄該考生的答案。表結(jié)構(gòu)如下:字段名稱字段類型備注ID自動編號主關(guān)鍵字準(zhǔn)考證號字符題目編號字符考生答案字符47題庫主表在設(shè)計數(shù)據(jù)庫的時候,我們考慮到系統(tǒng)的可擴(kuò)展性和數(shù)據(jù)減少數(shù)據(jù)庫容量的考慮,經(jīng)常是采取分開幾張表存儲的方式,比如說前面的題庫主表和備選答案的處理就是經(jīng)常采取的方式。所以我們要想得到所有的信息,或者說是具體的信息,我們往往要借助視圖了,題庫主表就是采取視圖的方式顯示,該視圖的SQL 語句如下:SELECT 題庫主表.ID, 題庫主表.題目編號, 題庫主表.題目內(nèi)容, 題庫主表.題目套號, IIf(題目類型=False,單選題,多選題) AS 類型, 題庫主表.題目答案, 題庫主表.題目分值, 題庫主表.題目備注 FROM 題庫主表;48 評分表該表是用來顯示學(xué)生的答題正確于否,以及做的試題是什么,還包括考生的自身信息,可以說是一張非常重要的視圖了,該視圖的SQL語句如下:SELECT 題庫主表.*, 考生答案.考生答案, 考生答案.準(zhǔn)考證號, IIf(考生答案=題目答案,正確,錯誤) AS 是否正確, IIf(考生答案=題目答案,題目分值,0) AS 得分FROM 題庫主表 INNER JOIN 考生答案 ON 題庫主表.題目編號 = 考生答案.題目編號;第五章 系統(tǒng)實(shí)現(xiàn)在經(jīng)過了前面的功能設(shè)計之后,我們進(jìn)入到了我們的系統(tǒng)實(shí)現(xiàn)部分,也就是真正的代碼實(shí)現(xiàn)階段了。在經(jīng)過了前面的鋪墊工作以后,這里實(shí)現(xiàn)起來思路就相對來說非常的清晰了。下面來分幾個重要的模塊來說一下設(shè)計思路和實(shí)現(xiàn)方法,對于一些很顯示的我就不在說明了51 ADO技術(shù)在本系統(tǒng)中我們用到了數(shù)據(jù)庫的技術(shù),在VB中,有很多的方法,可以訪問數(shù)據(jù)庫,比如比較原始比較底層 的 ODBC,專門為Access數(shù)據(jù)庫設(shè)計的DAO,還有專門為了遠(yuǎn)程設(shè)計的RDO。但是現(xiàn)在微軟的推崇的數(shù)據(jù)訪問技術(shù)是ADO技術(shù)ADO(ActiveX Data Objects)Active數(shù)據(jù)對象。ADO設(shè)計為一種極為簡單的格式,通過ODBC的方法同數(shù)據(jù)庫接口??梢杂萌魏我环NODBC數(shù)據(jù)源,如:SQL Server、Oracle、Access、Excel、文本文件、圖形文件和無格式的數(shù)據(jù)文件。而且ADO訪問數(shù)據(jù)庫的代碼非常的簡單,而且很容易讓人理解。最重要的是他能夠訪問不同的數(shù)據(jù)庫。如果代碼寫的質(zhì)量高的話,完全可以使用同一種代碼訪問不同的數(shù)據(jù)庫。52 VB中的錯誤處理系統(tǒng)運(yùn)行難免有錯誤,比如說系統(tǒng)的可使用內(nèi)容不夠了,即使我們的代碼沒有錯誤,也將不能運(yùn)行,但是如果不能運(yùn)行就非法退出的話,我想對于客戶是不能接受的,至少也該來個系統(tǒng)內(nèi)存不足的提示,給客戶一些好的建議,我想客戶肯定會非常滿意的。不知不覺就會提高你產(chǎn)品的形象,必定顧客是上帝,我們不可能一點(diǎn)都不顧客戶的感受。所以我們有必要在可能發(fā)生錯誤的地方加上我們錯誤處理代碼,來捕獲這種錯誤了。VB的錯誤代碼處理非常的簡單,簡單的來說,就是遇見錯誤,忽略。另外一種是遇到錯誤跳出執(zhí)行。我們來看看典型的兩種方式呀比如有如下的代碼:dim I as Integeron error goto Proc_Exit在這里發(fā)生了錯誤,則會直接跳到Proc_Exit后面的代碼執(zhí)行,那么I=I+1就不執(zhí)行了I=I+1Proc_Exit:另外一段代碼:dim I as Integeron error Resume next在這里發(fā)生了錯誤,繼續(xù)執(zhí)行I=I+1的代碼I=I+1兩種錯誤處理方法都是有不同的使用的地方的,就看我們?nèi)绾戊`活的掌握了。我在這個系統(tǒng)里主要采用的還是第一種的錯誤處理。53 套號設(shè)置套號設(shè)置是一個基礎(chǔ)的設(shè)置,要想添加新的一份試卷,首先我們該使用該功能來添加一個套的信息,我們設(shè)計了如下的界面:在文本框里輸入套號名稱后確定就可以在數(shù)據(jù)庫里添加該套號了,添加成功后,系統(tǒng)會自動轉(zhuǎn)入下一個添加狀態(tài),也就是可以接著再添加套號。這里的代碼實(shí)現(xiàn)如下:其中確定按鈕的代碼如下:Private Sub Command1_Click()Dim rst As RecordsetOn Error GoTo Proc_Exit If Len(Text1) 0 Then Set rst = New Recordset rst.Open select * from 套號, pCN, adOpenStatic, adLockBatchOptimistic rst.AddNew rst!套號名稱 = Text1 rst.UpdateBatch Text1 = End IfProc_Exit: If Err.Number 0 Then If Err.Number = -2147467259 Then MsgBox 套號名稱不能重復(fù)!, vbInformation Else MsgBox 發(fā)生意外錯誤,錯誤號: & Err.Number & 錯誤描述: & Err.Description, vbInformation End If Err.Clear End IfEnd Sub在本段代碼里,我就運(yùn)用了錯誤處理的代碼。由于套號名稱是唯一的,所以當(dāng)用戶添加同樣的套號名稱的時候,就會發(fā)生錯誤,從上面的代碼我們知道,這時候的錯誤代碼就是2147467259。我們捕獲了該錯誤,然后對用戶進(jìn)行提示。最后把該錯誤清除了。而發(fā)生其他的錯誤時候,我們就把錯誤給顯示出來,這樣非常的有利于我們來維護(hù)使用我們的系統(tǒng)。54 題庫內(nèi)容維護(hù)和備選答案維護(hù)在前面的設(shè)計的時候我們已經(jīng)知道餓了題庫內(nèi)容和備選答案正好是主表和子表的關(guān)系,所以有必要把這幾個模塊一起處理的。所以我設(shè)計了一個典型的主表和子表的瀏覽界面如下:上面的表格就是題目的內(nèi)容部分,下面的表格就是該道試題的備選答案的內(nèi)容。而上面表格列出是哪套試題,取決于在組合框里選擇的是哪一套試題了。我們來了解一下這里的代碼實(shí)現(xiàn)了,為了充分發(fā)揮VB的RAD開發(fā)工具的優(yōu)勢,我們這里采取了數(shù)據(jù)綁定來顯示數(shù)據(jù)和更新數(shù)據(jù),整個代碼就顯的非常的簡單了:首先我們在窗體加載的時候,我們要加載界面的顯示內(nèi)容,我們可以在Form的Load事件里進(jìn)行這些初始化工作的。比如加載題庫套號數(shù)據(jù),然后加載該套試題的數(shù)據(jù)。Private Sub Form_Load() Call InitSubjectSet Call InitSubjectEnd Sub 初始化組合框里的數(shù)據(jù)Private Sub InitSubjectSet()Dim rst As RecordsetDim i As Integer Set rst = New Recordset rst.LockType = adLockBatchOptimistic rst.CursorLocation = adUseClient rst.CursorType = adOpenStatic rst.ActiveConnection = pCN rst.Source = select * from 套號 rst.Open Me.Combo1.Clear For i = 1 To rst.RecordCount Me.Combo1.AddItem rst!套號名稱 Me.Combo1.ItemData(Me.Combo1.ListCount - 1) = rst!ID rst.MoveNext Next i If Combo1.ListCount 0 Then Combo1.ListIndex = 0 End If Set rst = NothingEnd Sub根據(jù)選中的套號從數(shù)據(jù)庫里檢索出數(shù)據(jù),并且在題目內(nèi)容的表格里進(jìn)行顯示,代碼如下:Private Sub InitSubject() Me.Adodc1.ConnectionString = pCN.ConnectionString Me.Adodc1.RecordSource = select * from 題庫主表 where 題目套號= & Me.Combo1.ItemData(Me.Combo1.ListIndex) Me.Adodc1.Refresh Set Me.MSHFlexGrid1.Recordset = Me.Adodc1.Recordset If Me.MSHFlexGrid1.Rows 1 Then Me.MSHFlexGrid1.Row = 1 End If Call InitSubjectAnswerEnd Sub由于我們在選中上面表格的每道試題的時候,需要顯示下面的數(shù)據(jù),當(dāng)表格的選中的單元格發(fā)生改變的時候會發(fā)生RowColChange事件,所以我們把備選答案的顯示放在該事件里做,代碼如下:Private Sub MSHFlexGrid1_RowColChange() Call InitSubjectAnswerEnd SubPrivate Sub InitSubjectAnswer() If Me.MSHFlexGrid1.Rows 1 Then Me.Adodc2.ConnectionString = pCN.ConnectionString Me.Adodc2.RecordSource = select * from 題目明細(xì) where 題目編號= & Me.MSHFlexGrid1.TextMatrix(Me.MSHFlexGrid1.Row, 1) & Me.Adodc2.Refresh Set Me.MSHFlexGrid2.Recordset = Me.Adodc2.Recordset Else Me.MSHFlexGrid2.Rows = 1 End IfEnd Sub按上面的增加按鈕后我們就彈出如下的界面:該代碼里比較重要的代碼如下:留給外部窗體調(diào)用的時候的接口代碼:Public Function EditSubject(Optional ByVal lngID As Long = 0, Optional lngSubjectSetID As Long)Dim rst As Recordset mlngSubjectID = lngSubjectSetID mlngID = lngID mblnEdit = IIf(lngID 0, True, False) If mblnEdit Then Set rst = New Recordset rst.Open select * from 題庫主表 where ID= & lngID, pCN, adOpenStatic, adLockBatchOptimistic Text3 = rst!題目編號 If rst!題目類型 Then Option2.Value = True Else Option1.Value = True End If Text1 = rst!題目內(nèi)容 Text4 = rst!題目分值 Text5 = rst!題目答案 Text2 = rst!題目備注 & Text3.BackColor = &H80000018 Text3.Locked = True Else Text3.BackColor = vbWhite Text3.Locked = False End If Set rst = Nothing Me.Show 1End Function保存代碼如下Private Sub Command1_Click()Dim rst As RecordsetDim strTemp As StringDim i As IntegerOn Error GoTo Proc_Exit If Len(Text3) = 0 Then MsgBox 題目編號不為空!, vbInformation GoTo Proc_Exit End If If Len(Text1) = 0 Then MsgBox 題目內(nèi)容不為空!, vbInformation GoTo Proc_Exit End If If Len(Text5) = 0 Then MsgBox 題目答案不為空!, vbInformation GoTo Proc_Exit End If For i = 1 To Len(Text5) strTemp = Mid(Text5, i, 1) If Not (Asc(strTemp) = 65 And Asc(strTemp) = 97 And Asc(strTemp) = 122) Then MsgBox 題目答案必須為字母!, vbInformation GoTo Proc_Exit End If Next i Set rst = New Recordset If mblnEdit Then rst.Open select * from 題庫主表 where ID= & mlngID, pCN, adOpenStatic, adLockBatchOptimistic Else rst.Open select * from 題庫主表, pCN, adOpenStatic, adLockBatchOptimistic rst.AddNew End If rst!題目編號 = Text3 If Option1.Value Then rst!題目類型 = False Else rst!題目類型 = True End If rst!題目內(nèi)

溫馨提示

  • 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. 人人文庫網(wǎng)僅提供信息存儲空間,僅對用戶上傳內(nèi)容的表現(xiàn)方式做保護(hù)處理,對用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對任何下載內(nèi)容負(fù)責(zé)。
  • 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請與我們聯(lián)系,我們立即糾正。
  • 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時也不承擔(dān)用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。

評論

0/150

提交評論