2016-2022年中國(guó)金融服務(wù)外包市場(chǎng)競(jìng)爭(zhēng)調(diào)研及投資前景預(yù)測(cè)報(bào)告_第1頁
2016-2022年中國(guó)金融服務(wù)外包市場(chǎng)競(jìng)爭(zhēng)調(diào)研及投資前景預(yù)測(cè)報(bào)告_第2頁
2016-2022年中國(guó)金融服務(wù)外包市場(chǎng)競(jìng)爭(zhēng)調(diào)研及投資前景預(yù)測(cè)報(bào)告_第3頁
2016-2022年中國(guó)金融服務(wù)外包市場(chǎng)競(jìng)爭(zhēng)調(diào)研及投資前景預(yù)測(cè)報(bào)告_第4頁
2016-2022年中國(guó)金融服務(wù)外包市場(chǎng)競(jìng)爭(zhēng)調(diào)研及投資前景預(yù)測(cè)報(bào)告_第5頁
已閱讀5頁,還剩36頁未讀, 繼續(xù)免費(fèi)閱讀

下載本文檔

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

文檔簡(jiǎn)介

1、北京天才大學(xué)畢 業(yè) 設(shè) 計(jì)(論 文)題 目: Java Web應(yīng)用開發(fā) 在線模擬考試系統(tǒng)的設(shè)計(jì)與實(shí)現(xiàn) 學(xué) 院: 計(jì)算機(jī)學(xué)院 專 業(yè): 軟件工程 學(xué)生姓名: 班級(jí)/學(xué)號(hào) 指導(dǎo)老師/督導(dǎo)老師: 起止時(shí)間: 2011年2月21日 至2011年6月10日 摘要摘 要隨著網(wǎng)絡(luò)技術(shù)的發(fā)展,遠(yuǎn)程教育和網(wǎng)上考試成為網(wǎng)絡(luò)應(yīng)用的一個(gè)重要方面。近幾年,在線考試特別是基于Web 的在線考試系統(tǒng)受到越來越多的人青睞。本次畢業(yè)設(shè)計(jì)的題目是在線模擬考試系統(tǒng)的設(shè)計(jì)與實(shí)現(xiàn),系統(tǒng)采用瀏覽器/服務(wù)器模式開發(fā),包括登錄注冊(cè)、在線考試、試卷設(shè)置、試題管理、分?jǐn)?shù)的統(tǒng)計(jì)以及成績(jī)查詢等功能。系統(tǒng)運(yùn)行在Windows 7操作系統(tǒng)上,以Tomc

2、at作為Web服務(wù)器,使用JSP技術(shù)和MySQL 數(shù)據(jù)庫(kù)實(shí)現(xiàn)。論文首先對(duì)在線考試系統(tǒng)做了需求分析,然后給出系統(tǒng)的設(shè)計(jì)與實(shí)現(xiàn)過程,最后,針對(duì)系統(tǒng)的各個(gè)功能進(jìn)行了測(cè)試。關(guān)鍵詞:在線考試;瀏覽器/服務(wù)器;JSP;MySQL;JDBC;IIAbstractAbstractWith the development of networking technology, online examination and distance education is an aspect in the application of internet. In recent years the on-line examin

3、ation especial of Web-based examination is more and more popular. The graduation projects subject is to design and realization of the online examination system. The system uses the browser/server to develop. It includes login, new user registration, on-line examination, examination paper set, examin

4、ation paper management, score statistics ,query results and other functional. The system takes the Windows 7 as the OS,Tomcat as the web 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 exam

5、ination system is introduced, and then give the system design and implementation .Finally, all of the functions of the system is tested.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 設(shè)計(jì)目標(biāo)62.4 功能要求6

6、2.5 系統(tǒng)開發(fā)環(huán)境配置7第三章 系統(tǒng)設(shè)計(jì)93.1數(shù)據(jù)庫(kù)設(shè)計(jì)93.2系統(tǒng)結(jié)構(gòu)設(shè)計(jì)113.3用戶界面設(shè)計(jì)12第四章 系統(tǒng)實(shí)現(xiàn)154.1 數(shù)據(jù)庫(kù)連接的實(shí)現(xiàn)方法154.2 登陸注冊(cè)模塊164.3考生模塊184.4 教師模塊234.5 管理員模塊31第五章 系統(tǒng)測(cè)試335.1什么是軟件測(cè)試335.2軟件測(cè)試的目標(biāo)與方法335.3測(cè)試內(nèi)容335.4系統(tǒng)的不足和展望34結(jié)束語35參考文獻(xiàn)3636Java Web應(yīng)用開發(fā)在線模擬考試系統(tǒng)的設(shè)計(jì)與實(shí)現(xiàn)第一章 系統(tǒng)概述1.1 系統(tǒng)開發(fā)背景隨著我國(guó)計(jì)算機(jī)技術(shù)和通訊技術(shù)的發(fā)展,互聯(lián)網(wǎng)的普及程度已經(jīng)很廣泛了,但是,現(xiàn)在的教育教學(xué)檢驗(yàn)方式,還是停留在過去的紙質(zhì)考試層面在

7、,而傳統(tǒng)的教育教學(xué)檢驗(yàn)方式中,要進(jìn)行一次考試,至少需要經(jīng)過教師出題、學(xué)生考試、教師閱卷等幾步,這是一個(gè)繁雜的過程,需要大量人力、物力與時(shí)間的投入,同時(shí)也讓教師的工作量越來越大;現(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)在新興的教育教學(xué)方式的考試需要了。可以解決這些諸多難題的一種方式,就是利用Internet無國(guó)界的特點(diǎn),在互聯(lián)網(wǎng)上在線考試。在線考試系統(tǒng)可以減輕教師的工作負(fù)擔(dān)、提高工作效率,也減少了因考試而消耗不必要的人力和物力。在線

8、考試的題目由計(jì)算機(jī)從題庫(kù)中隨機(jī)抽取,提高了考試的質(zhì)量,考試的評(píng)判由計(jì)算機(jī)自動(dòng)完成,這樣使考試更趨于公證、客觀。隨著社會(huì)的發(fā)展和我國(guó)互聯(lián)網(wǎng)的普及,我們的生活中的已經(jīng)有很多方面都運(yùn)用到了網(wǎng)絡(luò),比如網(wǎng)上購(gòu)物,網(wǎng)上交友等,甚至現(xiàn)在很多人看新聞都是通過網(wǎng)絡(luò)閱讀的,在閱讀新聞這個(gè)事件上,已經(jīng)不僅僅局限于紙質(zhì)化的報(bào)紙上了;而要把考試趨于無紙化的模式,需要在線模擬考試系統(tǒng)來完成,這個(gè)也是現(xiàn)在高等教育發(fā)展的一個(gè)需求。在國(guó)內(nèi),試題庫(kù)系統(tǒng)理論與技術(shù)的研究在最近幾年取得了很大的進(jìn)步。我國(guó)許多企業(yè)和高校都投入量大量的人力物力到各門課程的試題庫(kù)中,并取得了一定的成就?,F(xiàn)在的生活中已經(jīng)有越來越多的等級(jí)考試運(yùn)用了在線考試系統(tǒng)

9、,比如會(huì)計(jì)的電算化考試、計(jì)算機(jī)等級(jí)考試、銀行資格證考試等,這些已經(jīng)充分說明,在線考試系統(tǒng)是今后我們的考試生涯中的一個(gè)發(fā)展趨勢(shì)。1.2 系統(tǒng)開發(fā)意義考試是教育中一個(gè)非常重要的環(huán)節(jié),但在以前的很長(zhǎng)時(shí)間里,全球所有的國(guó)家都是以筆試的方式來檢查焦距教學(xué)成果的,隨著網(wǎng)絡(luò)的發(fā)展,互聯(lián)網(wǎng)已經(jīng)普及的非常廣泛,隨著這些周圍環(huán)境的改變,人們開始去尋找新的方式來去達(dá)到更客觀,更方便快捷的去達(dá)到考試的目的。近些年來,在國(guó)外,已經(jīng)投入使用的考試系統(tǒng)有著名的TOEFL,GRE網(wǎng)上考試系統(tǒng),還有微軟、思科等大公司的國(guó)際認(rèn)證考試等,這些考試系統(tǒng)在全球范圍內(nèi)有眾多的使用者。網(wǎng)絡(luò)化考試系統(tǒng)對(duì)節(jié)約考試成本,實(shí)現(xiàn)遠(yuǎn)距離的同步考試,提

10、高考試效率,確??荚嚱Y(jié)果的公平、公正、科學(xué)、及時(shí)等具有重要的意義,不僅可以動(dòng)態(tài)地管理考試信息,而且還提高了教學(xué)的靈活性,相信隨著技術(shù)的不斷發(fā)展和網(wǎng)絡(luò)覆蓋面的不斷擴(kuò)大,在不斷完善該考試系統(tǒng)的同時(shí)也會(huì)在更大的范圍上應(yīng)用。1.3系統(tǒng)開發(fā)工具本系統(tǒng)是基于Tomcat為服務(wù)器,JSP+MySQL數(shù)據(jù)庫(kù)技術(shù)實(shí)現(xiàn)的一個(gè)簡(jiǎn)單的在線考試系統(tǒng),以下對(duì)JSP技術(shù)、MySQL數(shù)據(jù)庫(kù)和TomCat作簡(jiǎn)要的介紹。 1.3.1動(dòng)態(tài)網(wǎng)頁開發(fā)技術(shù)JSP(Java Server Page)JSP(Java Server Pages)是由Sun Microsystems公司倡導(dǎo)、許多公司參與一起建立的一種動(dòng)態(tài)網(wǎng)頁技術(shù)標(biāo)準(zhǔn)。JSP技

11、術(shù)有點(diǎn)類似ASP技術(shù),它是在傳統(tǒng)的網(wǎng)頁HTML文件中插入Java程序段和JSP標(biāo)記,從而形成JSP文件。 用JSP開發(fā)的Web應(yīng)用是跨平臺(tái)的,即能在Linux下運(yùn)行,也能在其他操作系統(tǒng)上運(yùn)行。JSP技術(shù)使用Java編程語言編寫類XML的tags和scriptlets,來封裝產(chǎn)生動(dòng)態(tài)網(wǎng)頁的處理邏輯。網(wǎng)頁還能通過tags和scriptlets訪問存在于服務(wù)端的資源的應(yīng)用邏輯。JSP將網(wǎng)頁邏輯與網(wǎng)頁設(shè)計(jì)和顯示分離,支持可重用的基于組件的設(shè)計(jì),使基于Web的應(yīng)用程序的開發(fā)變得迅速和容易。 Web服務(wù)器在遇到訪問JSP網(wǎng)頁的請(qǐng)求時(shí),首先執(zhí)行其中的程序段,然后將執(zhí)行結(jié)果連同JSP文件中的HTML代碼一起返

12、回給客戶。插入的Java程序段可以操作數(shù)據(jù)庫(kù)、重新定向網(wǎng)頁等,以實(shí)現(xiàn)建立動(dòng)態(tài)網(wǎng)頁所需要的功能。 JSP與Java servlet一樣,是在服務(wù)器端執(zhí)行的,通常返回該客戶端的就是一個(gè)HTML文本,因此客戶端只要有瀏覽器就能瀏覽。 JSP頁面由HTML代碼和嵌入其中的Java代碼所組成。Java servlet 是JSP的技術(shù)基礎(chǔ),而且大型的Web應(yīng)用程序的開發(fā)需要Java servlet和JSP配合才能完成。JSP具備了Java技術(shù)的簡(jiǎn)單易用,完全的面向?qū)ο?,具有平臺(tái)無關(guān)性且安全可靠,主要面向因特網(wǎng)的所有特點(diǎn)。 1JSP技術(shù)的強(qiáng)勢(shì) (1)一次編寫,到處運(yùn)行。在這一點(diǎn)上Java比PHP更出色,除了

13、系統(tǒng)之外,代碼不用做任何更改。(2)系統(tǒng)的多平臺(tái)支持。基本上可以在所有平臺(tái)上的任意環(huán)境中開發(fā),在任意環(huán)境中進(jìn)行系統(tǒng)部署,在任意環(huán)境中擴(kuò)展。相比ASP/PHP的局限性是現(xiàn)而易見的。 (3)強(qiáng)大的可伸縮性。從只有一個(gè)小的Jar文件就可以運(yùn)行servlet/JSP,到由多臺(tái)服務(wù)器進(jìn)行集群和負(fù)載均衡,到多臺(tái)Application進(jìn)行事務(wù)處理,消息處理,一臺(tái)服務(wù)器到無數(shù)臺(tái)服務(wù)器,Java顯示了一個(gè)巨大的生命力。 (4)多樣化和功能強(qiáng)大的開發(fā)工具支持。這一點(diǎn)與ASP很像,Java已經(jīng)有了許多非常優(yōu)秀的開發(fā)工具,而且許多可以免費(fèi)得到,并且其中許多已經(jīng)可以順利的運(yùn)行于多種平臺(tái)之下。 2 JSP技術(shù)的弱勢(shì) (1

14、) 與ASP一樣,Java的一些優(yōu)勢(shì)正是它致命的問題所在。正是由于為了跨平臺(tái)的功能,為了極度的伸縮能力,所以極大的增加了產(chǎn)品的復(fù)雜性。 (2) Java的運(yùn)行速度是用class常駐內(nèi)存來完成的,所以它在一些情況下所使用的內(nèi)存比起用戶數(shù)量來說確實(shí)是“最低性能價(jià)格比”了。從另一方面,它還需要硬盤空間來儲(chǔ)存一系列的.java文件和.class文件,以及對(duì)應(yīng)的版本文件。1.3.2 數(shù)據(jù)庫(kù)MySQL MySQL是一個(gè)小型關(guān)系型數(shù)據(jù)庫(kù)管理系統(tǒng),開發(fā)者為瑞典MySQLAB公司,在2008年1月16號(hào)被Sun 公司收購(gòu)。MySQL被廣泛地應(yīng)用在Internet上的中小型網(wǎng)站中。由于其體積小、速度快、總體擁有成

15、本低,尤其是開放源碼這一特點(diǎn),許多中小型網(wǎng)站為了降低網(wǎng)站總體擁有成本而選擇了MySQL作為網(wǎng)站數(shù)據(jù)庫(kù)。如雅虎、阿爾卡特朗訊、Google公司、諾基亞公司、百度等公司就采用了MySQL數(shù)據(jù)庫(kù)。MySQL數(shù)據(jù)庫(kù)可以稱得上是目前運(yùn)行速度最快的SQL語言數(shù)據(jù)庫(kù)。除了具有許多其它數(shù)據(jù)庫(kù)所不具備的功能和選擇之外,MySQL數(shù)據(jù)庫(kù)是一種完全免費(fèi)的產(chǎn)品,用戶可以直接從網(wǎng)上下載.MySQL數(shù)據(jù)庫(kù)主要有以下特點(diǎn):1、可移植性使用C和C+編寫,并使用了多種編譯器進(jìn)行測(cè)試,保證源代碼的可移植性。2、可擴(kuò)展性和靈活性MySQL可以支持UNIX、Linux和SUN OS以及Windows等多種操作系統(tǒng)平臺(tái)。在一個(gè)操作系統(tǒng)

16、中實(shí)現(xiàn)的應(yīng)用可以很方便地移植到其他操作系統(tǒng)。MySQL作為開源性質(zhì)的 數(shù)據(jù)庫(kù)服務(wù)器,可以為那些想要增加獨(dú)特需求的用戶提供完全定制的功能。3、強(qiáng)大的數(shù)據(jù)保護(hù)功能MySQL有一個(gè)非常靈活且安全的權(quán)限和密碼系統(tǒng)。為確保只有獲授權(quán)用戶才能進(jìn)入該數(shù)據(jù)庫(kù)服務(wù)器,所有的密碼傳輸均采用加密形式,同時(shí)也提供了 SSH和SSI。支持,以實(shí)現(xiàn)安全和可靠的連接。MySQL強(qiáng)大的數(shù)據(jù)加密和解密功能,可以保證敏感數(shù)據(jù)不受未經(jīng)授權(quán)的訪問。4、支持大型的數(shù)據(jù)庫(kù)雖然對(duì)于用PHP編寫的網(wǎng)頁來說,只要能夠存放數(shù)百條以上的記錄數(shù)據(jù)就是夠了,但MySQL可以方便地支持上千萬條記錄的數(shù)據(jù)庫(kù)。作為一個(gè)開放源代碼的數(shù)據(jù)庫(kù),MySQL可以針對(duì)

17、不同的應(yīng)用進(jìn)行相應(yīng)的修改。5、超強(qiáng)的穩(wěn)定性MySQL擁有一個(gè)非??焖俣曳€(wěn)定的基于線程的內(nèi)存分配系統(tǒng),可以持續(xù)使用而不必?fù)?dān)心其穩(wěn)定性。線程是輕量級(jí)的進(jìn)程,它可以靈活地為用戶提供服務(wù),而不占用過多的系統(tǒng)資源。用多線程和C語言實(shí)現(xiàn)的MySQL能很容易地充分利用CPU。6、強(qiáng)大的查詢功能MySQL支持查詢的select和where語句的全部運(yùn)算符和函數(shù),并且可以在同一查詢中混用來自不同數(shù)據(jù)庫(kù)的表,從而使得查詢變得快捷、方便。1.3.3 Tomcat介紹Tomcat 服務(wù)器是一個(gè)免費(fèi)的開放源代碼的Web 應(yīng)用服務(wù)器,是Apache 軟件基金會(huì)的Jakarta 項(xiàng)目中的一個(gè)核心項(xiàng)目,由Apache、Su

18、n 和其他一些學(xué)校及個(gè)人共同開發(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)行時(shí)占用的系統(tǒng)資源小,擴(kuò)展性好,支持負(fù)載平衡與郵件服務(wù)等開發(fā)應(yīng)用系統(tǒng)常用的功能;而且它還在不斷的改進(jìn)和完善中,任何一個(gè)感興趣的程序員都可以更改它或在其中加入新的功能。Tomcat 是一個(gè)小型的輕量

19、級(jí)應(yīng)用服務(wù)器,在中小型系統(tǒng)和并發(fā)訪問用戶不是很多的場(chǎng)合下被普遍使用,是開發(fā)和調(diào)試JSP 程序的首選。對(duì)于一個(gè)初學(xué)者來說,可以這樣認(rèn)為,當(dāng)在一臺(tái)機(jī)器上配置好Apache 服務(wù)器,可利用它響應(yīng)對(duì)HTML 頁面的訪問請(qǐng)求。實(shí)際上Tomcat 部分是Apache 服務(wù)器的擴(kuò)展,但它是獨(dú)立運(yùn)行的,所以當(dāng)你運(yùn)行tomcat 時(shí),它實(shí)際上作為一個(gè)與Apache 獨(dú)立的進(jìn)程單獨(dú)運(yùn)行的。 自從JSP發(fā)布之后,推出了各式各樣的JSP引擎。Apache Group在完成GNUJSP1.0的開發(fā)以后,開始考慮在SUN的JSWDK基礎(chǔ)上開發(fā)一個(gè)可以直接提供Web服務(wù)的JSP服務(wù)器,當(dāng)然同時(shí)也支持Servlet, 這樣T

20、omcat就誕生了。 Tomcat是jakarta項(xiàng)目中的一個(gè)重要的子項(xiàng)目,其被JavaWorld雜志的編輯選為2001年度最具創(chuàng)新的java產(chǎn)品,同時(shí)它又是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)的考試方式是教師提前命題、印刷試卷、組織學(xué)生考試、學(xué)生在統(tǒng)一時(shí)間和地點(diǎn)考試、收卷后教師閱卷、成績(jī)統(tǒng)計(jì)。如圖2.1組織學(xué)生考試印刷試卷教師提前命題成績(jī)統(tǒng)計(jì)教師閱卷學(xué)生統(tǒng)一考

21、試圖2.1 傳統(tǒng)考試模式這種模式存在有較多的問題:命題:由于是同意的時(shí)間進(jìn)行考試,所以考生的試卷都是一樣的,這樣對(duì)教師命題帶來的很大的麻煩,即:試題太難或者太容易,都達(dá)不到考試的目的。如果是大型的考試,比如英語四級(jí)考試,還要擔(dān)心試題是否被泄漏的等問題(現(xiàn)在已經(jīng)有類似問題的出現(xiàn),才會(huì)有現(xiàn)在說的花卷)。印刷試卷:組織考試,印刷試卷費(fèi)工費(fèi)時(shí),成本高,而且對(duì)于紙張資源也是一種浪費(fèi),而且印刷的時(shí)候,也會(huì)擔(dān)心試題被泄漏的問題。組織學(xué)生考試:監(jiān)考人資源的浪費(fèi),和教師資源的匱乏,如何調(diào)配也是一個(gè)難題,如果是全國(guó)統(tǒng)一考試,還要涉及不同區(qū)域同時(shí)考試的問題。學(xué)生統(tǒng)一考試:由于是同一時(shí)間,同一地點(diǎn),同一張?jiān)囶},考生作

22、弊問題便會(huì)出現(xiàn),而且是非常難解決的問題,再加上每個(gè)監(jiān)考員監(jiān)考的嚴(yán)格程度不同,這些人為因素難控制,使考試難公平,公正。教師閱卷:教師閱卷比較容易出錯(cuò),會(huì)造成人為的不公正性。成績(jī)統(tǒng)計(jì):當(dāng)成績(jī)錄入時(shí),數(shù)字的混亂會(huì)導(dǎo)致錄入者輸入錯(cuò)誤或者看錯(cuò)。2.2 可行性分析可行性分析也稱為可行性研究,即是在系統(tǒng)調(diào)查的基礎(chǔ)上,針對(duì)新系統(tǒng)的開發(fā)是否具備必要性和可能性,對(duì)新系統(tǒng)的開發(fā)從技術(shù)、經(jīng)濟(jì)、管理的方面進(jìn)行分析和研究,以避免投資失誤,保證新系統(tǒng)的開發(fā)成功??尚行匝芯康哪康木褪怯米钚〉拇鷥r(jià)在盡可能短的時(shí)間內(nèi)確定問題是否能夠解決。該系統(tǒng)的可行性分析包括以下幾個(gè)方面的內(nèi)容。2.2.1經(jīng)濟(jì)可行性在線考試必然會(huì)在今后的教學(xué)管理

23、上成為主要的考試形式。開發(fā)一套能滿足一般考試的需要,并實(shí)現(xiàn)試卷生成、評(píng)判自動(dòng)化的在線考試系統(tǒng)。在減少由于人為原因?qū)е略嚲黹喚淼牟还耐瑫r(shí),也可以讓教師的工作量得以減少,有更多的時(shí)間去備課教學(xué)。本系統(tǒng)如果用在一些輔助教育類的網(wǎng)站上,那經(jīng)濟(jì)效果是很明顯的;如果是用在學(xué)校的教學(xué)管理上,會(huì)得以發(fā)揮其潛在的經(jīng)濟(jì)效益,比如印刷試卷的費(fèi)用等。因此,本系統(tǒng)在經(jīng)濟(jì)上是可行的。2.2.2 技術(shù)可行性技術(shù)上的可行性分析主要分析技術(shù)條件是否能順利完成開發(fā)工作,硬、軟件能否滿足開發(fā)者的需要等。硬件方面,硬件的更新速度之快,可靠性越來越高,目前一般的硬件平臺(tái)均能滿足次系統(tǒng)的需要。軟件方面,編程的軟件以及Web服務(wù)器等均

24、已具備,并且環(huán)境變量已經(jīng)搭好,數(shù)據(jù)庫(kù)用MySQL存儲(chǔ)大量的數(shù)據(jù),MySQL開源化,目前已經(jīng)很成熟,在靈活、安全和易用方面均能提供良好的支持。因此,系統(tǒng)的軟件開發(fā)平臺(tái)已經(jīng)成熟可行。2.3 設(shè)計(jì)目標(biāo)在線考試系統(tǒng)的總體目標(biāo):1. 本系統(tǒng)提供給管理員類用戶、教師類用戶及學(xué)生類用戶使用。不同的用戶類型所能完成的功能不同。管理員類用戶可以對(duì)于已經(jīng)注冊(cè)的考生及系統(tǒng)中已經(jīng)存在的教師進(jìn)行刪除操作,對(duì)于未注冊(cè)過的考生及系統(tǒng)中未存在的教師進(jìn)行添加操作;教師類用戶可以創(chuàng)建試題、刪除試題、修改試題,也可進(jìn)行試題維護(hù)、修改密碼以及對(duì)成績(jī)的統(tǒng)計(jì);學(xué)生類用戶主要是參與考試,完成試卷,查詢成績(jī)。2. 考試數(shù)據(jù)的存放和處理過程必

25、須保密,需要一定的安全性保障若考生需要查卷,經(jīng)審核方可以。3. 題目的選擇具有穩(wěn)定性、隨機(jī)性。穩(wěn)定性就是每張?jiān)嚲砜傮w的難易程度要近似一樣,保證每一次考試對(duì)每一個(gè)考生是公平的,隨機(jī)性可以避免作弊的發(fā)生。4. 適時(shí)的試題題庫(kù)更新,試題題型包括判斷題、選擇題類型。試題庫(kù)的更新由管理員類用戶完成。學(xué)生類用戶不允許對(duì)試題進(jìn)行更新。5. 實(shí)現(xiàn)現(xiàn)代考試網(wǎng)絡(luò)化。2.4 功能要求系統(tǒng)具備的基本功能:1.用戶登錄及注冊(cè)對(duì)用戶進(jìn)行識(shí)別、驗(yàn)證;沒有注冊(cè)的用戶跳轉(zhuǎn)到用戶注冊(cè)頁面;2.考試模塊考生選擇自己想要參加的考試類別,并進(jìn)行考試,考試完成以后可以獲得當(dāng)考試成績(jī)。3.歷史成績(jī)模塊-考生可以看到自己以前參加的考試成績(jī)。

26、以對(duì)自己的進(jìn)步狀況進(jìn)行一次把握。4.試題維護(hù)模塊-教師選擇試題的類別,然后針對(duì)該試題分類中的所有試題進(jìn)行維護(hù),可以添加新題目,也可以對(duì)現(xiàn)在有的題目進(jìn)行修改或者刪除處理。5.試卷設(shè)置模塊-教師對(duì)題庫(kù)中的題目按照一定分類標(biāo)準(zhǔn)存放,包括分類的添加、修改和刪除操作等。6.歷史成績(jī)管理模塊-教師可以看到模式體分類的整體考試情況,考試成績(jī)分布情況,可以判斷出題庫(kù)中的題目難以水平,并可以在以后的維護(hù)中做出適當(dāng)調(diào)整。7.考生管理-系統(tǒng)管理員可以對(duì)已經(jīng)注冊(cè)的考生進(jìn)行刪除操作,對(duì)于未注冊(cè)的考生進(jìn)行增加操作。8.教師管理-系統(tǒng)管理員可以對(duì)系統(tǒng)已經(jīng)存在的教師進(jìn)行刪除操作,對(duì)于未在系統(tǒng)中存在的教師進(jìn)行增加操作。9.修改

27、密碼模塊-教師和考生可以在已經(jīng)登錄成功的頁面點(diǎn)擊修改密碼,可以修改本人登錄此考試系統(tǒng)的登錄密碼。除了實(shí)現(xiàn)上述功能以外,在線考試系統(tǒng)還應(yīng)該具有簡(jiǎn)潔、易用的界面,安全性要高,穩(wěn)定性要強(qiáng)。根據(jù)以上的需求分析,畫出本系統(tǒng)的Use Case圖,如圖2.2所示:管理員 教師管理考試考生管理考試登 錄教師注 冊(cè)試題維護(hù)考試考生在線考試考試試卷設(shè)置考試歷史成績(jī)績(jī)歷史成績(jī)管理修改密碼圖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平臺(tái):JDK 5.05. Web服務(wù)器:Tomcat6.06. 數(shù)據(jù)庫(kù)服務(wù)

28、器:MySQL7. 開發(fā)平臺(tái): MyEclipse6.0第三章 系統(tǒng)設(shè)計(jì)3.1數(shù)據(jù)庫(kù)設(shè)計(jì)在對(duì)網(wǎng)上考試系統(tǒng)數(shù)據(jù)庫(kù)部分進(jìn)行設(shè)計(jì)的過程中,通過對(duì)系統(tǒng)功能進(jìn)行需求分析得到系統(tǒng)的基本信息表,詳細(xì)設(shè)計(jì)過程如下介紹。3.1.1 數(shù)據(jù)庫(kù)需求分析需求分析是設(shè)計(jì)數(shù)據(jù)庫(kù)的起點(diǎn),需求分析的結(jié)果是否準(zhǔn)確地反映了用戶的實(shí)際要求,將直接影響到后面各個(gè)階段的設(shè)計(jì),并影響到設(shè)計(jì)結(jié)果是否合理和實(shí)用。對(duì)于本系統(tǒng)而言,系統(tǒng)的角色分為管理員、教師、學(xué)生,這需要3個(gè)表,而考生考試,需要一個(gè)存放題庫(kù)的表,考試的類別不同,也需要一個(gè)存放類別的表,考生考試完畢后,需要一個(gè)存放考試成績(jī)的表。綜合以上分析,要實(shí)現(xiàn)上面的所有功能模塊,數(shù)據(jù)庫(kù)共要設(shè)計(jì)

29、六個(gè)表,它們分別是:試卷類別表、用戶表、用戶成績(jī)表、教師表、管理員表、題庫(kù)表。3.1.2 數(shù)據(jù)庫(kù)表設(shè)計(jì)用戶信息表,用來存放考生信息,如表3-1所示:表3-1用戶信息表字段名類型長(zhǎng)度是否為主鍵可否為空說明user_idint11是否用戶的idusernamevarchar20否否登錄用戶名passwordvarchar20否否用戶登錄密碼realnamevarchar20否否用戶真實(shí)姓名教師信息表,存放教師信息,如表3-2所示:表3-2教師信息表字段名類型長(zhǎng)度是否為主鍵可否為空說明teacher_idint11是否教師的idteachernamevarchar20否否教師登錄名passwordv

30、archar20否否教師登錄密碼realnamevarchar20否否教師真實(shí)姓名管理員信息表,存放管理員信息,如表3-3所示:表3-3管理員信息表字段名類型長(zhǎng)度是否為主鍵可否為空說明adusernamevarchar20是否管理員登錄名passwordvarchar20否否管理員登錄密碼realnamevarchar20否否管理員真實(shí)姓名題庫(kù)信息表,存放考試題目以及答案等信息,如表3-4所示:表3-4題庫(kù)信息表字段名類型長(zhǎng)度是否為主鍵可否為空說明question_idint10是否試題編號(hào)category_idint10否否試題分類編號(hào)subjectvarchar300否否題目choice_

31、avarchar100否否選項(xiàng)Achoice_bvarchar100否否選項(xiàng)Bchoice_cvarchar100否否選項(xiàng)Cchoice_dvarchar100否否選項(xiàng)Danswerchar10否否正確答案成績(jī)表,存放考生考試時(shí)間以及成績(jī)等信息,如表3-5所示表3-5成績(jī)表字段名類型長(zhǎng)度是否為主鍵可否為空說明record_idint10是否考試記錄編號(hào)usernamevarchar20否否考試用戶名category_idchar10否否試題分類編號(hào)test_timechar14否否考試時(shí)間test_resultint11否否考試成績(jī)?cè)嚲眍悇e表,存放試卷類別信息,包括試卷分類名稱、試卷題目等,如

32、表3-6所示表3-6試卷類別表字段名類型長(zhǎng)度是否為主鍵可否為空說明category_idint11是否試題分類編號(hào)category_namevarchar20否否試題分類名稱question_numberint10否否試題數(shù)目3.1.3數(shù)據(jù)庫(kù)邏輯結(jié)構(gòu)設(shè)計(jì)1 關(guān)系圖本系統(tǒng)各表之間的關(guān)系如下圖3-1示: 圖3-1關(guān)系圖2完整性設(shè)計(jì)完整性要求用于描述各種信息之間的制約關(guān)系以及關(guān)聯(lián)關(guān)系,各個(gè)數(shù)據(jù)項(xiàng)的取值范圍以及各個(gè)數(shù)據(jù)項(xiàng)是否可以取值。根據(jù)實(shí)際需要,采取一定的手段來滿足用戶的完整性需求。域完整性約束要求屬性值必須在域中。實(shí)體完整性約束要求主鍵必須唯一且不能為空。如用戶信息表中的用戶名設(shè)置為主鍵,并且要求

33、唯一且不能為空。3.2系統(tǒng)結(jié)構(gòu)設(shè)計(jì)網(wǎng)上考試系統(tǒng)是一個(gè)典型的數(shù)據(jù)庫(kù)應(yīng)用程序,主要有管理員、教師和學(xué)生三大模塊組成,各模塊功能如下:管理員模塊:該模塊包含2個(gè)功能,一個(gè)為考生管理,系統(tǒng)管理員可以對(duì)已經(jīng)注冊(cè)的考生進(jìn)行刪除操作,對(duì)于未注冊(cè)的考生進(jìn)行增加操作;另一個(gè)為教師管理,系統(tǒng)管理員可以對(duì)教師進(jìn)行增加、刪除操作。教師模塊:該模塊包含4個(gè)功能,分別為試卷設(shè)置、試題維護(hù)、歷史成績(jī)、修改密碼。教師成功登錄該系統(tǒng)后,能夠進(jìn)行修改個(gè)人信息,添加、修改、刪除試題、試卷類別操作,也可對(duì)考生的成績(jī)進(jìn)行統(tǒng)計(jì)。學(xué)生模塊:該模塊包含3個(gè)功能,分別為開始考試、歷史成績(jī)、修改密碼。學(xué)生成功登錄該系統(tǒng)后,能夠進(jìn)行考試、查詢成績(jī)

34、、修改密碼。系統(tǒng)功能結(jié)構(gòu)如圖3-2所示: 系統(tǒng)功能教師模塊管理員模塊學(xué)生模塊開始考試修改密碼試題維護(hù)試卷設(shè)置歷史成績(jī)考生管理教師管理歷史成績(jī)修改密碼圖3-2系統(tǒng)功能結(jié)構(gòu)圖3.3用戶界面設(shè)計(jì)頁面上部采用一個(gè)Logo圖片和適當(dāng)?shù)臉?biāo)識(shí),表明當(dāng)前的系統(tǒng)名稱。接下來是幫助連接和退出系統(tǒng)的連接。然后下部頁面的主題分為左右兩部分,左邊是導(dǎo)航模塊部分,其中放置遷移到不同功能模塊的鏈接按鈕,右邊是頁面的主要操作區(qū)域,不同頁面的不同顯示主要在此體現(xiàn)。學(xué)生角色的模版頁面如圖3-3所示:在線考試系統(tǒng)Logo圖片。 幫助 退出登錄歡迎您!XXX開始考試歷史成績(jī)修改密碼圖3-3 學(xué)生角色模版每個(gè)模塊都包含多個(gè)頁面,再次挑

35、選幾個(gè)比較低型或者重要的頁面進(jìn)行詳細(xì)描述。其他的頁面結(jié)構(gòu)比較類似或者比較簡(jiǎn)單,不一一詳述。學(xué)生開始考試的時(shí)候,首先需要選擇試卷類型,或者也可以叫做試題分類。在此頁面中采用下拉列表框的形式進(jìn)行,如圖3-4所示:在線考試系統(tǒng)Logo圖片。 幫助 退出登錄歡迎您!XXX請(qǐng)選擇試題的分類:確定會(huì)計(jì)基礎(chǔ) 開始考試歷史成績(jī)修改密碼圖3-4 試題分類選擇頁面草圖選擇試題分類以后,即是學(xué)生答題頁面。答題頁面的主體應(yīng)該是試題和試題的選項(xiàng)。考慮到本系統(tǒng)需要在題目結(jié)束以后立即知道考試結(jié)果,所以決定采用所有試題的形式都是ABCD型的選擇題,頁面應(yīng)該針對(duì)這些題目選項(xiàng)設(shè)置單選按鈕。在答題內(nèi)容的上方,應(yīng)該能夠給考生信息,說

36、明當(dāng)前的題目是全部題目的第幾道,以及總共有幾道題,使得考生可以把握整個(gè)考試進(jìn)度。同時(shí)考慮到考生在時(shí)間允許的情況下,需要在題目間前后遷移,所以在題目的下方,還應(yīng)該有前后翻頁的按鈕。對(duì)應(yīng)教師角色的模版略有不同,模塊多了幾個(gè),而且頁面頂端的標(biāo)識(shí)也有所區(qū)別。對(duì)應(yīng)的模版頁面如圖3-5所示。在線考試系統(tǒng)(管理界面)Logo圖片。 幫助 退出登錄歡迎您!XXX試題維護(hù)試卷設(shè)置成績(jī)查詢修改密碼圖3-11 教師角色模版頁面圖3-5 管理員角色模版頁面第四章 系統(tǒng)實(shí)現(xiàn)本系統(tǒng)包括3個(gè)不同的角色,即學(xué)生、教師、管理員。不同角色的功能有所不同,學(xué)生的功能包括:考試模塊,修改密碼,成績(jī)查詢模塊。教師的功能包括:試卷類別管

37、理、試題管理、修改密碼、成績(jī)管理。管理員的功能包括:教師管理和考生管理。4.1 數(shù)據(jù)庫(kù)連接的實(shí)現(xiàn)方法從系統(tǒng)功能模塊劃分中可以看出,各模塊雖然是獨(dú)立的,但又統(tǒng)一于同一數(shù)據(jù)庫(kù)中,便于管理員管理維護(hù)數(shù)據(jù)庫(kù),同時(shí)也便于教師和學(xué)生的操作。在介紹系統(tǒng)各模塊的實(shí)現(xiàn)方法之前,首先介紹系統(tǒng)與MySQL數(shù)據(jù)庫(kù)的連接方法,再介紹系統(tǒng)主要部分的實(shí)現(xiàn)方法。創(chuàng)建與數(shù)據(jù)庫(kù)的連接:首先要將mysql的驅(qū)動(dòng)包放在tomcat/lib目錄下;:利用語句進(jìn)行對(duì)數(shù)據(jù)庫(kù)的操作,以下僅是對(duì)用戶表查詢的語句: catch(Exception e)/獲得數(shù)據(jù)庫(kù)連接出錯(cuò) System.out.println(error occured!);f

38、inally /釋放數(shù)據(jù)庫(kù)連接 rs.close(); stmt.close(); conn.close();%4.2 登陸注冊(cè)模塊4.2.1 登錄模塊用戶登錄頁面比較簡(jiǎn)單,為防止用戶登錄的操作錯(cuò)誤,應(yīng)設(shè)置錯(cuò)誤處理頁面,在登錄操作過程中,一般發(fā)生的錯(cuò)誤有:用戶輸入了錯(cuò)誤的用戶名或密碼、用戶直接單擊了登錄按鈕,對(duì)上述情況的判斷就要通過Servlet文件來實(shí)現(xiàn)。當(dāng)用戶登錄的時(shí)候,輸入的帳號(hào)或者密碼有其中一項(xiàng)為空時(shí),會(huì)有提示框提示,提示您帳號(hào)或者密碼不能為空。實(shí)現(xiàn)這個(gè)功能的是用javascript實(shí)現(xiàn)的,具體代碼如下所示:驗(yàn)證輸入不為空的腳本代碼 定義了一個(gè)名為checkForm的查詢表單函數(shù)fun

39、ction checkForm(form) 、如果value為空,會(huì)提示帳號(hào)不能為空if(form.teachername.value=) alert(賬號(hào)不能為空); 讓form表單中的teachername控件獲得焦點(diǎn)(光標(biāo)),回到輸入框位置。form.teachername.focus();return false; if(form.password.value=) alert(密碼不能為空); form.password.focus(); return false; return ture; 在登錄頁面時(shí),當(dāng)用戶提交了登錄資料后,就由“l(fā)oginvc.jsp”這個(gè)頁面進(jìn)行驗(yàn)證,它的工作

40、主要是連接到數(shù)據(jù)庫(kù),從數(shù)據(jù)中找出輸入的用戶名和密碼并判斷其是否一致。如果用戶輸入了錯(cuò)誤的用戶名和密碼,就會(huì)跳出一個(gè)登錄失敗的頁面。用戶可以點(diǎn)擊返回按鈕回到其剛才登錄的界面,然后重新輸入用戶名及密碼進(jìn)行再次登錄。若用戶提交正確的用戶和密碼后,如果記錄驗(yàn)證無誤,就通過JSP重定向語句response.sendRedirect()跳轉(zhuǎn)到相應(yīng)的主界面。教師以及管理員的登錄驗(yàn)證跟考生相似,只是查詢條件和連接的數(shù)據(jù)庫(kù)表不同,以及登陸成功之后,跳轉(zhuǎn)的頁面不同。4.2.2 考生注冊(cè)模塊在此模塊,考生需要填寫用戶名、密碼、確認(rèn)密碼、真實(shí)姓名。如若填寫中缺少一項(xiàng),那么會(huì)有提示,其功能也是由上面所說的一樣,通過調(diào)用

41、javascript實(shí)現(xiàn)的,這里只提供下截圖,主要代碼如上,如圖4-1所示:圖4-1 注冊(cè)提示頁面當(dāng)用戶填寫的內(nèi)容完全符合注冊(cè)標(biāo)準(zhǔn)后,點(diǎn)擊注冊(cè)按鈕,會(huì)轉(zhuǎn)到注冊(cè)成功的頁面;如若用戶名已經(jīng)被注冊(cè),會(huì)轉(zhuǎn)到注冊(cè)失敗頁面,提醒注冊(cè)用戶可能是該用戶名已經(jīng)注冊(cè)。在此只以注冊(cè)成功的頁面為例,如圖4-2所示:圖4-2 注冊(cè)成功頁面完成注冊(cè)模塊的主要代碼如下所示:首先獲取上個(gè)頁面?zhèn)鬟^來的數(shù)據(jù),用戶名、密碼、真實(shí)姓名String username = request.getParameter(username); String password = request.getParameter(password); S

42、tring realname = request.getParameter(realname);out.println(username);/打印出username其次開始連接數(shù)據(jù)庫(kù) try Class.forName( com.mysql.jdbc.Driver ).newInstance(); Connection conn=DriverManager.getConnection(jdbc:mysql:/localhost:3306/myexam?user=root&password=890427&useUnicode=true&characterEncoding=gbk); Statem

43、ent stmt=conn.createStatement(); ResultSet rs=null;查詢user表,看用戶名是否存在 String sql=select * from user where username like +username+; rs=stmt.executeQuery(sql); 如果存在,提示“ 您好,您注冊(cè)的用戶名已經(jīng)存在,請(qǐng)重新輸入 ”,如果不存在,把接收過來的值付給新的變量: String s_username=request.getParameter(username); String s_password=request.getParameter(p

44、assword); String s_realname=request.getParameter(realname); 執(zhí)行SQL插入語句,把得到的值插入到user表中sql = insert into user(username,password,realname) value(+username+,+password+,+realname+);如果插入成功,提示:“恭喜您注冊(cè)成功!” 4.3考生模塊考生登錄系統(tǒng)并且用戶名也密碼正確后,會(huì)直接跳轉(zhuǎn)到學(xué)生主頁,本頁面中,考生可以在左側(cè)選擇自己下一步要做的事情,有開始考試、歷史成績(jī)查詢、修改密碼。在頁面中間,有提示語,告訴考生每個(gè)按鈕都可以操作什

45、么功能;若考生對(duì)考試流程不太熟悉,可以點(diǎn)擊幫助,來查詢相關(guān)問題的答案。如圖4-3所示:圖4-3考生主頁4.3.1 開始考試模塊考生點(diǎn)擊開始考試,會(huì)首先彈出關(guān)于所選考試科目的一些介紹,比如考試時(shí)間和總共有多少道題目等,然后點(diǎn)擊開始考試,倒計(jì)時(shí)開始,考生選擇上一題,下一題進(jìn)行答卷,當(dāng)考生答到最大題數(shù)時(shí),下一題變成完成答卷按鈕。點(diǎn)擊完成答卷,進(jìn)入成績(jī)頁面,考生可以知道自己的成績(jī),并且,成績(jī)通過后臺(tái),插入到數(shù)據(jù)庫(kù)中。如圖4-4所示:圖4-4 考生考試頁面執(zhí)行的具體代碼如下所示:% HttpSession sess=(HttpSession)request.getSession(true); int c

46、ategory = (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;/控制返回值,自己可以自由修改。 if( valid=0 ) Calendar cl = Calendar.getInstance();/java

47、util 包 表提供的系統(tǒng)時(shí)間Calendar long starttime = cl.getTimeInMillis();/得到當(dāng)前時(shí)間的毫秒數(shù) long endtime = starttime+1800000; sess.setMaxInactiveInterval(3600); /設(shè)置session的存活時(shí)間 sess.setAttribute(username,username); sess.setAttribute(endtime,endtime); List tmid = new ArrayList();/指定傳入的類型 建立一個(gè)集合 準(zhǔn)備存放抽到的題目的ID號(hào) tmid.add(0);/設(shè)置默認(rèn)值0 sess.setAttribute(tmid,tmid); int fens

溫馨提示

  • 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請(qǐng)下載最新的WinRAR軟件解壓。
  • 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請(qǐng)聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
  • 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁內(nèi)容里面會(huì)有圖紙預(yù)覽,若沒有圖紙預(yù)覽就沒有圖紙。
  • 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)論