版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請進(jìn)行舉報或認(rèn)領(lǐng)
文檔簡介
1、<p><b> 摘 要</b></p><p> 在線考試系統(tǒng)旨在實(shí)現(xiàn)考試的無紙化管理,基于計算機(jī)和網(wǎng)絡(luò)技術(shù)進(jìn)行在線考試系統(tǒng)的使用,既方便校方對考試的管理,也方便了考生,尤其適合考生分布廣,不易集中的遠(yuǎn)程教育。</p><p> 基于遠(yuǎn)程教育的推廣和在線考試需求的增加,本文設(shè)計并實(shí)現(xiàn)了一套在線考試系統(tǒng)。本系統(tǒng)實(shí)現(xiàn)了系統(tǒng)管理、考生管理、在線考試、在線
2、制作試卷、控制學(xué)生考試、試卷審批等基本功能。同時,為確保系統(tǒng)安全運(yùn)行和考試信息的機(jī)密性、完整性,本系統(tǒng)采用了SSL協(xié)議來加密傳輸?shù)目荚嚁?shù)據(jù),并實(shí)現(xiàn)對服務(wù)器的認(rèn)證。系統(tǒng)采用B/S開發(fā)模式,以JAVA作為開發(fā)平臺,結(jié)合JSP、JavaScript、Html等語言,以Tomcat為服務(wù)器和SQL Server 2000為后臺數(shù)據(jù)庫。整個系統(tǒng)層次結(jié)構(gòu)簡單,操作容易,并具備一定的安全性??忌柚讼到y(tǒng),可以隨時隨地的進(jìn)行課程結(jié)業(yè)考試,同樣,老師使
3、用該系統(tǒng)能更高效、便捷的組織在線考試。</p><p> 關(guān)鍵詞:在線考試系統(tǒng);B/S模式;SSAbstract</p><p> The online examination system aims at achieving the paperless examination management. The online examination system, which bases
4、 on computer and network technology, is convenience for the exam management, but also for the students. Simultaneously, such a system is absolutely suitable for the students in distance education who are dispersive and d
5、ifficult to concentrate on the course. </p><p> As the promotion of distance education and the increasing demand of the online examination, this paper presents the design and implementation of the on-line
6、 examination system. The system implements the following functions: system management, examinee management, online examinations, online production of the papers, control examinations and paper processing. Meanwhile, in o
7、rder to ensure the system operating safe and the examination information confidential as well as integral, the system uses t</p><p> Key words: Online examination system; B/S pattern; SS</p><p>
8、;<b> 目錄</b></p><p><b> 摘 要I</b></p><p> AbstractII</p><p> 第一章 引 言1</p><p><b> 1.1課題背景1</b></p><p> 1.2系統(tǒng)開發(fā)
9、的意義1</p><p> 第二章 需求分析2</p><p><b> 2.1問題分析2</b></p><p> 2.2 功能需求分析2</p><p> 2.3開發(fā)環(huán)境的選擇3</p><p> 2.4系統(tǒng)安全基礎(chǔ)3</p><p>
10、; 第三章 系統(tǒng)總體設(shè)計5</p><p><b> 3.1設(shè)計思想5</b></p><p> 3.2 系統(tǒng)模塊結(jié)構(gòu)圖5</p><p> 3.3系統(tǒng)流程圖5</p><p> 3.4 數(shù)據(jù)庫的設(shè)計7</p><p> 第四章 系統(tǒng)詳細(xì)設(shè)計與實(shí)現(xiàn)9</p&g
11、t;<p> 4.1 JSP運(yùn)行環(huán)境的安裝配置9</p><p> 4.1.1 配置Java運(yùn)行環(huán)境9</p><p> 4.1.2 配置JSP運(yùn)行環(huán)境10</p><p> 4.2 功能模塊設(shè)計11</p><p> 4.2.1 系統(tǒng)管理模塊11</p><p> 4.2.2考
12、生管理模塊13</p><p> 4.2.3 成績查詢模塊15</p><p> 4.2.4 控制考試模塊15</p><p> 4.2.5 制作試卷模塊17</p><p> 4.2.6 試卷中心模塊18</p><p> 4.2.7 考生考試模塊19</p><p
13、> 第五章 系統(tǒng)測試22</p><p> 結(jié) 論23</p><p><b> 參考文獻(xiàn)24</b></p><p><b> 致謝25</b></p><p><b> 第一章 引 言</b></p><p>&l
14、t;b> 1.1課題背景</b></p><p> 近年來,我國的函授教育、網(wǎng)絡(luò)遠(yuǎn)程教育、自學(xué)教育,以及國內(nèi)國外的各類認(rèn)證考試教育,如微軟的MCSE、Cisco的CCNA等,迅速發(fā)展。在這個日新月異的時代,不學(xué)習(xí)就意味著落后,所以接受教育不再局限于校園內(nèi),職場人員通過各種不同的考試來提升自我。</p><p> 隨著Internet的發(fā)展,計算機(jī)的全面普及,學(xué)校的教
15、學(xué)、教務(wù)管理、行政管理也一改傳統(tǒng)的模式,借助現(xiàn)代計算機(jī)技術(shù)及因特網(wǎng)技術(shù),努力朝著信息化建設(shè)的方向發(fā)展。教育的改革,給人們帶來了更多的學(xué)習(xí)機(jī)會。隨著學(xué)習(xí)形式靈活、學(xué)生分布廣的成人教育及各種的認(rèn)證培訓(xùn)考試教育的迅猛發(fā)展,考試的形式也變得更加多樣化。比如,在線考試就已經(jīng)成為廣泛應(yīng)用的一種考試形式,相應(yīng)的,對在線考試系統(tǒng)的需求也越來越大。</p><p> 1.2系統(tǒng)開發(fā)的意義</p><p>
16、 系統(tǒng)所設(shè)計的在線考試系統(tǒng),是響應(yīng)教育信息化的體制改革,使Internet技術(shù)與計算機(jī)技術(shù)在教育教學(xué)領(lǐng)域的應(yīng)用得以拓展。在線考試系統(tǒng)的開發(fā)與設(shè)計適合現(xiàn)代教育教學(xué),也給傳統(tǒng)的考試提供了一個很好的解決方案,今后將成為教育教學(xué)管理的輔助方式之一,讓傳統(tǒng)教育中的考試朝網(wǎng)絡(luò)化的方向發(fā)展。</p><p> 第二章 需求分析</p><p><b> 2.1問題分析</b&g
17、t;</p><p> 在傳統(tǒng)的學(xué)校教學(xué)中,進(jìn)行一場考試,要求老師刻試卷、印試卷、安排考試、監(jiān)考、收集試卷、評改試卷、講評試卷和分析試卷,這是一個繁雜的過程,需要大量人力、物力與時間的投入,已經(jīng)越來越不適應(yīng)學(xué)校信息化建設(shè)與現(xiàn)代教學(xué)的需要。尤其在遠(yuǎn)程網(wǎng)絡(luò)教學(xué)中,學(xué)生分布廣,不易統(tǒng)一集中安排考試,給校方和學(xué)生帶來了眾多的不便。</p><p> 當(dāng)前盛行的在線考試系統(tǒng),正是信息化建設(shè)的產(chǎn)物
18、,它是傳統(tǒng)考場的延伸。它可以利用互聯(lián)網(wǎng)絡(luò)和局域網(wǎng),隨時隨地的對學(xué)生進(jìn)行考試,評分,加上數(shù)據(jù)庫技術(shù)的利用,使得管理過程簡化,能夠輕松實(shí)現(xiàn)查詢,控制等功能。因此在線考試是信息化教學(xué)的不可缺少的輔助手段。顯然,無論采取何種方式,首要考慮的是安全性能。為此,本系統(tǒng)在SSL協(xié)議下完成了在線考試。數(shù)據(jù)、信息、資料等得以安全穩(wěn)定的傳輸。</p><p> 2.2 功能需求分析</p><p>
19、; 1.用戶類別:登錄系統(tǒng)的身份定為四種,一是超級管理員既學(xué)校領(lǐng)導(dǎo),二是是一般管理員(普通老師),三是學(xué)生,只有被授權(quán)的用戶才可以使用本系統(tǒng)的資源。</p><p> 2.權(quán)限管理:系統(tǒng)需要經(jīng)過有效的身份驗證可以登錄。用戶的身份不同,使用的系統(tǒng)資源也不同??忌豢梢詤⒓釉诰€考試;一般管理員(普通教師)可以在線制作試卷,進(jìn)行考生管理,添加學(xué)生信息、控制考試、成績查詢等。學(xué)校領(lǐng)導(dǎo)可添加院系、教師、部門、科目信息及
20、查詢修改管理員信息及審批試卷、查詢考生信息;超級管理員擁有整個系統(tǒng)的全部使用權(quán)限,但查詢修改管理員信息的權(quán)限例外。</p><p> 3.在線考試功能:考生輸入準(zhǔn)號證號登陸系統(tǒng)后,選擇對應(yīng)的試卷可進(jìn)行考試。答題完畢后,可自動交卷,系統(tǒng)將自動評分,考生可同時獲得考試成績。</p><p> 4.在線制作試卷:一般管理員(教師)、學(xué)校領(lǐng)導(dǎo)和超級管理員可在線制作試卷,可設(shè)定試題的類型、難易程
21、度、分值。</p><p> 5.控制考試功能:可設(shè)定每次的考試時間,可禁止或允許考生參加考試,同時可查看考生的考試狀態(tài)。</p><p> 6.考生管理功能:可注冊新增學(xué)生用戶,同時查看個別考生及班級考生的信息,也可設(shè)定考生的考試狀態(tài):允許或禁止考試。</p><p> 7.考生成績查詢功能:提供考生各科目成績的詳細(xì)查詢。</p><p&
22、gt; 8.試卷審批功能:超級管理員及學(xué)校領(lǐng)導(dǎo)有此權(quán)限。教師制作試卷完畢,只有經(jīng)過超級管理員或?qū)W校領(lǐng)導(dǎo)審批后才能發(fā)布,發(fā)布后學(xué)生才能開考。</p><p> 9.系統(tǒng)管理功能:一般管理員只可更改登陸密碼。超級管理員及學(xué)校領(lǐng)導(dǎo)除更改密碼外,同時具有高級管理功能,進(jìn)行添加和刪除管理員的帳號。</p><p> 10. 系統(tǒng)安全性能:SSL協(xié)議對數(shù)據(jù)的加密、對服務(wù)器的認(rèn)證等能夠保證數(shù)據(jù)在各
23、個流程中流動的安全性。</p><p> 2.3開發(fā)環(huán)境的選擇</p><p> 整個系統(tǒng)開發(fā)完全采用Browser/Server模式,開發(fā)平臺為Java平臺,以Tomcat為JSP引擎和Web服務(wù)器,后臺數(shù)據(jù)庫使用SQL Server 2000。</p><p> 在開發(fā)模式上選擇Browser/Server模式,是因為B/S模式有以下優(yōu)點(diǎn):</p&g
24、t;<p> 1.開發(fā)成本及維護(hù)成本降低。由于B/S架構(gòu)管理軟件只安裝在服務(wù)器端(Server)上,網(wǎng)絡(luò)管理人員只需要管理服務(wù)器就行了,用戶界面主要事務(wù)邏輯在服務(wù)器(Server)端完全通過WWW瀏覽器實(shí)現(xiàn),極少部分事務(wù)邏輯在前端(Browser)實(shí)現(xiàn),所有的客戶端只有瀏覽器,網(wǎng)絡(luò)管理人員只需要做硬件維護(hù)。</p><p> 2.良好的安全性能,防火墻加技術(shù)加上SSL協(xié)議可以保證后臺數(shù)據(jù)庫的安全
25、性。所有客戶端請求都是通過DBMS來訪問數(shù)據(jù)庫,從而大大減少了數(shù)據(jù)直接暴露的風(fēng)險。因此系統(tǒng)的架構(gòu)就采用了B/S設(shè)計模式。</p><p><b> 2.4系統(tǒng)安全基礎(chǔ)</b></p><p> 在系統(tǒng)安全性能方面,以SSL協(xié)議作為安全保障,SSL協(xié)議功能概述如下:</p><p> SSL協(xié)議位于TCP/IP協(xié)議模型的網(wǎng)絡(luò)層和應(yīng)用層之間,
26、使用TCP來提供一種可靠的端到端的安全服務(wù),它是客戶/服務(wù)器應(yīng)用之間的通信不被攻擊竊聽,并且始終對服務(wù)器進(jìn)行認(rèn)證,還可以選擇對客戶進(jìn)行認(rèn)證。SSL協(xié)議在應(yīng)用層通信之前就已經(jīng)完成加密算法、通信密鑰的協(xié)商以及服務(wù)器認(rèn)證工作,在此之后,應(yīng)用層協(xié)議所傳送的數(shù)據(jù)都被加密。SSL實(shí)際上是共同工作的兩層協(xié)議組成,如圖1所示。從體系結(jié)構(gòu)圖可以看出SSL安全協(xié)議實(shí)際是SSL握手協(xié)議、SSL修改密文協(xié)議、SSL警告協(xié)議和SSL記錄協(xié)議組成的一個協(xié)議族。&l
27、t;/p><p> 圖1 SSL體系結(jié)構(gòu)</p><p> SSL記錄協(xié)議為SSL連接提供了兩種服務(wù):一是機(jī)密性,二是消息完整性。為了實(shí)現(xiàn)這兩種服務(wù), SSL記錄協(xié)議接收傳輸?shù)膽?yīng)用報文,將數(shù)據(jù)分片成可管理的塊,進(jìn)行數(shù)據(jù)壓縮(可選),應(yīng)用MAC,接著利用IDEA、DES、3DES或其他加密算法進(jìn)行數(shù)據(jù)加密,最后增加由內(nèi)容類型、主要版本、次要版本和壓縮長度組成的首部。被接收的數(shù)據(jù)剛好與接收數(shù)據(jù)
28、工作過程相反,依次被解密、驗證、解壓縮和重新裝配,然后交給更高級用戶。</p><p> SSL修改密文協(xié)議是使用SSL記錄協(xié)議服務(wù)的SSL高層協(xié)議的3個特定協(xié)議之一,也是其中最簡單的一個。協(xié)議由單個消息組成,該消息只包含一個值為1的單個字節(jié)。該消息的唯一作用就是使未決狀態(tài)拷貝為當(dāng)前狀態(tài),更新用于當(dāng)前連接的密碼組。</p><p> SSL告警協(xié)議是用來為對等實(shí)體傳遞SSL的相關(guān)警告。
29、如果在通信過程中某一方發(fā)現(xiàn)任何異常,就需要給對方發(fā)送一條警示消息通告。警示消息有兩種:一種是 Fatal錯誤,如傳遞數(shù)據(jù)過程中,發(fā)現(xiàn)錯誤的MAC,雙方就需要立即中斷會話,同時消除自己緩沖區(qū)相應(yīng)的會話記錄;第二種是Warning消息 ,通信雙方通常都只是記錄日志,而對通信過程不造成任何影響。SSL握手協(xié)議可以使得服務(wù)器和客戶能夠相互鑒別對方,協(xié)商具體的加密算法和MAC算法以及保密密鑰,用來保護(hù)在SSL記錄中發(fā)送的數(shù)據(jù)。</p>
30、<p> SSL握手協(xié)議允許通信實(shí)體在交換應(yīng)用數(shù)據(jù)之前協(xié)商密鑰的算法、加密密鑰和對客戶端進(jìn)行認(rèn)證(可選)的協(xié)議,為下一步記錄協(xié)議要使用的密鑰信息進(jìn)行協(xié)商,使客戶端和服務(wù)器建立并保持安全通信的狀態(tài)信息。SSL握手協(xié)議是在任何應(yīng)用程序數(shù)據(jù)傳輸之前使用的。SSL握手協(xié)議包含四個階段:第一個階段建立安全能力;第二個階段服務(wù)器鑒別和密鑰交換;第三個階段客戶鑒別和密鑰交換;第四個階段完成握手協(xié)議。</p><p&
31、gt; 第三章 系統(tǒng)總體設(shè)計</p><p><b> 3.1設(shè)計思想</b></p><p> 系統(tǒng)功能設(shè)計本著從用戶角度出發(fā)的原則,要求實(shí)用,且符合用戶提出的合理需求。系統(tǒng)設(shè)計在不違反系統(tǒng)整體性的基礎(chǔ)上,可根據(jù)用戶的需求進(jìn)行二次開發(fā),不斷完善系統(tǒng)功能,便于系統(tǒng)的不斷升級。</p><p> 3.2 系統(tǒng)模塊結(jié)構(gòu)圖</p>
32、;<p> 系統(tǒng)的模塊結(jié)構(gòu)如圖所示,根據(jù)權(quán)限不同對用戶所操作的模塊也有相應(yīng)的變化。各個模塊在數(shù)據(jù)庫的支持下具有獨(dú)立性、完整性。</p><p> 圖2 系統(tǒng)模塊結(jié)構(gòu)圖</p><p><b> 3.3系統(tǒng)流程圖</b></p><p> 用戶對系統(tǒng)進(jìn)行操作的流程也用圖作了形象的解釋,系統(tǒng)對操作用戶反饋其對應(yīng)的信息。老師能夠
33、很方面的舉行考試,學(xué)生對考試過程透明,但系統(tǒng)能對學(xué)生的考試自動存檔、打印出考試成績。并對學(xué)生信息加以記錄以方便查詢。其流程圖如下所示:</p><p> 否 </p><p> 圖3 系統(tǒng)流程圖</p><p> 3.4 數(shù)據(jù)庫的設(shè)計</p><p> 在數(shù)據(jù)庫設(shè)計時,考慮到系統(tǒng)不同用戶,
34、不同權(quán)限,以及系統(tǒng)所使用范圍和試卷的特有屬性,分別建立了相應(yīng)的表。各個表的主鍵在表中也已相應(yīng)標(biāo)明。以下就是系統(tǒng)中幾個關(guān)鍵的表。</p><p> 表1 考生信息表(student)</p><p> 表2 系別信息表(department)</p><p> 表3 試卷屬性表(pap)</p><p> 表4 問題屬性表(que
35、stion)</p><p> 第四章 系統(tǒng)詳細(xì)設(shè)計與實(shí)現(xiàn)</p><p> 4.1 JSP運(yùn)行環(huán)境的安裝配置</p><p> JSP運(yùn)行環(huán)境需要JDK的支持,需要安裝兩個軟件:jdk1.5和tomcat.。</p><p> 4.1.1 配置Java運(yùn)行環(huán)境</p><p> 安裝了JDK以后,再要
36、進(jìn)行配置系統(tǒng)環(huán)境變量: </p><p> classpath=.;d:\java\jdk\lib\dt.jar;d:\java\jdk\lib\tools.jar;d:\java\jdk\bin;</p><p> java_home=d:\java\jdk</p><p> path=d:\java\jdk\bin;</p><p>
37、; 如圖 1 說明jdk安裝成功</p><p> 4.1.2 配置JSP運(yùn)行環(huán)境</p><p> 安裝完JDK以后,安裝Web服務(wù)器Tomcat,這里用的版本是Tomcat 6.0,.安裝向?qū)У牡诙绞前惭b選項,這里按照Normal選項的默認(rèn)設(shè)置,不選擇Service服務(wù)。默認(rèn)服務(wù)端口8080。接著選擇JDK的路徑,Tomcat回自動檢測到JDK的路徑,這里選擇剛才安裝的JDK
38、的主目錄。安裝完畢后,在程序菜單中可以看到Tomcat的選項,選擇“Start Tomcat”啟動Web服務(wù)器。打開瀏覽器,在地址欄中輸入http://localhost:8080,可以看到Tomcat的歡迎界面,如圖所示。 </p><p> 圖2 Tomcat SSL配置成功</p><p> 4.2 功能模塊設(shè)計</p><p> 整個模塊分為系統(tǒng)
39、管理、考生管理、控制考試、查詢系統(tǒng)、制作試卷、試卷中心、考生考試七大模。</p><p> 4.2.1 系統(tǒng)管理模塊</p><p> 圖3 系統(tǒng)管理模塊結(jié)構(gòu)圖</p><p> 系統(tǒng)管理模塊包括更改密碼、高級管理(添加資源、添加管理員、刪除管理員、查詢管理員)兩大子模塊。</p><p> 1、更改密碼:各級管理員登錄系統(tǒng)后,可
40、自行重新設(shè)置登錄密碼;</p><p> 2、高級管理:包含添加資源、添加管理員、刪除管理員、查詢管理員四個子功能,超級管理員添加資源、添加管理員、刪除管理員、查詢管理員,學(xué)校領(lǐng)導(dǎo)擁有超級管理員的權(quán)限外,還有查詢管理員的權(quán)限。</p><p> (1)添加資源,可添加部門名稱;部門的科目名稱,科目名稱將錄入科目信息表中,以后教師可以制作此科目的試卷。</p><p&
41、gt; ?。?)添加管理員,允許超級管理員和校領(lǐng)導(dǎo)添加超級管理員及一般的管理員用戶,并分配權(quán)限。</p><p> ?。?)刪除管理員,允許超級管理員及校領(lǐng)導(dǎo)刪除其它管理員。</p><p> ?。?)查詢管理員,只允許校領(lǐng)導(dǎo)查詢管理員信息,查詢時,可顯示各管理員的信息列表,點(diǎn)擊列表中各記錄后面的修改、刪除,可對管理員信息進(jìn)行編輯與管理,但不可更改管理員的信息。</p>&l
42、t;p><b> 系統(tǒng)管理界面如圖:</b></p><p> 圖4 系統(tǒng)管理頁面</p><p> 其中,實(shí)現(xiàn)以上功能的主要代碼如下:</p><p> 在JSP中使用BEAN:</p><p> <jsp:useBean id="dep1" scope="page
43、" class="exam.exam"/></p><p> <jsp:useBean id="dep" scope="page" class="exam.exam"/></p><p><b> 系統(tǒng)管理:</b></p><p>
44、<b> 添加部門:</b></p><p> <jsp:useBean id="db1" scope="page" class="exam.exam"/></p><p> String sql1="select max(dep) as num from departmen&qu
45、ot;;</p><p> ResultSet rs=db1.executeQuery(sql1);</p><p> while(rs.next()){</p><p> num=rs.getInt("num");</p><p> dep=num+1;</p><p><b>
46、 }</b></p><p> <jsp:useBean id="db2" scope="page" class="exam.exam"/></p><p> Stringsql2="insert into</p><p> departmen(dep,depnam
47、e)values('"+dep+"','"+depname+"')";</p><p> db2.executeUpdate(sql2);</p><p><b> 添加管理員</b></p><p> StringstrSQL4="inserti
48、nto</p><p> administrators(wnum,wpswd,tname,tsex,tdep,tpri)values ('"+wnum+"','"+wnum+"','"+tname+"','"+tsex+"','"+tdep+"
49、;','"+tpri+"')";</p><p> regBean.executeUpdate(strSQL4);</p><p> 4.2.2考生管理模塊</p><p> 圖5 考生管理模塊結(jié)構(gòu)圖</p><p> 考生管理模塊包括考生注冊,考生個人信息查詢、考生集體(班級
50、)查詢?nèi)齻€模塊。</p><p><b> 1、考生注冊</b></p><p> 考生注冊用于添加考生的信息,此操作由超級管理員及教師來完成。</p><p> 輸入項:準(zhǔn)考證號、姓名、性別、學(xué)號年級,班級和所在系。</p><p> 輸出項:注冊成功,進(jìn)入成功頁面,不成功則顯示錯誤信息頁面。</p>
51、;<p><b> 處 理:</b></p><p> (1)判斷準(zhǔn)考證號,姓名,性別,學(xué)號,年級,班級的所在系是否為空,數(shù)據(jù)庫中是否有重復(fù)的準(zhǔn)考證號以及位數(shù)是否正確。</p><p> (2)在這里系統(tǒng)管理員可以添加考生信息,添加的信息有準(zhǔn)考證號,姓名,性別,學(xué)號,年級,班級和所在系。所有的信息被系統(tǒng)取得后都將添入信息表中,經(jīng)過注冊的考生,可以
52、使用他的準(zhǔn)考證號和密碼登錄網(wǎng)絡(luò)考試系統(tǒng),進(jìn)行在線考試。這里系統(tǒng)將考生的密碼默認(rèn)為準(zhǔn)考證號。</p><p><b> 2、考生信息</b></p><p><b> ?。?)個人信息查詢</b></p><p> 輸入項:考生的準(zhǔn)考證號</p><p> 輸出項:查找成功,進(jìn)入成功頁面,顯示考
53、生信息,不成功則顯示錯誤信息頁面。</p><p> 處 理:在這個子功能里,用戶輸入考生的準(zhǔn)考證號,提交給系統(tǒng)后,系統(tǒng)會將使用這個準(zhǔn)考證號的考生的所有信息顯示出來。個人的信息有準(zhǔn)考證號,姓名,性別,學(xué)號,年級,班級,所在系,考試狀態(tài)(允許考試/禁止考試),考試次數(shù),歷史最好的科目與成績,歷史最壞的科目與成績,所有考試科目與成績。還可以查看此考生的試卷,在這個子功能里還可以設(shè)置考生的考試狀態(tài)(允許/禁止)。&
54、lt;/p><p> ?。?)集體信息查詢(班級)</p><p> 輸入項:用戶選擇系別,年級和班級</p><p> 輸出項:查找成功,進(jìn)入成功頁面,不成功則顯示錯誤信息頁面</p><p> 處 理:在這個子功能里,用戶選擇系別,用戶選擇系別,年級和班級,提交給系統(tǒng)后,系統(tǒng)將這個具體的班的所有考生的信息顯示出來。集體的信息有準(zhǔn)考證號
55、,姓名,性別,學(xué)號,考試狀態(tài)(允許考試/禁止考試)。通過這個功能還可以設(shè)置整個班級考生的考試狀態(tài)。</p><p><b> 考生管理界面如圖</b></p><p><b> 圖6 考生管理圖</b></p><p> 實(shí)現(xiàn)以上主要功能核心代碼為:</p><p> 查詢班級信息及設(shè)置考
56、試狀態(tài)</p><p> String sql2="update student set power='"+power+"' where dep='"+depq+"' and grade='"+grade+"' and sclass='"+sclass+"'&
57、quot;;</p><p> dep1.executeUpdate(sql2);</p><p> sql="select * from student where dep='"+depq+"' and grade='"+grade+"' and sclass='"+sclass+&q
58、uot;' order by snum";</p><p> ResultSet rs=dep.executeQuery(sql);</p><p> ResultSet rs2=dep2.executeQuery(sql);</p><p> 4.2.3 成績查詢模塊</p><p> 本模塊可查詢學(xué)生基本信息及
59、成績單信息。</p><p> 輸入項:學(xué)生的準(zhǔn)考證號或姓名,或系級,支持模糊查詢。</p><p> 輸出項:顯示符合條件的該考生基本信息及各科目成績單信息,無符合條件的將顯示無此記錄。</p><p> 處 理:在這個子功能里,用戶可輸入準(zhǔn)考證號、姓名或系別,系統(tǒng)將自動進(jìn)行判定。</p><p><b> 其查詢模塊如
60、圖:</b></p><p><b> 圖7 查詢模塊圖</b></p><p> 以上主要功能代碼為:</p><p><b> 查詢學(xué)生的考試信息</b></p><p> ResultSet rs2=adminBean.executeQuery("select
61、* from student where snum like '"+"%"+sid+"%"+"' and sname like '"+"%"+name2+"%"+"' and dep like '"+"%"+depints+"%"
62、+"'");</p><p> countrs=adminBean.executeQuery("select count(*)as cnt from student where snum like '"+"%"+sid+"%"+"' and sname like '"+"
63、;%"+name2+"%"+"' and dep like '"+"%"+depints+"%"+"'");</p><p> 4.2.4 控制考試模塊</p><p> 圖8 控制考試模塊結(jié)構(gòu)圖</p><p> 控制考試
64、模塊包括開始考試、結(jié)束考試兩個模塊。試卷獲準(zhǔn)發(fā)布后,教師可選擇院系及試卷,然后點(diǎn)擊“允許開始考試”,同時設(shè)定考試時限,此后,學(xué)生登陸考試系統(tǒng)才能開始考試。在此處,對已開考的試卷,教師可隨時結(jié)束本次考試。</p><p> 輸入項:選擇部門或院系名稱</p><p> 輸出項:頁面將羅列出已經(jīng)審批過的試卷,以及顯示試卷考試狀態(tài)控制頁面,即“允許開始開試”、“結(jié)束考試”。</p>
65、;<p><b> 處 理:</b></p><p> (1)系統(tǒng)檢索數(shù)據(jù)庫中屬于這個部門且又審批后可以發(fā)布的試卷,然后羅</p><p><b> 列出來。</b></p><p> ?。?)所有查詢結(jié)果以分頁方式顯示,每頁5條,可以迅速跳轉(zhuǎn)某一頁,也可按上一頁、下一頁、首頁、尾頁方式連接到相應(yīng)的頁
66、。</p><p><b> 其模塊界面如圖</b></p><p> 圖9 控制考試界面圖</p><p><b> 以上的主要代碼為:</b></p><p> 考試信息讀取的時候進(jìn)行分頁控制</p><p> String dep=request.getPa
67、rameter("give");</p><p> if(dep==null){dep=(String)session.getValue("dep");} </p><p> session.putValue("dep",dep);</p><p> int pageLine=5;</p&g
68、t;<p> int totalRec=0;</p><p> int intPage=1;</p><p><b> int i;</b></p><p> intPageCount=(totalRec+pageLine-1)/pageLine;</p><p> ResultSet rs2=a
69、dminBean.executeQuery("select sbnum,pnum,phead,pstate from pap where dep='"+dep+"' and pstate='"+1+"' or pstate='"+2+"' order by pnum "); if (intPageCoun
70、t>0)</p><p> {for(i=1;i<=(intPage-1)*pageLine;i++)</p><p> rs2.next();</p><p> for(i=1;i<=pageLine;i++){</p><p> if(rs2.next()){顯示出符合條件的試卷}</p><
71、p> 4.2.5 制作試卷模塊</p><p> 圖10 制作試卷流程圖</p><p> 制作試問模塊包括:基本屬性設(shè)置(系別,試卷的科目,試卷的標(biāo)題,性質(zhì)(標(biāo)準(zhǔn)考試,補(bǔ)考),題型設(shè)置,(題型,難度,分?jǐn)?shù),問題),問題選項設(shè)置(選項個數(shù)的設(shè)置,每個選項的內(nèi)容,及設(shè)置該選項是否為正確答案),試卷的預(yù)覽(及有修改的功能)。</p><p> 輸入項:題
72、型,難度,分?jǐn)?shù),問題</p><p> 輸出項:題型的設(shè)置頁面,完成制作是預(yù)覽這套試卷。</p><p><b> 處 理:</b></p><p> ?。?)題型設(shè)置。試卷的問題是一道一道的設(shè)置的。流程以上如圖,先是選擇題,要系統(tǒng)中有四種,分別是單選題,多選題,判斷題和填空題。以菜單的形式顯示這四種題型。</p><
73、p> ?。?)難度設(shè)置。難度分為:易,中,難三個等級。</p><p> ?。?)分?jǐn)?shù)設(shè)置。填寫此題的分?jǐn)?shù)。</p><p> ?。?)輸入此題的具體問題。</p><p> 將以上這些信息提交給系統(tǒng),系統(tǒng)會根據(jù)用戶提交題型的不同,顯示不同的內(nèi)容。單選題和多選題會提示用戶先設(shè)置幾個選擇題的選項,然后提交給系統(tǒng),系統(tǒng)接著將要求用戶就幾個選項,設(shè)定一個或幾個正確
74、的答案,并提交給系統(tǒng)。填空題顯示的是此問題框,讓用戶將答案提交給系統(tǒng)。</p><p> 判斷題和填空題制作完成,并提交后,系統(tǒng)會提示是否繼續(xù)制作或完成制作。若繼續(xù)制作,用戶可繼續(xù)進(jìn)行題目添加或其它題型的設(shè)置;若選擇完成制作,則可預(yù)覽制作的這套試卷。</p><p><b> 以上主要代碼為:</b></p><p> 獲取題目:Stri
75、ng sql4="select distinct qnum,question,mark,type,diff from question where sbnum='"+sbnum+"' and pnum='"+pnum+"'order by qnum";</p><p> ResultSet rs4=db4.execute
76、Query(sql4);</p><p> while(rs4.next()) {</p><p> int qnum=rs4.getInt("qnum");</p><p> String question=rs4.getString("question");</p><p> int mar
77、k=rs4.getInt("mark");</p><p> int type=rs4.getInt("type");</p><p> int diff=rs4.getInt("diff");</p><p> 制作答案 String sql6="select * from storer
78、 where question='"+question+"' and sbnum='"+sbnum+"' order by knum"; </p><p><b> 試卷制作</b></p><p> String pnum=request.getParameter(&quo
79、t;pnum");</p><p> String question=(String) session.getValue("question");</p><p> String sbnum=(String) session.getValue("kname");</p><p> String keys= ne
80、w String(request.getParameter("select").getBytes("8859_1"));</p><p> Stringsql="insertintostorer(question,sbnum,knum,keys)Values('"+question+"','"+sbnum+&
81、quot;','"+1+"','"+keys+"')";</p><p> db.executeUpdate(sql);</p><p> 4.2.6 試卷中心模塊</p><p> 試卷中心的功能是超級管理員和學(xué)校領(lǐng)導(dǎo)針對教師所制作的試卷,進(jìn)行審批與發(fā)布。</p
82、><p> 輸入項:選擇要審批試卷所的部門名(系別),選擇試卷號。</p><p> 輸出項:顯示審批頁面,羅列待審批的科目試卷。</p><p> 處 理:這個功能是超級管理員及領(lǐng)導(dǎo)的權(quán)限。每個普通教師制作完成的試卷,要經(jīng)過有效的審批后才可以發(fā)布出去。這個功能就是用來實(shí)現(xiàn)此目的。首先選擇要審批試卷所在部門名。系統(tǒng)會將所提交的部門里的所有的沒有經(jīng)過審批的已制作完
83、成的試卷顯示出來。用戶想審批哪套試卷,就可以選擇它并提交給系統(tǒng),系統(tǒng)就會將這套試卷全部顯示出來供用戶閱覽,然后進(jìn)行審批。</p><p> 以上功能主要代碼為:</p><p><b> 領(lǐng)導(dǎo)審批獲取信息</b></p><p> String dep=(String)session.getValue("dep");&
84、lt;/p><p> String pnum=request.getParameter("pnum");</p><p> String sbnum=request.getParameter("sbnum");</p><p> String sql="select sbname,sbnum from subjec
85、t where dep='"+dep+"'";</p><p> ResultSet rs=db.executeQuery(sql);</p><p> String sql1="select * from pap where dep='"+dep+"' and pnum='"
86、+pnum+"' and sbnum='"+sbnum+"'";</p><p> String sql2="select tname from administrators where wnum='"+wnum+"'";</p><p> String sql3=&
87、quot;select depname from departmen where dep='"+dep+"'";</p><p> 4.2.7 考生考試模塊</p><p> 考生考試模塊主要是考生的獲取試卷,及考試(并有倒計時的功能),及自動評功能。</p><p> 輸入項:考生輸入正確口令,選擇(獲取)試卷
88、,作答題目。</p><p> 輸出項:考生信息,考生的試卷及考生考完的成績(打印成績單)。</p><p> 處 理:系統(tǒng)對考生輸入的口令進(jìn)行驗證,如果通過則并進(jìn)入考生考試的首頁面,及顯示考生的所有信息,對公布一些考場規(guī)則,當(dāng)考生獲取試卷時,并作答時系統(tǒng)進(jìn)入倒計時,時間一到,系統(tǒng)將自動交試卷并進(jìn)入評分,把該科目的成績存入到學(xué)生檔案中,顯示該科目的成績并打印成績單。一份試卷,只允許考
89、生考一次,考生交卷后,若該考生第二次進(jìn)入該試卷時,雖然考生可繼續(xù)答題,但已不能重復(fù)交卷。</p><p><b> 考生考試操作流程:</b></p><p> ?。?) 輸入用戶名(準(zhǔn)考證號),密碼(默認(rèn)準(zhǔn)考證號)。</p><p> (2)系統(tǒng)顯示該考生的基本信息,及一次考試規(guī)則。</p><p> ?。?)考生
90、獲取試卷,系統(tǒng)并進(jìn)入倒計時。</p><p> ?。?)考生進(jìn)行答題,答題完畢點(diǎn)擊“交卷”,不可重復(fù)交卷兩次。</p><p> ?。?)交卷后,考生可即時看到自己的成績單。系統(tǒng)只對客觀選擇題進(jìn)行評分??忌纱蛴∽约旱某煽儐?。</p><p><b> 其界面如圖</b></p><p><b> 圖14
91、考生考試</b></p><p> 以上功能主要代碼為:</p><p><b> 獲取學(xué)生信息:</b></p><p> String pnum=request.getParameter("pnum");</p><p> String sbnum=request.getPar
92、ameter("sbnum");</p><p> String sqltime="select * from timeset where sbnum = '"+sbnum+"' and pnum= '"+pnum+"'";</p><p> ResultSet rstime
93、=deb1.executeQuery(sqltime);</p><p><b> 時間倒計:</b></p><p> function leavePage()</p><p> {if (0 == s && n== 0 && m==0)</p><p> {document.f
94、orm23.submit();</p><p><b> }</b></p><p> else if( n==0 && s==0)</p><p> {m=m-1;n=59;s=60;</p><p><b> }</b></p><p> els
95、e if( s==0)</p><p> {n=n-1;s=60;}</p><p><b> s -= 1;</b></p><p> if (n<=9) na="0"+n;</p><p> else na=n;</p><p> if (s<=9)
96、s="0"+s;</p><p> if (m==0) m="00";</p><p> document.all.countdown.innerText = m+":"+na+":"+s+" ";</p><p> setTimeout("leave
97、Page()", 1000);}</p><p> leavePage();</p><p> 進(jìn)入考試頁面,從數(shù)據(jù)庫得到試卷,選擇題型開始作答</p><p> String sql4="select distinct qnum,question,mark,type,diff from question where sbnum='
98、"+sbnum+"' and pnum='"+pnum+"'order by qnum";</p><p> ResultSet rs4=db4.executeQuery(sql4);</p><p><b> 第五章 系統(tǒng)測試</b></p><p> 系統(tǒng)在完
99、成以后,經(jīng)過測試,運(yùn)行正常,達(dá)到了所設(shè)計的效果。4種不同用戶能夠按照預(yù)期設(shè)計的要求進(jìn)行操作。超級管理員對系統(tǒng)有統(tǒng)治性的權(quán)利。學(xué)校領(lǐng)導(dǎo)用戶隨時可以根據(jù)系統(tǒng)對試卷進(jìn)行審批,對學(xué)生信息進(jìn)行查詢等。教師也可以隨時組織學(xué)生參加考試??忌瓿煽荚嚭蟮囊磺行畔⒍即娴綌?shù)據(jù)庫。加強(qiáng)了系統(tǒng)對考生管理的記錄。</p><p> 整個系統(tǒng)基于SSL協(xié)議,對數(shù)據(jù)的傳輸、信息的流動起到了安全方面的保證。測試過程中沒有異?,F(xiàn)象的發(fā)生。&l
100、t;/p><p><b> 結(jié) 論</b></p><p> 本文提出的在線考試系統(tǒng)的實(shí)現(xiàn)主要基于計算機(jī)和互聯(lián)網(wǎng)技術(shù),通過使用Web瀏覽器,學(xué)生能夠輕松完成抽題、考試、交卷等考試任務(wù),還可以通過互聯(lián)完成考試的控制。借助原來的數(shù)據(jù)庫,各考點(diǎn)可以通過網(wǎng)絡(luò)獲取題庫。學(xué)生通過網(wǎng)絡(luò)選擇開考的試卷,然后進(jìn)行在線作答。答卷后,學(xué)生可在線自動交卷。交卷同時,系統(tǒng)將自動評分,生
101、成考試成績數(shù)據(jù)。教師可在線查看各考生的成績。同時本系統(tǒng),可對學(xué)生基本信息及考試成績信息進(jìn)行查詢、更改等管理,也有利于學(xué)校教務(wù)的管理。同時,由于在系統(tǒng)中使用了SSL協(xié)議,能有效保障考試數(shù)據(jù)的機(jī)密性和完整性。</p><p> 由于時間倉促,及本人理論知識、開發(fā)技術(shù)、實(shí)踐經(jīng)驗和現(xiàn)有設(shè)備的局限,系統(tǒng)難免存在許多的不足之處,有待于改進(jìn)和完善。</p><p> 1.對于數(shù)據(jù)庫中的數(shù)據(jù)的日常維護(hù)
102、不夠全面,對刪除數(shù)據(jù)的處理,未能做到對數(shù)據(jù)的備份與恢復(fù)。</p><p> 2. “在線制作試卷”的功能有待加強(qiáng)。目前系統(tǒng)只能按題在線制作試卷,還不能做到考題庫的批量導(dǎo)入,所以在線制作試卷的效率并不高,這也是系統(tǒng)的一大缺陷。</p><p> 3. 系統(tǒng)沒給出對填空題的評分策略,只對選擇和判斷有效。</p><p> 4. 對于SSL協(xié)議自身內(nèi)部如何具體實(shí)
103、現(xiàn)其安全功能的流程不夠深入。</p><p><b> 參考文獻(xiàn)</b></p><p> [1] 馮燕奎,趙德奎著.JSP實(shí)用案例教程[M].北京:清華大學(xué)出版社,2004。</p><p> [2] 黃劉生著.數(shù)據(jù)結(jié)構(gòu)[M].上海:經(jīng)濟(jì)科學(xué)出版社,1999。</p><p> [3] 黃曉東著.JAVA
104、課程設(shè)計案例精編[M].北京:中國水利水電出版社,2004。</p><p> [4] (美)Bruce Eckel著.陳昊鵬,饒若楠等譯.JAVA編程思想[M].北京:機(jī)械工業(yè)出版社 ,2005。</p><p> [5] 胡道元編.網(wǎng)絡(luò)安全[M].北京:清華大學(xué)出版社,2003。</p><p> [6] 閔京華編.安全協(xié)議導(dǎo)論[M].北京:清華大學(xué)出
105、版社,2003。</p><p> [7] 陳玉峰著.SQL Server2000數(shù)據(jù)庫開發(fā)教程[M].上海:科學(xué)出版社,2000。</p><p><b> 致謝</b></p><p> 此次的畢業(yè)設(shè)計中,我受到了多方面的幫助,在此表示真誠的感謝。我特別感謝的是我的指導(dǎo)老師劉文軍老師以及計算機(jī)系的所有老師。在這期間,老師嚴(yán)謹(jǐn)?shù)闹螌W(xué)態(tà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. 眾賞文庫僅提供信息存儲空間,僅對用戶上傳內(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)用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。
最新文檔
- 在線考試系統(tǒng)畢業(yè)設(shè)計說明書
- 畢業(yè)設(shè)計----在線考試系統(tǒng)設(shè)計說明書
- 在線考試系統(tǒng)詳細(xì)設(shè)計說明書
- 游戲點(diǎn)卡在線銷售系統(tǒng)畢業(yè)設(shè)計說明書
- 畢業(yè)設(shè)計--畢業(yè)設(shè)計管理系統(tǒng)設(shè)計說明書
- 在線美食網(wǎng)畢業(yè)設(shè)計說明書
- 液壓系統(tǒng)畢業(yè)設(shè)計說明書
- 畢業(yè)設(shè)計說明書—
- 論壇系統(tǒng)畢業(yè)設(shè)計說明書
- 空調(diào)系統(tǒng)設(shè)計 畢業(yè)設(shè)計說明書
- 財務(wù)系統(tǒng)設(shè)計畢業(yè)設(shè)計說明書
- 空調(diào)系統(tǒng)設(shè)計畢業(yè)設(shè)計說明書
- 畢業(yè)設(shè)計說明書
- 火災(zāi)監(jiān)控系統(tǒng)畢業(yè)設(shè)計說明書
- 攤鋪機(jī)液壓系統(tǒng)畢業(yè)設(shè)計說明書
- 醫(yī)院管理系統(tǒng)畢業(yè)設(shè)計說明書
- 網(wǎng)上購物系統(tǒng)畢業(yè)設(shè)計說明書
- 網(wǎng)上訂餐系統(tǒng)畢業(yè)設(shè)計論文畢業(yè)設(shè)計說明書
- 【畢業(yè)設(shè)計】墊圈內(nèi)徑檢測裝置畢業(yè)設(shè)計說明書課程畢業(yè)設(shè)計說明書
- 畢業(yè)設(shè)計說明書
評論
0/150
提交評論