九九热最新网址,777奇米四色米奇影院在线播放,国产精品18久久久久久久久久,中文有码视频,亚洲一区在线免费观看,国产91精品在线,婷婷丁香六月天

畢業(yè)論文--基于Java Web的模擬駕校考試系統(tǒng)設(shè)計(jì)與實(shí)現(xiàn)

上傳人:a**** 文檔編號(hào):154077967 上傳時(shí)間:2022-09-20 格式:DOC 頁數(shù):54 大?。?.09MB
收藏 版權(quán)申訴 舉報(bào) 下載
畢業(yè)論文--基于Java Web的模擬駕校考試系統(tǒng)設(shè)計(jì)與實(shí)現(xiàn)_第1頁
第1頁 / 共54頁
畢業(yè)論文--基于Java Web的模擬駕??荚囅到y(tǒng)設(shè)計(jì)與實(shí)現(xiàn)_第2頁
第2頁 / 共54頁
畢業(yè)論文--基于Java Web的模擬駕??荚囅到y(tǒng)設(shè)計(jì)與實(shí)現(xiàn)_第3頁
第3頁 / 共54頁

下載文檔到電腦,查找使用更方便

18 積分

下載資源

還剩頁未讀,繼續(xù)閱讀

資源描述:

《畢業(yè)論文--基于Java Web的模擬駕??荚囅到y(tǒng)設(shè)計(jì)與實(shí)現(xiàn)》由會(huì)員分享,可在線閱讀,更多相關(guān)《畢業(yè)論文--基于Java Web的模擬駕??荚囅到y(tǒng)設(shè)計(jì)與實(shí)現(xiàn)(54頁珍藏版)》請(qǐng)?jiān)谘b配圖網(wǎng)上搜索。

1、摘  要 在競(jìng)爭(zhēng)越來越激烈的今天,人們的生活工作節(jié)奏也在急劇加快?,F(xiàn)在幾乎所有行業(yè)為了適應(yīng)新的社會(huì)節(jié)奏,都大量采用機(jī)器幫助提高勞動(dòng)生產(chǎn)效率,降低生產(chǎn)成本,增強(qiáng)單位的競(jìng)爭(zhēng)能力。電腦輔助教學(xué)作為一種新的教學(xué)方式正受到越來越多的重視。不管是學(xué)校還是培訓(xùn)中心都大量使用電腦來輔助教學(xué),使學(xué)校的教學(xué)工作規(guī)范高效率,最大限度地節(jié)約成本。 本論文介紹了交通規(guī)則模擬考試系統(tǒng)開發(fā)的具體實(shí)現(xiàn)過程,著重介紹了系統(tǒng)的界面、數(shù)據(jù)庫設(shè)計(jì)以及測(cè)試過程。本系統(tǒng)采用Java Web開發(fā)技術(shù),配合Struts框架實(shí)現(xiàn),界面采用XHTML+CSS布局。主要實(shí)現(xiàn)模擬考試功能,試題的添加、更新、刪除,用戶管理等基本功能。系統(tǒng)界面美觀

2、友好、具有一定的可擴(kuò)展性、易于維護(hù)、安全性較好,具備一般交通規(guī)則模擬考試系統(tǒng)的基本要求,并增加了錯(cuò)題練習(xí)、章節(jié)練習(xí)和成績(jī)統(tǒng)計(jì)等輔助功能,可以在各種符合Java Web標(biāo)準(zhǔn)的容器中高效運(yùn)行,并兼容大部分常用瀏覽器。 可以預(yù)測(cè),這種符合具有良好構(gòu)架、擴(kuò)展性和安全性的交通規(guī)則模擬考試系統(tǒng),將獲得越來越多人們的認(rèn)可。交通規(guī)則模擬考試系統(tǒng)的前景十分光明,充滿活力。 關(guān)鍵詞:交通規(guī)則模擬考試;Java Web;Struts; Abstract Today,the competition is more and more fiercely, the rhythm of people's lif

3、e and work are being accelerated sharply too.The almost of all profession for adapt to new society rhythm,plenty of adopt machines to progress productive of labor and reduce d the cost of produce, to strengthen competent ability for enterprise. Use computer to help education is attached importan

4、ce to as a new way about teaching and studing .A wealth of computers are used to assist education at the school and the center of training, improve to productive of education's work at school and let it normal, save cost in the most limit. This paper introduces the detailed implementation procedure

5、s and concentrates on introducing the interface of the system, the designing of database and the testing procedure. The system uses Java Web development technique which concert with Struts, and whose interface adopts to XHTML+CSS. It archly meets the basic function of question publishing, updating,

6、deleting, and the management of user. The interface is not only beautiful and friendly but also can be extended, maintained and is highly secured. So it can realize the basic requirements of an traffic regulations test, and can be run in any kinds of normal container accorded with Java Web, and also

7、 is compatible with most of the frequently-used browsers. It can be predicted that this kind of traffic regulations test syste m which is accorded with the 2.0 standard, with its better frame, extendibility and security, will win more and more popularity. The future of traffic regulations test is

8、very bright and lively. Key Words: traffic regulations test; Java Web; Struts; 目 錄 摘  要 i Abstract ii 第1章 緒  論 1 本文工作的來源 1 目的和意義 1 本文工作的主要內(nèi)容 2 系統(tǒng)概述 3 設(shè)計(jì)背景 3 設(shè)計(jì)目標(biāo) 3 運(yùn)行環(huán)境 3 功能需求 4 第3章 總體設(shè)計(jì) 5 系統(tǒng)體系結(jié)構(gòu) 5 系統(tǒng)模塊介紹 5 系統(tǒng)的物理結(jié)構(gòu) 6 3.3.2 B/S模式的簡(jiǎn)介 7 3.3.3 B/S模式的優(yōu)勢(shì) 7 3.4 數(shù)據(jù)庫概要設(shè)計(jì) 8

9、第4章 詳細(xì)設(shè)計(jì) 9 首頁及主要頁面設(shè)計(jì) 9 整站類設(shè)計(jì) 10 數(shù)據(jù)庫詳細(xì)設(shè)計(jì) 11 主要功能模塊設(shè)計(jì) 12 首頁設(shè)計(jì) 12 模擬考試頁設(shè)計(jì) 13 后臺(tái)用戶成績(jī)管理頁面設(shè)計(jì) 15 用戶注冊(cè)頁面設(shè)計(jì) 15 第5章 系統(tǒng)的編碼 17 系統(tǒng)框架 17 開發(fā)語言 17 系統(tǒng)編程 18 數(shù)據(jù)庫連接 18 5.3.2 模擬考試抽題 19 5.3.3 計(jì)算考試時(shí)間及剩余時(shí)間 20 5.3.4 保存考試結(jié)果 21 第6章 測(cè)試 17 測(cè)試原則 22 測(cè)試方法 22 測(cè)試實(shí)例 23 測(cè)試結(jié)果及分析 24 單元測(cè)試部分 24 集成測(cè)試部分 24 結(jié)  論 25 致

10、  謝 27 參 考 文 獻(xiàn) 28 附錄A 部分代碼展示 29 外文科技資料翻譯 38 英文原文 38 中文翻譯 45 第1章 緒  論 在競(jìng)爭(zhēng)越來越激烈的今天,人們的生活工作節(jié)奏也在急劇加快。現(xiàn)在幾乎所有行業(yè)為了適應(yīng)新的社會(huì)節(jié)奏,都大量采用機(jī)器幫助提高勞動(dòng)生產(chǎn)效率,降低生產(chǎn)成本,增強(qiáng)單位的競(jìng)爭(zhēng)能力。電腦模擬考試作為一種新的教學(xué)方式正受到越來越多的重視。多數(shù)駕駛學(xué)校由于技術(shù)原因以及學(xué)員自身情況,致使大量的時(shí)間和人力白白浪費(fèi)在交通規(guī)則教學(xué)上,不僅教學(xué)效率低,而且教學(xué)成本大幅度上升,不利于市場(chǎng)的競(jìng)爭(zhēng)。因此,為適應(yīng)發(fā)展,駕駛學(xué)校需要一個(gè)適用于其特殊性的軟件,以方便其模擬考試工作

11、所用,提高學(xué)員的學(xué)習(xí)效率,減輕教學(xué)人員的勞動(dòng)強(qiáng)度,提高其勞動(dòng)效率,真正做到解放生產(chǎn)力,創(chuàng)造更多的勞動(dòng)價(jià)值;使學(xué)校更規(guī)范、科學(xué)、高效、有更大的發(fā)展?jié)摿1]。 基于以上原因,我決定設(shè)計(jì)一款出題快速準(zhǔn)確,無出題重題現(xiàn)象,能按考試題庫進(jìn)行順序出題,隨機(jī)出題,能對(duì)選定題庫進(jìn)行針對(duì)練習(xí),練習(xí)時(shí)能馬上提示學(xué)員所選答案是否正確,模擬考試后能對(duì)考試中做錯(cuò)題進(jìn)行重點(diǎn)練習(xí),練習(xí)或考試中能進(jìn)行計(jì)時(shí)等功能。 本設(shè)計(jì)源于開發(fā)一個(gè)完全自主創(chuàng)新并能夠應(yīng)用于學(xué)習(xí)中的交通規(guī)則考試系統(tǒng)的構(gòu)想,應(yīng)用平時(shí)學(xué)習(xí)的知識(shí)和生活總結(jié)的經(jīng)驗(yàn)以及對(duì)同類產(chǎn)品的借鑒,開發(fā)出這個(gè)交通規(guī)則模擬考試系統(tǒng)。其難度工作量也都符合畢業(yè)設(shè)計(jì)的要求,是符合

12、教學(xué)要求的模擬題目。 交通規(guī)則模擬考試系統(tǒng),采用了當(dāng)今流行的B/S結(jié)構(gòu),適應(yīng)了駕駛員培訓(xùn)教育發(fā)展的新需要,對(duì)用戶來說,不僅可以減少人力、物力和財(cái)力資源的浪費(fèi),更重要的是有助于提高學(xué)員考試的通過率。這和以往單機(jī)版的駕駛員理論考試系統(tǒng)相比,系統(tǒng)不需要安裝,節(jié)約了本地計(jì)算機(jī)資源,方便了用戶的接入,只要能上網(wǎng)就能隨時(shí)模擬練習(xí),也滿足了當(dāng)今駕校學(xué)員爆炸式增長(zhǎng)的需求。該系統(tǒng)經(jīng)過試運(yùn)行及測(cè)試,能符合當(dāng)今此類系統(tǒng)的先進(jìn)性、實(shí)用性、可靠性等特點(diǎn),將引領(lǐng)駕駛員理論考試網(wǎng)上模擬系統(tǒng)的新模式。隨著互聯(lián)網(wǎng)的普及和駕駛員培訓(xùn)事業(yè)的不斷發(fā)展與壯大,會(huì)有越來越多的用戶樂于接受駕駛員理論考試的網(wǎng)上模擬,其市場(chǎng)潛力會(huì)得到充

13、分發(fā)揮。 1.3本文工作的主要內(nèi)容 本設(shè)計(jì)主要實(shí)現(xiàn)交通規(guī)則模擬考試系統(tǒng)的基本功能,包括: (1) 試題的添加、修改、刪除、修改操作:添加試卷功能由用戶填寫試題的題目,所屬章節(jié),各選項(xiàng)答案,正確答案等信息,當(dāng)用戶點(diǎn)擊確定時(shí)將題目存入數(shù)據(jù)庫。試題修改功能可修改除所屬章節(jié)以外的試題信息,刪除功能則從數(shù)據(jù)庫中刪除本條試題記錄。 (2) 自動(dòng)抽取試題 :當(dāng)用戶進(jìn)入模擬考試界面時(shí)系統(tǒng)將從數(shù)據(jù)庫中隨機(jī)抽取指定數(shù)量的題目,而題目將涉及到試題表中所有的章節(jié)。 (3) 自動(dòng)評(píng)分:當(dāng)用戶回答完所有題目點(diǎn)擊提交按鈕時(shí)系統(tǒng)將會(huì)對(duì)用戶的答題進(jìn)行評(píng)分,并將成績(jī),考生考號(hào)和考試時(shí)間等信息插入數(shù)據(jù)庫。模擬考試

14、中設(shè)置了考試時(shí)間,當(dāng)剩余時(shí)間為0時(shí),計(jì)時(shí)系統(tǒng)將計(jì)算出此時(shí)用戶所答題目的成績(jī),并將結(jié)果保存至數(shù)據(jù)庫。 (4) 統(tǒng)計(jì)考生成績(jī)與自測(cè)情況:當(dāng)用戶進(jìn)入統(tǒng)計(jì)界面后系統(tǒng)會(huì)取出數(shù)據(jù)庫中的成績(jī)表中該考生的所以記錄,將其展示在頁面中 (5) 分章節(jié)練習(xí):當(dāng)用戶進(jìn)入章節(jié)練習(xí)模塊中時(shí),系統(tǒng)將從數(shù)據(jù)庫中的試題表中抽取同一類型中的所有題目,并將答案顯示在頁面底部。 (6) 錯(cuò)題練習(xí):當(dāng)用戶進(jìn)入錯(cuò)題練習(xí)模塊中時(shí),系統(tǒng)將從數(shù)據(jù)庫中的錯(cuò)題表中抽取用戶曾經(jīng)在模擬考試中答錯(cuò)的題目,并將答案顯示在頁面底部。 本文主要介紹設(shè)計(jì)所用到的一些技術(shù)、所采用的方法和特點(diǎn)功能等。其中第二章需求分析從計(jì)算機(jī)軟硬件方面分別介紹本設(shè)計(jì)需要的

15、運(yùn)行需求和運(yùn)行環(huán)境,并在其后的內(nèi)容中對(duì)用戶的詳細(xì)需求進(jìn)行分析。第三章總體設(shè)計(jì)主要介紹系統(tǒng)的功能結(jié)構(gòu)、主要物理架構(gòu)、安全和數(shù)據(jù)庫概要設(shè)計(jì)。第四章詳細(xì)設(shè)計(jì)主要介紹了主要頁面和類(包括包)的設(shè)計(jì)、數(shù)據(jù)庫詳細(xì)設(shè)計(jì)、界面設(shè)計(jì)等。第五章主要介紹本設(shè)計(jì)采用的主流技術(shù)、框架,開發(fā)工具和一些精髓代碼的展示說明。第六章是測(cè)試,主要介紹了本系統(tǒng)所采用的白盒、黑盒測(cè)試方式,所獲得的測(cè)試結(jié)果以及針對(duì)結(jié)果所做的修改等。 第2章 需求分析 2.1系統(tǒng)概述 本交通規(guī)則模擬考試系統(tǒng)提供對(duì)用戶模擬考試實(shí)現(xiàn)的支持。為滿足用戶對(duì)交通規(guī)則模擬考試系統(tǒng)的需要,開發(fā)本套開源代碼的交通規(guī)則模擬考試系統(tǒng)。 本考試系統(tǒng)面向一般用戶,

16、對(duì)Web技術(shù)有一定了解的人群。本套系統(tǒng)完全為免費(fèi)開源軟件,提供Java Web交流、學(xué)習(xí)之平臺(tái)。共同完善本交通規(guī)則模擬考試系統(tǒng)。本著實(shí)用精神,本系統(tǒng)將完成基本考試功能并提供較強(qiáng)的接口對(duì)更多功能提供支持。 設(shè)計(jì)背景 本設(shè)計(jì)面向所有希望學(xué)習(xí)交通規(guī)則的人和一起參與Java Web學(xué)習(xí)交流的同行,基于JSP+Struts+MS SQL Server以及CSS花費(fèi)2個(gè)月時(shí)間設(shè)計(jì)開發(fā)。 設(shè)計(jì)目標(biāo) 完成交通規(guī)則考試系統(tǒng)的基本功能:包括對(duì)試題的添加,修改刪除,用戶登陸,模擬考試,按章節(jié)練習(xí),錯(cuò)題練習(xí),統(tǒng)計(jì)考生自測(cè)情況等 功能。 運(yùn)行環(huán)境 (1) 硬件環(huán)境 ①服務(wù)器端要求: CPU:Inte

17、r Pentium Ⅳ或AMD Athlon 3000+或更高 內(nèi)存:256MB 硬盤:100MB ②客戶端要求: CPU:Inter Pentium Ⅲ或AMD Athlon 2600+或更高 內(nèi)存:128MB (2) 軟件環(huán)境 ①服務(wù)器端要求: 操作系統(tǒng):Windows 2000 Server或更高、Linux Server、Unix Java Web容器:JDK1.5或更高、 數(shù)據(jù)庫系統(tǒng):Microsoft SQL Server 2000 sp4 ②客戶端要求: 操作系統(tǒng):多媒體操作系統(tǒng) 、Firefox 2、Firefox3及同類瀏覽器 瀏覽器插件及腳本要求

18、:JavaScript 2.2功能需求 交通規(guī)則考試網(wǎng)站功能:交通規(guī)則模擬考試系統(tǒng)功能:前臺(tái)頁面使用考生準(zhǔn)考證號(hào)與密碼登錄,考生可逐節(jié)練習(xí)、模擬考試、錯(cuò)題復(fù)習(xí)、常用網(wǎng)址等內(nèi)容??色@取考生自測(cè)統(tǒng)計(jì)結(jié)果,當(dāng)考生提交試卷后由系統(tǒng)進(jìn)行自動(dòng)評(píng)分將結(jié)果顯示在用戶界面。后臺(tái)管理頁面使用管理員用戶名與密碼登錄,管理員享有管理(添加、修改、刪除)試題庫、管理(添加、修改、統(tǒng)計(jì))自測(cè)統(tǒng)計(jì)結(jié)果的權(quán)限。管理員可向試題庫添加,刪除或修改試題,可根據(jù)考生提交的試卷測(cè)試情況統(tǒng)計(jì)出考生成績(jī)排名,易錯(cuò)題等內(nèi)容,方便考生自我評(píng)估。 (1)交通規(guī)則模擬考試系統(tǒng)用戶界面:采用淺藍(lán)色作背景,清新簡(jiǎn)約風(fēng)格。 (2)交通規(guī)則模擬考

19、試系統(tǒng)的軟件接口:界面采用完全按CSS布局控制,風(fēng)格完全可以通過CSS實(shí)現(xiàn)自定義;數(shù)據(jù)庫采用DAO連接,通過修改DAO中的方法可輕松改變數(shù)據(jù)庫各種操作。 (3)確定交通規(guī)則考試系統(tǒng)維護(hù)的要求:不定期根據(jù)情況推出新界面和代碼調(diào)整,優(yōu)化系統(tǒng)性能、豐富網(wǎng)站界面。內(nèi)容方面完全由用戶自主更新。 (4)確定交通規(guī)則模擬考試系統(tǒng)空間租賃要求:支持JSP的主機(jī),500~800元/年。 (5)主頁面及次頁面數(shù)量:前臺(tái)主頁1個(gè),次頁面15個(gè)。后臺(tái)主頁面1個(gè),次頁面14個(gè)。 (6)管理及內(nèi)容錄入任務(wù)分配:由管理員確定。 (7)各種頁面特殊效果及其數(shù)量:前臺(tái)頁面由默認(rèn)風(fēng)格及用戶選擇風(fēng)格決定(可擴(kuò)展多個(gè)風(fēng)格)

20、,后臺(tái)風(fēng)格固定。 (8)信息保密性要求:數(shù)據(jù)庫及Java Web服務(wù)器物理安全。程序代碼安全,無后門,權(quán)限分配及管理安全,密碼安全等。 第3章 總體設(shè)計(jì) 系統(tǒng)體系結(jié)構(gòu) 交通規(guī)則模擬考試系統(tǒng) 自測(cè)統(tǒng)計(jì) 自測(cè)評(píng)分 模擬測(cè)試 自動(dòng)評(píng)分 獲取試卷 試卷管理 成績(jī)管理 添加、修改、刪除 統(tǒng)計(jì)、修改、添加 前臺(tái)自測(cè)頁面 后臺(tái)管理頁面 章節(jié)練習(xí) 錯(cuò)題練習(xí) 統(tǒng)計(jì)測(cè)試情況 圖3.1 系統(tǒng)功能結(jié)構(gòu)圖 3.2 系統(tǒng)模塊介紹 本系統(tǒng)分為前臺(tái)自測(cè)與后臺(tái)管理兩大功能模塊,用戶首先從前臺(tái)登陸界面

21、進(jìn)入自測(cè)首頁由此可進(jìn)入模擬考試,錯(cuò)題管理,章節(jié)練習(xí)等子功能模塊從而選擇各項(xiàng)自測(cè)功能;管理員從后臺(tái)登陸界面進(jìn)入后臺(tái)管理首頁,由此可進(jìn)入試題管理,章節(jié)管理,成績(jī)管理等子功能模塊從而選擇各項(xiàng)管理功能。 (1) 試卷管理 本模塊實(shí)現(xiàn)對(duì)試卷題目,章節(jié)等內(nèi)容的添加、修改、刪除等功能,操作試卷信息需要管理員權(quán)限。在提交時(shí),程序會(huì)對(duì)所提交的信息進(jìn)行檢查,當(dāng)添加重復(fù)題目或章節(jié)時(shí)會(huì)以對(duì)話框的形式給與提醒, (2) 成績(jī)管理 該模塊實(shí)現(xiàn)了對(duì)用戶考試結(jié)果的集中展示,列舉出用戶考試的時(shí)間,用戶ID,成績(jī)等信息,方便管理員分析用戶考試情況同時(shí)本模塊提供了搜索功能??筛鶕?jù)用戶的ID進(jìn)行搜索,快速查找到感興趣的結(jié)果。

22、 (3) 模擬測(cè)試 該模塊實(shí)現(xiàn)了模擬考試中計(jì)時(shí),獲取題目的功能,用戶在登陸狀態(tài)下在其中回答問題,如果考試時(shí)間結(jié)束,則自動(dòng)關(guān)閉頁面。本模塊中抽取的題目來自數(shù)據(jù)庫中的題目表,抽取方式為隨機(jī)抽取,同時(shí)保證所抽取的題目涉及到題庫中的所有章節(jié)。頁面頂部有計(jì)時(shí)功能,等剩余時(shí)間顯示為0時(shí),則系統(tǒng)將結(jié)束本次考試,并對(duì)之前所答題目進(jìn)行評(píng)分,并將成績(jī)存入數(shù)據(jù)庫。 (4) 自測(cè)評(píng)分 該模塊實(shí)現(xiàn)對(duì)用戶提交的答案進(jìn)行評(píng)分的功能,以對(duì)話框的形式展示成績(jī)。并將結(jié)果保存至數(shù)據(jù)庫,方便統(tǒng)計(jì)成績(jī),并將用戶沒有回答正確的題目存入數(shù)據(jù)庫中的錯(cuò)題表,當(dāng)用戶選擇錯(cuò)題練習(xí)功能時(shí)將從中抽取題目。 (5) 自測(cè)統(tǒng)計(jì) 該模塊實(shí)現(xiàn)對(duì)用

23、戶成績(jī)進(jìn)行統(tǒng)計(jì)的功能,列舉出用戶每次考試的成績(jī),時(shí)間等信息,方便用戶對(duì)自身情況進(jìn)行評(píng)估。 (6) 錯(cuò)題練習(xí) 該模塊為用戶提供練習(xí)做錯(cuò)的題目的功能,并提供正確答案,方便用戶掌握易錯(cuò)題型。所抽取的錯(cuò)題從數(shù)據(jù)庫中取出,同時(shí)在頁面底部顯示題目的正確答案。 (7) 章節(jié)練習(xí) 該模塊為用戶提供按章節(jié)練習(xí)題目的功能,并提供正確答案,方便用戶循序漸進(jìn)的學(xué)習(xí)。在此模塊中,頁面中將展示出同一章節(jié)中所以題目,并在頁面底部展示出題目的答案。 系統(tǒng)的物理結(jié)構(gòu) 現(xiàn)在開發(fā)管理信息系統(tǒng)一般都是采用C/S或者B/S模式兩種模式,但這兩種模式又都有自己的優(yōu)點(diǎn)與不足。本系統(tǒng)采用B/S模式進(jìn)行開發(fā)設(shè)計(jì); 3.3.2 B

24、/S模式的簡(jiǎn)介 Browser/Server(瀏覽器/服務(wù)器)結(jié)構(gòu),是隨著Internet技術(shù)的興起,對(duì)C/S結(jié)構(gòu)的一種變化或者改進(jìn)的結(jié)構(gòu)。在這種結(jié)構(gòu)下,用戶界面完全通過WWW瀏覽器實(shí)現(xiàn),一部分事務(wù)邏輯在前端實(shí)現(xiàn),但是主要事務(wù)邏輯在服務(wù)器端實(shí)現(xiàn)。B/S結(jié)構(gòu),主要是利用了WWW瀏覽器技術(shù),結(jié)合瀏覽器的多種Script語言(JavaScript 、VBScript……)和ActiveX技術(shù),用通用瀏覽器就實(shí)現(xiàn)了原來需要復(fù)雜專用軟件才能實(shí)現(xiàn)的強(qiáng)大功能,并節(jié)約了開發(fā)成本,是一種全新的軟件系統(tǒng)構(gòu)造技術(shù)。隨著Windows 98/Windows 2000將瀏覽器技術(shù)植入操作系統(tǒng)內(nèi)部,這種結(jié)構(gòu)更成為當(dāng)今應(yīng)

25、用軟件的首選體系結(jié)構(gòu)。顯然B/S結(jié)構(gòu)應(yīng)用程序相對(duì)于傳統(tǒng)的C/S結(jié)構(gòu)應(yīng)用程序有了巨大的進(jìn)步。 B/S結(jié)構(gòu)采用星形拓?fù)浣Y(jié)構(gòu)建立企業(yè)內(nèi)部通信網(wǎng)絡(luò)或利用Internet虛擬專網(wǎng)(VPN)。B/S結(jié)構(gòu)具有節(jié)省投資、跨地域廣的優(yōu)點(diǎn),無須視企業(yè)規(guī)模和地理分布確定。企業(yè)內(nèi)部通過防火墻接入Internet,再整個(gè)網(wǎng)絡(luò)采用TCP/IP協(xié)議。網(wǎng)絡(luò)結(jié)構(gòu)如圖所示: B/S模式的優(yōu)勢(shì) B/S最大的優(yōu)點(diǎn)就是可以在任何地方進(jìn)行操作而不用安裝任何專門的軟件。只要有一臺(tái)能上網(wǎng)的電腦就能使用,客戶端零維護(hù)。系統(tǒng)的擴(kuò)展非常容易,只要能上網(wǎng),再由系統(tǒng)管理員分配一個(gè)用戶名和密碼,就可以使用了。甚至可以在線申請(qǐng),通過公司內(nèi)部的安全

26、認(rèn)證后,不需要人的參與,系統(tǒng)可以自動(dòng)分配給用戶一個(gè)賬號(hào)進(jìn)入系統(tǒng)。系統(tǒng)物理結(jié)構(gòu)如圖所示: 控制器 (Servlet) 視圖 (JSP) 瀏覽器 (Model) JavaBean 請(qǐng)求 響應(yīng) 應(yīng)用服務(wù)器 數(shù)據(jù)庫 實(shí)例化 圖3.2 系統(tǒng)的物理結(jié)構(gòu)圖 左部分瀏覽器屬于客戶端,右部分屬于服務(wù)器。其中控制器及業(yè)務(wù)邏輯使用Struts實(shí)現(xiàn),視圖由JSP實(shí)現(xiàn),數(shù)據(jù)庫采用MS SQL Server 2000。 數(shù)據(jù)庫概要設(shè)計(jì) 一個(gè)設(shè)計(jì)良好的數(shù)據(jù)庫,可以使系統(tǒng)的實(shí)現(xiàn)變得非常的簡(jiǎn)單,同時(shí),也可以使系統(tǒng)的執(zhí)行速度變得很快。反之,一個(gè)設(shè)計(jì)混亂的數(shù)據(jù)庫,不僅增加了吸引的管理實(shí)現(xiàn)過

27、程,同時(shí)在系統(tǒng)的執(zhí)行過程中,使得檢索變得很慢,降低效率。所以數(shù)據(jù)庫的設(shè)計(jì)是一個(gè)系統(tǒng)設(shè)計(jì)很重要的步驟。 根據(jù)系統(tǒng)功能設(shè)計(jì)要求和模塊劃分,本站的數(shù)據(jù)庫主要有錯(cuò)題信息、題目信息、用戶信息、章節(jié)信息、結(jié)果信息等表。 數(shù)據(jù)庫的設(shè)計(jì)通常是以一個(gè)已經(jīng)存在的數(shù)據(jù)庫管理系統(tǒng)為基礎(chǔ)的,常用的數(shù)據(jù)庫管理系統(tǒng)有Access、SQL Server、Oracle、My SQL等。根據(jù)用戶需求和系統(tǒng)分析,本系統(tǒng)采用SQL Server 2000數(shù)據(jù)庫管理系統(tǒng)。在SQL Server 2000的數(shù)據(jù)庫管理系統(tǒng)中建立名稱為db_netExam的數(shù)據(jù)庫。為了保證較好的安全和兼容性,SQL Server 2000要求集成sp4

28、補(bǔ)丁和所有安全補(bǔ)丁。 第4章 詳細(xì)設(shè)計(jì) 表4.1 主要頁面文件及其作用 文件名 說明 前臺(tái)登陸界面 default.jsp 前臺(tái)功能主界面 exercise.jsp 考試功能選擇頁面 top.jsp 模板文件,用于構(gòu)建網(wǎng)頁頂部 style.css 本文件夾用于存儲(chǔ)各種不同顯示樣式,可根據(jù)不同需要添加CSS樣式 register.jsp 前臺(tái)用戶注冊(cè)頁面 selectLesson.jsp 選擇章節(jié)的頁面 startExam.jsp 模擬考試頁面 startExercise.jsp 逐節(jié)練習(xí)頁面 startWrong.jsp 錯(cuò)題練習(xí)頁面

29、 Student_Modify.jsp 修改學(xué)生信息頁面 stuResultQuery.jsp 查看考試結(jié)果頁面 manage\ left.jsp 后臺(tái)功能選擇頁面 manage\manager_add.jsp 添加管理員頁面 manage\questions_add.jsp 添加題目頁面 manage\selTao.jsp 添加章節(jié)頁面 manage\copyright.jsp 聲明頁面 Struts配置文件 Struts主要標(biāo)簽庫之一,用于實(shí)現(xiàn)各種邏輯和顯示 Struts主要標(biāo)簽庫之一,用于實(shí)現(xiàn)各種邏輯和顯示 Struts主要標(biāo)簽庫之一,

30、用于實(shí)現(xiàn)各種邏輯和顯示 WEB- 整個(gè)網(wǎng)站的配置文件 圖4.1 網(wǎng)站文件結(jié)構(gòu)圖 本站所用到的類分為4個(gè)包,包括用于連接數(shù)據(jù)庫的core,用于操作數(shù)據(jù)表的dao,用于用戶交互的action,以及actionForm。這些包分別管理和完善系統(tǒng)的各個(gè)方面。例如dao實(shí)現(xiàn)的是與操作數(shù)據(jù)表的功能,每個(gè)表都對(duì)應(yīng)著一個(gè)唯一的dao,用來實(shí)現(xiàn)程序中對(duì)表中數(shù)據(jù)的增,刪,改,查。Action負(fù)責(zé)接收用戶請(qǐng)求。整站的包結(jié)構(gòu)如下: 圖4.2 本網(wǎng)站的包結(jié)構(gòu) 根據(jù)系統(tǒng)功能設(shè)計(jì)要求和模塊劃分,本站的數(shù)據(jù)庫主要包括課程信息表、管理員信息表、題目信息表、用戶信息表、考試結(jié)果表、章節(jié)信息表、

31、錯(cuò)題信息表等7個(gè)表。各表的表結(jié)構(gòu)如下: 表 課程信息表結(jié)構(gòu) 字段名 數(shù)據(jù)類型 長(zhǎng)度 鍵 備注 ID bigint 8 主鍵 標(biāo)識(shí)符 Name varchar 60 課程名 JoinTime datetime 18 加入時(shí)間 表 管理員信息表結(jié)構(gòu) 字段名 數(shù)據(jù)類型 長(zhǎng)度 鍵 備注 ID bigint 8 主鍵 標(biāo)識(shí)符 NAME varchar 30 名稱 PWD varchar 30 密碼 表 題目信息表結(jié)構(gòu) 字段名 數(shù)據(jù)類型 長(zhǎng)度 鍵 備注 ID bigint 8 主鍵

32、 標(biāo)識(shí)符 subject varchar 50 題目 Type char 6 題目類型 JoinTime datetime 8 加入時(shí)間 lessonId int 4 課程信息表外鍵 課程ID taoTiId bigint 8 章節(jié)ID optionA varchar 50 A選項(xiàng)內(nèi)容 optionB varchar 50 B選項(xiàng)內(nèi)容 optionC varchar 50 C選項(xiàng)內(nèi)容 optionD varchar 50 D選項(xiàng)內(nèi)容 answer varchar 10 答案

33、 表4.4 錯(cuò)題信息表結(jié)構(gòu) 字段名 數(shù)據(jù)類型 長(zhǎng)度 鍵 備注 stuId varchar 16 用戶信息表外鍵 用戶id quesId bigint 8 題目信息表外鍵 題目id ID bigint 8 主鍵 標(biāo)識(shí)符 表4.5 章節(jié)信息表結(jié)構(gòu) 字段名 數(shù)據(jù)類型 長(zhǎng)度 鍵 備注 ID bigint 8 主鍵 標(biāo)識(shí)符 Name varchar 50 名稱 LessonID bigint 8 章節(jié)ID JoinTime datetime 8 加入時(shí)間 表4.6 用戶信息表結(jié)構(gòu) 字段

34、名 數(shù)據(jù)類型 長(zhǎng)度 鍵 備注 ID varchar 16 主鍵 標(biāo)識(shí)符 name varchar 20 名稱 pwd varchar 20 密碼 sex varchar 2 性別 jointime datetime 8 加入時(shí)間 question varchar 50 問題 answer varchar 50 答案 表4.7 考試結(jié)果表結(jié)構(gòu) 字段名 數(shù)據(jù)類型 長(zhǎng)度 鍵 備注 ID int 8 主鍵 標(biāo)識(shí)符 stuId varcher 16 用戶信息表外鍵 用戶

35、ID whichLesson varcher 60 課程信息表外鍵 課程名 resSingle int 4 單選分?jǐn)?shù) resTotal int 4 多選分?jǐn)?shù) resTotal int 4 總分 joinTime datetime 8 加入時(shí)間 主要功能模塊設(shè)計(jì) 首頁設(shè)計(jì) 首頁是用戶對(duì)網(wǎng)站的第一印象,一個(gè)好的首頁能夠極大的提高用戶的好感度和訪問率,考試系統(tǒng)也不例外。 本系統(tǒng)默認(rèn)首頁為清新風(fēng)格,背景為藍(lán)天草地,樸素且柔和,可以很好的緩解用戶因?yàn)榭荚嚩a(chǎn)生的緊張情緒。本站所有頁面均由CSS布局,在不同的瀏覽器中展示的效果稍有區(qū)別,

36、在ie中展示效果最佳。下圖是首頁的截圖: 圖4.3 主頁截圖 模擬考試頁設(shè)計(jì) 模擬考試功能是本程序的核心功能,是本程序的重點(diǎn),頁面包括時(shí)間展示和試題展示兩部分。頂部包括考試時(shí)間、計(jì)時(shí)和剩余時(shí)間三部分。用于提醒用戶考試時(shí)間。主體部分為試卷的試題,并用紅字指出每道題目的分?jǐn)?shù),底部為提交按鈕,當(dāng)考生確認(rèn)答題結(jié)束后可點(diǎn)擊它來提交結(jié)果,程序會(huì)自動(dòng)評(píng)分,并將成績(jī)以對(duì)話框的形式展示給用戶。如果頂部的剩余時(shí)間耗盡,同樣視為提交了答案,系統(tǒng)將進(jìn)入評(píng)分階段。圖 圖4.4 模擬考試頁面截圖 圖4.5 成績(jī)結(jié)果對(duì)話框截圖 后臺(tái)用戶成績(jī)管理頁面設(shè)計(jì) 本程序不僅完整的模擬了交通規(guī)則考試的功

37、能,而且擁有功能強(qiáng)大的后臺(tái)管理及統(tǒng)計(jì)功能。通過后臺(tái)管理界面,管理員可以輕松的瀏覽用戶的考試結(jié)果。本頁面主要包括四部分,頂部為統(tǒng)一風(fēng)格的歡迎界面,并在加載過程中檢測(cè)用戶是否登陸,如果尚未登陸則跳轉(zhuǎn)至登陸界面,左側(cè)為功能選擇區(qū)域,列舉出程序后臺(tái)所具備的全部功能,單擊不同的項(xiàng)目則頁面主體區(qū)域出現(xiàn)對(duì)應(yīng)的功能界面。頁面主體區(qū)域展示了全部用戶的考試信息,包括用戶ID、考試時(shí)間、成績(jī)等內(nèi)容。該界面提供了搜索功能,可以通過用戶ID和考試時(shí)間搜索成績(jī)信息。底部為聲明部分,并提示本程序界面的最佳展示方法。 圖4.6 后臺(tái)管理截圖 4.4.4用戶注冊(cè)頁面設(shè)計(jì) 注冊(cè)是用戶對(duì)網(wǎng)站的一種認(rèn)可,良好的注冊(cè)頁面會(huì)

38、給用戶一種舒適的感覺和溫馨的體驗(yàn),會(huì)促使他們認(rèn)真填寫注冊(cè)信息。同時(shí)友好的錯(cuò)誤提示對(duì)于用戶注冊(cè)也是必不可少的。在登錄界面各輸入欄右側(cè),給出了正確填寫的標(biāo)準(zhǔn),如果用戶填寫不符合要求,會(huì)在提交時(shí)返回不符合要求的地方,并要求修改該處。本站的注冊(cè)頁如下: 圖4.7 注冊(cè)頁面截圖 第5章 系統(tǒng)的編碼 5.1系統(tǒng)框架 為了更加科學(xué)和完美地完成本設(shè)計(jì),本系統(tǒng)還采用Apache組織的Struts開源框架(1.2版本)構(gòu)建控制層和業(yè)務(wù)層。 圖是Struts基本結(jié)構(gòu)圖,可以看出,采用Struts框架結(jié)構(gòu)的Web應(yīng)用系統(tǒng)主要由控制器、業(yè)務(wù)邏輯、模型和視圖組成。其中的控制器、模型和視圖為Struts框架

39、結(jié)構(gòu)的主要組成部分,而事務(wù)邏輯則是我們需要實(shí)現(xiàn)的系統(tǒng)業(yè)務(wù)邏輯處理部分。嚴(yán)格的說系統(tǒng)應(yīng)該使用專門的部分實(shí)現(xiàn)業(yè)務(wù)邏輯,而不是使用Struts來實(shí)現(xiàn),但就本系統(tǒng)而言,業(yè)務(wù)邏輯比較簡(jiǎn)單,雖然引入專門的邏輯業(yè)務(wù)處理單元沒有任何問題,考慮到程序復(fù)雜性和運(yùn)行效率問題,決定還是省略用作專門處理業(yè)務(wù)的邏輯單元。 客戶 (瀏覽器) 控制器 (ActionServlet) 模型 (ActionForm) 業(yè)務(wù)邏輯 (Action) 視圖 (JSP) 請(qǐng)求 轉(zhuǎn)發(fā) 響應(yīng) 分配 讀取 <標(biāo)記> struts 圖5.1 Struts的基本結(jié)構(gòu) 5.2開發(fā)語言 本系統(tǒng)采用JSP

40、開發(fā),主要后臺(tái)代碼都由Java編程開發(fā)。此外,一些配置文件由XML文件編寫。 JSP(JavaServer Pages)是由Sun Microsystems公司倡導(dǎo)、許多公司參與一起建立的一種動(dòng)態(tài)網(wǎng)頁技術(shù)標(biāo)準(zhǔn)。JSP技術(shù)有點(diǎn)類似ASP技術(shù),它是在傳統(tǒng)的網(wǎng)頁HTML文件)中插入Java程序段(Scriptlet)和JSP標(biāo)記(tag),從而形成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和scriptlet

41、s訪問存在于服務(wù)端的資源的應(yīng)用邏輯。JSP將網(wǎng)頁邏輯與網(wǎng)頁設(shè)計(jì)和顯示分離,支持可重用的基于組件的設(shè)計(jì),使基于Web的應(yīng)用程序的開發(fā)變得迅速和容易。JSP技術(shù)的強(qiáng)勢(shì): (1)一次編寫,到處運(yùn)行。在這一點(diǎn)上Java比PHP更出色,除了系統(tǒng)之外,代碼不用做任何更改。 (2)系統(tǒng)的多平臺(tái)支持。基本上可以在所有平臺(tái)上的任意環(huán)境中開發(fā),在任意環(huán)境中進(jìn)行系統(tǒng)部署, 在任意環(huán)境中擴(kuò)展。相比ASP/PHP的局限性是顯而易見的。 (3)強(qiáng)大的可伸縮性。從只有一個(gè)小的Jar文件就可以運(yùn)行Servlet/JSP,到由多臺(tái)服務(wù)器進(jìn)行集群和負(fù)載均衡,到多臺(tái)Application進(jìn)行事務(wù)處理,消息處理,一臺(tái)服務(wù)器到

42、無數(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)之下。 5.3.1數(shù)據(jù)庫連接 ()方法獲得數(shù)據(jù)庫連接池。其中DriverManager. getConnection()的三個(gè)參數(shù)為別代表數(shù)據(jù)庫名稱,數(shù)據(jù)庫用戶名,數(shù)據(jù)庫密碼,將這三個(gè)參數(shù)傳入就可以通過conn變量操作數(shù)據(jù)庫了。 具體代碼如下: public class ConnDB { public Connection conn = null; // 聲明Conne

43、ction對(duì)象的實(shí)例 public Statement stmt = null; // 聲明Statement對(duì)象的實(shí)例 public ResultSet rs = null; // 聲明ResultSet對(duì)象的實(shí)例 private static String propFileName = "/com/connDB.properties"; private static Properties prop = new Properties(); private static String dbClassName = "com.microsoft.jdbc.sqlserver.

44、SQLServerDriver";//定義保存數(shù)據(jù)庫驅(qū)動(dòng)的變量 private static String dbUrl = "jdbc:microsoft:sqlserver://localhost:1433;DatabaseName=db_netExam"; private static String dbUser = "sa"; private static String dbPwd = "123"; public static Connection getConnection() { Connection conn = null; try { Clas

45、s.forName(dbClassName).newInstance(); conn = DriverManager.getConnection(dbUrl, dbUser, dbPwd); } catch (Exception ee) { ee.printStackTrace(); } if (conn == null) { System.err.println("警告: DbConnectionManager.getConnection() 獲得數(shù)據(jù)庫鏈接失敗.\r\n\r\n鏈接類型:"+ dbClassName+ "\r\n鏈接位置:"+ dbUr

46、l+ "\r\n用戶/密碼"+ dbUser + "/" + dbPwd); } return conn; } } 5.3.2 模擬考試抽題 本系統(tǒng)的模擬考試抽題部分采用了隨機(jī)抽題的方式,同時(shí)所抽取的題目將涉及數(shù)據(jù)庫中所存儲(chǔ)的所有試題章節(jié),實(shí)現(xiàn)方法為在sql語句中調(diào)用了newid()數(shù)據(jù)庫方法;該方法配合top n*將從select語句自定的查找范圍中隨機(jī)查找出n條記錄,完整的sql語句為"SELECT top 4 * FROM tb_questions A WHERE taoTiId in(SELECT taoTiId FROM tb_questions WHERE

47、 A.id = id ) order by newid()",返回記錄后將結(jié)果保留到名為questionsList的List中,供模擬考試頁面調(diào)用。具體代碼如下: public List queryExam(int questionsID,String flag){ List questionsList = new ArrayList(); QuestionsForm questionsForm1 = null; String sql=""; if(questionsID==-1){ if(flag.equa

48、ls("0")){ sql = "SELECT top 4 * FROM tb_questions A WHERE taoTiId in(SELECT taoTiId FROM tb_questions WHERE A.id = id ) order by newid()"; }else if(questionsID==-2){ sql = "SELECT * FROM tb_questions WHERE id in (SELECT distinct quesId from tb_Wrong WHERE stuId='"+flag+"

49、'); }else { sql = "SELECT * FROM tb_questions WHERE taoTiID="+questionsID+" } ResultSet rs = conn.executeQuery(sql); String type=""; int id=0; try { rs.last(); int recordNum=rs.getRow(); rs.firs

50、t(); int[] idArr=new int[recordNum]; for(int i=0;i

51、 type=rs.getString(3); questionsForm1.setType(type); questionsForm1.setLessonId(rs.getInt(5)); questionsForm1.setTaoTiId(rs.getInt(6)); questionsForm1.setOptionA(rs.getString(7)); questionsForm1.setOptionB(rs.get

52、String(8)); questionsForm1.setOptionC(rs.getString(9)); questionsForm1.setOptionD(rs.getString(10)); questionsForm1.setAnswer(rs.getString(11))’ questionsForm1.setIdArrS(idArr[i]=id;); questionsForm1.setNote(rs.getS

53、tring(12)); questionsList.add(questionsForm1); rs.next(); } } catch (Exception e) { e.printStackTrace(); //輸出異常信息 } return questionsList; } 5.3.3 計(jì)算考試時(shí)間及剩余時(shí)間 本系統(tǒng)在考生進(jìn)行模擬考試過程中將計(jì)算考試時(shí)間和剩余時(shí)間,當(dāng)剩余時(shí)間耗盡則視為考生提交

54、了試卷,系統(tǒng)將自動(dòng)為試卷進(jìn)行評(píng)分。實(shí)現(xiàn)方法為調(diào)用包下的Date().getTime()方法獲取當(dāng)前的系統(tǒng)時(shí)間;然后通過在Jsp頁面中設(shè)置計(jì)時(shí)timer=Window. setInterv("showStartTime();showRemainTime();",1000); 來不斷更新時(shí)間。計(jì)算剩余時(shí)間時(shí)還要記錄考試開始時(shí)間,并用其與考試時(shí)間相加得到考試結(jié)束時(shí)間,當(dāng)?shù)竭_(dá)結(jié)束時(shí)間時(shí)觸發(fā)提交試卷事件進(jìn)入系統(tǒng)評(píng)分。具體代碼如下: //計(jì)算剩余時(shí)間 private ActionForward showRemainTime(ActionMapping mapping, ActionForm for

55、m, ServletRequest request, ServletResponse response) { Session session = request.getSession(); String startTime=session.getAttribute("startTime").toString(); long a=Long.parseLong(startTime); long b=new java.util.Date().getTime(); long r=20*60000-(b-a-1000); int h=(

56、int)Math.abs(r/3600000); String hour=chStr.formatNO(h,2); int m=(int)(r)%3600000/60000; String minute=chStr.formatNO(m,2); int s=(int)((r)%3600000)%60000/1000; String second=chStr.formatNO(s,2); String time=hour+":"+minute+":"+second; request.setAttribute("showRemainTime",time);

57、 return mapping.findForward("showRemainTime"); } 5.3.4 保存考試結(jié)果 當(dāng)系統(tǒng)對(duì)試卷自動(dòng)評(píng)分后會(huì)將考試結(jié)果,考試時(shí)間和考生準(zhǔn)考證號(hào)保存至數(shù)據(jù)庫中的成績(jī)表中,同時(shí)將做錯(cuò)的題目和考生的準(zhǔn)考證號(hào)保存至錯(cuò)題表中。具體代碼為: public int SaveWrongResult(String studentID,int quesId){ String sql="INSERT INTO tb_Wrong (stuId,quesId) values('"+studentID+"', "+quesId+")"; S

58、ystem.out.println("剛開始考試時(shí)保存考試結(jié)果的SQL語句:"+sql); int ret=conn.executeUpdate(sql); return ret; } //考試結(jié)束后保存考試結(jié)果 public int saveResult(String studentID,int lessonID,int resSingle,intresMore){ String lesson=((LessonForm)lessonDAO.query(lessonID).get(0)).getName(); String sql=

59、"INSERT INTO tb_stuResult (stuId,whichLesson,resSingle,resMore) values('"+studentID+"','"+lesson+"',"+resSingle+","+resMore+")"; resSingle="+resSingle+",resMore="+resMore+" WHERE stuId='"+studentID+"' AND whichLesson='"+lesson+"'"; System.out.println(sql); int ret=conn.executeUpdate(sql

60、); return ret; } 第6章 測(cè)試 原則 軟件測(cè)試(Software testing)是軟件生存期(Software life cycle)中的一個(gè)重要階段,是軟件質(zhì)量保證的關(guān)鍵步驟。通俗地講,軟件測(cè)試就是在軟件投入運(yùn)行前,對(duì)軟件需求分析、設(shè)計(jì)規(guī)格說明和編碼進(jìn)行最終復(fù)審的活動(dòng)。1983年IEEE提出的軟件工程術(shù)語中給軟件測(cè)試下的定義是:“使用人工或自動(dòng)的手段來運(yùn)行或測(cè)定某個(gè)軟件系統(tǒng)的過程,其目的在于檢驗(yàn)它是否滿足規(guī)定的需求或弄清預(yù)期結(jié)果與實(shí)際結(jié)果之間的差別”。這個(gè)定義明確指出:軟件測(cè)試的目的是為了檢驗(yàn)軟件系統(tǒng)是否滿足需求。 在G.J.Myers的經(jīng)典著作《軟

61、件測(cè)試技巧》中,給出了測(cè)試的定義: "程序測(cè)試是為了發(fā)現(xiàn)錯(cuò)誤而執(zhí)行程序的過程"。測(cè)試的目的是發(fā)現(xiàn)程序中的錯(cuò)誤,是為了證明程序有錯(cuò),而不是證明程序無錯(cuò)。在軟件開發(fā)過程中,分析、設(shè)計(jì)與編碼等工作都是建設(shè)性的,惟獨(dú)測(cè)試是帶有"破壞性",測(cè)試可視為分析、設(shè)計(jì)和編碼3個(gè)階段的"最終復(fù)審",在軟件質(zhì)量保證中具有重要地位。為了確保軟件的質(zhì)量,較理想的做法應(yīng)該是對(duì)軟件的開發(fā)過程,按軟件工程各階段形成的結(jié)果,分別進(jìn)行嚴(yán)格的審查。 當(dāng)設(shè)計(jì)工作完成以后,就應(yīng)該著手測(cè)試的準(zhǔn)備工作了,一般來講,由一位對(duì)整個(gè)系統(tǒng)設(shè)計(jì)熟悉的設(shè)計(jì)人員編寫測(cè)試大綱,明確測(cè)試的內(nèi)容和測(cè)試通過的準(zhǔn)則,設(shè)計(jì)完整合理的測(cè)試用例,以便系統(tǒng)實(shí)現(xiàn)后進(jìn)行全

62、面測(cè)試。 軟件測(cè)試主要分為白盒測(cè)試和黑盒測(cè)試。 白盒測(cè)試也稱結(jié)構(gòu)測(cè)試或邏輯驅(qū)動(dòng)測(cè)試,這種測(cè)試將測(cè)試對(duì)象看作一個(gè)透明的盒子,測(cè)試人員根據(jù)程序內(nèi)部的邏輯結(jié)構(gòu)及有關(guān)信息設(shè)計(jì)測(cè)試用例,檢驗(yàn)程序中所有邏輯路徑是否都能按預(yù)定要求正確工作。 黑盒測(cè)試也稱行為測(cè)試,這種方法把測(cè)試對(duì)象看作一個(gè)黑盒子,測(cè)試人員完全不考慮程序內(nèi)部的邏輯結(jié)構(gòu)和內(nèi)部特性,只依據(jù)程序的需求規(guī)格說明書,檢查程序的功能是否符合它的功能需求。 根據(jù)以上測(cè)試方法,本系統(tǒng)將同時(shí)采用白盒測(cè)試和黑盒測(cè)試。其中,白盒測(cè)試主要用于單元測(cè)試;而黑盒測(cè)試主要在瀏覽器中執(zhí)行具體測(cè)試用例來實(shí)現(xiàn),測(cè)試用例如下: (1) 頁面鏈接檢查:每一個(gè)鏈接是

63、否都有對(duì)應(yīng)的頁面,并且頁面之間切換正確。可以通過Dreamweaver命令工具進(jìn)行鏈接檢查。 (2) 相關(guān)性檢查:增加/刪除一項(xiàng)會(huì)不會(huì)對(duì)其他項(xiàng)產(chǎn)生影響,如果產(chǎn)生影響,這些影響是否都正確。 (3) 檢查按鈕的功能是否正確:如修改、保存、取消、返回等按鈕功能是否正確。 (4) 檢查帶出信息的完整性:在查看信息和更新信息時(shí),查看所填寫的信息是不是全部帶出,帶出信息和添加的是否一致。 (5) 信息重復(fù):在一些需要命名,且名字應(yīng)該唯一的信息輸入重復(fù)的名字或ID,看系統(tǒng)有沒有處理,會(huì)否報(bào)錯(cuò),重名包括是否區(qū)分大小寫,以及在輸入內(nèi)容的前后輸入空格,系統(tǒng)是否做出正確處理。 (6) 檢查刪除功能:在一些

64、可以一次刪除多個(gè)信息的地方,不選擇任何信息,選擇“刪除”,看系統(tǒng)如何處理,是否會(huì)出錯(cuò);然后選擇一個(gè)和多個(gè)信息進(jìn)行刪除,看是否正確處理。 (7) 檢查添加和修改是否一致:檢查添加和修改信息的要求是否一致,例如添加要求必填的項(xiàng),修改也應(yīng)該必填;添加規(guī)定為整型的項(xiàng),修改也必須為整型。 (8) 檢查修改重名:修改時(shí)把不能重名的項(xiàng)改為已存在的內(nèi)容,看會(huì)否處理、報(bào)錯(cuò)。同時(shí),也要注意會(huì)不會(huì)報(bào)和自己重名的錯(cuò)。 (9) 檢查多次使用返回鍵的情況: 在有返回鍵的地方,返回到原來頁面,再返回,重復(fù)多次,看會(huì)否出錯(cuò)。 (10) 必填項(xiàng)檢查:應(yīng)該填寫的項(xiàng)沒有填寫時(shí)系統(tǒng)是否都做了處理,對(duì)必填項(xiàng)是否有提示信息,如在

65、必填項(xiàng)前加*。 單元測(cè)試部分 測(cè)試中根據(jù)程序中各個(gè)類中的各個(gè)方法分別設(shè)計(jì)用例并進(jìn)行測(cè)試,例如將一個(gè)數(shù)據(jù)保存入數(shù)據(jù)庫時(shí),將編寫滿足正確保存條件的測(cè)試用例和各種不正確的保存條件的測(cè)試用例,進(jìn)而測(cè)試系統(tǒng)是否能正確識(shí)別該執(zhí)行保存的和不該執(zhí)行保存并給出出錯(cuò)信息的情況。若不能正確執(zhí)行則需對(duì)程序進(jìn)行糾錯(cuò)和修改。部分相關(guān)代碼將在附錄中給出。 集成測(cè)試部分 本部分測(cè)試將根據(jù)6.3節(jié)設(shè)計(jì)的測(cè)試方法分別進(jìn)行測(cè)試,結(jié)果如下: (1) 頁面鏈接檢查:通過Dreamweaver命令工具進(jìn)行鏈接檢查,處理了斷掉的不正確的鏈接;再次運(yùn)行網(wǎng)站程序,依次點(diǎn)擊鏈接,鏈接全部正確。 (2) 相關(guān)性檢查:添加/刪除相關(guān)

66、信息后,相關(guān)頁面能正常顯示。 (3) 檢查按鈕的功能:按鈕的功能正常。 (4) 檢查帶出信息的完整性:查看信息和更新信息時(shí),所填寫的信息全部帶出,帶出信息和添加的信息一致,正確顯示。 (5) 信息重復(fù):如在注冊(cè)頁面重復(fù)用戶名注冊(cè)時(shí),會(huì)提示“該用戶名已經(jīng)存在!”。 (6) 檢查刪除功能:在公告管理頁面中不選擇公告,直接點(diǎn)擊刪除,系統(tǒng)會(huì)提示“請(qǐng)選擇要?jiǎng)h除的記錄!”,選擇一項(xiàng)或幾項(xiàng)后,系統(tǒng)能夠正確刪除。 (7) 檢查添加和修改是否一致:結(jié)果一致。 (8) 檢查修改重名:修改用戶信息,將準(zhǔn)考證號(hào)改為已存在的準(zhǔn)考證號(hào),會(huì)提示錯(cuò)誤,修改不成功。 (9) 檢查多次使用返回鍵的情況:在有返回鍵的地方,返回到原來頁面,再返回,不會(huì)出錯(cuò)。 (10) 必填項(xiàng)檢查:在必填項(xiàng)前加*作為提示,比如填寫注冊(cè)信息時(shí),必填項(xiàng)“用戶名”沒有填寫,系統(tǒng)會(huì)提示“用戶名不能為空!”: 測(cè)試過程中,某些操作產(chǎn)生了一些異常(Exception),大部分已經(jīng)解決。系統(tǒng)中異常處理并未很完善是導(dǎo)致這些異常沒有友好提示和解決的主要原因。 結(jié)  論 本系統(tǒng)各項(xiàng)主要功能已基本完成,具備交通規(guī)則模擬考試系統(tǒng)的基本要求。本系

展開閱讀全文
溫馨提示:
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. 裝配圖網(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ì)自己和他人造成任何形式的傷害或損失。

相關(guān)資源

更多
正為您匹配相似的精品文檔
關(guān)于我們 - 網(wǎng)站聲明 - 網(wǎng)站地圖 - 資源地圖 - 友情鏈接 - 網(wǎng)站客服 - 聯(lián)系我們

copyright@ 2023-2025  zhuangpeitu.com 裝配圖網(wǎng)版權(quán)所有   聯(lián)系電話:18123376007

備案號(hào):ICP2024067431號(hào)-1 川公網(wǎng)安備51140202000466號(hào)


本站為文檔C2C交易模式,即用戶上傳的文檔直接被用戶下載,本站只是中間服務(wù)平臺(tái),本站所有文檔下載所得的收益歸上傳人(含作者)所有。裝配圖網(wǎng)僅提供信息存儲(chǔ)空間,僅對(duì)用戶上傳內(nèi)容的表現(xiàn)方式做保護(hù)處理,對(duì)上載內(nèi)容本身不做任何修改或編輯。若文檔所含內(nèi)容侵犯了您的版權(quán)或隱私,請(qǐng)立即通知裝配圖網(wǎng),我們立即給予刪除!