網(wǎng)上考試系統(tǒng)畢業(yè)設計_第1頁
網(wǎng)上考試系統(tǒng)畢業(yè)設計_第2頁
網(wǎng)上考試系統(tǒng)畢業(yè)設計_第3頁
網(wǎng)上考試系統(tǒng)畢業(yè)設計_第4頁
網(wǎng)上考試系統(tǒng)畢業(yè)設計_第5頁
已閱讀5頁,還剩35頁未讀, 繼續(xù)免費閱讀

下載本文檔

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

文檔簡介

1、摘 要隨著網(wǎng)絡技術的發(fā)展,遠程教育和網(wǎng)上考試成為網(wǎng)絡應用的一個重要方面。近幾年,在線考試特別是基于web 的在線考試系統(tǒng)受到越來越多的人青睞。本次畢業(yè)設計的題目是在線模擬考試系統(tǒng)的設計與實現(xiàn),系統(tǒng)采用瀏覽器/服務器模式開發(fā),包括登錄注冊、在線考試、試卷設置、試題管理、分數(shù)的統(tǒng)計以及成績查詢等功能。系統(tǒng)運行在windows 7操作系統(tǒng)上,以tomcat作為web服務器,使用jsp技術和mysql 數(shù)據(jù)庫實現(xiàn)。論文首先對在線考試系統(tǒng)做了需求分析,然后給出系統(tǒng)的設計與實現(xiàn)過程,最后,針對系統(tǒng)的各個功能進行了測試。關鍵詞:在線考試;瀏覽器/服務器;jsp;mysql;jdbc;abstractwith

2、 the development of networking technology, online examination and distance education is an aspect in the application of internet. in recent years the on-line examination especial of web-based examination is more and more popular. the graduation projects subject is to design and realization of the on

3、line examination system. the system uses the browser/server to develop. it includes login, new user registration, on-line examination, examination paper set, examination paper management, score statistics ,query results and other functional. the system takes the windows 7 as the os,tomcat as the web

4、 server, uses jsp technology and mysql as the database server development tools to realize the system. in this paper, the requirement analysis about the online examination system is introduced, and then give the system design and implementation .finally, all of the functions of the system is tested.

5、keywords: on-line examination;browse/server;jsp;mysql;jdbc;目錄摘 要(中文)i(英文)ii第一章 系統(tǒng)概述11.1 系統(tǒng)開發(fā)背景11.2 系統(tǒng)開發(fā)意義11.3系統(tǒng)開發(fā)工具1第二章 系統(tǒng)分析52.1 現(xiàn)狀分析52.2 可行性分析52.3 設計目標62.4 功能要求62.5 系統(tǒng)開發(fā)環(huán)境配置7第三章 系統(tǒng)設計93.1數(shù)據(jù)庫設計93.2系統(tǒng)結構設計113.3用戶界面設計12第四章 系統(tǒng)實現(xiàn)154.1 數(shù)據(jù)庫連接的實現(xiàn)方法154.2 登陸注冊模塊164.3考生模塊184.4 教師模塊234.5 管理員模塊31第五章 系統(tǒng)測試335.1什么是軟

6、件測試335.2軟件測試的目標與方法335.3測試內(nèi)容335.4系統(tǒng)的不足和展望34結束語35參考文獻36第一章 系統(tǒng)概述1.1 系統(tǒng)開發(fā)背景隨著我國計算機技術和通訊技術的發(fā)展,互聯(lián)網(wǎng)的普及程度已經(jīng)很廣泛了,但是,現(xiàn)在的教育教學檢驗方式,還是停留在過去的紙質考試層面在,而傳統(tǒng)的教育教學檢驗方式中,要進行一次考試,至少需要經(jīng)過教師出題、學生考試、教師閱卷等幾步,這是一個繁雜的過程,需要大量人力、物力與時間的投入,同時也讓教師的工作量越來越大;現(xiàn)在遠程教育類學校的增多,雖然利用了網(wǎng)絡拉近了教師與學生的距離,但學生的分布過廣,導致了不易統(tǒng)一集中安排考試,考生成本的增加等諸多難題的出現(xiàn),給校方和學生帶

7、來了很多的不便,因此,傳統(tǒng)的考試方式已經(jīng)不能適應現(xiàn)在新興的教育教學方式的考試需要了??梢越鉀Q這些諸多難題的一種方式,就是利用internet無國界的特點,在互聯(lián)網(wǎng)上在線考試。在線考試系統(tǒng)可以減輕教師的工作負擔、提高工作效率,也減少了因考試而消耗不必要的人力和物力。在線考試的題目由計算機從題庫中隨機抽取,提高了考試的質量,考試的評判由計算機自動完成,這樣使考試更趨于公證、客觀。隨著社會的發(fā)展和我國互聯(lián)網(wǎng)的普及,我們的生活中的已經(jīng)有很多方面都運用到了網(wǎng)絡,比如網(wǎng)上購物,網(wǎng)上交友等,甚至現(xiàn)在很多人看新聞都是通過網(wǎng)絡閱讀的,在閱讀新聞這個事件上,已經(jīng)不僅僅局限于紙質化的報紙上了;而要把考試趨于無紙化的

8、模式,需要在線模擬考試系統(tǒng)來完成,這個也是現(xiàn)在高等教育發(fā)展的一個需求。在國內(nèi),試題庫系統(tǒng)理論與技術的研究在最近幾年取得了很大的進步。我國許多企業(yè)和高校都投入量大量的人力物力到各門課程的試題庫中,并取得了一定的成就?,F(xiàn)在的生活中已經(jīng)有越來越多的等級考試運用了在線考試系統(tǒng),比如會計的電算化考試、計算機等級考試、銀行資格證考試等,這些已經(jīng)充分說明,在線考試系統(tǒng)是今后我們的考試生涯中的一個發(fā)展趨勢。1.2 系統(tǒng)開發(fā)意義考試是教育中一個非常重要的環(huán)節(jié),但在以前的很長時間里,全球所有的國家都是以筆試的方式來檢查焦距教學成果的,隨著網(wǎng)絡的發(fā)展,互聯(lián)網(wǎng)已經(jīng)普及的非常廣泛,隨著這些周圍環(huán)境的改變,人們開始去尋找

9、新的方式來去達到更客觀,更方便快捷的去達到考試的目的。近些年來,在國外,已經(jīng)投入使用的考試系統(tǒng)有著名的toefl,gre網(wǎng)上考試系統(tǒng),還有微軟、思科等大公司的國際認證考試等,這些考試系統(tǒng)在全球范圍內(nèi)有眾多的使用者。網(wǎng)絡化考試系統(tǒng)對節(jié)約考試成本,實現(xiàn)遠距離的同步考試,提高考試效率,確??荚嚱Y果的公平、公正、科學、及時等具有重要的意義,不僅可以動態(tài)地管理考試信息,而且還提高了教學的靈活性,相信隨著技術的不斷發(fā)展和網(wǎng)絡覆蓋面的不斷擴大,在不斷完善該考試系統(tǒng)的同時也會在更大的范圍上應用。1.3系統(tǒng)開發(fā)工具本系統(tǒng)是基于tomcat為服務器,jsp+mysql數(shù)據(jù)庫技術實現(xiàn)的一個簡單的在線考試系統(tǒng),以下對

10、jsp技術、mysql數(shù)據(jù)庫和tomcat作簡要的介紹。 1.3.1動態(tài)網(wǎng)頁開發(fā)技術jsp(java server page)jsp(java server pages)是由sun microsystems公司倡導、許多公司參與一起建立的一種動態(tài)網(wǎng)頁技術標準。jsp技術有點類似asp技術,它是在傳統(tǒng)的網(wǎng)頁html文件中插入java程序段和jsp標記,從而形成jsp文件。 用jsp開發(fā)的web應用是跨平臺的,即能在linux下運行,也能在其他操作系統(tǒng)上運行。jsp技術使用java編程語言編寫類xml的tags和scriptlets,來封裝產(chǎn)生動態(tài)網(wǎng)頁的處理邏輯。網(wǎng)頁還能通過tags和script

11、lets訪問存在于服務端的資源的應用邏輯。jsp將網(wǎng)頁邏輯與網(wǎng)頁設計和顯示分離,支持可重用的基于組件的設計,使基于web的應用程序的開發(fā)變得迅速和容易。 web服務器在遇到訪問jsp網(wǎng)頁的請求時,首先執(zhí)行其中的程序段,然后將執(zhí)行結果連同jsp文件中的html代碼一起返回給客戶。插入的java程序段可以操作數(shù)據(jù)庫、重新定向網(wǎng)頁等,以實現(xiàn)建立動態(tài)網(wǎng)頁所需要的功能。 jsp與java servlet一樣,是在服務器端執(zhí)行的,通常返回該客戶端的就是一個html文本,因此客戶端只要有瀏覽器就能瀏覽。 jsp頁面由html代碼和嵌入其中的java代碼所組成。java servlet 是jsp的技術基礎,而

12、且大型的web應用程序的開發(fā)需要java servlet和jsp配合才能完成。jsp具備了java技術的簡單易用,完全的面向對象,具有平臺無關性且安全可靠,主要面向因特網(wǎng)的所有特點。 1jsp技術的強勢 (1)一次編寫,到處運行。在這一點上java比php更出色,除了系統(tǒng)之外,代碼不用做任何更改。(2)系統(tǒng)的多平臺支持?;旧峡梢栽谒衅脚_上的任意環(huán)境中開發(fā),在任意環(huán)境中進行系統(tǒng)部署,在任意環(huán)境中擴展。相比asp/php的局限性是現(xiàn)而易見的。 (3)強大的可伸縮性。從只有一個小的jar文件就可以運行servlet/jsp,到由多臺服務器進行集群和負載均衡,到多臺application進行事務處

13、理,消息處理,一臺服務器到無數(shù)臺服務器,java顯示了一個巨大的生命力。 (4)多樣化和功能強大的開發(fā)工具支持。這一點與asp很像,java已經(jīng)有了許多非常優(yōu)秀的開發(fā)工具,而且許多可以免費得到,并且其中許多已經(jīng)可以順利的運行于多種平臺之下。 2 jsp技術的弱勢 (1) 與asp一樣,java的一些優(yōu)勢正是它致命的問題所在。正是由于為了跨平臺的功能,為了極度的伸縮能力,所以極大的增加了產(chǎn)品的復雜性。 (2) java的運行速度是用class常駐內(nèi)存來完成的,所以它在一些情況下所使用的內(nèi)存比起用戶數(shù)量來說確實是“最低性能價格比”了。從另一方面,它還需要硬盤空間來儲存一系列的.java文件和.cl

14、ass文件,以及對應的版本文件。1.3.2 數(shù)據(jù)庫mysql mysql是一個小型關系型數(shù)據(jù)庫管理系統(tǒng),開發(fā)者為瑞典mysqlab公司,在2008年1月16號被sun 公司收購。mysql被廣泛地應用在internet上的中小型網(wǎng)站中。由于其體積小、速度快、總體擁有成本低,尤其是開放源碼這一特點,許多中小型網(wǎng)站為了降低網(wǎng)站總體擁有成本而選擇了mysql作為網(wǎng)站數(shù)據(jù)庫。如雅虎、阿爾卡特朗訊、google公司、諾基亞公司、百度等公司就采用了mysql數(shù)據(jù)庫。mysql數(shù)據(jù)庫可以稱得上是目前運行速度最快的sql語言數(shù)據(jù)庫。除了具有許多其它數(shù)據(jù)庫所不具備的功能和選擇之外,mysql數(shù)據(jù)庫是一種完全免費

15、的產(chǎn)品,用戶可以直接從網(wǎng)上下載.mysql數(shù)據(jù)庫主要有以下特點:1、可移植性使用c和c+編寫,并使用了多種編譯器進行測試,保證源代碼的可移植性。2、可擴展性和靈活性mysql可以支持unix、linux和sun os以及windows等多種操作系統(tǒng)平臺。在一個操作系統(tǒng)中實現(xiàn)的應用可以很方便地移植到其他操作系統(tǒng)。mysql作為開源性質的 數(shù)據(jù)庫服務器,可以為那些想要增加獨特需求的用戶提供完全定制的功能。3、強大的數(shù)據(jù)保護功能mysql有一個非常靈活且安全的權限和密碼系統(tǒng)。為確保只有獲授權用戶才能進入該數(shù)據(jù)庫服務器,所有的密碼傳輸均采用加密形式,同時也提供了 ssh和ssi。支持,以實現(xiàn)安全和可靠

16、的連接。mysql強大的數(shù)據(jù)加密和解密功能,可以保證敏感數(shù)據(jù)不受未經(jīng)授權的訪問。4、支持大型的數(shù)據(jù)庫雖然對于用php編寫的網(wǎng)頁來說,只要能夠存放數(shù)百條以上的記錄數(shù)據(jù)就是夠了,但mysql可以方便地支持上千萬條記錄的數(shù)據(jù)庫。作為一個開放源代碼的數(shù)據(jù)庫,mysql可以針對不同的應用進行相應的修改。5、超強的穩(wěn)定性mysql擁有一個非??焖俣曳€(wěn)定的基于線程的內(nèi)存分配系統(tǒng),可以持續(xù)使用而不必擔心其穩(wěn)定性。線程是輕量級的進程,它可以靈活地為用戶提供服務,而不占用過多的系統(tǒng)資源。用多線程和c語言實現(xiàn)的mysql能很容易地充分利用cpu。6、強大的查詢功能mysql支持查詢的select和where語句的

17、全部運算符和函數(shù),并且可以在同一查詢中混用來自不同數(shù)據(jù)庫的表,從而使得查詢變得快捷、方便。1.3.3 tomcat介紹tomcat 服務器是一個免費的開放源代碼的web 應用服務器,是apache 軟件基金會的jakarta 項目中的一個核心項目,由apache、sun 和其他一些學校及個人共同開發(fā)而成。由于有了sun 的參與和支持,最新的servlet 和jsp 規(guī)范總是能在tomcat 中得到體現(xiàn),tomcat 5 支持最新的servlet 2.4 和jsp 2.0 規(guī)范。因為tomcat 技術先進、性能穩(wěn)定,而且免費,因而深受java 愛好者的喜愛并得到了部分軟件開發(fā)商的認可,成為目前比

18、較流行的web 應用服務器。tomcat 很受廣大程序員的喜歡,因為它運行時占用的系統(tǒng)資源小,擴展性好,支持負載平衡與郵件服務等開發(fā)應用系統(tǒng)常用的功能;而且它還在不斷的改進和完善中,任何一個感興趣的程序員都可以更改它或在其中加入新的功能。tomcat 是一個小型的輕量級應用服務器,在中小型系統(tǒng)和并發(fā)訪問用戶不是很多的場合下被普遍使用,是開發(fā)和調(diào)試jsp 程序的首選。對于一個初學者來說,可以這樣認為,當在一臺機器上配置好apache 服務器,可利用它響應對html 頁面的訪問請求。實際上tomcat 部分是apache 服務器的擴展,但它是獨立運行的,所以當你運行tomcat 時,它實際上作為一

19、個與apache 獨立的進程單獨運行的。 自從jsp發(fā)布之后,推出了各式各樣的jsp引擎。apache group在完成gnujsp1.0的開發(fā)以后,開始考慮在sun的jswdk基礎上開發(fā)一個可以直接提供web服務的jsp服務器,當然同時也支持servlet, 這樣tomcat就誕生了。 tomcat是jakarta項目中的一個重要的子項目,其被javaworld雜志的編輯選為2001年度最具創(chuàng)新的java產(chǎn)品,同時它又是sun公司官方推薦的servlet和jsp容器,因此其越來越受到軟件公司和開發(fā)人員的喜愛。servlet和jsp的最新規(guī)范都可以在tomcat的新版本中得到實現(xiàn)。其次, to

20、mcat也是完全免費的軟件,任何人都可以從互聯(lián)網(wǎng)上自由地下載。第二章 系統(tǒng)分析2.1 現(xiàn)狀分析傳統(tǒng)的考試方式是教師提前命題、印刷試卷、組織學生考試、學生在統(tǒng)一時間和地點考試、收卷后教師閱卷、成績統(tǒng)計。如圖2.1組織學生考試印刷試卷教師提前命題成績統(tǒng)計教師閱卷學生統(tǒng)一考試圖2.1 傳統(tǒng)考試模式這種模式存在有較多的問題:命題:由于是同意的時間進行考試,所以考生的試卷都是一樣的,這樣對教師命題帶來的很大的麻煩,即:試題太難或者太容易,都達不到考試的目的。如果是大型的考試,比如英語四級考試,還要擔心試題是否被泄漏的等問題(現(xiàn)在已經(jīng)有類似問題的出現(xiàn),才會有現(xiàn)在說的花卷)。印刷試卷:組織考試,印刷試卷費工

21、費時,成本高,而且對于紙張資源也是一種浪費,而且印刷的時候,也會擔心試題被泄漏的問題。組織學生考試:監(jiān)考人資源的浪費,和教師資源的匱乏,如何調(diào)配也是一個難題,如果是全國統(tǒng)一考試,還要涉及不同區(qū)域同時考試的問題。學生統(tǒng)一考試:由于是同一時間,同一地點,同一張試題,考生作弊問題便會出現(xiàn),而且是非常難解決的問題,再加上每個監(jiān)考員監(jiān)考的嚴格程度不同,這些人為因素難控制,使考試難公平,公正。教師閱卷:教師閱卷比較容易出錯,會造成人為的不公正性。成績統(tǒng)計:當成績錄入時,數(shù)字的混亂會導致錄入者輸入錯誤或者看錯。2.2 可行性分析可行性分析也稱為可行性研究,即是在系統(tǒng)調(diào)查的基礎上,針對新系統(tǒng)的開發(fā)是否具備必要

22、性和可能性,對新系統(tǒng)的開發(fā)從技術、經(jīng)濟、管理的方面進行分析和研究,以避免投資失誤,保證新系統(tǒng)的開發(fā)成功??尚行匝芯康哪康木褪怯米钚〉拇鷥r在盡可能短的時間內(nèi)確定問題是否能夠解決。該系統(tǒng)的可行性分析包括以下幾個方面的內(nèi)容。2.2.1經(jīng)濟可行性在線考試必然會在今后的教學管理上成為主要的考試形式。開發(fā)一套能滿足一般考試的需要,并實現(xiàn)試卷生成、評判自動化的在線考試系統(tǒng)。在減少由于人為原因導致試卷閱卷的不公正的同時,也可以讓教師的工作量得以減少,有更多的時間去備課教學。本系統(tǒng)如果用在一些輔助教育類的網(wǎng)站上,那經(jīng)濟效果是很明顯的;如果是用在學校的教學管理上,會得以發(fā)揮其潛在的經(jīng)濟效益,比如印刷試卷的費用等。

23、因此,本系統(tǒng)在經(jīng)濟上是可行的。2.2.2 技術可行性技術上的可行性分析主要分析技術條件是否能順利完成開發(fā)工作,硬、軟件能否滿足開發(fā)者的需要等。硬件方面,硬件的更新速度之快,可靠性越來越高,目前一般的硬件平臺均能滿足次系統(tǒng)的需要。軟件方面,編程的軟件以及web服務器等均已具備,并且環(huán)境變量已經(jīng)搭好,數(shù)據(jù)庫用mysql存儲大量的數(shù)據(jù),mysql開源化,目前已經(jīng)很成熟,在靈活、安全和易用方面均能提供良好的支持。因此,系統(tǒng)的軟件開發(fā)平臺已經(jīng)成熟可行。2.3 設計目標在線考試系統(tǒng)的總體目標:1. 本系統(tǒng)提供給管理員類用戶、教師類用戶及學生類用戶使用。不同的用戶類型所能完成的功能不同。管理員類用戶可以對于

24、已經(jīng)注冊的考生及系統(tǒng)中已經(jīng)存在的教師進行刪除操作,對于未注冊過的考生及系統(tǒng)中未存在的教師進行添加操作;教師類用戶可以創(chuàng)建試題、刪除試題、修改試題,也可進行試題維護、修改密碼以及對成績的統(tǒng)計;學生類用戶主要是參與考試,完成試卷,查詢成績。2. 考試數(shù)據(jù)的存放和處理過程必須保密,需要一定的安全性保障若考生需要查卷,經(jīng)審核方可以。3. 題目的選擇具有穩(wěn)定性、隨機性。穩(wěn)定性就是每張試卷總體的難易程度要近似一樣,保證每一次考試對每一個考生是公平的,隨機性可以避免作弊的發(fā)生。4. 適時的試題題庫更新,試題題型包括判斷題、選擇題類型。試題庫的更新由管理員類用戶完成。學生類用戶不允許對試題進行更新。5. 實現(xiàn)

25、現(xiàn)代考試網(wǎng)絡化。2.4 功能要求系統(tǒng)具備的基本功能:1.用戶登錄及注冊對用戶進行識別、驗證;沒有注冊的用戶跳轉到用戶注冊頁面;2.考試模塊考生選擇自己想要參加的考試類別,并進行考試,考試完成以后可以獲得當考試成績。3.歷史成績模塊-考生可以看到自己以前參加的考試成績。以對自己的進步狀況進行一次把握。4.試題維護模塊-教師選擇試題的類別,然后針對該試題分類中的所有試題進行維護,可以添加新題目,也可以對現(xiàn)在有的題目進行修改或者刪除處理。5.試卷設置模塊-教師對題庫中的題目按照一定分類標準存放,包括分類的添加、修改和刪除操作等。6.歷史成績管理模塊-教師可以看到模式體分類的整體考試情況,考試成績分布

26、情況,可以判斷出題庫中的題目難以水平,并可以在以后的維護中做出適當調(diào)整。7.考生管理-系統(tǒng)管理員可以對已經(jīng)注冊的考生進行刪除操作,對于未注冊的考生進行增加操作。8.教師管理-系統(tǒng)管理員可以對系統(tǒng)已經(jīng)存在的教師進行刪除操作,對于未在系統(tǒng)中存在的教師進行增加操作。9.修改密碼模塊-教師和考生可以在已經(jīng)登錄成功的頁面點擊修改密碼,可以修改本人登錄此考試系統(tǒng)的登錄密碼。除了實現(xiàn)上述功能以外,在線考試系統(tǒng)還應該具有簡潔、易用的界面,安全性要高,穩(wěn)定性要強。根據(jù)以上的需求分析,畫出本系統(tǒng)的use case圖,如圖2.2所示:管理員 教師管理考試考生管理考試登 錄教師注 冊試題維護考試考生在線考試考試試卷設

27、置考試歷史成績績歷史成績管理修改密碼圖2.2 在線考試系統(tǒng)的use case圖2.5 系統(tǒng)開發(fā)環(huán)境配置1. 操作系統(tǒng):windows 72. 內(nèi)存:4g3. cpu:2.00ghz4. java平臺:jdk 5.05. web服務器:tomcat6.06. 數(shù)據(jù)庫服務器:mysql7. 開發(fā)平臺: myeclipse6.0第三章 系統(tǒng)設計3.1數(shù)據(jù)庫設計在對網(wǎng)上考試系統(tǒng)數(shù)據(jù)庫部分進行設計的過程中,通過對系統(tǒng)功能進行需求分析得到系統(tǒng)的基本信息表,詳細設計過程如下介紹。3.1.1 數(shù)據(jù)庫需求分析需求分析是設計數(shù)據(jù)庫的起點,需求分析的結果是否準確地反映了用戶的實際要求,將直接影響到后面各個階段的設計

28、,并影響到設計結果是否合理和實用。對于本系統(tǒng)而言,系統(tǒng)的角色分為管理員、教師、學生,這需要3個表,而考生考試,需要一個存放題庫的表,考試的類別不同,也需要一個存放類別的表,考生考試完畢后,需要一個存放考試成績的表。綜合以上分析,要實現(xiàn)上面的所有功能模塊,數(shù)據(jù)庫共要設計六個表,它們分別是:試卷類別表、用戶表、用戶成績表、教師表、管理員表、題庫表。3.1.2 數(shù)據(jù)庫表設計用戶信息表,用來存放考生信息,如表3-1所示:表3-1用戶信息表字段名類型長度是否為主鍵可否為空說明user_idint11是否用戶的idusernamevarchar20否否登錄用戶名passwordvarchar20否否用戶登

29、錄密碼realnamevarchar20否否用戶真實姓名教師信息表,存放教師信息,如表3-2所示:表3-2教師信息表字段名類型長度是否為主鍵可否為空說明teacher_idint11是否教師的idteachernamevarchar20否否教師登錄名passwordvarchar20否否教師登錄密碼realnamevarchar20否否教師真實姓名管理員信息表,存放管理員信息,如表3-3所示:表3-3管理員信息表字段名類型長度是否為主鍵可否為空說明adusernamevarchar20是否管理員登錄名passwordvarchar20否否管理員登錄密碼realnamevarchar20否否管理

30、員真實姓名題庫信息表,存放考試題目以及答案等信息,如表3-4所示:表3-4題庫信息表字段名類型長度是否為主鍵可否為空說明question_idint10是否試題編號category_idint10否否試題分類編號subjectvarchar300否否題目choice_avarchar100否否選項achoice_bvarchar100否否選項bchoice_cvarchar100否否選項cchoice_dvarchar100否否選項danswerchar10否否正確答案成績表,存放考生考試時間以及成績等信息,如表3-5所示表3-5成績表字段名類型長度是否為主鍵可否為空說明record_idin

31、t10是否考試記錄編號usernamevarchar20否否考試用戶名category_idchar10否否試題分類編號test_timechar14否否考試時間test_resultint11否否考試成績試卷類別表,存放試卷類別信息,包括試卷分類名稱、試卷題目等,如表3-6所示表3-6試卷類別表字段名類型長度是否為主鍵可否為空說明category_idint11是否試題分類編號category_namevarchar20否否試題分類名稱question_numberint10否否試題數(shù)目3.1.3數(shù)據(jù)庫邏輯結構設計1 關系圖本系統(tǒng)各表之間的關系如下圖3-1示: 圖3-1關系圖2完整性設計完整

32、性要求用于描述各種信息之間的制約關系以及關聯(lián)關系,各個數(shù)據(jù)項的取值范圍以及各個數(shù)據(jù)項是否可以取值。根據(jù)實際需要,采取一定的手段來滿足用戶的完整性需求。域完整性約束要求屬性值必須在域中。實體完整性約束要求主鍵必須唯一且不能為空。如用戶信息表中的用戶名設置為主鍵,并且要求唯一且不能為空。3.2系統(tǒng)結構設計網(wǎng)上考試系統(tǒng)是一個典型的數(shù)據(jù)庫應用程序,主要有管理員、教師和學生三大模塊組成,各模塊功能如下:管理員模塊:該模塊包含2個功能,一個為考生管理,系統(tǒng)管理員可以對已經(jīng)注冊的考生進行刪除操作,對于未注冊的考生進行增加操作;另一個為教師管理,系統(tǒng)管理員可以對教師進行增加、刪除操作。教師模塊:該模塊包含4個

33、功能,分別為試卷設置、試題維護、歷史成績、修改密碼。教師成功登錄該系統(tǒng)后,能夠進行修改個人信息,添加、修改、刪除試題、試卷類別操作,也可對考生的成績進行統(tǒng)計。學生模塊:該模塊包含3個功能,分別為開始考試、歷史成績、修改密碼。學生成功登錄該系統(tǒng)后,能夠進行考試、查詢成績、修改密碼。系統(tǒng)功能結構如圖3-2所示: 系統(tǒng)功能教師模塊管理員模塊學生模塊開始考試修改密碼試題維護試卷設置歷史成績考生管理教師管理歷史成績修改密碼圖3-2系統(tǒng)功能結構圖3.3用戶界面設計頁面上部采用一個logo圖片和適當?shù)臉俗R,表明當前的系統(tǒng)名稱。接下來是幫助連接和退出系統(tǒng)的連接。然后下部頁面的主題分為左右兩部分,左邊是導航模塊

34、部分,其中放置遷移到不同功能模塊的鏈接按鈕,右邊是頁面的主要操作區(qū)域,不同頁面的不同顯示主要在此體現(xiàn)。學生角色的模版頁面如圖3-3所示:在線考試系統(tǒng)logo圖片。 幫助 退出登錄歡迎您!xxx開始考試歷史成績修改密碼圖3-3 學生角色模版每個模塊都包含多個頁面,再次挑選幾個比較低型或者重要的頁面進行詳細描述。其他的頁面結構比較類似或者比較簡單,不一一詳述。學生開始考試的時候,首先需要選擇試卷類型,或者也可以叫做試題分類。在此頁面中采用下拉列表框的形式進行,如圖3-4所示:在線考試系統(tǒng)logo圖片。 幫助 退出登錄歡迎您!xxx請選擇試題的分類:確定會計基礎 開始考試歷史成績修改密碼圖3-4 試

35、題分類選擇頁面草圖選擇試題分類以后,即是學生答題頁面。答題頁面的主體應該是試題和試題的選項。考慮到本系統(tǒng)需要在題目結束以后立即知道考試結果,所以決定采用所有試題的形式都是abcd型的選擇題,頁面應該針對這些題目選項設置單選按鈕。在答題內(nèi)容的上方,應該能夠給考生信息,說明當前的題目是全部題目的第幾道,以及總共有幾道題,使得考生可以把握整個考試進度。同時考慮到考生在時間允許的情況下,需要在題目間前后遷移,所以在題目的下方,還應該有前后翻頁的按鈕。對應教師角色的模版略有不同,模塊多了幾個,而且頁面頂端的標識也有所區(qū)別。對應的模版頁面如圖3-5所示。在線考試系統(tǒng)(管理界面)logo圖片。 幫助 退出登

36、錄歡迎您!xxx試題維護試卷設置成績查詢修改密碼圖3-11 教師角色模版頁面圖3-5 管理員角色模版頁面第四章 系統(tǒng)實現(xiàn)本系統(tǒng)包括3個不同的角色,即學生、教師、管理員。不同角色的功能有所不同,學生的功能包括:考試模塊,修改密碼,成績查詢模塊。教師的功能包括:試卷類別管理、試題管理、修改密碼、成績管理。管理員的功能包括:教師管理和考生管理。4.1 數(shù)據(jù)庫連接的實現(xiàn)方法從系統(tǒng)功能模塊劃分中可以看出,各模塊雖然是獨立的,但又統(tǒng)一于同一數(shù)據(jù)庫中,便于管理員管理維護數(shù)據(jù)庫,同時也便于教師和學生的操作。在介紹系統(tǒng)各模塊的實現(xiàn)方法之前,首先介紹系統(tǒng)與mysql數(shù)據(jù)庫的連接方法,再介紹系統(tǒng)主要部分的實現(xiàn)方法。

37、創(chuàng)建與數(shù)據(jù)庫的連接:首先要將mysql的驅動包放在tomcat/lib目錄下;:利用語句進行對數(shù)據(jù)庫的操作,以下僅是對用戶表查詢的語句: catch(exception e)/獲得數(shù)據(jù)庫連接出錯 system.out.println(error occured!);finally /釋放數(shù)據(jù)庫連接 rs.close(); stmt.close(); conn.close();%4.2 登陸注冊模塊4.2.1 登錄模塊用戶登錄頁面比較簡單,為防止用戶登錄的操作錯誤,應設置錯誤處理頁面,在登錄操作過程中,一般發(fā)生的錯誤有:用戶輸入了錯誤的用戶名或密碼、用戶直接單擊了登錄按鈕,對上述情況的判斷就要通

38、過servlet文件來實現(xiàn)。當用戶登錄的時候,輸入的帳號或者密碼有其中一項為空時,會有提示框提示,提示您帳號或者密碼不能為空。實現(xiàn)這個功能的是用javascript實現(xiàn)的,具體代碼如下所示:驗證輸入不為空的腳本代碼 定義了一個名為checkform的查詢表單函數(shù)function checkform(form) 、如果value為空,會提示帳號不能為空if(form.teachername.value=) alert(賬號不能為空); 讓form表單中的teachername控件獲得焦點(光標),回到輸入框位置。form.teachername.focus();return false; if(

39、form.password.value=) alert(密碼不能為空); form.password.focus(); return false; return ture; 在登錄頁面時,當用戶提交了登錄資料后,就由“l(fā)oginvc.jsp”這個頁面進行驗證,它的工作主要是連接到數(shù)據(jù)庫,從數(shù)據(jù)中找出輸入的用戶名和密碼并判斷其是否一致。如果用戶輸入了錯誤的用戶名和密碼,就會跳出一個登錄失敗的頁面。用戶可以點擊返回按鈕回到其剛才登錄的界面,然后重新輸入用戶名及密碼進行再次登錄。若用戶提交正確的用戶和密碼后,如果記錄驗證無誤,就通過jsp重定向語句response.sendredirect()跳轉到

40、相應的主界面。教師以及管理員的登錄驗證跟考生相似,只是查詢條件和連接的數(shù)據(jù)庫表不同,以及登陸成功之后,跳轉的頁面不同。4.2.2 考生注冊模塊在此模塊,考生需要填寫用戶名、密碼、確認密碼、真實姓名。如若填寫中缺少一項,那么會有提示,其功能也是由上面所說的一樣,通過調(diào)用javascript實現(xiàn)的,這里只提供下截圖,主要代碼如上,如圖4-1所示:圖4-1 注冊提示頁面當用戶填寫的內(nèi)容完全符合注冊標準后,點擊注冊按鈕,會轉到注冊成功的頁面;如若用戶名已經(jīng)被注冊,會轉到注冊失敗頁面,提醒注冊用戶可能是該用戶名已經(jīng)注冊。在此只以注冊成功的頁面為例,如圖4-2所示:圖4-2 注冊成功頁面完成注冊模塊的主要

41、代碼如下所示:首先獲取上個頁面?zhèn)鬟^來的數(shù)據(jù),用戶名、密碼、真實姓名string username = request.getparameter(username); string password = request.getparameter(password); string realname = request.getparameter(realname);out.println(username);/打印出username其次開始連接數(shù)據(jù)庫 try class.forname( com.mysql.jdbc.driver ).newinstance(); connection conn=

42、drivermanager.getconnection(jdbc:mysql:/localhost:3306/myexam?user=root&password=890427&useunicode=true&characterencoding=gbk); statement stmt=conn.createstatement(); resultset rs=null;查詢user表,看用戶名是否存在 string sql=select * from user where username like +username+; rs=stmt.executequery(sql); 如果存在,提示“

43、您好,您注冊的用戶名已經(jīng)存在,請重新輸入 ”,如果不存在,把接收過來的值付給新的變量: string s_username=request.getparameter(username); string s_password=request.getparameter(password); string s_realname=request.getparameter(realname); 執(zhí)行sql插入語句,把得到的值插入到user表中sql = insert into user(username,password,realname) value(+username+,+password+,+re

44、alname+);如果插入成功,提示:“恭喜您注冊成功!” 4.3考生模塊考生登錄系統(tǒng)并且用戶名也密碼正確后,會直接跳轉到學生主頁,本頁面中,考生可以在左側選擇自己下一步要做的事情,有開始考試、歷史成績查詢、修改密碼。在頁面中間,有提示語,告訴考生每個按鈕都可以操作什么功能;若考生對考試流程不太熟悉,可以點擊幫助,來查詢相關問題的答案。如圖4-3所示:圖4-3考生主頁4.3.1 開始考試模塊考生點擊開始考試,會首先彈出關于所選考試科目的一些介紹,比如考試時間和總共有多少道題目等,然后點擊開始考試,倒計時開始,考生選擇上一題,下一題進行答卷,當考生答到最大題數(shù)時,下一題變成完成答卷按鈕。點擊完成

45、答卷,進入成績頁面,考生可以知道自己的成績,并且,成績通過后臺,插入到數(shù)據(jù)庫中。如圖4-4所示:圖4-4 考生考試頁面執(zhí)行的具體代碼如下所示:% httpsession sess=(httpsession)request.getsession(true); int category = (integer)sess.getattribute(category);string username = request.getparameter(username); mysqldjtdao md = new mysqldjtdao(); /引進包 int valid = md.selecttestrec

46、ordbyuser(username,category);/去test_record表查詢有無考試記錄 valid=0;/控制返回值,自己可以自由修改。 if( valid=0 ) calendar cl = calendar.getinstance();/java util 包 表提供的系統(tǒng)時間calendar long starttime = cl.gettimeinmillis();/得到當前時間的毫秒數(shù) long endtime = starttime+1800000; sess.setmaxinactiveinterval(3600); /設置session的存活時間 sess.se

47、tattribute(username,username); sess.setattribute(endtime,endtime); list tmid = new arraylist();/指定傳入的類型 建立一個集合 準備存放抽到的題目的id號 tmid.add(0);/設置默認值0 sess.setattribute(tmid,tmid); int fenshu =0; sess.setattribute(fenshu,fenshu); list ddcount = new arraylist(); sess.setattribute(ddcount,ddcount); list allwts = new arraylist();/建立問題question對應的實體類 來存放查到的題目信息 list listsid = md.selectqinfocount(category);/某個科有多少個問題 int qnum

溫馨提示

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

評論

0/150

提交評論