jsp+mysql在線考試系統(tǒng)論文
《jsp+mysql在線考試系統(tǒng)論文》由會(huì)員分享,可在線閱讀,更多相關(guān)《jsp+mysql在線考試系統(tǒng)論文(16頁(yè)珍藏版)》請(qǐng)?jiān)谘b配圖網(wǎng)上搜索。
1、 目 錄1 系統(tǒng)概述31.1系統(tǒng)需求31.2 國(guó)內(nèi)外研究現(xiàn)狀31.3網(wǎng)站的開(kāi)發(fā)語(yǔ)言和語(yǔ)言功能41.4 系統(tǒng)具備的特點(diǎn)62 在線考試系統(tǒng)的系統(tǒng)的需求分析62.1在線考試系統(tǒng)的需求分析62.2在線考試系統(tǒng)的概要設(shè)計(jì)73 在線考試系統(tǒng)的詳細(xì)過(guò)程83.1系統(tǒng)環(huán)境93.2數(shù)據(jù)連接的設(shè)計(jì)93.3 servlet的使用93.4部分功能的設(shè)計(jì)與實(shí)現(xiàn)舉例103.4.1在線考試功能的設(shè)計(jì)與實(shí)現(xiàn)103.4.2系統(tǒng)管理功能的設(shè)計(jì)與實(shí)現(xiàn)123.5安全性設(shè)計(jì)134 系統(tǒng)的測(cè)試144.1系統(tǒng)測(cè)試分析144.1.1測(cè)試過(guò)程144.1.2 測(cè)試方法154.1.3 具體的方案測(cè)試154.2 系統(tǒng)測(cè)試結(jié)果155 課程設(shè)計(jì)總結(jié)151
2、 系統(tǒng)概述1.1系統(tǒng)需求網(wǎng)絡(luò)考試系統(tǒng)是實(shí)現(xiàn)網(wǎng)絡(luò)教育的一個(gè)重要組成部分,通過(guò)網(wǎng)絡(luò)考試系統(tǒng)你可以及時(shí)測(cè)試自己的學(xué)習(xí)進(jìn)度、自己對(duì)已學(xué)習(xí)知識(shí)的掌握程度。網(wǎng)絡(luò)考試與傳統(tǒng)考試相比有著明顯的優(yōu)勢(shì),考生和教師可以從世界的任何角落,通過(guò)瀏覽器接入因特網(wǎng)來(lái)使用考試系統(tǒng),不受地域的限制,同時(shí)也使得用戶可以更加靈活地安排考試時(shí)間,可以在任何時(shí)候使用網(wǎng)絡(luò)考試系統(tǒng)進(jìn)行自測(cè),快速查詢考試成績(jī)。所以,網(wǎng)絡(luò)考試系統(tǒng)的開(kāi)發(fā)和應(yīng)用現(xiàn)在正受到越來(lái)越多的大學(xué)的重視。在本單位,網(wǎng)絡(luò)考試模式是教學(xué)改革的正式項(xiàng)目之一,它可以運(yùn)用到多種教學(xué)過(guò)程中。例如對(duì)于本單位公共課程“計(jì)算機(jī)應(yīng)用基礎(chǔ)”,要求在計(jì)算機(jī)等級(jí)考試前進(jìn)行一次擬上機(jī)考試,以前都是由老
3、師自己命題,然后復(fù)制題目到每個(gè)學(xué)生的機(jī)器上,學(xué)生把答案寫(xiě)一個(gè)文件中,做完題后由教師回收該文件進(jìn)行判分。這樣的考試,過(guò)程變得非常復(fù)雜,讓教師的負(fù)擔(dān)很重;而且考試題目不統(tǒng)一,經(jīng)常出現(xiàn)很多無(wú)法估計(jì)的問(wèn)題,考試效果不能達(dá)到預(yù)想的目的。基于上述情況,迫切需要一個(gè)界面統(tǒng)一、管理使用方便的網(wǎng)絡(luò)考試系統(tǒng)的出現(xiàn)。校園網(wǎng)建設(shè)的普及和完善以及Web數(shù)據(jù)庫(kù)技術(shù)的快速發(fā)展為網(wǎng)絡(luò)考試系統(tǒng)開(kāi)發(fā)提供了良好的媒介和基礎(chǔ),使我們對(duì)考試過(guò)程的實(shí)施和管理由書(shū)面化和單機(jī)化過(guò)渡到了網(wǎng)絡(luò)化。1.2 國(guó)內(nèi)外研究現(xiàn)狀互聯(lián)網(wǎng)的考試用途很早就受到了各方面的重視,既然考試能夠通過(guò)電腦完成,那么網(wǎng)上考試從技術(shù)上來(lái)說(shuō)就是可行的。國(guó)內(nèi)著名的工商管理考試G
4、MAT于1999年就開(kāi)始實(shí)行算機(jī)考試,2000年后GRE,TOEFL考試也開(kāi)始采用計(jì)算機(jī)考試,向著網(wǎng)絡(luò)化方向發(fā)展。近年來(lái)出現(xiàn)的各種rI認(rèn)證考試以及英語(yǔ)GM八T和GRE考試已經(jīng)是一種基于計(jì)算機(jī)網(wǎng)絡(luò)的考試,完全擺脫了紙和筆??忌褂糜?jì)算機(jī)答卷,通過(guò)網(wǎng)絡(luò)提交答卷,自動(dòng)閱卷。網(wǎng)絡(luò)考試的優(yōu)點(diǎn)是顯然的:閱卷更加迅速,考試結(jié)束考生即可知道考試結(jié)果,還免了紙介質(zhì)的試卷和答卷的傳輸,從而降低了保密成本。通過(guò)抽取不同的試題,或者是隨機(jī)變換試題順序或答案順序,可以做到一人一卷,極大地降低了作弊的幾率。另外,網(wǎng)絡(luò)考試為自適應(yīng)考試提供了可能?;谟?jì)算機(jī)網(wǎng)絡(luò)的考試需要專門(mén)的較高水平的技術(shù)支持,考試己經(jīng)發(fā)展為一種產(chǎn)業(yè)。網(wǎng)絡(luò)
5、考試系統(tǒng)的實(shí)現(xiàn)技術(shù)有多種,可以采用傳統(tǒng)的客戶機(jī)/服務(wù)器(C/S)型的Mls型架構(gòu),即試題內(nèi)容放在遠(yuǎn)程的服務(wù)器上,在考試機(jī)上安裝考試應(yīng)用程序和數(shù)據(jù)庫(kù)客戶機(jī)配置,因此每次考試時(shí)要對(duì)機(jī)器進(jìn)行安裝、配置,這樣一來(lái)考務(wù)工作比較煩瑣;而且考試程序放在客戶機(jī)上,安全性也受到一定影響。另外一種考試系統(tǒng)采用W七b技術(shù)實(shí)現(xiàn)。節(jié)幾b技術(shù)超越了傳統(tǒng)的“客戶機(jī)/服務(wù)器”兩層結(jié)構(gòu),采用了三層體系結(jié)構(gòu):用戶界面層/事務(wù)層/數(shù)據(jù)庫(kù)層。因此Web結(jié)構(gòu)有著更好的安全性。在用戶機(jī)上不需要安裝任何應(yīng)用程序,只需要有一個(gè)標(biāo)準(zhǔn)的web瀏覽器就可以。應(yīng)用程序可以安裝在事務(wù)層所在的計(jì)算機(jī)上,試題存放在數(shù)據(jù)庫(kù)服務(wù)器上(事務(wù)層和數(shù)據(jù)庫(kù)可以是同一
6、臺(tái)機(jī)器)。采用這種體系結(jié)構(gòu)的計(jì)算機(jī)網(wǎng)絡(luò)考試和管理系統(tǒng)適用于一個(gè)考場(chǎng)或幾十個(gè)考場(chǎng)、幾十人或幾萬(wàn)人同時(shí)進(jìn)行無(wú)紙化考試,解決了考試系統(tǒng)對(duì)客戶機(jī)軟件過(guò)分依賴的問(wèn)題,減輕了客戶機(jī)軟件維護(hù)工作量。比以往的考試系統(tǒng)更具有實(shí)用性。而且,考試系統(tǒng)安裝和試題裝卸的程序簡(jiǎn)易,進(jìn)行不同類別試題的考試時(shí)僅需要在服務(wù)器上進(jìn)行試題的更換處理,對(duì)考場(chǎng)的計(jì)算機(jī)配置應(yīng)考專業(yè)的相應(yīng)軟件,考生就可以進(jìn)行考試。目前國(guó)內(nèi)成熟的網(wǎng)絡(luò)考試系統(tǒng)多為QS模式,比如清華毫太網(wǎng)絡(luò)考試系統(tǒng),B/S模式的比較少,其中基于JavaZ技術(shù)的網(wǎng)絡(luò)考試平臺(tái)則更少。1.3網(wǎng)站的開(kāi)發(fā)語(yǔ)言和語(yǔ)言功能(1) JSP技術(shù)JavaServer PagesTM (JSP)技
7、術(shù)為創(chuàng)建顯示動(dòng)態(tài)生成內(nèi)容的Web頁(yè)面提供了一個(gè)簡(jiǎn)捷而快速的方法。JSP技術(shù)的設(shè)計(jì)目的是使得構(gòu)造基于Web的應(yīng)用程序更加容易和快捷,而這些應(yīng)用程序能夠與各種Web服務(wù)器,應(yīng)用服務(wù)器,瀏覽器和開(kāi)發(fā)工具共同工作。下面是JavaServer PagesTM具的一些特點(diǎn):將內(nèi)容的生成和顯示進(jìn)行分離使用JSP技術(shù),Web頁(yè)面開(kāi)發(fā)人員可以使用HTML或者XML標(biāo)識(shí)來(lái)設(shè)計(jì)和格式化最終頁(yè)面。使用JSP標(biāo)識(shí)或者小腳本來(lái)生成頁(yè)面上的動(dòng)態(tài)內(nèi)容。生成內(nèi)容的邏輯被封裝在標(biāo)識(shí)和JavaBeans組件中,并且捆綁在小腳本中,所有的腳本在服務(wù)器端運(yùn)行。如果核心邏輯被封裝在標(biāo)識(shí)和Beans中,那么其他人,如Web管理人員和頁(yè)面設(shè)
8、計(jì)者,能夠編輯和使用JSP頁(yè)面,而不影響內(nèi)容的生成。在服務(wù)器端,JSP引擎解釋JSP標(biāo)識(shí)和小腳本,生成所請(qǐng)求的內(nèi)容(例如,通過(guò)訪問(wèn)JavaBeans組件,使用JDBCTM技術(shù)訪問(wèn)數(shù)據(jù)庫(kù),或者包含文件),并且將結(jié)果以HTML(或者XML)頁(yè)面的形式發(fā)送回瀏覽器。這有助于作者保護(hù)自己的代碼,而又保證任何基于HTML的Web瀏覽器的完全可用性。 強(qiáng)調(diào)可重用的組件絕大多數(shù)JSP頁(yè)面依賴于可重用的,跨平臺(tái)的組件(JavaBeans或者Enterprise JavaBeansTM組件)來(lái)執(zhí)行應(yīng)用程序所要求的更為復(fù)雜的處理。開(kāi)發(fā)人員能夠共享和交換執(zhí)行普通操作的組件,或者使得這些組件為更多的使用者或者客戶團(tuán)體
9、所使用?;诮M件的方法加速了總體開(kāi)發(fā)過(guò)程,并且使得各種組織在他們現(xiàn)有的技能和優(yōu)化結(jié)果的開(kāi)發(fā)努力中得到平衡。 采用標(biāo)識(shí)簡(jiǎn)化頁(yè)面開(kāi)發(fā)Web頁(yè)面開(kāi)發(fā)人員不會(huì)都是熟悉腳本語(yǔ)言的編程人員。JavaServer Page技術(shù)封裝了許多功能,這些功能是在易用的、與JSP相關(guān)的XML標(biāo)識(shí)中進(jìn)行動(dòng)態(tài)內(nèi)容生成所需要的。標(biāo)準(zhǔn)的JSP標(biāo)識(shí)能夠訪問(wèn)和實(shí)例化JavaBeans組件,設(shè)置或者檢索組件屬性,下載Applet,以及執(zhí)行用其他方法更難于編碼和耗時(shí)的功能。通過(guò)開(kāi)發(fā)定制化標(biāo)識(shí)庫(kù),JSP技術(shù)是可以擴(kuò)展的。今后,第三方開(kāi)發(fā)人員和其他人員可以為常用功能創(chuàng)建自己的標(biāo)識(shí)庫(kù)。這使得Web頁(yè)面開(kāi)發(fā)人員能夠使用熟悉的工具和如同標(biāo)識(shí)一
10、樣的執(zhí)行特定功能的構(gòu)件來(lái)工作。JSP技術(shù)很容易整合到多種應(yīng)用體系結(jié)構(gòu)中,以利用現(xiàn)存的工具和技巧,并且擴(kuò)展到能夠支持企業(yè)級(jí)的分布式應(yīng)用。作為采用Java技術(shù)家族的一部分,以及Java 2(企業(yè)版體系結(jié)構(gòu))的一個(gè)組成部分,JSP技術(shù)能夠支持高度復(fù)雜的基于Web的應(yīng)用。由于JSP頁(yè)面的內(nèi)置腳本語(yǔ)言是基于Java編程語(yǔ)言的,而且所有的JSP頁(yè)面都被編譯成為JavaServlet,JSP頁(yè)面就具有Java技術(shù)的所有好處,包括健壯的存儲(chǔ)管理和安全性。作為Java平臺(tái)的一部分,JSP擁有Java編程語(yǔ)言“一次編寫(xiě),各處運(yùn)行”的特點(diǎn)。隨著越來(lái)越多的供應(yīng)商將JSP支持添加到他們的產(chǎn)品中,您可以使用自己所選擇的服
11、務(wù)器和工具,更改工具或服務(wù)器并不影響當(dāng)前的應(yīng)用。(2) Servlet技術(shù)Servlet是使用JavaServlet 應(yīng)用程序設(shè)計(jì)接口(API)及相關(guān)類和方法的 Java 程序。除了 JavaServlet API,Servlet 還可以使用用以擴(kuò)展和添加到 API 的 Java 類軟件包。Servlet 在啟用 Java 的 Web 服務(wù)器上或應(yīng)用服務(wù)器上運(yùn)行并擴(kuò)展了該服務(wù)器的能力。JavaServlet對(duì)于Web服務(wù)器就好象Java Applet對(duì)于Web瀏覽器。Servlet裝入Web服務(wù)器并在Web服務(wù)器內(nèi)執(zhí)行,而applet裝入Web瀏覽器并在Web瀏覽器內(nèi)執(zhí)行。JavaServle
12、t API 定義了一個(gè)Servlet 和Java使能的服務(wù)器之間的一個(gè)標(biāo)準(zhǔn)接口,這使得Servlet具有跨服務(wù)器平臺(tái)的特性。Servlet 通過(guò)創(chuàng)建一個(gè)框架來(lái)擴(kuò)展服務(wù)器的能力,以提供在 Web 上進(jìn)行請(qǐng)求和響應(yīng)服務(wù)。當(dāng)客戶機(jī)發(fā)送請(qǐng)求至服務(wù)器時(shí),服務(wù)器可以將請(qǐng)求信息發(fā)送給 Servlet,并讓Servlet 建立起服務(wù)器返回給客戶機(jī)的響應(yīng)。當(dāng)啟動(dòng) Web 服務(wù)器或客戶機(jī)第一次請(qǐng)求服務(wù)時(shí),可以自動(dòng)裝入 Servlet。裝入后,Servlet 繼續(xù)運(yùn)行直到其它客戶機(jī)發(fā)出請(qǐng)求。Servlet 的功能涉及范圍很廣。例如,Servlet 可完成如下功能: 創(chuàng)建并返回一個(gè)包含基于客戶請(qǐng)求性質(zhì)的動(dòng)態(tài)內(nèi)容的完整
13、的 HTML頁(yè)面。 創(chuàng)建可嵌入到現(xiàn)有 HTML 頁(yè)面中的一部分 HTML 頁(yè)面(HTML 片段)。 與其它服務(wù)器資源(包括數(shù)據(jù)庫(kù)和基于 Java 的應(yīng)用程序)進(jìn)行通信。 用多個(gè)客戶機(jī)處理連接,接收多個(gè)客戶機(jī)的輸入,并將結(jié)果廣播到多個(gè)客戶機(jī)上。例如,Servlet 可以是多參與者的游戲服務(wù)器。 當(dāng)允許在單連接方式下傳送數(shù)據(jù)的情況下,在瀏覽器上打開(kāi)服務(wù)器至applet的新連接,并將該連接保持在打開(kāi)狀態(tài)。當(dāng)允許客戶機(jī)和服務(wù)器簡(jiǎn)單、高效地執(zhí)行會(huì)話的情況下,applet也可以啟動(dòng)客戶瀏覽器和服務(wù)器之間的連接。可以通過(guò)定制協(xié)議或標(biāo)準(zhǔn)(如 IIOP)進(jìn)行通信。 對(duì)特殊的處理采用 MIME 類型過(guò)濾數(shù)據(jù),例如
14、圖像轉(zhuǎn)換和服務(wù)器端包括(SSI)。 將定制的處理提供給所有服務(wù)器的標(biāo)準(zhǔn)例行程序。例如,Servlet 可以修改如何認(rèn)證用戶。(3) MySql數(shù)據(jù)庫(kù)技術(shù)MySQL是一個(gè)真正的多用戶、多線程SQL數(shù)據(jù)庫(kù)服務(wù)器。SQL(結(jié)構(gòu)化查詢語(yǔ)言)是世界上最流行的和標(biāo)準(zhǔn)化的數(shù)據(jù)庫(kù)語(yǔ)言。MySQL是以一個(gè)客戶機(jī)/服務(wù)器結(jié)構(gòu)的實(shí)現(xiàn),它由一個(gè)服務(wù)器守護(hù)程序mysqld和很多不同的客戶程序和庫(kù)組成。SQL是一種標(biāo)準(zhǔn)化的語(yǔ)言,它使得存儲(chǔ)、更新和存取信息更容易。例如,你能用SQL語(yǔ)言為一個(gè)網(wǎng)站檢索產(chǎn)品信息及存儲(chǔ)顧客信息,同時(shí)MySQL也足夠快和靈活以允許你存儲(chǔ)記錄文件和圖像。MySQL 主要目標(biāo)是快速、健壯和易用。最初是
15、因?yàn)槲覀冃枰@樣一個(gè)SQL服務(wù)器,它能處理與任何可不昂貴硬件平臺(tái)上提供數(shù)據(jù)庫(kù)的廠家在一個(gè)數(shù)量級(jí)上的大型數(shù)據(jù)庫(kù),但速度更快,MySQL就開(kāi)發(fā)出來(lái)。自1996年以來(lái),我們一直都在使用MySQL,其環(huán)境有超過(guò)40個(gè)數(shù)據(jù)庫(kù),包含10,000個(gè)表,其中500多個(gè)表超過(guò)7百萬(wàn)行,這大約有100個(gè)吉字節(jié)(GB)的關(guān)鍵應(yīng)用數(shù)據(jù)。(4) JavaScript技術(shù)JavaScript就是適應(yīng)動(dòng)態(tài)網(wǎng)頁(yè)制作的需要而誕生的一種新的編程語(yǔ)言,如今越來(lái)越廣泛地使用于Internet網(wǎng)頁(yè)制作上。JavaScript是由Netscape公司開(kāi)發(fā)的一種腳本語(yǔ)言(scripting language),或者稱為描述語(yǔ)言。在HTML
16、基礎(chǔ)上,使用JavaScript可以開(kāi)發(fā)交互式Web網(wǎng)頁(yè)。JavaScript的出現(xiàn)使得網(wǎng)頁(yè)和用戶之間實(shí)現(xiàn)了一種實(shí)時(shí)性的、動(dòng)態(tài)的、交互性的關(guān)系,使網(wǎng)頁(yè)包含更多活躍的元素和更加精彩的內(nèi)容。運(yùn)行用JavaScript編寫(xiě)的程序需要能支持JavaScript語(yǔ)言的瀏覽器。Netscape公司Navigator 3. 0以上版本的瀏覽器都能支持JavaScript程序,微軟公司Internet Explorer 3. 0以上版本的瀏覽器基本上支持JavaScript。微軟公司還有自己開(kāi)發(fā)的JavaScript,稱為JScripto JavaScript和Jscript基本上是相同的,只是在一些細(xì)節(jié)上有
17、出入。JavaScript短小精悍,又是在客戶機(jī)上執(zhí)行的,大大提高了網(wǎng)頁(yè)的瀏覽速度和交互能力。同時(shí)它又是專門(mén)為制作Web網(wǎng)頁(yè)而量身訂做的一種簡(jiǎn)單的編程語(yǔ)言。1.4 系統(tǒng)具備的特點(diǎn)本系統(tǒng)利用JAVA實(shí)現(xiàn)了在線考試管理系統(tǒng),該系統(tǒng)應(yīng)在開(kāi)發(fā)出來(lái)后在技術(shù)上應(yīng)具有一定的先進(jìn)性、操作性和交互性,具有強(qiáng)大的數(shù)據(jù)統(tǒng)計(jì)分析功能。這樣才能使系統(tǒng)在建成后一段時(shí)間內(nèi),不會(huì)因技術(shù)的落后而需要大規(guī)模的調(diào)整,并且能夠跟隨逐步的升級(jí)而保持整個(gè)系統(tǒng)的先進(jìn)性。同時(shí)要求系統(tǒng)對(duì)計(jì)算機(jī)硬件要求不能太高,運(yùn)行速度要快。因?yàn)閭€(gè)體用戶從經(jīng)濟(jì)實(shí)力上無(wú)法大量投資去購(gòu)置高檔硬件、軟件,短時(shí)間內(nèi)對(duì)系統(tǒng)進(jìn)行全面升級(jí),系統(tǒng)應(yīng)能夠適應(yīng)社會(huì)的不斷變化,應(yīng)具
18、有良好的實(shí)時(shí)性、交互性、可擴(kuò)展性、易擴(kuò)充性、開(kāi)放性。(1) 良好的實(shí)時(shí)性:作為一個(gè)遠(yuǎn)程教育實(shí)時(shí)系統(tǒng),它的質(zhì)量的好壞關(guān)鍵在方法調(diào)用的快捷和網(wǎng)絡(luò)數(shù)據(jù)傳輸?shù)目炻?,所以系統(tǒng)必須具有完備和良好的實(shí)時(shí)性。(2) 良好的通用性:全國(guó)各個(gè)地區(qū)的用戶或會(huì)員都可對(duì)網(wǎng)站進(jìn)行使用,因此應(yīng)具有良好的通用性。(3) 易擴(kuò)充性:本網(wǎng)站的數(shù)據(jù)庫(kù)管理模塊能夠方便靈活地對(duì)各種數(shù)據(jù)庫(kù)進(jìn)行擴(kuò)充修改,使得各個(gè)數(shù)據(jù)庫(kù)中的記錄保持最新最完整的狀態(tài),并且初步具備網(wǎng)絡(luò)化的特征,為以后的網(wǎng)絡(luò)版留下升級(jí)空間。(4) 界面的人性化:良好的界面,能使管理員工作更加輕松,操作更加方便,能在需要的時(shí)候,很快的找到自己所需要的內(nèi)容。2 在線考試系統(tǒng)的系統(tǒng)
19、的需求分析2.1在線考試系統(tǒng)的需求分析要實(shí)現(xiàn)一個(gè)在線考試系統(tǒng),首先應(yīng)該進(jìn)行需求分析,這樣才能令設(shè)計(jì)出的軟件滿足用戶的各項(xiàng)功能?;贘sP的網(wǎng)絡(luò)考試系統(tǒng)采用三層體系結(jié)構(gòu),解決了兩層體系結(jié)構(gòu)中的缺點(diǎn)。在三層體系結(jié)構(gòu)中,把應(yīng)用邏輯獨(dú)立出來(lái)形成一個(gè)中間層,中間層位于客戶層與存儲(chǔ)層之間。該三層結(jié)構(gòu)中,客戶層采用研幾b瀏覽器作為標(biāo)準(zhǔn)用戶界面,使客戶層簡(jiǎn)單且便于維護(hù)。存儲(chǔ)層采用 SQLServer7.0/2000。中間層采用Tomcats服務(wù)器。所有服務(wù)器的操作系統(tǒng)采用 Windows2000。在這種模式下,客戶層是“瘦”的,而中間層也被稱為應(yīng)用層或應(yīng)用服務(wù)器,它可依據(jù)應(yīng)用邏輯的要求來(lái)分布部署,而且可以在各
20、個(gè)部署點(diǎn)上進(jìn)行維護(hù),并由應(yīng)用層負(fù)責(zé)與存儲(chǔ)層進(jìn)行交互在線考試時(shí)在網(wǎng)上模擬考試的應(yīng)用程序,它維護(hù)著一個(gè)數(shù)據(jù)庫(kù),存儲(chǔ)著考生、題庫(kù)、管理員等信息,主要包括教師出題、學(xué)生在線考試、自動(dòng)判卷以及相關(guān)的系統(tǒng)維護(hù)功能。2.2在線考試系統(tǒng)的概要設(shè)計(jì)2.2.1系統(tǒng)功能描述對(duì)于JsP方案的在線考試系統(tǒng),總體上作如下設(shè)計(jì):(l)將訪問(wèn)系統(tǒng)的用戶按身份分為兩類:管理員用戶(一般是教師)、考生用戶;(z)只允許系統(tǒng)管理員對(duì)考生、題目等基本信息進(jìn)行管理;(3)考生的主要功能是在線考試以及查看成績(jī);(4)只有通過(guò)身份驗(yàn)證的用戶才能進(jìn)入相應(yīng)用戶身份的主頁(yè)。以上兩類用戶分別擁有自己的操作功能。根據(jù)操作劃分模塊,每一個(gè)操作模塊都要
21、實(shí)現(xiàn)自身的功能,并且在整個(gè)操作流程中負(fù)責(zé)承上啟下。下面根據(jù)這兩個(gè)方面的需要,來(lái)分別描述各個(gè)模塊要實(shí)現(xiàn)的功能: 其功能模塊大致分為:1) 考生信息模塊考生信息是由超級(jí)用戶添加生成德,其中包括對(duì)考生信息的添加和刪除功能2) 題目管理模塊主要包括對(duì)考試題目的添加和修改功能3) 成績(jī)統(tǒng)計(jì)模塊其中包括所有考生考試成績(jī)的顯示及各個(gè)分?jǐn)?shù)段考生人數(shù)的統(tǒng)計(jì)4) 管理員追加主要功能是添加和刪除后臺(tái)管理員5) 在線考試模塊考生在線考試主要經(jīng)過(guò)三個(gè)步驟,首先考生登錄,登錄成功后進(jìn)入考試,將所有問(wèn)題答完后提交,將成績(jī)顯示出來(lái)。如圖所示:考生登錄本系統(tǒng)在線答題提交顯示成績(jī) 考生過(guò)程描述這個(gè)應(yīng)用程序的系統(tǒng)框架圖: 在線考試
22、系統(tǒng)系統(tǒng)維護(hù)考生在線考試 題目管理成績(jī)查詢追加管理員考生登錄自動(dòng)判卷自動(dòng)出題考生管理 3 在線考試系統(tǒng)的詳細(xì)過(guò)程系統(tǒng)的詳細(xì)設(shè)計(jì)是利用需求分析和概要設(shè)計(jì)來(lái)確定每個(gè)模塊的內(nèi)部特征以及實(shí)現(xiàn)過(guò)程,進(jìn)行詳細(xì)的程序設(shè)計(jì),其中包括數(shù)據(jù)庫(kù)詳細(xì)設(shè)計(jì)和程序的詳細(xì)設(shè)計(jì)。3.1系統(tǒng)環(huán)境1、硬件方面:服務(wù)器的CPU主頻至少在400MHZ以上,內(nèi)存容量至少在256MB以上,硬盤(pán)容量至少在4GB以上。2、軟件方面:1)服務(wù)器的操作系統(tǒng)為 Windows2003Server。2)數(shù)據(jù)庫(kù)管理系統(tǒng)為 sqlserver2000o3)開(kāi)發(fā)工具:Sun的 Jdk、 tomcat5.5,eclipse。3.2數(shù)據(jù)連接的設(shè)計(jì)數(shù)據(jù)庫(kù)作為在
23、線考試應(yīng)用系統(tǒng)的核心,在建立之后要和前臺(tái)應(yīng)用程序建立連接才能發(fā)揮它的作用。本節(jié)將介紹建立數(shù)據(jù)庫(kù)的連接文件,在需要與數(shù)據(jù)庫(kù)進(jìn)行交互操作的應(yīng)用程序中都將引用此連接。在本系統(tǒng)中我們把數(shù)據(jù)庫(kù)的連接參數(shù)寫(xiě)入一個(gè)名為jdbcsql.Properties的配置文件中,這樣在程序運(yùn)行時(shí)如果環(huán)境變化,可以方便地修改數(shù)據(jù)庫(kù)配置。Jdbcsql.ProPerties的代碼如下:Driver=com.microsoft.jdbc.sqlserver.SQLServverDriverurl=jdbc:microsoft:sqlserver:/localhost:1433;DatabaseName=examusernam
24、e=”password=”為了避免在每一次進(jìn)行數(shù)據(jù)庫(kù)操作前都需要進(jìn)行的加載驅(qū)動(dòng)、創(chuàng)建連接等操作,提高編寫(xiě)代碼的效率,在本系統(tǒng)中,我們通過(guò)使用編寫(xiě)JavaBean讀取配置文件(jdbcsql.properties)來(lái)連接數(shù)據(jù)庫(kù),文件名為DBConnectionBeanjava。該JavaBean把數(shù)據(jù)庫(kù)的連接及數(shù)據(jù)庫(kù)的基本操作封裝在其中。這樣做有很大的優(yōu)點(diǎn):1、實(shí)現(xiàn)了數(shù)據(jù)庫(kù)的統(tǒng)一管理,方便程序開(kāi)發(fā)時(shí)與數(shù)據(jù)庫(kù)的交互;2、一旦系統(tǒng)移植、數(shù)據(jù)庫(kù)參數(shù)改變,則不需要重新修改所有的連接代碼并重新編譯,只要在這個(gè)封裝JavaBean中改變其中的參數(shù)即可。3.3 servlet的使用在本系統(tǒng)中,也使用了Serv
25、let來(lái)幫助實(shí)現(xiàn)業(yè)務(wù)邏輯控制,例如用戶登錄系統(tǒng)答題時(shí)間超過(guò)預(yù)定時(shí)間后會(huì)顯示答題超時(shí)就采用了CTimeout這個(gè)Servlct來(lái)處理。該Servlet的代碼如下: /CTimeout java/驗(yàn)證密碼,驗(yàn)證是否以參加考試,傳送參數(shù) import java.io.*: imP0rt javax.servlet.*; import javax.servlet.httP.*: import java.util.*; PublieclassCllmeoutextendsHttPServlet/定義d0Post方法用來(lái)接受數(shù)據(jù) Public void doGet(HttPServletRequest r
26、eq, HttpServletResponse res)throwsServletException,IOException/定義輸出流req.setCharacterEncoding(“gh2312”):res.setContentType(”text/html:charset=gh2312”); Printwriter out=res.getwriter(); StringchaoshiID=req.getParameter(“chaoshiID”);tryout.Println(“”);out.Println(“”):out.Println(“ ”);out.prindn(“無(wú)標(biāo)題文檔
27、”);out.Println(“ ”);out.printhln(“”):out.Println(“”);out.Println(“ ”);out.println(“ ”);out.println(“ ”);out.close; catch(Exception e)System.out.println(e.tostring():3.4部分功能的設(shè)計(jì)與實(shí)現(xiàn)舉例3.4.1在線考試功能的設(shè)計(jì)與實(shí)現(xiàn)在線考試模塊主要是實(shí)現(xiàn)用戶登錄、信息確認(rèn)、考試、顯示成績(jī)等功能。1、考生登錄考生登錄時(shí)要進(jìn)行驗(yàn)證,驗(yàn)證分了客戶端和服務(wù)器端。在客戶端主要是驗(yàn)證考生輸入的準(zhǔn)考號(hào)是不是數(shù)字信息;在服務(wù)器端主要是判斷數(shù)據(jù)庫(kù)中是否
28、有該考生的信息存在。若存在,則顯示登錄成功信息,并列出該考生詳細(xì)資料,給出進(jìn)入考試系統(tǒng)的連接;若不存在該考生信息或密碼錯(cuò)誤,則提示出錯(cuò),并返回登錄認(rèn)證頁(yè)面??忌卿浀慕缑婧土鞒虉D如圖5一1所示。2、隨機(jī)出題考生考試是從數(shù)據(jù)庫(kù)中隨機(jī)抽取100道考題提供給考生,這也是整個(gè)系統(tǒng)的一個(gè)難點(diǎn),其中包含隨機(jī)數(shù)的產(chǎn)生,相同隨機(jī)數(shù)的處理。3、顯示成績(jī)考生答題完畢后系統(tǒng)要根據(jù)答題的情況,計(jì)算出考試成績(jī)并顯示出來(lái)。顯示成績(jī)功能流程如圖5一2所示3.4.2系統(tǒng)管理功能的設(shè)計(jì)與實(shí)現(xiàn)1、考生信息管理主要是對(duì)考生的基本信息進(jìn)行維護(hù),包括對(duì)考生信息的添加、修改和刪除功能??忌畔⒐芾砉δ艿牧鞒倘鐖D5一3所示2、題目管理主要
29、是對(duì)考試題目進(jìn)行維護(hù),其中包括題目的添加、修改和刪除功能。題目管理功能的流程可參考圖5一3:3、成績(jī)統(tǒng)計(jì)主要是對(duì)成績(jī)進(jìn)行統(tǒng)計(jì),其中有以10分為分?jǐn)?shù)段的各個(gè)分?jǐn)?shù)段的人數(shù)及針對(duì)所有成績(jī)的平均分、最高分和最低分;另外,所有考生成績(jī)也要按從高到低進(jìn)行排列。3.5安全性設(shè)計(jì)本系統(tǒng)主要用兩個(gè)方法來(lái)加強(qiáng)應(yīng)用系統(tǒng)的安全性:1、首先使用session限制未經(jīng)登錄的訪問(wèn)。當(dāng)考生從登錄界面登錄,jsp程序進(jìn)行用戶名和密碼的檢查后,如果數(shù)據(jù)符合則成功登錄,將用戶的ID值寫(xiě)到Session對(duì)象中,對(duì)以后的頁(yè)面都會(huì)先檢查Session對(duì)象保存的數(shù)據(jù),從而判斷用戶是否可以瀏覽頁(yè)面,以達(dá)到安全控制的目的。如果檢查失敗都會(huì)導(dǎo)向
30、登錄界面,要求用戶重新登錄。2、防止考生任意刷新頁(yè)面,起到了防止作弊的作用。具體實(shí)現(xiàn)是利用客戶端Javascript,采用Cookie存儲(chǔ)用戶登錄時(shí)間和url,比較url如果發(fā)現(xiàn)相同值則認(rèn)定用戶登錄之后刷新了頁(yè)面,拋出錯(cuò)誤處理。4 系統(tǒng)的測(cè)試4.1系統(tǒng)測(cè)試分析軟件在設(shè)計(jì)、編碼階段之后,為了發(fā)現(xiàn)潛在的錯(cuò)誤,需要進(jìn)行完整的測(cè)試工作。大量統(tǒng)計(jì)資料表明,系統(tǒng)測(cè)試和維護(hù)的工作量往往占軟件開(kāi)發(fā)總工作量的40%以上??梢?jiàn)軟件測(cè)試工作是非常重要的。由于本系統(tǒng)是web應(yīng)用軟件,必須面對(duì)同時(shí)在線的大量的訪問(wèn)者,因此需要進(jìn)行壓力測(cè)試,以適應(yīng)于訪問(wèn)量較大時(shí)的情況。由于程序中潛在的缺陷只在特定的環(huán)境下才有可能顯露。系統(tǒng)
31、缺陷通常是由于設(shè)計(jì)時(shí),或者編碼過(guò)程中,對(duì)某些特定情況考慮不周造成的,需要通過(guò)測(cè)試來(lái)暴露這些問(wèn)題。所以,有意義的軟件測(cè)試應(yīng)該是從“破壞”的角度出發(fā),精心設(shè)計(jì)最有可以暴露程序缺陷的測(cè)試方案。因此軟件測(cè)試的目標(biāo)應(yīng)該是以盡可能少的代價(jià)和時(shí)間找出軟件系統(tǒng)中潛在的錯(cuò)誤和缺陷。從產(chǎn)品角度看,測(cè)試計(jì)劃中的測(cè)試項(xiàng)目包括軟件結(jié)構(gòu)中的分系統(tǒng)層、子系統(tǒng)層、功能模塊層、程序模塊層中的各類模塊,從測(cè)試本身看,分為單元測(cè)試,組合測(cè)試,確認(rèn)測(cè)試等。測(cè)試對(duì)象是隨階段而異的,最基本、最初的測(cè)試是單元測(cè)試,之后的組合測(cè)試、確認(rèn)測(cè)試都是以測(cè)試過(guò)后的模塊作為測(cè)試對(duì)象的。4.1.1測(cè)試過(guò)程測(cè)試的主要目的包括:1)測(cè)試軟件的功能,衡量是否
32、滿足實(shí)際需求。2)測(cè)試軟件的運(yùn)行穩(wěn)定性,衡量軟件質(zhì)量與可靠性。3)測(cè)試軟件安全性。4)測(cè)試系統(tǒng)性能,發(fā)現(xiàn)系統(tǒng)性能瓶頸,并提出應(yīng)對(duì)措施。5)發(fā)現(xiàn)程序中存在的錯(cuò)誤及功能欠缺之處,并進(jìn)行修改完善。軟件測(cè)試一般采用自底向上,逐步驗(yàn)證的測(cè)試方法,通過(guò)單元測(cè)試、組合測(cè)試、確認(rèn)測(cè)試、系統(tǒng)測(cè)試、驗(yàn)收測(cè)試等測(cè)試階段,以不同角度、不同側(cè)重點(diǎn)對(duì)軟件進(jìn)行測(cè)試,具體說(shuō)明如下:1)單元測(cè)試單元測(cè)試也稱模塊測(cè)試或程序測(cè)試,單元測(cè)試是對(duì)每個(gè)模塊單獨(dú)進(jìn)行的,從模塊級(jí)驗(yàn)證功能接口與設(shè)計(jì)是否一致,對(duì)模塊的所有主要處理路徑進(jìn)行測(cè)試,并且與預(yù)期的結(jié)果進(jìn)行對(duì)比,確保正確性。尤其重要的是,單元測(cè)試中還要對(duì)所有異常處理路徑進(jìn)行測(cè)試,保證模塊
33、具有良好的容錯(cuò)能力。2)組合測(cè)試組合測(cè)試也稱集成測(cè)試或子系統(tǒng)測(cè)試,組合測(cè)試的對(duì)象是指己經(jīng)通過(guò)單元測(cè)試的模塊,不是對(duì)零散模塊進(jìn)行單個(gè)測(cè)試,而是用系統(tǒng)化的方法裝配并測(cè)試軟件系統(tǒng)。3)確認(rèn)測(cè)試確認(rèn)測(cè)試是對(duì)通過(guò)組合測(cè)試的軟件進(jìn)行的,這些軟件己經(jīng)存于系統(tǒng)設(shè)備上,確認(rèn)測(cè)試的目的是表明軟件是可以工作的,并且符合軟件需求分析中規(guī)定的全部功能和性能要求。4)系統(tǒng)測(cè)試系統(tǒng)測(cè)試是對(duì)整體性能的測(cè)試,主要解決各子系統(tǒng)之間的數(shù)據(jù)通信和數(shù)據(jù)共享問(wèn)題,以及檢測(cè)系統(tǒng)是否達(dá)到用戶的實(shí)際要求。系統(tǒng)測(cè)試在整個(gè)系統(tǒng)范圍內(nèi)進(jìn)行,包括軟件、硬件以及網(wǎng)絡(luò)。5)用戶驗(yàn)收測(cè)試在系統(tǒng)測(cè)試完成后,進(jìn)行用戶的驗(yàn)收測(cè)試,它是用戶在實(shí)際應(yīng)用環(huán)境中所進(jìn)行的
34、真實(shí)數(shù)據(jù)試。在具體的測(cè)試中,遵循了以下原則:l)由開(kāi)發(fā)者以外的人員進(jìn)行測(cè)試。勻設(shè)計(jì)測(cè)試用例,根據(jù)輸入數(shù)據(jù)預(yù)測(cè)輸出結(jié)果,并分別從正常操作和異常操作2個(gè)角度進(jìn)行測(cè)試。不僅檢驗(yàn)程序是否實(shí)現(xiàn)預(yù)期功能,還檢查程序是否做了不應(yīng)該做的工作。3)集中測(cè)試容易出錯(cuò)的程序模塊。4)程序變更以后,重新進(jìn)行測(cè)試。5)選擇多組測(cè)試人數(shù),測(cè)試系統(tǒng)性能。4.1.2 測(cè)試方法程序測(cè)試有兩種常用的測(cè)試方法,即黑盒測(cè)試和白盒測(cè)試。如果己經(jīng)知道了軟件系統(tǒng)應(yīng)具有的功能,可通過(guò)測(cè)試來(lái)檢驗(yàn)每個(gè)功能是否都能正常使用,這種測(cè)試方法稱為黑盒測(cè)試。黑盒測(cè)試主要是針對(duì)系統(tǒng)的功能進(jìn)行測(cè)試,所以又稱為功能測(cè)試。如果知道程序的內(nèi)部工作過(guò)程,可以通過(guò)測(cè)試
35、來(lái)檢測(cè)程序內(nèi)部是否按照設(shè)計(jì)規(guī)格說(shuō)明書(shū)的規(guī)定正常進(jìn)行,這種測(cè)試方法稱為白盒測(cè)試。白盒測(cè)試主要針對(duì)系統(tǒng)邏輯結(jié)構(gòu)的正確性、完整性進(jìn)行測(cè)試,因此又稱為結(jié)構(gòu)測(cè)試。4.1.3 具體的方案測(cè)試在本系統(tǒng)的測(cè)試過(guò)程中,因?yàn)榉N種原因無(wú)法全部完成上述的所有測(cè)試過(guò)程和測(cè)試方法,現(xiàn)將所做具體測(cè)試羅列如下:1)功能測(cè)試:為了保證每一個(gè)程序頁(yè)面能夠正確實(shí)現(xiàn)系統(tǒng)設(shè)計(jì)的功能,把考試相關(guān)的所有種類的基礎(chǔ)數(shù)據(jù)、配置數(shù)據(jù)均輸入系統(tǒng),并對(duì)所有功能反復(fù)操作,以保證系統(tǒng)中頁(yè)面功能的正確實(shí)現(xiàn)。2)數(shù)據(jù)跟蹤:功能測(cè)試之后,對(duì)系統(tǒng)測(cè)試產(chǎn)生的考試數(shù)據(jù),包括試題庫(kù)、試卷、考生答案、成績(jī)等進(jìn)行了跟蹤檢驗(yàn),保證了數(shù)據(jù)的完整性和正確性。3)壓力測(cè)試:分別
36、安排50人、100人、200人同時(shí)參加考試,測(cè)試并分析比較性能,驗(yàn)證信息服務(wù)壓力情況和數(shù)據(jù)并發(fā)處理情況,以檢驗(yàn)系統(tǒng)功能和性能能否達(dá)到系統(tǒng)設(shè)計(jì)的要求。4.2 系統(tǒng)測(cè)試結(jié)果通過(guò)對(duì)該軟件的測(cè)試和試用,證明該軟件功能完整、人機(jī)界面友好,基本達(dá)到預(yù)期的目標(biāo),可以交付使用。但是在測(cè)試中也發(fā)現(xiàn)軟件的一些不足與缺陷,這將在以后的版本中進(jìn)行解決和完善。5 課程設(shè)計(jì)總結(jié)隨著文本數(shù)據(jù)庫(kù)技術(shù)在Internet中的廣泛應(yīng)用,研究采用何種技術(shù)和設(shè)計(jì)模式來(lái)建立先進(jìn)、安全、跨平臺(tái)、高效率的大中小型的各類網(wǎng)絡(luò)具有一定的理論和實(shí)踐意義。本課題對(duì)Web數(shù)據(jù)庫(kù)的三個(gè)關(guān)鍵技術(shù)(城b數(shù)據(jù)庫(kù)系統(tǒng)的體系結(jié)構(gòu)、Web數(shù)據(jù)庫(kù)的訪問(wèn)技術(shù)、web數(shù)
37、據(jù)庫(kù)系統(tǒng)的安全性)進(jìn)行了研究與分析,同時(shí)注重對(duì)Web數(shù)據(jù)庫(kù)應(yīng)用系統(tǒng)的開(kāi)發(fā)方式、安全性等方面的研究與設(shè)計(jì);其中對(duì)JsP技術(shù)進(jìn)行了深入的研究與應(yīng)用;采用三層體系結(jié)構(gòu)設(shè)計(jì)并實(shí)現(xiàn)了基于JSP的網(wǎng)絡(luò)考試系統(tǒng)。1、該方案采用基于JSP三層構(gòu)架的體系結(jié)構(gòu),以Tomcats.0.7作為應(yīng)用服務(wù)器,以 SqlServer200o作為后臺(tái)數(shù)據(jù)庫(kù)服務(wù)器,運(yùn)用Servlet、JSp技術(shù)、JavaBean技術(shù)進(jìn)行設(shè)計(jì)實(shí)現(xiàn)。2、采用了MVC(Medel一勸ew一Controner,模型一視圖控制器)設(shè)計(jì)模式,用JSP和Servlet處理用戶交互,用JavaBean封裝復(fù)雜的數(shù)據(jù)和處理邏輯。3、在系統(tǒng)的安全性方面予以仔細(xì)考慮,對(duì)服務(wù)器使用的操作系統(tǒng)WindowsZO00Server、數(shù)據(jù)庫(kù)管理系統(tǒng) MicrosoftSQLServer2000、系統(tǒng)本身的安全性分別進(jìn)行了設(shè)計(jì)。16
- 溫馨提示:
1: 本站所有資源如無(wú)特殊說(shuō)明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請(qǐng)下載最新的WinRAR軟件解壓。
2: 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請(qǐng)聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
3.本站RAR壓縮包中若帶圖紙,網(wǎng)頁(yè)內(nèi)容里面會(huì)有圖紙預(yù)覽,若沒(méi)有圖紙預(yù)覽就沒(méi)有圖紙。
4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
5. 裝配圖網(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ì)自己和他人造成任何形式的傷害或損失。
最新文檔
- 人教部編版教材三年級(jí)上冊(cè)道德與法治第四單元家是最溫暖的地方教學(xué)ppt課件 (全套)
- 蘇教版小學(xué)科學(xué)三年級(jí)下冊(cè)《雨下得有多大》課件1
- 花的形態(tài)與結(jié)構(gòu)課件匯總
- 一年級(jí)-數(shù)學(xué)下冊(cè)十幾減九人教版課件
- 電影膠片動(dòng)態(tài)課件
- 高電壓技術(shù)課件第六章
- 項(xiàng)目采購(gòu)管理(6)
- 四川省攀枝花市XX小學(xué)一年級(jí)數(shù)學(xué)下冊(cè)六100以內(nèi)的加法和減法二練習(xí)十三2課件蘇教版
- 山東省青島市黃島區(qū)海青鎮(zhèn)中心中學(xué)七年級(jí)歷史下冊(cè) 15 明朝君權(quán)的加強(qiáng)課件 新人教版
- 把握人物的性格特征
- 剪小紙人PPT課件
- 八年級(jí)物理探究凸透鏡成像規(guī)律8
- 1[1]22配方法2
- 近代機(jī)械行業(yè)唯物主義管理分析自然觀
- 全國(guó)科技創(chuàng)新大賽“科學(xué)幻想畫(huà)”獲獎(jiǎng)作品ppt課件