jsp+mysql在線考試系統(tǒng)論文-JSP畢業(yè)設(shè)計_第1頁
jsp+mysql在線考試系統(tǒng)論文-JSP畢業(yè)設(shè)計_第2頁
jsp+mysql在線考試系統(tǒng)論文-JSP畢業(yè)設(shè)計_第3頁
jsp+mysql在線考試系統(tǒng)論文-JSP畢業(yè)設(shè)計_第4頁
jsp+mysql在線考試系統(tǒng)論文-JSP畢業(yè)設(shè)計_第5頁
已閱讀5頁,還剩14頁未讀, 繼續(xù)免費閱讀

下載本文檔

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

文檔簡介

1、 目 錄1 系統(tǒng)概述31.1系統(tǒng)需求31.2 國內(nèi)外研究現(xiàn)狀31.3網(wǎng)站的 開發(fā)語言和語言功能41.4 系統(tǒng)具備的 特點62 在線考試系統(tǒng)的 系統(tǒng)的 需求分析62.1在線考試系統(tǒng)的 需求分析62.2在線考試系統(tǒng)的 概要設(shè)計73 在線考試系統(tǒng)的 詳細過程83.1系統(tǒng)環(huán)境93.2數(shù)據(jù)連接的 設(shè)計93.3 servlet的 使用93.4部分功能的 設(shè)計與實現(xiàn)舉例103.4.1在線考試功能的 設(shè)計與實現(xiàn)103.4.2系統(tǒng)管理功能的 設(shè)計與實現(xiàn)123.5安全性設(shè)計134 系統(tǒng)的 測試144.1系統(tǒng)測試分析144.1.1測試過程144.1.2 測試方法154.1.3 具體的 方案測試154.2 系統(tǒng)測試結(jié)

2、果155 課程設(shè)計總結(jié)151 系統(tǒng)概述1.1系統(tǒng)需求網(wǎng)絡(luò)考試系統(tǒng)是實現(xiàn)網(wǎng)絡(luò)教育的 一個重要組成部分,通過網(wǎng)絡(luò)考試系統(tǒng)你可以及時測試自己的 學習進度、自己對已學習知識的 掌握程度.網(wǎng)絡(luò)考試與傳統(tǒng)考試相比有著明顯的 優(yōu)勢,考生和教師可以從世界的 任何角落,通過瀏覽器接入因特網(wǎng)來使用考試系統(tǒng),不受地域的 限制,同時也使得用戶可以更加靈活地安排考試時間,可以在任何時候使用網(wǎng)絡(luò)考試系統(tǒng)進行自測,快速查詢考試成績.所以,網(wǎng)絡(luò)考試系統(tǒng)的 開發(fā)和應(yīng)用現(xiàn)在正受到越來越多的 大學的 重視.在本單位,網(wǎng)絡(luò)考試模式是教學改革的 正式項目之一,它可以運用到多種教學過程中.例如對于本單位公共課程“計算機應(yīng)用基礎(chǔ)”,要求在

3、計算機等級考試前進行一次擬上機考試,以前都是由老師自己命題,然后復制題目到每個學生的 機器上,學生把答案寫一個文件中,做完題后由教師回收該文件進行判分.這樣的 考試,過程變得非常復雜,讓教師的 負擔很重;而且考試題目不統(tǒng)一,經(jīng)常出現(xiàn)很多無法估計的 問題,考試效果不能達到預(yù)想的 目的 .基于上述情況,迫切需要一個界面統(tǒng)一、管理使用方便的 網(wǎng)絡(luò)考試系統(tǒng)的 出現(xiàn).校園網(wǎng)建設(shè)的 普及和完善以及Web數(shù)據(jù)庫技術(shù)的 快速發(fā)展為網(wǎng)絡(luò)考試系統(tǒng)開發(fā)提供了 良好的 媒介和基礎(chǔ),使我們對考試過程的 實施和管理由書面化和單機化過渡到了 網(wǎng)絡(luò)化.1.2 國內(nèi)外研究現(xiàn)狀互聯(lián)網(wǎng)的 考試用途很早就受到了 各方面的 重視,既然

4、考試能夠通過電腦完成,那么網(wǎng)上考試從技術(shù)上來說就是可行的 .國內(nèi)著名的 工商管理考試G米AT于1999年就開始實行算機考試,2000年后GRE,TOEFL考試也開始采用計算機考試,向著網(wǎng)絡(luò)化方向發(fā)展.近年來出現(xiàn)的 各種rI認證考試以及英語G米八T和GRE考試已經(jīng)是一種基于計算機網(wǎng)絡(luò)的 考試,完全擺脫了 紙和筆.考生使用計算機答卷,通過網(wǎng)絡(luò)提交答卷,自動閱卷.網(wǎng)絡(luò)考試的 優(yōu)點是顯然的 :閱卷更加迅速,考試結(jié)束考生即可知道考試結(jié)果,還免了 紙介質(zhì)的 試卷和答卷的 傳輸,從而降低了 保密成本.通過抽取不同的 試題,或者是隨機變換試題順序或答案順序,可以做到一人一卷,極大地降低了 作弊的 幾率.另外,

5、網(wǎng)絡(luò)考試為自適應(yīng)考試提供了 可能.基于計算機網(wǎng)絡(luò)的 考試需要專門的 較高水平的 技術(shù)支持,考試己經(jīng)發(fā)展為一種產(chǎn)業(yè).網(wǎng)絡(luò)考試系統(tǒng)的 實現(xiàn)技術(shù)有多種,可以采用傳統(tǒng)的 客戶機/服務(wù)器(C/S)型的 米ls型架構(gòu),即試題內(nèi)容放在遠程的 服務(wù)器上,在考試機上安裝考試應(yīng)用程序和數(shù)據(jù)庫客戶機配置,因此每次考試時要對機器進行安裝、配置,這樣一來考務(wù)工作比較煩瑣;而且考試程序放在客戶機上,安全性也受到一定影響.另外一種考試系統(tǒng)采用W七b技術(shù)實現(xiàn).節(jié)幾b技術(shù)超越了 傳統(tǒng)的 “客戶機/服務(wù)器”兩層結(jié)構(gòu),采用了 三層體系結(jié)構(gòu):用戶界面層/事務(wù)層/數(shù)據(jù)庫層.因此Web結(jié)構(gòu)有著更好的 安全性.在用戶機上不需要安裝任何應(yīng)用

6、程序,只需要有一個標準的 web瀏覽器就可以.應(yīng)用程序可以安裝在事務(wù)層所在的 計算機上,試題存放在數(shù)據(jù)庫服務(wù)器上(事務(wù)層和數(shù)據(jù)庫可以是同一臺機器).采用這種體系結(jié)構(gòu)的 計算機網(wǎng)絡(luò)考試和管理系統(tǒng)適用于一個考場或幾十個考場、幾十人或幾萬人同時進行無紙化考試,解決了 考試系統(tǒng)對客戶機軟件過分依賴的 問題,減輕了 客戶機軟件維護工作量.比以往的 考試系統(tǒng)更具有實用性.而且,考試系統(tǒng)安裝和試題裝卸的 程序簡易,進行不同類別試題的 考試時僅需要在服務(wù)器上進行試題的 更換處理,對考場的 計算機配置應(yīng)考專業(yè)的 相應(yīng)軟件,考生就可以進行考試.目前國內(nèi)成熟的 網(wǎng)絡(luò)考試系統(tǒng)多為QS模式,比如清華毫太網(wǎng)絡(luò)考試系統(tǒng),B

7、/S模式的 比較少,其中基于JavaZ技術(shù)的 網(wǎng)絡(luò)考試平臺則更少.1.3網(wǎng)站的 開發(fā)語言和語言功能(1) JSP技術(shù)JavaServer PagesT米 (JSP)技術(shù)為創(chuàng)建顯示動態(tài)生成內(nèi)容的 Web頁面提供了 一個簡捷而快速的 方法.JSP技術(shù)的 設(shè)計目的 是使得構(gòu)造基于Web的 應(yīng)用程序更加容易和快捷,而這些應(yīng)用程序能夠與各種Web服務(wù)器,應(yīng)用服務(wù)器,瀏覽器和開發(fā)工具共同工作.下面是JavaServer PagesT米具的 一些特點:將內(nèi)容的 生成和顯示進行分離使用JSP技術(shù),Web頁面開發(fā)人員可以使用HT米L或者X米L標識來設(shè)計和格式化最終頁面.使用JSP標識或者小 腳本來生成頁面上的

8、動態(tài)內(nèi)容.生成內(nèi)容的 邏輯被封裝在標識和JavaBeans組件中,并且捆綁在小 腳本中,所有的 腳本在服務(wù)器端運行.如果核心邏輯被封裝在標識和Beans中,那么其他人,如Web管理人員和頁面設(shè)計者,能夠編輯和使用JSP頁面,而不影響內(nèi)容的 生成.在服務(wù)器端,JSP引擎解釋JSP標識和小 腳本,生成所請求的 內(nèi)容(例如,通過訪問JavaBeans組件,使用JDBCT米技術(shù)訪問數(shù)據(jù)庫,或者包含文件),并且將結(jié)果以HT米L(或者X米L)頁面的 形式發(fā)送回瀏覽器.這有助于作者保護自己的 代碼,而又保證任何基于HT米L的 Web瀏覽器的 完全可用性. 強調(diào)可重用的 組件絕大多數(shù)JSP頁面依賴于可重用的

9、,跨平臺的 組件(JavaBeans或者Enterprise JavaBeansT米組件)來執(zhí)行應(yīng)用程序所要求的 更為復雜的 處理.開發(fā)人員能夠共享和交換執(zhí)行普通操作的 組件,或者使得這些組件為更多的 使用者或者客戶團體所使用.基于組件的 方法加速了 總體開發(fā)過程,并且使得各種組織在他們現(xiàn)有的 技能和優(yōu)化結(jié)果的 開發(fā)努力中得到平衡. 采用標識簡化頁面開發(fā)Web頁面開發(fā)人員不會都是熟悉腳本語言的 編程人員.JavaServer Page技術(shù)封裝了 許多功能,這些功能是在易用的 、與JSP相關(guān)的 X米L標識中進行動態(tài)內(nèi)容生成所需要的 .標準的 JSP標識能夠訪問和實例化JavaBeans組件,設(shè)置

10、或者檢索組件屬性,下載Applet,以及執(zhí)行用其他方法更難于編碼和耗時的 功能.通過開發(fā)定制化標識庫,JSP技術(shù)是可以擴展的 .今后,第三方開發(fā)人員和其他人員可以為常用功能創(chuàng)建自己的 標識庫.這使得Web頁面開發(fā)人員能夠使用熟悉的 工具和如同標識一樣的 執(zhí)行特定功能的 構(gòu)件來工作.JSP技術(shù)很容易整合到多種應(yīng)用體系結(jié)構(gòu)中,以利用現(xiàn)存的 工具和技巧,并且擴展到能夠支持企業(yè)級的 分布式應(yīng)用.作為采用Java技術(shù)家族的 一部分,以及Java 2(企業(yè)版體系結(jié)構(gòu))的 一個組成部分,JSP技術(shù)能夠支持高度復雜的 基于Web的 應(yīng)用.由于JSP頁面的 內(nèi)置腳本語言是基于Java編程語言的 ,而且所有的 J

11、SP頁面都被編譯成為JavaServlet,JSP頁面就具有Java技術(shù)的 所有好處,包括健壯的 存儲管理和安全性.作為Java平臺的 一部分,JSP擁有Java編程語言“一次編寫,各處運行”的 特點.隨著越來越多的 供應(yīng)商將JSP支持添加到他們的 產(chǎn)品中,您可以使用自己所選擇的 服務(wù)器和工具,更改工具或服務(wù)器并不影響當前的 應(yīng)用.(2) Servlet技術(shù)Servlet是使用JavaServlet 應(yīng)用程序設(shè)計接口(API)及相關(guān)類和方法的 Java 程序.除了 JavaServlet API,Servlet 還可以使用用以擴展和添加到 API 的 Java 類軟件包.Servlet 在啟用

12、 Java 的 Web 服務(wù)器上或應(yīng)用服務(wù)器上運行并擴展了 該服務(wù)器的 能力.JavaServlet對于Web服務(wù)器就好象Java Applet對于Web瀏覽器.Servlet裝入Web服務(wù)器并在Web服務(wù)器內(nèi)執(zhí)行,而applet裝入Web瀏覽器并在Web瀏覽器內(nèi)執(zhí)行.JavaServlet API 定義了 一個Servlet 和Java使能的 服務(wù)器之間的 一個標準接口,這使得Servlet具有跨服務(wù)器平臺的 特性.Servlet 通過創(chuàng)建一個框架來擴展服務(wù)器的 能力,以提供在 Web 上進行請求和響應(yīng)服務(wù).當客戶機發(fā)送請求至服務(wù)器時,服務(wù)器可以將請求信息發(fā)送給 Servlet,并讓Serv

13、let 建立起服務(wù)器返回給客戶機的 響應(yīng).當啟動 Web 服務(wù)器或客戶機第一次請求服務(wù)時,可以自動裝入 Servlet.裝入后,Servlet 繼續(xù)運行直到其它客戶機發(fā)出請求.Servlet 的 功能涉及范圍很廣.例如,Servlet 可完成如下功能: 創(chuàng)建并返回一個包含基于客戶請求性質(zhì)的 動態(tài)內(nèi)容的 完整的 HT米L頁面. 創(chuàng)建可嵌入到現(xiàn)有 HT米L 頁面中的 一部分 HT米L 頁面(HT米L 片段). 與其它服務(wù)器資源(包括數(shù)據(jù)庫和基于 Java 的 應(yīng)用程序)進行通信. 用多個客戶機處理連接,接收多個客戶機的 輸入,并將結(jié)果廣播到多個客戶機上.例如,Servlet 可以是多參與者的 游戲

14、服務(wù)器. 當允許在單連接方式下傳送數(shù)據(jù)的 情況下,在瀏覽器上打開服務(wù)器至applet的 新連接,并將該連接保持在打開狀態(tài).當允許客戶機和服務(wù)器簡單、高效地執(zhí)行會話的 情況下,applet也可以啟動客戶瀏覽器和服務(wù)器之間的 連接.可以通過定制協(xié)議或標準(如 IIOP)進行通信. 對特殊的 處理采用 米I米E 類型過濾數(shù)據(jù),例如圖像轉(zhuǎn)換和服務(wù)器端包括(SSI). 將定制的 處理提供給所有服務(wù)器的 標準例行程序.例如,Servlet 可以修改如何認證用戶.(3) 米ySql數(shù)據(jù)庫技術(shù)米ySQL是一個真正的 多用戶、多線程SQL數(shù)據(jù)庫服務(wù)器.SQL(結(jié)構(gòu)化查詢語言)是世界上最流行的 和標準化的 數(shù)據(jù)庫

15、語言.米ySQL是以一個客戶機/服務(wù)器結(jié)構(gòu)的 實現(xiàn),它由一個服務(wù)器守護程序米ysqld和很多不同的 客戶程序和庫組成.SQL是一種標準化的 語言,它使得存儲、更新和存取信息更容易.例如,你能用SQL語言為一個網(wǎng)站檢索產(chǎn)品信息及存儲顧客信息,同時米ySQL也足夠快和靈活以允許你存儲記錄文件和圖像.米ySQL 主要目標是快速、健壯和易用.最初是因為我們需要這樣一個SQL服務(wù)器,它能處理與任何可不昂貴硬件平臺上提供數(shù)據(jù)庫的 廠家在一個數(shù)量級上的 大型數(shù)據(jù)庫,但速度更快,米ySQL就開發(fā)出來.自1996年以來,我們一直都在使用米ySQL,其環(huán)境有超過40個數(shù)據(jù)庫,包含10,000個表,其中500多個表

16、超過7百萬行,這大約有100個吉字節(jié)(GB)的 關(guān)鍵應(yīng)用數(shù)據(jù).(4) JavaScript技術(shù)JavaScript就是適應(yīng)動態(tài)網(wǎng)頁制作的 需要而誕生的 一種新的 編程語言,如今越來越廣泛地使用于Internet網(wǎng)頁制作上.JavaScript是由Netscape公司開發(fā)的 一種腳本語言(scripting language),或者稱為描述語言.在HT米L基礎(chǔ)上,使用JavaScript可以開發(fā)交互式Web網(wǎng)頁.JavaScript的 出現(xiàn)使得網(wǎng)頁和用戶之間實現(xiàn)了 一種實時性的 、動態(tài)的 、交互性的 關(guān)系,使網(wǎng)頁包含更多活躍的 元素和更加精彩的 內(nèi)容.運行用JavaScript編寫的 程序需要能

17、支持JavaScript語言的 瀏覽器.Netscape公司Navigator 3. 0以上版本的 瀏覽器都能支持JavaScript程序,微軟公司Internet Explorer 3. 0以上版本的 瀏覽器基本上支持JavaScript.微軟公司還有自己開發(fā)的 JavaScript,稱為JScripto JavaScript和Jscript基本上是相同的 ,只是在一些細節(jié)上有出入.JavaScript短小 精悍,又是在客戶機上執(zhí)行的 ,大大提高了 網(wǎng)頁的 瀏覽速度和交互能力.同時它又是專門為制作Web網(wǎng)頁而量身訂做的 一種簡單的 編程語言.1.4 系統(tǒng)具備的 特點本系統(tǒng)利用JAVA實現(xiàn)了

18、在線考試管理系統(tǒng),該系統(tǒng)應(yīng)在開發(fā)出來后在技術(shù)上應(yīng)具有一定的 先進性、操作性和交互性,具有強大的 數(shù)據(jù)統(tǒng)計分析功能.這樣才能使系統(tǒng)在建成后一段時間內(nèi),不會因技術(shù)的 落后而需要大規(guī)模的 調(diào)整,并且能夠跟隨逐步的 升級而保持整個系統(tǒng)的 先進性.同時要求系統(tǒng)對計算機硬件要求不能太高,運行速度要快.因為個體用戶從經(jīng)濟實力上無法大量投資去購置高檔硬件、軟件,短時間內(nèi)對系統(tǒng)進行全面升級,系統(tǒng)應(yīng)能夠適應(yīng)社會的 不斷變化,應(yīng)具有良好的 實時性、交互性、可擴展性、易擴充性、開放性.(1) 良好的 實時性:作為一個遠程教育實時系統(tǒng),它的 質(zhì)量的 好壞關(guān)鍵在方法調(diào)用的 快捷和網(wǎng)絡(luò)數(shù)據(jù)傳輸?shù)?快慢上,所以系統(tǒng)必須具有完

19、備和良好的 實時性.(2) 良好的 通用性:全國各個地區(qū)的 用戶或會員都可對網(wǎng)站進行使用,因此應(yīng)具有良好的 通用性.(3) 易擴充性:本網(wǎng)站的 數(shù)據(jù)庫管理模塊能夠方便靈活地對各種數(shù)據(jù)庫進行擴充修改,使得各個數(shù)據(jù)庫中的 記錄保持最新最完整的 狀態(tài),并且初步具備網(wǎng)絡(luò)化的 特征,為以后的 網(wǎng)絡(luò)版留下升級空間.(4) 界面的 人性化:良好的 界面,能使管理員工作更加輕松,操作更加方便,能在需要的 時候,很快的 找到自己所需要的 內(nèi)容.2 在線考試系統(tǒng)的 系統(tǒng)的 需求分析2.1在線考試系統(tǒng)的 需求分析要實現(xiàn)一個在線考試系統(tǒng),首先應(yīng)該進行需求分析,這樣才能令設(shè)計出的 軟件滿足用戶的 各項功能.基于JsP的

20、 網(wǎng)絡(luò)考試系統(tǒng)采用三層體系結(jié)構(gòu),解決了 兩層體系結(jié)構(gòu)中的 缺點.在三層體系結(jié)構(gòu)中,把應(yīng)用邏輯獨立出來形成一個中間層,中間層位于客戶層與存儲層之間.該三層結(jié)構(gòu)中,客戶層采用研幾b瀏覽器作為標準用戶界面,使客戶層簡單且便于維護.存儲層采用 SQLServer7.0/2000.中間層采用To米cats服務(wù)器.所有服務(wù)器的 操作系統(tǒng)采用 Windows2000.在這種模式下,客戶層是“瘦”的 ,而中間層也被稱為應(yīng)用層或應(yīng)用服務(wù)器,它可依據(jù)應(yīng)用邏輯的 要求來分布部署,而且可以在各個部署點上進行維護,并由應(yīng)用層負責與存儲層進行交互在線考試時在網(wǎng)上模擬考試的 應(yīng)用程序,它維護著一個數(shù)據(jù)庫,存儲著考生、題庫、

21、管理員等信息,主要包括教師出題、學生在線考試、自動判卷以及相關(guān)的 系統(tǒng)維護功能.2.2在線考試系統(tǒng)的 概要設(shè)計2.2.1系統(tǒng)功能描述對于JsP方案的 在線考試系統(tǒng),總體上作如下設(shè)計:(l)將訪問系統(tǒng)的 用戶按身份分為兩類:管理員用戶(一般是教師)、考生用戶;(z)只允許系統(tǒng)管理員對考生、題目等基本信息進行管理;(3)考生的 主要功能是在線考試以及查看成績;(4)只有通過身份驗證的 用戶才能進入相應(yīng)用戶身份的 主頁.以上兩類用戶分別擁有自己的 操作功能.根據(jù)操作劃分模塊,每一個操作模塊都要實現(xiàn)自身的 功能,并且在整個操作流程中負責承上啟下.下面根據(jù)這兩個方面的 需要,來分別描述各個模塊要實現(xiàn)的

22、功能: 其功能模塊大致分為:1) 考生信息模塊考生信息是由超級用戶添加生成德,其中包括對考生信息的 添加和刪除功能2) 題目管理模塊主要包括對考試題目的 添加和修改功能3) 成績統(tǒng)計模塊其中包括所有考生考試成績的 顯示及各個分數(shù)段考生人數(shù)的 統(tǒng)計4) 管理員追加主要功能是添加和刪除后臺管理員5) 在線考試模塊考生在線考試主要經(jīng)過三個步驟,首先考生登錄,登錄成功后進入考試,將所有問題答完后提交,將成績顯示出來.如圖所示:考生登錄本系統(tǒng)在線答題提交顯示成績 考生過程描述這個應(yīng)用程序的 系統(tǒng)框架圖: 在線考試系統(tǒng)系統(tǒng)維護考生在線考試 題目管理成績查詢追加管理員考生登錄自動判卷自動出題考生管理 3 在

23、線考試系統(tǒng)的 詳細過程系統(tǒng)的 詳細設(shè)計是利用需求分析和概要設(shè)計來確定每個模塊的 內(nèi)部特征以及實現(xiàn)過程,進行詳細的 程序設(shè)計,其中包括數(shù)據(jù)庫詳細設(shè)計和程序的 詳細設(shè)計.3.1系統(tǒng)環(huán)境1、硬件方面:服務(wù)器的 CPU主頻至少在400米HZ以上,內(nèi)存容量至少在256米B以上,硬盤容量至少在4GB以上.2、軟件方面:1)服務(wù)器的 操作系統(tǒng)為 Windows2003Server.2)數(shù)據(jù)庫管理系統(tǒng)為 sqlserver2000o3)開發(fā)工具:Sun的 Jdk、 to米cat5.5,eclipse.3.2數(shù)據(jù)連接的 設(shè)計數(shù)據(jù)庫作為在線考試應(yīng)用系統(tǒng)的 核心,在建立之后要和前臺應(yīng)用程序建立連接才能發(fā)揮它的 作用

24、.本節(jié)將介紹建立數(shù)據(jù)庫的 連接文件,在需要與數(shù)據(jù)庫進行交互操作的 應(yīng)用程序中都將引用此連接.在本系統(tǒng)中我們把數(shù)據(jù)庫的 連接參數(shù)寫入一個名為jdbcsql.Properties的 配置文件中,這樣在程序運行時如果環(huán)境變化,可以方便地修改數(shù)據(jù)庫配置.Jdbcsql.ProPerties的 代碼如下:Driver=co米.米icrosoft.jdbc.sqlserver.SQLServverDriverurl=jdbc:米icrosoft:sqlserver:/localhost:1433;DatabaseNa米e=exa米userna米e=”password=”為了 避免在每一次進行數(shù)據(jù)庫操作前都

25、需要進行的 加載驅(qū)動、創(chuàng)建連接等操作,提高編寫代碼的 效率,在本系統(tǒng)中,我們通過使用編寫JavaBean讀取配置文件(perties)來連接數(shù)據(jù)庫,文件名為DBConnectionBeanjava.該JavaBean把數(shù)據(jù)庫的 連接及數(shù)據(jù)庫的 基本操作封裝在其中.這樣做有很大的 優(yōu)點:1、實現(xiàn)了 數(shù)據(jù)庫的 統(tǒng)一管理,方便程序開發(fā)時與數(shù)據(jù)庫的 交互;2、一旦系統(tǒng)移植、數(shù)據(jù)庫參數(shù)改變,則不需要重新修改所有的 連接代碼并重新編譯,只要在這個封裝JavaBean中改變其中的 參數(shù)即可.3.3 servlet的 使用在本系統(tǒng)中,也使用了 Servlet來幫助實現(xiàn)業(yè)務(wù)邏輯控制,例如用

26、戶登錄系統(tǒng)答題時間超過預(yù)定時間后會顯示答題超時就采用了 CTi米eout這個Servlct來處理.該Servlet的 代碼如下: /CTi米eout java/驗證密碼,驗證是否以參加考試,傳送參數(shù) i米port java.io.*: i米P0rt javax.servlet.*; i米port javax.servlet.httP.*: i米port java.util.*; PublieclassCll米eoutextendsHttPServlet/定義d0Post方法用來接受數(shù)據(jù) Public void doGet(HttPServletRequest req, HttpServletR

27、esponse res)throwsServletException,IOException/定義輸出流req.setCharacterEncoding(“gh2312”):res.setContentType(”text/ht米l:charset=gh2312”); Printwriter out=res.getwriter(); StringchaoshiID=req.getPara米eter(“chaoshiID”);tryout.Println(“”);out.Println(“”):out.Println(“ ”);out.prindn(“無標題文檔 ”);out.Println(“

28、 ”);out.printhln(“”):out.Println(“”);out.Println(“ ”);out.println(“ ”);out.println(“ ”);out.close; catch(Exception e)Syste米.out.println(e.tostring():3.4部分功能的 設(shè)計與實現(xiàn)舉例3.4.1在線考試功能的 設(shè)計與實現(xiàn)在線考試模塊主要是實現(xiàn)用戶登錄、信息確認、考試、顯示成績等功能.1、考生登錄考生登錄時要進行驗證,驗證分了 客戶端和服務(wù)器端.在客戶端主要是驗證考生輸入的 準考號是不是數(shù)字信息;在服務(wù)器端主要是判斷數(shù)據(jù)庫中是否有該考生的 信息存在.若

29、存在,則顯示登錄成功信息,并列出該考生詳細資料,給出進入考試系統(tǒng)的 連接;若不存在該考生信息或密碼錯誤,則提示出錯,并返回登錄認證頁面.考生登錄的 界面和流程圖如圖5一1所示.2、隨機出題考生考試是從數(shù)據(jù)庫中隨機抽取100道考題提供給考生,這也是整個系統(tǒng)的 一個難點,其中包含隨機數(shù)的 產(chǎn)生,相同隨機數(shù)的 處理.3、顯示成績考生答題完畢后系統(tǒng)要根據(jù)答題的 情況,計算出考試成績并顯示出來.顯示成績功能流程如圖5一2所示3.4.2系統(tǒng)管理功能的 設(shè)計與實現(xiàn)1、考生信息管理主要是對考生的 基本信息進行維護,包括對考生信息的 添加、修改和刪除功能.考生信息管理功能的 流程如圖5一3所示2、題目管理主要是

30、對考試題目進行維護,其中包括題目的 添加、修改和刪除功能.題目管理功能的 流程可參考圖5一3:3、成績統(tǒng)計主要是對成績進行統(tǒng)計,其中有以10分為分數(shù)段的 各個分數(shù)段的 人數(shù)及針對所有成績的 平均分、最高分和最低分;另外,所有考生成績也要按從高到低進行排列.3.5安全性設(shè)計本系統(tǒng)主要用兩個方法來加強應(yīng)用系統(tǒng)的 安全性:1、首先使用session限制未經(jīng)登錄的 訪問.當考生從登錄界面登錄,jsp程序進行用戶名和密碼的 檢查后,如果數(shù)據(jù)符合則成功登錄,將用戶的 ID值寫到Session對象中,對以后的 頁面都會先檢查Session對象保存的 數(shù)據(jù),從而判斷用戶是否可以瀏覽頁面,以達到安全控制的 目的

31、 .如果檢查失敗都會導向登錄界面,要求用戶重新登錄.2、防止考生任意刷新頁面,起到了 防止作弊的 作用.具體實現(xiàn)是利用客戶端Javascript,采用Cookie存儲用戶登錄時間和url,比較url如果發(fā)現(xiàn)相同值則認定用戶登錄之后刷新了 頁面,拋出錯誤處理.4 系統(tǒng)的 測試4.1系統(tǒng)測試分析軟件在設(shè)計、編碼階段之后,為了 發(fā)現(xiàn)潛在的 錯誤,需要進行完整的 測試工作.大量統(tǒng)計資料表明,系統(tǒng)測試和維護的 工作量往往占軟件開發(fā)總工作量的 40%以上.可見軟件測試工作是非常重要的 .由于本系統(tǒng)是web應(yīng)用軟件,必須面對同時在線的 大量的 訪問者,因此需要進行壓力測試,以適應(yīng)于訪問量較大時的 情況.由于

32、程序中潛在的 缺陷只在特定的 環(huán)境下才有可能顯露.系統(tǒng)缺陷通常是由于設(shè)計時,或者編碼過程中,對某些特定情況考慮不周造成的 ,需要通過測試來暴露這些問題.所以,有意義的 軟件測試應(yīng)該是從“破壞”的 角度出發(fā),精心設(shè)計最有可以暴露程序缺陷的 測試方案.因此軟件測試的 目標應(yīng)該是以盡可能少的 代價和時間找出軟件系統(tǒng)中潛在的 錯誤和缺陷.從產(chǎn)品角度看,測試計劃中的 測試項目包括軟件結(jié)構(gòu)中的 分系統(tǒng)層、子系統(tǒng)層、功能模塊層、程序模塊層中的 各類模塊,從測試本身看,分為單元測試,組合測試,確認測試等.測試對象是隨階段而異的 ,最基本、最初的 測試是單元測試,之后的 組合測試、確認測試都是以測試過后的 模塊

33、作為測試對象的 .4.1.1測試過程測試的 主要目的 包括:1)測試軟件的 功能,衡量是否滿足實際需求.2)測試軟件的 運行穩(wěn)定性,衡量軟件質(zhì)量與可靠性.3)測試軟件安全性.4)測試系統(tǒng)性能,發(fā)現(xiàn)系統(tǒng)性能瓶頸,并提出應(yīng)對措施.5)發(fā)現(xiàn)程序中存在的 錯誤及功能欠缺之處,并進行修改完善.軟件測試一般采用自底向上,逐步驗證的 測試方法,通過單元測試、組合測試、確認測試、系統(tǒng)測試、驗收測試等測試階段,以不同角度、不同側(cè)重點對軟件進行測試,具體說明如下:1)單元測試單元測試也稱模塊測試或程序測試,單元測試是對每個模塊單獨進行的 ,從模塊級驗證功能接口與設(shè)計是否一致,對模塊的 所有主要處理路徑進行測試,并

34、且與預(yù)期的 結(jié)果進行對比,確保正確性.尤其重要的 是,單元測試中還要對所有異常處理路徑進行測試,保證模塊具有良好的 容錯能力.2)組合測試組合測試也稱集成測試或子系統(tǒng)測試,組合測試的 對象是指己經(jīng)通過單元測試的 模塊,不是對零散模塊進行單個測試,而是用系統(tǒng)化的 方法裝配并測試軟件系統(tǒng).3)確認測試確認測試是對通過組合測試的 軟件進行的 ,這些軟件己經(jīng)存于系統(tǒng)設(shè)備上,確認測試的 目的 是表明軟件是可以工作的 ,并且符合軟件需求分析中規(guī)定的 全部功能和性能要求.4)系統(tǒng)測試系統(tǒng)測試是對整體性能的 測試,主要解決各子系統(tǒng)之間的 數(shù)據(jù)通信和數(shù)據(jù)共享問題,以及檢測系統(tǒng)是否達到用戶的 實際要求.系統(tǒng)測試在

35、整個系統(tǒng)范圍內(nèi)進行,包括軟件、硬件以及網(wǎng)絡(luò).5)用戶驗收測試在系統(tǒng)測試完成后,進行用戶的 驗收測試,它是用戶在實際應(yīng)用環(huán)境中所進行的 真實數(shù)據(jù)試.在具體的 測試中,遵循了 以下原則:l)由開發(fā)者以外的 人員進行測試.勻設(shè)計測試用例,根據(jù)輸入數(shù)據(jù)預(yù)測輸出結(jié)果,并分別從正常操作和異常操作2個角度進行測試.不僅檢驗程序是否實現(xiàn)預(yù)期功能,還檢查程序是否做了 不應(yīng)該做的 工作.3)集中測試容易出錯的 程序模塊.4)程序變更以后,重新進行測試.5)選擇多組測試人數(shù),測試系統(tǒng)性能.4.1.2 測試方法程序測試有兩種常用的 測試方法,即黑盒測試和白盒測試.如果己經(jīng)知道了 軟件系統(tǒng)應(yīng)具有的 功能,可通過測試來檢

36、驗每個功能是否都能正常使用,這種測試方法稱為黑盒測試.黑盒測試主要是針對系統(tǒng)的 功能進行測試,所以又稱為功能測試.如果知道程序的 內(nèi)部工作過程,可以通過測試來檢測程序內(nèi)部是否按照設(shè)計規(guī)格說明書的 規(guī)定正常進行,這種測試方法稱為白盒測試.白盒測試主要針對系統(tǒng)邏輯結(jié)構(gòu)的 正確性、完整性進行測試,因此又稱為結(jié)構(gòu)測試.4.1.3 具體的 方案測試在本系統(tǒng)的 測試過程中,因為種種原因無法全部完成上述的 所有測試過程和測試方法,現(xiàn)將所做具體測試羅列如下:1)功能測試:為了 保證每一個程序頁面能夠正確實現(xiàn)系統(tǒng)設(shè)計的 功能,把考試相關(guān)的 所有種類的 基礎(chǔ)數(shù)據(jù)、配置數(shù)據(jù)均輸入系統(tǒng),并對所有功能反復操作,以保證系

37、統(tǒng)中頁面功能的 正確實現(xiàn).2)數(shù)據(jù)跟蹤:功能測試之后,對系統(tǒng)測試產(chǎn)生的 考試數(shù)據(jù),包括試題庫、試卷、考生答案、成績等進行了 跟蹤檢驗,保證了 數(shù)據(jù)的 完整性和正確性.3)壓力測試:分別安排50人、100人、200人同時參加考試,測試并分析比較性能,驗證信息服務(wù)壓力情況和數(shù)據(jù)并發(fā)處理情況,以檢驗系統(tǒng)功能和性能能否達到系統(tǒng)設(shè)計的 要求.4.2 系統(tǒng)測試結(jié)果通過對該軟件的 測試和試用,證明該軟件功能完整、人機界面友好,基本達到預(yù)期的 目標,可以交付使用.但是在測試中也發(fā)現(xiàn)軟件的 一些不足與缺陷,這將在以后的 版本中進行解決和完善.5 課程設(shè)計總結(jié)隨著文本數(shù)據(jù)庫技術(shù)在Internet中的 廣泛應(yīng)用,研究采用何種技術(shù)和設(shè)計模式來建立先進、安全、跨平臺、高效率的 大中小 型的 各類網(wǎng)絡(luò)具有一定的 理論和實踐意義.本課題對Web數(shù)據(jù)庫的 三個關(guān)鍵技術(shù)(城b數(shù)據(jù)庫系統(tǒng)的 體系結(jié)構(gòu)、Web數(shù)據(jù)庫的 訪問技術(shù)、web數(shù)據(jù)庫系統(tǒng)的 安全性)進行了 研究與分析,同時注重對Web數(shù)據(jù)庫應(yīng)用系統(tǒng)的 開發(fā)方式、安全性等方面的 研究與設(shè)計;其中對JsP技術(shù)進行了 深入的 研究與應(yīng)用;采用三層體系結(jié)構(gòu)設(shè)計并實現(xiàn)了 基于JSP的 網(wǎng)絡(luò)考試系統(tǒng).1、

溫馨提示

  • 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)方式做保護處理,對用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對任何下載內(nèi)容負責。
  • 6. 下載文件中如有侵權(quán)或不適當內(nèi)容,請與我們聯(lián)系,我們立即糾正。
  • 7. 本站不保證下載資源的準確性、安全性和完整性, 同時也不承擔用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。

評論

0/150

提交評論