![基于Java-Web的在線考試系統(tǒng)的設(shè)計與實(shí)現(xiàn)_第1頁](http://file1.renrendoc.com/fileroot_temp2/2020-10/13/fab836bc-8e63-4462-957d-0c18e160607f/fab836bc-8e63-4462-957d-0c18e160607f1.gif)
![基于Java-Web的在線考試系統(tǒng)的設(shè)計與實(shí)現(xiàn)_第2頁](http://file1.renrendoc.com/fileroot_temp2/2020-10/13/fab836bc-8e63-4462-957d-0c18e160607f/fab836bc-8e63-4462-957d-0c18e160607f2.gif)
![基于Java-Web的在線考試系統(tǒng)的設(shè)計與實(shí)現(xiàn)_第3頁](http://file1.renrendoc.com/fileroot_temp2/2020-10/13/fab836bc-8e63-4462-957d-0c18e160607f/fab836bc-8e63-4462-957d-0c18e160607f3.gif)
![基于Java-Web的在線考試系統(tǒng)的設(shè)計與實(shí)現(xiàn)_第4頁](http://file1.renrendoc.com/fileroot_temp2/2020-10/13/fab836bc-8e63-4462-957d-0c18e160607f/fab836bc-8e63-4462-957d-0c18e160607f4.gif)
![基于Java-Web的在線考試系統(tǒng)的設(shè)計與實(shí)現(xiàn)_第5頁](http://file1.renrendoc.com/fileroot_temp2/2020-10/13/fab836bc-8e63-4462-957d-0c18e160607f/fab836bc-8e63-4462-957d-0c18e160607f5.gif)
版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請進(jìn)行舉報或認(rèn)領(lǐng)
文檔簡介
1、在線考試題 目: Java Web應(yīng)用開發(fā) 在線模擬考試系統(tǒng)的設(shè)計與實(shí)現(xiàn) 學(xué) 院: 軟件工程與服務(wù)外包學(xué)院 專 業(yè): 軟件技術(shù) 學(xué)生姓名: XXX 班級/學(xué)號 軟工XXXXXXXXX 指導(dǎo)老師/督導(dǎo)老師: XXX 摘 要隨著網(wǎng)絡(luò)技術(shù)的發(fā)展,遠(yuǎn)程教育和網(wǎng)上考試成為網(wǎng)絡(luò)應(yīng)用的一個重要方面。近幾年,在線考試特別是基于Web 的在線考試系統(tǒng)受到越來越多的人青睞。本次項(xiàng)目實(shí)訓(xùn)的題目是在線模擬考試系統(tǒng)的設(shè)計與實(shí)現(xiàn),系統(tǒng)采用瀏覽器/服務(wù)器模式開發(fā),包括登錄注冊、在線考試、試卷設(shè)置、試題管理、分?jǐn)?shù)的統(tǒng)計以及成績查詢等功能。系統(tǒng)運(yùn)行在Windows 操作系統(tǒng)上,以Tomcat作為Web服務(wù)器,使用SSH+JSP
2、技術(shù)和MySQL 數(shù)據(jù)庫實(shí)現(xiàn)。關(guān)鍵詞:在線考試;瀏覽器/服務(wù)器;JSP;MySQL;JDBC;目錄摘 要I第一章 項(xiàng)目概述11.1 開發(fā)背景11.2 開發(fā)意義11.3開發(fā)工具2第二章 系統(tǒng)分析62.1 現(xiàn)狀分析62.2 可行性分析62.3 設(shè)計目標(biāo)72.4 功能要求82.5 系統(tǒng)開發(fā)環(huán)境配置9第三章 系統(tǒng)設(shè)計103.1數(shù)據(jù)庫設(shè)計103.2系統(tǒng)結(jié)構(gòu)設(shè)計133.3用戶界面設(shè)計14第四章 系統(tǒng)實(shí)現(xiàn)174.1 數(shù)據(jù)庫連接的實(shí)現(xiàn)方法174.2 登陸注冊模塊184.3考生模塊214.4 教師模塊264.5 管理員模塊34第五章 系統(tǒng)測試365.1什么是軟件測試365.2軟件測試的目標(biāo)與方法365.3測試內(nèi)
3、容365.4系統(tǒng)的不足和展望37結(jié)束語38參考文獻(xiàn)39第一章 項(xiàng)目概述1.1 開發(fā)背景隨著我國計算機(jī)技術(shù)和通訊技術(shù)的發(fā)展,互聯(lián)網(wǎng)的普及程度已經(jīng)很廣泛了,但是,現(xiàn)在的教育教學(xué)檢驗(yàn)方式,還是停留在過去的紙質(zhì)考試層面在,而傳統(tǒng)的教育教學(xué)檢驗(yàn)方式中,要進(jìn)行一次考試,至少需要經(jīng)過教師出題、學(xué)生考試、教師閱卷等幾步,這是一個繁雜的過程,需要大量人力、物力與時間的投入,同時也讓教師的工作量越來越大;現(xiàn)在遠(yuǎn)程教育類學(xué)校的增多,雖然利用了網(wǎng)絡(luò)拉近了教師與學(xué)生的距離,但學(xué)生的分布過廣,導(dǎo)致了不易統(tǒng)一集中安排考試,考生成本的增加等諸多難題的出現(xiàn),給校方和學(xué)生帶來了很多的不便,因此,傳統(tǒng)的考試方式已經(jīng)不能適應(yīng)現(xiàn)在新興
4、的教育教學(xué)方式的考試需要了??梢越鉀Q這些諸多難題的一種方式,就是利用Internet無國界的特點(diǎn),在互聯(lián)網(wǎng)上在線考試。在線考試系統(tǒng)可以減輕教師的工作負(fù)擔(dān)、提高工作效率,也減少了因考試而消耗不必要的人力和物力。在線考試的題目由計算機(jī)從題庫中隨機(jī)抽取,提高了考試的質(zhì)量,考試的評判由計算機(jī)自動完成,這樣使考試更趨于公證、客觀。隨著社會的發(fā)展和我國互聯(lián)網(wǎng)的普及,我們的生活中的已經(jīng)有很多方面都運(yùn)用到了網(wǎng)絡(luò),比如網(wǎng)上購物,網(wǎng)上交友等,甚至現(xiàn)在很多人看新聞都是通過網(wǎng)絡(luò)閱讀的,在閱讀新聞這個事件上,已經(jīng)不僅僅局限于紙質(zhì)化的報紙上了;而要把考試趨于無紙化的模式,需要在線模擬考試系統(tǒng)來完成,這個也是現(xiàn)在高等教育發(fā)
5、展的一個需求。在國內(nèi),試題庫系統(tǒng)理論與技術(shù)的研究在最近幾年取得了很大的進(jìn)步。我國許多企業(yè)和高校都投入量大量的人力物力到各門課程的試題庫中,并取得了一定的成就?,F(xiàn)在的生活中已經(jīng)有越來越多的等級考試運(yùn)用了在線考試系統(tǒng),比如會計的電算化考試、計算機(jī)等級考試、銀行資格證考試等,這些已經(jīng)充分說明,在線考試系統(tǒng)是今后我們的考試生涯中的一個發(fā)展趨勢。1.2 開發(fā)意義考試是教育中一個非常重要的環(huán)節(jié),但在以前的很長時間里,全球所有的國家都是以筆試的方式來檢查焦距教學(xué)成果的,隨著網(wǎng)絡(luò)的發(fā)展,互聯(lián)網(wǎng)已經(jīng)普及的非常廣泛,隨著這些周圍環(huán)境的改變,人們開始去尋找新的方式來去達(dá)到更客觀,更方便快捷的去達(dá)到考試的目的。近些年
6、來,在國外,已經(jīng)投入使用的考試系統(tǒng)有著名的TOEFL,GRE網(wǎng)上考試系統(tǒng),還有微軟、思科等大公司的國際認(rèn)證考試等,這些考試系統(tǒng)在全球范圍內(nèi)有眾多的使用者。網(wǎng)絡(luò)化考試系統(tǒng)對節(jié)約考試成本,實(shí)現(xiàn)遠(yuǎn)距離的同步考試,提高考試效率,確??荚嚱Y(jié)果的公平、公正、科學(xué)、及時等具有重要的意義,不僅可以動態(tài)地管理考試信息,而且還提高了教學(xué)的靈活性,相信隨著技術(shù)的不斷發(fā)展和網(wǎng)絡(luò)覆蓋面的不斷擴(kuò)大,在不斷完善該考試系統(tǒng)的同時也會在更大的范圍上應(yīng)用。1.3開發(fā)工具本系統(tǒng)是基于Tomcat為服務(wù)器,SSH+JSP+MySQL數(shù)據(jù)庫技術(shù)實(shí)現(xiàn)的一個簡單的在線考試系統(tǒng). 1.3.1動態(tài)網(wǎng)頁開發(fā)技術(shù)JSP(Java Server P
7、age)JSP(Java Server Pages)是由Sun Microsystems公司倡導(dǎo)、許多公司參與一起建立的一種動態(tài)網(wǎng)頁技術(shù)標(biāo)準(zhǔn)。JSP技術(shù)有點(diǎn)類似ASP技術(shù),它是在傳統(tǒng)的網(wǎng)頁HTML文件中插入Java程序段和JSP標(biāo)記,從而形成JSP文件。 用JSP開發(fā)的Web應(yīng)用是跨平臺的,即能在Linux下運(yùn)行,也能在其他操作系統(tǒng)上運(yùn)行。JSP技術(shù)使用Java編程語言編寫類XML的tags和scriptlets,來封裝產(chǎn)生動態(tài)網(wǎng)頁的處理邏輯。網(wǎng)頁還能通過tags和scriptlets訪問存在于服務(wù)端的資源的應(yīng)用邏輯。JSP將網(wǎng)頁邏輯與網(wǎng)頁設(shè)計和顯示分離,支持可重用的基于組件的設(shè)計,使基于We
8、b的應(yīng)用程序的開發(fā)變得迅速和容易。 Web服務(wù)器在遇到訪問JSP網(wǎng)頁的請求時,首先執(zhí)行其中的程序段,然后將執(zhí)行結(jié)果連同JSP文件中的HTML代碼一起返回給客戶。插入的Java程序段可以操作數(shù)據(jù)庫、重新定向網(wǎng)頁等,以實(shí)現(xiàn)建立動態(tài)網(wǎng)頁所需要的功能。 JSP與Java servlet一樣,是在服務(wù)器端執(zhí)行的,通常返回該客戶端的就是一個HTML文本,因此客戶端只要有瀏覽器就能瀏覽。 JSP頁面由HTML代碼和嵌入其中的Java代碼所組成。Java servlet 是JSP的技術(shù)基礎(chǔ),而且大型的Web應(yīng)用程序的開發(fā)需要Java servlet和JSP配合才能完成。JSP具備了Java技術(shù)的簡單易用,完全
9、的面向?qū)ο?,具有平臺無關(guān)性且安全可靠,主要面向因特網(wǎng)的所有特點(diǎn)。 1JSP技術(shù)的強(qiáng)勢 (1)一次編寫,到處運(yùn)行。在這一點(diǎn)上Java比PHP更出色,除了系統(tǒng)之外,代碼不用做任何更改。(2)系統(tǒng)的多平臺支持。基本上可以在所有平臺上的任意環(huán)境中開發(fā),在任意環(huán)境中進(jìn)行系統(tǒng)部署,在任意環(huán)境中擴(kuò)展。相比ASP/PHP的局限性是現(xiàn)而易見的。 (3)強(qiáng)大的可伸縮性。從只有一個小的Jar文件就可以運(yùn)行servlet/JSP,到由多臺服務(wù)器進(jìn)行集群和負(fù)載均衡,到多臺Application進(jìn)行事務(wù)處理,消息處理,一臺服務(wù)器到無數(shù)臺服務(wù)器,Java顯示了一個巨大的生命力。 (4)多樣化和功能強(qiáng)大的開發(fā)工具支持。這一點(diǎn)
10、與ASP很像,Java已經(jīng)有了許多非常優(yōu)秀的開發(fā)工具,而且許多可以免費(fèi)得到,并且其中許多已經(jīng)可以順利的運(yùn)行于多種平臺之下。 2 JSP技術(shù)的弱勢 (1) 與ASP一樣,Java的一些優(yōu)勢正是它致命的問題所在。正是由于為了跨平臺的功能,為了極度的伸縮能力,所以極大的增加了產(chǎn)品的復(fù)雜性。 (2) Java的運(yùn)行速度是用class常駐內(nèi)存來完成的,所以它在一些情況下所使用的內(nèi)存比起用戶數(shù)量來說確實(shí)是“最低性能價格比”了。從另一方面,它還需要硬盤空間來儲存一系列的.java文件和.class文件,以及對應(yīng)的版本文件。1.3.2 數(shù)據(jù)庫MySQL MySQL是一個小型關(guān)系型數(shù)據(jù)庫管理系統(tǒng),開發(fā)者為瑞典M
11、ySQLAB公司,在2008年1月16號被Sun 公司收購。MySQL被廣泛地應(yīng)用在Internet上的中小型網(wǎng)站中。由于其體積小、速度快、總體擁有成本低,尤其是開放源碼這一特點(diǎn),許多中小型網(wǎng)站為了降低網(wǎng)站總體擁有成本而選擇了MySQL作為網(wǎng)站數(shù)據(jù)庫。如雅虎、阿爾卡特朗訊、Google公司、諾基亞公司、百度等公司就采用了MySQL數(shù)據(jù)庫。MySQL數(shù)據(jù)庫可以稱得上是目前運(yùn)行速度最快的SQL語言數(shù)據(jù)庫。除了具有許多其它數(shù)據(jù)庫所不具備的功能和選擇之外,MySQL數(shù)據(jù)庫是一種完全免費(fèi)的產(chǎn)品,用戶可以直接從網(wǎng)上下載.MySQL數(shù)據(jù)庫主要有以下特點(diǎn):1、可移植性使用C和C+編寫,并使用了多種編譯器進(jìn)行測
12、試,保證源代碼的可移植性。2、可擴(kuò)展性和靈活性MySQL可以支持UNIX、Linux和SUN OS以及Windows等多種操作系統(tǒng)平臺。在一個操作系統(tǒng)中實(shí)現(xiàn)的應(yīng)用可以很方便地移植到其他操作系統(tǒng)。MySQL作為開源性質(zhì)的 數(shù)據(jù)庫服務(wù)器,可以為那些想要增加獨(dú)特需求的用戶提供完全定制的功能。3、強(qiáng)大的數(shù)據(jù)保護(hù)功能MySQL有一個非常靈活且安全的權(quán)限和密碼系統(tǒng)。為確保只有獲授權(quán)用戶才能進(jìn)入該數(shù)據(jù)庫服務(wù)器,所有的密碼傳輸均采用加密形式,同時也提供了 SSH和SSI。支持,以實(shí)現(xiàn)安全和可靠的連接。MySQL強(qiáng)大的數(shù)據(jù)加密和解密功能,可以保證敏感數(shù)據(jù)不受未經(jīng)授權(quán)的訪問。4、支持大型的數(shù)據(jù)庫雖然對于用PHP編
13、寫的網(wǎng)頁來說,只要能夠存放數(shù)百條以上的記錄數(shù)據(jù)就是夠了,但MySQL可以方便地支持上千萬條記錄的數(shù)據(jù)庫。作為一個開放源代碼的數(shù)據(jù)庫,MySQL可以針對不同的應(yīng)用進(jìn)行相應(yīng)的修改。5、超強(qiáng)的穩(wěn)定性MySQL擁有一個非??焖俣曳€(wěn)定的基于線程的內(nèi)存分配系統(tǒng),可以持續(xù)使用而不必?fù)?dān)心其穩(wěn)定性。線程是輕量級的進(jìn)程,它可以靈活地為用戶提供服務(wù),而不占用過多的系統(tǒng)資源。用多線程和C語言實(shí)現(xiàn)的MySQL能很容易地充分利用CPU。6、強(qiáng)大的查詢功能MySQL支持查詢的select和where語句的全部運(yùn)算符和函數(shù),并且可以在同一查詢中混用來自不同數(shù)據(jù)庫的表,從而使得查詢變得快捷、方便。1.3.3 Tomcat介紹
14、Tomcat 服務(wù)器是一個免費(fèi)的開放源代碼的Web 應(yīng)用服務(wù)器,是Apache 軟件基金會的Jakarta 項(xiàng)目中的一個核心項(xiàng)目,由Apache、Sun 和其他一些學(xué)校及個人共同開發(fā)而成。由于有了Sun 的參與和支持,最新的Servlet 和JSP 規(guī)范總是能在Tomcat 中得到體現(xiàn),Tomcat 5 支持最新的Servlet 2.4 和JSP 2.0 規(guī)范。因?yàn)門omcat 技術(shù)先進(jìn)、性能穩(wěn)定,而且免費(fèi),因而深受Java 愛好者的喜愛并得到了部分軟件開發(fā)商的認(rèn)可,成為目前比較流行的Web 應(yīng)用服務(wù)器。Tomcat 很受廣大程序員的喜歡,因?yàn)樗\(yùn)行時占用的系統(tǒng)資源小,擴(kuò)展性好,支持負(fù)載平衡與
15、郵件服務(wù)等開發(fā)應(yīng)用系統(tǒng)常用的功能;而且它還在不斷的改進(jìn)和完善中,任何一個感興趣的程序員都可以更改它或在其中加入新的功能。Tomcat 是一個小型的輕量級應(yīng)用服務(wù)器,在中小型系統(tǒng)和并發(fā)訪問用戶不是很多的場合下被普遍使用,是開發(fā)和調(diào)試JSP 程序的首選。對于一個初學(xué)者來說,可以這樣認(rèn)為,當(dāng)在一臺機(jī)器上配置好Apache 服務(wù)器,可利用它響應(yīng)對HTML 頁面的訪問請求。實(shí)際上Tomcat 部分是Apache 服務(wù)器的擴(kuò)展,但它是獨(dú)立運(yùn)行的,所以當(dāng)你運(yùn)行tomcat 時,它實(shí)際上作為一個與Apache 獨(dú)立的進(jìn)程單獨(dú)運(yùn)行的。 自從JSP發(fā)布之后,推出了各式各樣的JSP引擎。Apache Group在完
16、成GNUJSP1.0的開發(fā)以后,開始考慮在SUN的JSWDK基礎(chǔ)上開發(fā)一個可以直接提供Web服務(wù)的JSP服務(wù)器,當(dāng)然同時也支持Servlet, 這樣Tomcat就誕生了。 Tomcat是jakarta項(xiàng)目中的一個重要的子項(xiàng)目,其被JavaWorld雜志的編輯選為2001年度最具創(chuàng)新的java產(chǎn)品,同時它又是sun公司官方推薦的servlet和jsp容器,因此其越來越受到軟件公司和開發(fā)人員的喜愛。servlet和jsp的最新規(guī)范都可以在tomcat的新版本中得到實(shí)現(xiàn)。其次, Tomcat也是完全免費(fèi)的軟件,任何人都可以從互聯(lián)網(wǎng)上自由地下載。第二章 系統(tǒng)分析2.1 現(xiàn)狀分析傳統(tǒng)的考試方式是教師提前
17、命題、印刷試卷、組織學(xué)生考試、學(xué)生在統(tǒng)一時間和地點(diǎn)考試、收卷后教師閱卷、成績統(tǒng)計。如圖2.1組織學(xué)生考試印刷試卷教師提前命題成績統(tǒng)計教師閱卷學(xué)生統(tǒng)一考試圖2.1 傳統(tǒng)考試模式這種模式存在有較多的問題:命題:由于是同意的時間進(jìn)行考試,所以考生的試卷都是一樣的,這樣對教師命題帶來的很大的麻煩,即:試題太難或者太容易,都達(dá)不到考試的目的。如果是大型的考試,比如英語四級考試,還要擔(dān)心試題是否被泄漏的等問題(現(xiàn)在已經(jīng)有類似問題的出現(xiàn),才會有現(xiàn)在說的花卷)。印刷試卷:組織考試,印刷試卷費(fèi)工費(fèi)時,成本高,而且對于紙張資源也是一種浪費(fèi),而且印刷的時候,也會擔(dān)心試題被泄漏的問題。組織學(xué)生考試:監(jiān)考人資源的浪費(fèi),
18、和教師資源的匱乏,如何調(diào)配也是一個難題,如果是全國統(tǒng)一考試,還要涉及不同區(qū)域同時考試的問題。學(xué)生統(tǒng)一考試:由于是同一時間,同一地點(diǎn),同一張?jiān)囶},考生作弊問題便會出現(xiàn),而且是非常難解決的問題,再加上每個監(jiān)考員監(jiān)考的嚴(yán)格程度不同,這些人為因素難控制,使考試難公平,公正。教師閱卷:教師閱卷比較容易出錯,會造成人為的不公正性。成績統(tǒng)計:當(dāng)成績錄入時,數(shù)字的混亂會導(dǎo)致錄入者輸入錯誤或者看錯。2.2 可行性分析可行性分析也稱為可行性研究,即是在系統(tǒng)調(diào)查的基礎(chǔ)上,針對新系統(tǒng)的開發(fā)是否具備必要性和可能性,對新系統(tǒng)的開發(fā)從技術(shù)、經(jīng)濟(jì)、管理的方面進(jìn)行分析和研究,以避免投資失誤,保證新系統(tǒng)的開發(fā)成功??尚行匝芯康哪?/p>
19、的就是用最小的代價在盡可能短的時間內(nèi)確定問題是否能夠解決。該系統(tǒng)的可行性分析包括以下幾個方面的內(nèi)容。2.2.1經(jīng)濟(jì)可行性在線考試必然會在今后的教學(xué)管理上成為主要的考試形式。開發(fā)一套能滿足一般考試的需要,并實(shí)現(xiàn)試卷生成、評判自動化的在線考試系統(tǒng)。在減少由于人為原因?qū)е略嚲黹喚淼牟还耐瑫r,也可以讓教師的工作量得以減少,有更多的時間去備課教學(xué)。本系統(tǒng)如果用在一些輔助教育類的網(wǎng)站上,那經(jīng)濟(jì)效果是很明顯的;如果是用在學(xué)校的教學(xué)管理上,會得以發(fā)揮其潛在的經(jīng)濟(jì)效益,比如印刷試卷的費(fèi)用等。因此,本系統(tǒng)在經(jīng)濟(jì)上是可行的。2.2.2 技術(shù)可行性技術(shù)上的可行性分析主要分析技術(shù)條件是否能順利完成開發(fā)工作,硬、軟件
20、能否滿足開發(fā)者的需要等。硬件方面,硬件的更新速度之快,可靠性越來越高,目前一般的硬件平臺均能滿足次系統(tǒng)的需要。軟件方面,編程的軟件以及Web服務(wù)器等均已具備,并且環(huán)境變量已經(jīng)搭好,數(shù)據(jù)庫用MySQL存儲大量的數(shù)據(jù),MySQL開源化,目前已經(jīng)很成熟,在靈活、安全和易用方面均能提供良好的支持。因此,系統(tǒng)的軟件開發(fā)平臺已經(jīng)成熟可行。2.3 設(shè)計目標(biāo)在線考試系統(tǒng)的總體目標(biāo):1. 本系統(tǒng)提供給管理員類用戶、教師類用戶及學(xué)生類用戶使用。不同的用戶類型所能完成的功能不同。管理員類用戶可以對于已經(jīng)注冊的考生及系統(tǒng)中已經(jīng)存在的教師進(jìn)行刪除操作,對于未注冊過的考生及系統(tǒng)中未存在的教師進(jìn)行添加操作;教師類用戶可以創(chuàng)
21、建試題、刪除試題、修改試題,也可進(jìn)行試題維護(hù)、修改密碼以及對成績的統(tǒng)計;學(xué)生類用戶主要是參與考試,完成試卷,查詢成績。2. 考試數(shù)據(jù)的存放和處理過程必須保密,需要一定的安全性保障若考生需要查卷,經(jīng)審核方可以。3. 題目的選擇具有穩(wěn)定性、隨機(jī)性。穩(wěn)定性就是每張?jiān)嚲砜傮w的難易程度要近似一樣,保證每一次考試對每一個考生是公平的,隨機(jī)性可以避免作弊的發(fā)生。4. 適時的試題題庫更新,試題題型包括判斷題、選擇題類型。試題庫的更新由管理員類用戶完成。學(xué)生類用戶不允許對試題進(jìn)行更新。5. 實(shí)現(xiàn)現(xiàn)代考試網(wǎng)絡(luò)化。2.4 功能要求系統(tǒng)具備的基本功能:1.用戶登錄及注冊對用戶進(jìn)行識別、驗(yàn)證;沒有注冊的用戶跳轉(zhuǎn)到用戶注
22、冊頁面;2.考試模塊考生選擇自己想要參加的考試類別,并進(jìn)行考試,考試完成以后可以獲得當(dāng)考試成績。3.歷史成績模塊-考生可以看到自己以前參加的考試成績。以對自己的進(jìn)步狀況進(jìn)行一次把握。4.試題維護(hù)模塊-教師選擇試題的類別,然后針對該試題分類中的所有試題進(jìn)行維護(hù),可以添加新題目,也可以對現(xiàn)在有的題目進(jìn)行修改或者刪除處理。5.試卷設(shè)置模塊-教師對題庫中的題目按照一定分類標(biāo)準(zhǔn)存放,包括分類的添加、修改和刪除操作等。6.歷史成績管理模塊-教師可以看到模式體分類的整體考試情況,考試成績分布情況,可以判斷出題庫中的題目難以水平,并可以在以后的維護(hù)中做出適當(dāng)調(diào)整。7.考生管理-系統(tǒng)管理員可以對已經(jīng)注冊的考生進(jìn)
23、行刪除操作,對于未注冊的考生進(jìn)行增加操作。8.教師管理-系統(tǒng)管理員可以對系統(tǒng)已經(jīng)存在的教師進(jìn)行刪除操作,對于未在系統(tǒng)中存在的教師進(jìn)行增加操作。9.修改密碼模塊-教師和考生可以在已經(jīng)登錄成功的頁面點(diǎn)擊修改密碼,可以修改本人登錄此考試系統(tǒng)的登錄密碼。除了實(shí)現(xiàn)上述功能以外,在線考試系統(tǒng)還應(yīng)該具有簡潔、易用的界面,安全性要高,穩(wěn)定性要強(qiáng)。根據(jù)以上的需求分析,畫出本系統(tǒng)的Use Case圖,如圖2.2所示:管理員 教師管理考試考生管理考試登 錄教師注 冊試題維護(hù)考試考生在線考試考試試卷設(shè)置考試歷史成績績歷史成績管理修改密碼圖2.2 在線考試系統(tǒng)的Use Case圖2.5 系統(tǒng)開發(fā)環(huán)境配置1. 操作系統(tǒng):
24、Windows xp 2. 內(nèi)存:4G3. CPU:2.00GHZ4. Java平臺:JDK 5.05. Web服務(wù)器:Tomcat6.06. 數(shù)據(jù)庫服務(wù)器:MySQL7. 開發(fā)平臺: MyEclipse6.0第三章 系統(tǒng)設(shè)計3.1數(shù)據(jù)庫設(shè)計在對網(wǎng)上考試系統(tǒng)數(shù)據(jù)庫部分進(jìn)行設(shè)計的過程中,通過對系統(tǒng)功能進(jìn)行需求分析得到系統(tǒng)的基本信息表,詳細(xì)設(shè)計過程如下介紹。3.1.1 數(shù)據(jù)庫需求分析需求分析是設(shè)計數(shù)據(jù)庫的起點(diǎn),需求分析的結(jié)果是否準(zhǔn)確地反映了用戶的實(shí)際要求,將直接影響到后面各個階段的設(shè)計,并影響到設(shè)計結(jié)果是否合理和實(shí)用。對于本系統(tǒng)而言,系統(tǒng)的角色分為管理員、教師、學(xué)生,這需要3個表,而考生考試,需要
25、一個存放題庫的表,考試的類別不同,也需要一個存放類別的表,考生考試完畢后,需要一個存放考試成績的表。綜合以上分析,要實(shí)現(xiàn)上面的所有功能模塊,數(shù)據(jù)庫共要設(shè)計六個表,它們分別是:試卷類別表、用戶表、用戶成績表、教師表、管理員表、題庫表。3.1.2 數(shù)據(jù)庫表設(shè)計用戶信息表,用來存放考生信息,如表3-1所示:表3-1用戶信息表字段名類型長度是否為主鍵可否為空說明user_idint11是否用戶的idusernamevarchar20否否登錄用戶名passwordvarchar20否否用戶登錄密碼realnamevarchar20否否用戶真實(shí)姓名教師信息表,存放教師信息,如表3-2所示:表3-2教師信息
26、表字段名類型長度是否為主鍵可否為空說明teacher_idint11是否教師的idteachernamevarchar20否否教師登錄名passwordvarchar20否否教師登錄密碼realnamevarchar20否否教師真實(shí)姓名管理員信息表,存放管理員信息,如表3-3所示:表3-3管理員信息表字段名類型長度是否為主鍵可否為空說明adusernamevarchar20是否管理員登錄名passwordvarchar20否否管理員登錄密碼realnamevarchar20否否管理員真實(shí)姓名題庫信息表,存放考試題目以及答案等信息,如表3-4所示:表3-4題庫信息表字段名類型長度是否為主鍵可否為
27、空說明question_idint10是否試題編號category_idint10否否試題分類編號subjectvarchar300否否題目choice_avarchar100否否選項(xiàng)Achoice_bvarchar100否否選項(xiàng)Bchoice_cvarchar100否否選項(xiàng)Cchoice_dvarchar100否否選項(xiàng)Danswerchar10否否正確答案成績表,存放考生考試時間以及成績等信息,如表3-5所示表3-5成績表字段名類型長度是否為主鍵可否為空說明record_idint10是否考試記錄編號usernamevarchar20否否考試用戶名category_idchar10否否試題分
28、類編號test_timechar14否否考試時間test_resultint11否否考試成績試卷類別表,存放試卷類別信息,包括試卷分類名稱、試卷題目等,如表3-6所示表3-6試卷類別表字段名類型長度是否為主鍵可否為空說明category_idint11是否試題分類編號category_namevarchar20否否試題分類名稱question_numberint10否否試題數(shù)目3.1.3數(shù)據(jù)庫邏輯結(jié)構(gòu)設(shè)計1 關(guān)系圖本系統(tǒng)各表之間的關(guān)系如下圖3-1示: 圖3-1關(guān)系圖2完整性設(shè)計完整性要求用于描述各種信息之間的制約關(guān)系以及關(guān)聯(lián)關(guān)系,各個數(shù)據(jù)項(xiàng)的取值范圍以及各個數(shù)據(jù)項(xiàng)是否可以取值。根據(jù)實(shí)際需要,采
29、取一定的手段來滿足用戶的完整性需求。域完整性約束要求屬性值必須在域中。實(shí)體完整性約束要求主鍵必須唯一且不能為空。如用戶信息表中的用戶名設(shè)置為主鍵,并且要求唯一且不能為空。3.2系統(tǒng)結(jié)構(gòu)設(shè)計網(wǎng)上考試系統(tǒng)是一個典型的數(shù)據(jù)庫應(yīng)用程序,主要有管理員、教師和學(xué)生三大模塊組成,各模塊功能如下:管理員模塊:該模塊包含2個功能,一個為考生管理,系統(tǒng)管理員可以對已經(jīng)注冊的考生進(jìn)行刪除操作,對于未注冊的考生進(jìn)行增加操作;另一個為教師管理,系統(tǒng)管理員可以對教師進(jìn)行增加、刪除操作。教師模塊:該模塊包含4個功能,分別為試卷設(shè)置、試題維護(hù)、歷史成績、修改密碼。教師成功登錄該系統(tǒng)后,能夠進(jìn)行修改個人信息,添加、修改、刪除試
30、題、試卷類別操作,也可對考生的成績進(jìn)行統(tǒng)計。學(xué)生模塊:該模塊包含3個功能,分別為開始考試、歷史成績、修改密碼。學(xué)生成功登錄該系統(tǒng)后,能夠進(jìn)行考試、查詢成績、修改密碼。系統(tǒng)功能結(jié)構(gòu)如圖3-2所示: 系統(tǒng)功能教師模塊管理員模塊學(xué)生模塊開始考試修改密碼試題維護(hù)試卷設(shè)置歷史成績考生管理教師管理歷史成績修改密碼圖3-2系統(tǒng)功能結(jié)構(gòu)圖3.3用戶界面設(shè)計頁面上部采用一個Logo圖片和適當(dāng)?shù)臉?biāo)識,表明當(dāng)前的系統(tǒng)名稱。接下來是幫助連接和退出系統(tǒng)的連接。然后下部頁面的主題分為左右兩部分,左邊是導(dǎo)航模塊部分,其中放置遷移到不同功能模塊的鏈接按鈕,右邊是頁面的主要操作區(qū)域,不同頁面的不同顯示主要在此體現(xiàn)。學(xué)生角色的模
31、版頁面如圖3-3所示:在線考試系統(tǒng)Logo圖片。 幫助 退出登錄歡迎您!XXX開始考試歷史成績修改密碼圖3-3 學(xué)生角色模版每個模塊都包含多個頁面,再次挑選幾個比較低型或者重要的頁面進(jìn)行詳細(xì)描述。其他的頁面結(jié)構(gòu)比較類似或者比較簡單,不一一詳述。學(xué)生開始考試的時候,首先需要選擇試卷類型,或者也可以叫做試題分類。在此頁面中采用下拉列表框的形式進(jìn)行,如圖3-4所示:在線考試系統(tǒng)Logo圖片。 幫助 退出登錄歡迎您!XXX請選擇試題的分類:確定會計基礎(chǔ) 開始考試歷史成績修改密碼圖3-4 試題分類選擇頁面草圖選擇試題分類以后,即是學(xué)生答題頁面。答題頁面的主體應(yīng)該是試題和試題的選項(xiàng)??紤]到本系統(tǒng)需要在題目
32、結(jié)束以后立即知道考試結(jié)果,所以決定采用所有試題的形式都是ABCD型的選擇題,頁面應(yīng)該針對這些題目選項(xiàng)設(shè)置單選按鈕。在答題內(nèi)容的上方,應(yīng)該能夠給考生信息,說明當(dāng)前的題目是全部題目的第幾道,以及總共有幾道題,使得考生可以把握整個考試進(jìn)度。同時考慮到考生在時間允許的情況下,需要在題目間前后遷移,所以在題目的下方,還應(yīng)該有前后翻頁的按鈕。對應(yīng)教師角色的模版略有不同,模塊多了幾個,而且頁面頂端的標(biāo)識也有所區(qū)別。對應(yīng)的模版頁面如圖3-5所示。在線考試系統(tǒng)(管理界面)Logo圖片。 幫助 退出登錄歡迎您!XXX試題維護(hù)試卷設(shè)置成績查詢修改密碼圖3-11 教師角色模版頁面圖3-5 管理員角色模版頁面第四章 系
33、統(tǒng)實(shí)現(xiàn)本系統(tǒng)包括3個不同的角色,即學(xué)生、教師、管理員。不同角色的功能有所不同,學(xué)生的功能包括:考試模塊,修改密碼,成績查詢模塊。教師的功能包括:試卷類別管理、試題管理、修改密碼、成績管理。管理員的功能包括:教師管理和考生管理。4.1 數(shù)據(jù)庫連接的實(shí)現(xiàn)方法從系統(tǒng)功能模塊劃分中可以看出,各模塊雖然是獨(dú)立的,但又統(tǒng)一于同一數(shù)據(jù)庫中,便于管理員管理維護(hù)數(shù)據(jù)庫,同時也便于教師和學(xué)生的操作。在介紹系統(tǒng)各模塊的實(shí)現(xiàn)方法之前,首先介紹系統(tǒng)與MySQL數(shù)據(jù)庫的連接方法,再介紹系統(tǒng)主要部分的實(shí)現(xiàn)方法。創(chuàng)建與數(shù)據(jù)庫的連接:首先要將mysql的驅(qū)動包放在tomcat/lib目錄下;:利用語句進(jìn)行對數(shù)據(jù)庫的操作,以下僅
34、是對用戶表查詢的語句: catch(Exception e)/獲得數(shù)據(jù)庫連接出錯 System.out.println(error occured!);finally /釋放數(shù)據(jù)庫連接 rs.close(); stmt.close(); conn.close();%4.2 登陸注冊模塊4.2.1 登錄模塊用戶登錄頁面比較簡單,為防止用戶登錄的操作錯誤,應(yīng)設(shè)置錯誤處理頁面,在登錄操作過程中,一般發(fā)生的錯誤有:用戶輸入了錯誤的用戶名或密碼、用戶直接單擊了登錄按鈕,對上述情況的判斷就要通過Servlet文件來實(shí)現(xiàn)。當(dāng)用戶登錄的時候,輸入的帳號或者密碼有其中一項(xiàng)為空時,會有提示框提示,提示您帳號或者密
35、碼不能為空。實(shí)現(xiàn)這個功能的是用javascript實(shí)現(xiàn)的,具體代碼如下所示:驗(yàn)證輸入不為空的腳本代碼 定義了一個名為checkForm的查詢表單函數(shù)function checkForm(form) 、如果value為空,會提示帳號不能為空if(form.teachername.value=) alert(賬號不能為空); 讓form表單中的teachername控件獲得焦點(diǎn)(光標(biāo)),回到輸入框位置。form.teachername.focus();return false; if(form.password.value=) alert(密碼不能為空); form.password.focus(
36、); return false; return ture; 在登錄頁面時,當(dāng)用戶提交了登錄資料后,就由“l(fā)oginvc.jsp”這個頁面進(jìn)行驗(yàn)證,它的工作主要是連接到數(shù)據(jù)庫,從數(shù)據(jù)中找出輸入的用戶名和密碼并判斷其是否一致。如果用戶輸入了錯誤的用戶名和密碼,就會跳出一個登錄失敗的頁面。用戶可以點(diǎn)擊返回按鈕回到其剛才登錄的界面,然后重新輸入用戶名及密碼進(jìn)行再次登錄。若用戶提交正確的用戶和密碼后,如果記錄驗(yàn)證無誤,就通過JSP重定向語句response.sendRedirect()跳轉(zhuǎn)到相應(yīng)的主界面。教師以及管理員的登錄驗(yàn)證跟考生相似,只是查詢條件和連接的數(shù)據(jù)庫表不同,以及登陸成功之后,跳轉(zhuǎn)的頁面不
37、同。4.2.2 考生注冊模塊在此模塊,考生需要填寫用戶名、密碼、確認(rèn)密碼、真實(shí)姓名。如若填寫中缺少一項(xiàng),那么會有提示,其功能也是由上面所說的一樣,通過調(diào)用javascript實(shí)現(xiàn)的,這里只提供下截圖,主要代碼如上,如圖4-1所示:圖4-1 注冊提示頁面當(dāng)用戶填寫的內(nèi)容完全符合注冊標(biāo)準(zhǔn)后,點(diǎn)擊注冊按鈕,會轉(zhuǎn)到注冊成功的頁面;如若用戶名已經(jīng)被注冊,會轉(zhuǎn)到注冊失敗頁面,提醒注冊用戶可能是該用戶名已經(jīng)注冊。在此只以注冊成功的頁面為例,如圖4-2所示:圖4-2 注冊成功頁面完成注冊模塊的主要代碼如下所示:首先獲取上個頁面?zhèn)鬟^來的數(shù)據(jù),用戶名、密碼、真實(shí)姓名String username = reques
38、t.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=DriverManager.getConnection(jdbc:mysql:/localhost:3306/my
39、exam?user=root&password=&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); 如果存在,提示“ 您好,您注冊的用戶名已經(jīng)存在,請重新輸入 ”,如果不存在,把接收過來的值付給新的變量: String s_username=r
40、equest.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+,+realname+);如果插入成功,提示:“恭喜您注冊成功!” 4.3考生模塊考生登錄系統(tǒng)并且用戶名也密碼正確后,會直接跳轉(zhuǎn)到學(xué)生
41、主頁,本頁面中,考生可以在左側(cè)選擇自己下一步要做的事情,有開始考試、歷史成績查詢、修改密碼。在頁面中間,有提示語,告訴考生每個按鈕都可以操作什么功能;若考生對考試流程不太熟悉,可以點(diǎn)擊幫助,來查詢相關(guān)問題的答案。如圖4-3所示:圖4-3考生主頁4.3.1 開始考試模塊考生點(diǎn)擊開始考試,會首先彈出關(guān)于所選考試科目的一些介紹,比如考試時間和總共有多少道題目等,然后點(diǎn)擊開始考試,倒計時開始,考生選擇上一題,下一題進(jìn)行答卷,當(dāng)考生答到最大題數(shù)時,下一題變成完成答卷按鈕。點(diǎn)擊完成答卷,進(jìn)入成績頁面,考生可以知道自己的成績,并且,成績通過后臺,插入到數(shù)據(jù)庫中。如圖4-4所示:圖4-4 考生考試頁面執(zhí)行的具
42、體代碼如下所示:% HttpSession sess=(HttpSession)request.getSession(true); int category = (Integer)sess.getAttribute(category);String username = request.getParameter(username); MysqlDjtDao md = new MysqlDjtDao(); /引進(jìn)包 int valid = md.selectTestRecordByuser(username,category);/去test_record表查詢有無考試記錄 valid=0;/控制
43、返回值,自己可以自由修改。 if( valid=0 ) Calendar cl = Calendar.getInstance();/java util 包 表提供的系統(tǒng)時間Calendar long starttime = cl.getTimeInMillis();/得到當(dāng)前時間的毫秒數(shù) long endtime = starttime+; sess.setMaxInactiveInterval(3600); /設(shè)置session的存活時間 sess.setAttribute(username,username); sess.setAttribute(endtime,endtime); Lis
44、t tmid = new ArrayList();/指定傳入的類型 建立一個集合 準(zhǔn)備存放抽到的題目的ID號 tmid.add(0);/設(shè)置默認(rèn)值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對應(yīng)的實(shí)體類 來存放查到的題目信息 List listsId = md
45、.selectQInfoCount(category);/某個科有多少個問題 int qnum = md.selectQNum(category);/共需要幾個問題 sess.setAttribute(qnum,qnum); Random rand = new Random();/Java提供的得到數(shù)字的類 for( int a=0;a 4.3.2 歷史成績模塊考生點(diǎn)擊歷史成績,會先遷移到考試科目選擇頁面,當(dāng)考生通過下拉列表,選中要查詢的科目,然后點(diǎn)擊確認(rèn),會從數(shù)據(jù)庫中提取出考生的成績,然后在表格中顯示。點(diǎn)擊左下角的返回按鈕,回到考試科目選擇頁面,繼續(xù)查詢其他科目成績,如圖4-5所示:圖4-5
46、 考生成績查詢頁面成績查詢頁面主要代碼如下所示:接收上個頁面?zhèn)鬟^來的值 String category = request.getParameter(category); String result = null; int count = 0; 開始連接數(shù)據(jù)庫 Class.forName( com.mysql.jdbc.Driver ).newInstance(); Connection conn=DriverManager.getConnection(jdbc:mysql:/localhost/Myexam?user=root&password=&useUnicode=true&characterEncoding=gbk); Statement stmt=conn.createStatement(); 數(shù)據(jù)庫結(jié)果集的數(shù)據(jù)表 ResultSet rs=null; ResultSet rr = null;執(zhí)行sql語句,查詢test_record表中是否有與接收的值相同項(xiàng) String sqlcount = select count(*) from test_record where (category_id=+category+ and usern
溫馨提示
- 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)用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。
最新文檔
- 金融投資居間服務(wù)合同模板
- 2025年度辦公室清潔與生態(tài)環(huán)保技術(shù)應(yīng)用合同
- 住宅買賣中介服務(wù)合同
- 展覽館裝修合同管理費(fèi)方案
- 倉儲服務(wù)居間合同
- 的汽車轉(zhuǎn)讓合同
- 美容化妝品行業(yè)產(chǎn)品追溯與營銷推廣方案
- 數(shù)字化供應(yīng)鏈管理體系建設(shè)方案
- 知識產(chǎn)權(quán)歸屬及保密協(xié)議南京廖華
- 三農(nóng)村低保申請與審核手冊
- 四川省的高等學(xué)校畢業(yè)生登記表(空表)
- 《風(fēng)電場項(xiàng)目經(jīng)濟(jì)評價規(guī)范》(NB-T 31085-2016)
- 職業(yè)暴露與防護(hù)
- 年產(chǎn)15噸透明質(zhì)酸生產(chǎn)車間的初步工藝設(shè)計
- 大模型在航空航天領(lǐng)域的應(yīng)用:智能探索宇宙的無限可能
- 地下礦山安全教育課件
- 國際市場營銷教案
- 全球變暖對工業(yè)企業(yè)的影響
- 酒店行業(yè)客源渠道分析
- 2024年中國陪診服務(wù)行業(yè)市場發(fā)展趨勢預(yù)測報告-智研咨詢重磅發(fā)布
- AVL-CRUISE-2019-整車經(jīng)濟(jì)性動力性分析操作指導(dǎo)書
評論
0/150
提交評論