版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請進(jìn)行舉報或認(rèn)領(lǐng)
文檔簡介
1、摘要在競爭越來越激烈的今天,人們的生活工作節(jié)奏也在急劇加快?,F(xiàn)在幾乎所有行業(yè)為了適應(yīng)新的社會節(jié)奏,都大量采用機(jī)器幫助提高勞動生產(chǎn)效率,降低生產(chǎn)成本,增強(qiáng)單位的競爭能力。電腦輔助教學(xué)作為一種新的教學(xué)方式正受到越來越多的重視。不管是學(xué)校還是培訓(xùn)中心都大量使用電腦來輔助教學(xué),使學(xué)校的教學(xué)工作規(guī)范高效率,最大限度地節(jié)約成本。本論文介紹了交通規(guī)則模擬考試系統(tǒng)開發(fā)的具體實現(xiàn)過程,著重介紹了系統(tǒng)的界面、數(shù)據(jù)庫設(shè)計以及測試過程。本系統(tǒng)采用Java Web開發(fā)技術(shù),配合Struts框架實現(xiàn),界面采用XHTMLCSS布局。主要實現(xiàn)模擬考試功能,試題的添加、更新、刪除,用戶管理等基本功能。系統(tǒng)界面美觀友好、具有一定
2、的可擴(kuò)展性、易于維護(hù)、安全性較好,具備一般交通規(guī)則模擬考試系統(tǒng)的基本要求,并增加了錯題練習(xí)、章節(jié)練習(xí)和成績統(tǒng)計等輔助功能,可以在各種符合Java Web標(biāo)準(zhǔn)的容器中高效運(yùn)行,并兼容大部分常用瀏覽器??梢灶A(yù)測,這種符合具有良好構(gòu)架、擴(kuò)展性和安全性的交通規(guī)則模擬考試系統(tǒng),將獲得越來越多人們的認(rèn)可。交通規(guī)則模擬考試系統(tǒng)的前景十分光明,充滿活力。 關(guān)鍵詞:交通規(guī)則模擬考試;Java Web;Struts;AbstractToday,the competition is more and more fiercely, the rhythm of peoples life and work are bei
3、ng 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 importance to as a new way abo
4、ut teaching and studing .A wealth of computers are used to assist education at the school and the center of training, improve to productive of educations work at school and let it normal, save cost in the most limit.This paper introduces the detailed implementation procedures and concentrates on int
5、roducing 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, deleting, and the managem
6、ent 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 is compatible with most
7、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 very bright and lively.Key
8、Words: traffic regulations test; Java Web; Struts;目錄 TOC o 1-3 h z HYPERLINK l _Toc296252909 摘要 PAGEREF _Toc296252909 h i HYPERLINK l _Toc296252910 Abstract PAGEREF _Toc296252910 h ii HYPERLINK l _Toc296252911 第1章 緒論 PAGEREF _Toc296252911 h 1 HYPERLINK l _Toc296252912 本文工作的來源 PAGEREF _Toc296252912 h
9、 1 HYPERLINK l _Toc296252913 目的和意義 PAGEREF _Toc296252913 h 1 HYPERLINK l _Toc296252914 本文工作的主要內(nèi)容 PAGEREF _Toc296252914 h 2 HYPERLINK l _Toc296252915 系統(tǒng)概述 PAGEREF _Toc296252915 h 3 HYPERLINK l _Toc296252916 設(shè)計背景 PAGEREF _Toc296252916 h 3 HYPERLINK l _Toc296252917 設(shè)計目標(biāo) PAGEREF _Toc296252917 h 3 HYPERL
10、INK l _Toc296252918 運(yùn)行環(huán)境 PAGEREF _Toc296252918 h 3 HYPERLINK l _Toc296252919 功能需求 PAGEREF _Toc296252919 h 4 HYPERLINK l _Toc296252920 第3章 總體設(shè)計 PAGEREF _Toc296252920 h 5 HYPERLINK l _Toc296252921 系統(tǒng)體系結(jié)構(gòu) PAGEREF _Toc296252921 h 5 HYPERLINK l _Toc296252922 系統(tǒng)模塊介紹 PAGEREF _Toc296252922 h 5 HYPERLINK l _
11、Toc296252923 系統(tǒng)的物理結(jié)構(gòu) PAGEREF _Toc296252923 h 6 HYPERLINK l _Toc296252924 3.3.2 B/S模式的簡介 PAGEREF _Toc296252924 h 7 HYPERLINK l _Toc296252925 3.3.3 B/S模式的優(yōu)勢 PAGEREF _Toc296252925 h 7 HYPERLINK l _Toc296252926 3.4 數(shù)據(jù)庫概要設(shè)計 PAGEREF _Toc296252926 h 8 HYPERLINK l _Toc296252927 第4章 詳細(xì)設(shè)計 PAGEREF _Toc29625292
12、7 h 9 HYPERLINK l _Toc296252928 首頁及主要頁面設(shè)計 PAGEREF _Toc296252928 h 9 HYPERLINK l _Toc296252929 整站類設(shè)計 PAGEREF _Toc296252929 h 10 HYPERLINK l _Toc296252930 數(shù)據(jù)庫詳細(xì)設(shè)計 PAGEREF _Toc296252930 h 11 HYPERLINK l _Toc296252931 主要功能模塊設(shè)計 PAGEREF _Toc296252931 h 12 HYPERLINK l _Toc296252932 首頁設(shè)計 PAGEREF _Toc2962529
13、32 h 12 HYPERLINK l _Toc296252933 模擬考試頁設(shè)計 PAGEREF _Toc296252933 h 13 HYPERLINK l _Toc296252934 后臺用戶成績管理頁面設(shè)計 PAGEREF _Toc296252934 h 15 HYPERLINK l _Toc296252935 用戶注冊頁面設(shè)計 PAGEREF _Toc296252935 h 15 HYPERLINK l _Toc296252936 第5章 系統(tǒng)的編碼 PAGEREF _Toc296252936 h 17 HYPERLINK l _Toc296252937 系統(tǒng)框架 PAGEREF _
14、Toc296252937 h 17 HYPERLINK l _Toc296252938 開發(fā)語言 PAGEREF _Toc296252938 h 17 HYPERLINK l _Toc296252939 系統(tǒng)編程 PAGEREF _Toc296252939 h 18 HYPERLINK l _Toc296252940 數(shù)據(jù)庫連接 PAGEREF _Toc296252940 h 18 HYPERLINK l _Toc296252941 5.3.2 模擬考試抽題 PAGEREF _Toc296252941 h 19 HYPERLINK l _Toc296252942 5.3.3 計算考試時間及剩余
15、時間 PAGEREF _Toc296252942 h 20 HYPERLINK l _Toc296252943 5.3.4 保存考試結(jié)果 PAGEREF _Toc296252943 h 21 HYPERLINK l _Toc296252936 第6章 測試 PAGEREF _Toc296252936 h 17 HYPERLINK l _Toc296252944 測試原則 PAGEREF _Toc296252944 h 22 HYPERLINK l _Toc296252945 測試方法 PAGEREF _Toc296252945 h 22 HYPERLINK l _Toc296252946 測試
16、實例 PAGEREF _Toc296252946 h 23 HYPERLINK l _Toc296252947 測試結(jié)果及分析 PAGEREF _Toc296252947 h 24 HYPERLINK l _Toc296252948 單元測試部分 PAGEREF _Toc296252948 h 24 HYPERLINK l _Toc296252949 集成測試部分 PAGEREF _Toc296252949 h 24 HYPERLINK l _Toc296252950 結(jié)論 PAGEREF _Toc296252950 h 25 HYPERLINK l _Toc296252951 致謝 PAGE
17、REF _Toc296252951 h 27 HYPERLINK l _Toc296252952 參 考 文 獻(xiàn) PAGEREF _Toc296252952 h 28 HYPERLINK l _Toc296252953 附錄A部分代碼展示 PAGEREF _Toc296252953 h 29 HYPERLINK l _Toc296252954 外文科技資料翻譯 PAGEREF _Toc296252954 h 38 HYPERLINK l _Toc296252955 英文原文 PAGEREF _Toc296252955 h 38 HYPERLINK l _Toc296252956 中文翻譯 PA
18、GEREF _Toc296252956 h 45第1章 緒論在競爭越來越激烈的今天,人們的生活工作節(jié)奏也在急劇加快?,F(xiàn)在幾乎所有行業(yè)為了適應(yīng)新的社會節(jié)奏,都大量采用機(jī)器幫助提高勞動生產(chǎn)效率,降低生產(chǎn)成本,增強(qiáng)單位的競爭能力。電腦模擬考試作為一種新的教學(xué)方式正受到越來越多的重視。多數(shù)駕駛學(xué)校由于技術(shù)原因以及學(xué)員自身情況,致使大量的時間和人力白白浪費(fèi)在交通規(guī)則教學(xué)上,不僅教學(xué)效率低,而且教學(xué)成本大幅度上升,不利于市場的競爭。因此,為適應(yīng)發(fā)展,駕駛學(xué)校需要一個適用于其特殊性的軟件,以方便其模擬考試工作所用,提高學(xué)員的學(xué)習(xí)效率,減輕教學(xué)人員的勞動強(qiáng)度,提高其勞動效率,真正做到解放生產(chǎn)力,創(chuàng)造更多的勞動
19、價值;使學(xué)校更規(guī)范、科學(xué)、高效、有更大的發(fā)展?jié)摿??;谝陨显?,我決定設(shè)計一款出題快速準(zhǔn)確,無出題重題現(xiàn)象,能按考試題庫進(jìn)行順序出題,隨機(jī)出題,能對選定題庫進(jìn)行針對練習(xí),練習(xí)時能馬上提示學(xué)員所選答案是否正確,模擬考試后能對考試中做錯題進(jìn)行重點(diǎn)練習(xí),練習(xí)或考試中能進(jìn)行計時等功能。本設(shè)計源于開發(fā)一個完全自主創(chuàng)新并能夠應(yīng)用于學(xué)習(xí)中的交通規(guī)則考試系統(tǒng)的構(gòu)想,應(yīng)用平時學(xué)習(xí)的知識和生活總結(jié)的經(jīng)驗以及對同類產(chǎn)品的借鑒,開發(fā)出這個交通規(guī)則模擬考試系統(tǒng)。其難度工作量也都符合畢業(yè)設(shè)計的要求,是符合教學(xué)要求的模擬題目。交通規(guī)則模擬考試系統(tǒng),采用了當(dāng)今流行的B/S結(jié)構(gòu),適應(yīng)了駕駛員培訓(xùn)教育發(fā)展的新需要,對用戶來說,
20、不僅可以減少人力、物力和財力資源的浪費(fèi),更重要的是有助于提高學(xué)員考試的通過率。這和以往單機(jī)版的駕駛員理論考試系統(tǒng)相比,系統(tǒng)不需要安裝,節(jié)約了本地計算機(jī)資源,方便了用戶的接入,只要能上網(wǎng)就能隨時模擬練習(xí),也滿足了當(dāng)今駕校學(xué)員爆炸式增長的需求。該系統(tǒng)經(jīng)過試運(yùn)行及測試,能符合當(dāng)今此類系統(tǒng)的先進(jìn)性、實用性、可靠性等特點(diǎn),將引領(lǐng)駕駛員理論考試網(wǎng)上模擬系統(tǒng)的新模式。隨著互聯(lián)網(wǎng)的普及和駕駛員培訓(xùn)事業(yè)的不斷發(fā)展與壯大,會有越來越多的用戶樂于接受駕駛員理論考試的網(wǎng)上模擬,其市場潛力會得到充分發(fā)揮。 1.3本文工作的主要內(nèi)容本設(shè)計主要實現(xiàn)交通規(guī)則模擬考試系統(tǒng)的基本功能,包括:試題的添加、修改、刪除、修改操作:添加
21、試卷功能由用戶填寫試題的題目,所屬章節(jié),各選項答案,正確答案等信息,當(dāng)用戶點(diǎn)擊確定時將題目存入數(shù)據(jù)庫。試題修改功能可修改除所屬章節(jié)以外的試題信息,刪除功能則從數(shù)據(jù)庫中刪除本條試題記錄。 自動抽取試題 :當(dāng)用戶進(jìn)入模擬考試界面時系統(tǒng)將從數(shù)據(jù)庫中隨機(jī)抽取指定數(shù)量的題目,而題目將涉及到試題表中所有的章節(jié)。(3) 自動評分:當(dāng)用戶回答完所有題目點(diǎn)擊提交按鈕時系統(tǒng)將會對用戶的答題進(jìn)行評分,并將成績,考生考號和考試時間等信息插入數(shù)據(jù)庫。模擬考試中設(shè)置了考試時間,當(dāng)剩余時間為0時,計時系統(tǒng)將計算出此時用戶所答題目的成績,并將結(jié)果保存至數(shù)據(jù)庫。(4) 統(tǒng)計考生成績與自測情況:當(dāng)用戶進(jìn)入統(tǒng)計界面后系統(tǒng)會取出數(shù)據(jù)
22、庫中的成績表中該考生的所以記錄,將其展示在頁面中(5) 分章節(jié)練習(xí):當(dāng)用戶進(jìn)入章節(jié)練習(xí)模塊中時,系統(tǒng)將從數(shù)據(jù)庫中的試題表中抽取同一類型中的所有題目,并將答案顯示在頁面底部。(6) 錯題練習(xí):當(dāng)用戶進(jìn)入錯題練習(xí)模塊中時,系統(tǒng)將從數(shù)據(jù)庫中的錯題表中抽取用戶曾經(jīng)在模擬考試中答錯的題目,并將答案顯示在頁面底部。本文主要介紹設(shè)計所用到的一些技術(shù)、所采用的方法和特點(diǎn)功能等。其中第二章需求分析從計算機(jī)軟硬件方面分別介紹本設(shè)計需要的運(yùn)行需求和運(yùn)行環(huán)境,并在其后的內(nèi)容中對用戶的詳細(xì)需求進(jìn)行分析。第三章總體設(shè)計主要介紹系統(tǒng)的功能結(jié)構(gòu)、主要物理架構(gòu)、安全和數(shù)據(jù)庫概要設(shè)計。第四章詳細(xì)設(shè)計主要介紹了主要頁面和類(包括包
23、)的設(shè)計、數(shù)據(jù)庫詳細(xì)設(shè)計、界面設(shè)計等。第五章主要介紹本設(shè)計采用的主流技術(shù)、框架,開發(fā)工具和一些精髓代碼的展示說明。第六章是測試,主要介紹了本系統(tǒng)所采用的白盒、黑盒測試方式,所獲得的測試結(jié)果以及針對結(jié)果所做的修改等。第2章 需求分析2.1系統(tǒng)概述本交通規(guī)則模擬考試系統(tǒng)提供對用戶模擬考試實現(xiàn)的支持。為滿足用戶對交通規(guī)則模擬考試系統(tǒng)的需要,開發(fā)本套開源代碼的交通規(guī)則模擬考試系統(tǒng)。本考試系統(tǒng)面向一般用戶,對Web技術(shù)有一定了解的人群。本套系統(tǒng)完全為免費(fèi)開源軟件,提供Java Web交流、學(xué)習(xí)之平臺。共同完善本交通規(guī)則模擬考試系統(tǒng)。本著實用精神,本系統(tǒng)將完成基本考試功能并提供較強(qiáng)的接口對更多功能提供支持
24、。設(shè)計背景本設(shè)計面向所有希望學(xué)習(xí)交通規(guī)則的人和一起參與Java Web學(xué)習(xí)交流的同行,基于JSPStrutsMS SQL Server以及CSS花費(fèi)2個月時間設(shè)計開發(fā)。設(shè)計目標(biāo)完成交通規(guī)則考試系統(tǒng)的基本功能:包括對試題的添加,修改刪除,用戶登陸,模擬考試,按章節(jié)練習(xí),錯題練習(xí),統(tǒng)計考生自測情況等 功能。運(yùn)行環(huán)境硬件環(huán)境服務(wù)器端要求:CPU:Inter Pentium 或AMD Athlon 3000+或更高內(nèi)存:256MB硬盤:100MB客戶端要求:CPU:Inter Pentium 或AMD Athlon 2600+或更高內(nèi)存:128MB軟件環(huán)境服務(wù)器端要求:操作系統(tǒng):Windows 200
25、0 Server或更高、Linux Server、UnixJava Web容器:JDK1.5或更高、數(shù)據(jù)庫系統(tǒng):Microsoft SQL Server 2000 sp4客戶端要求:操作系統(tǒng):多媒體操作系統(tǒng)、Firefox 2、Firefox3及同類瀏覽器瀏覽器插件及腳本要求:JavaScript2.2功能需求交通規(guī)則考試網(wǎng)站功能:交通規(guī)則模擬考試系統(tǒng)功能:前臺頁面使用考生準(zhǔn)考證號與密碼登錄,考生可逐節(jié)練習(xí)、模擬考試、錯題復(fù)習(xí)、常用網(wǎng)址等內(nèi)容??色@取考生自測統(tǒng)計結(jié)果,當(dāng)考生提交試卷后由系統(tǒng)進(jìn)行自動評分將結(jié)果顯示在用戶界面。后臺管理頁面使用管理員用戶名與密碼登錄,管理員享有管理(添加、修改、刪除
26、)試題庫、管理(添加、修改、統(tǒng)計)自測統(tǒng)計結(jié)果的權(quán)限。管理員可向試題庫添加,刪除或修改試題,可根據(jù)考生提交的試卷測試情況統(tǒng)計出考生成績排名,易錯題等內(nèi)容,方便考生自我評估。(1)交通規(guī)則模擬考試系統(tǒng)用戶界面:采用淺藍(lán)色作背景,清新簡約風(fēng)格。(2)交通規(guī)則模擬考試系統(tǒng)的軟件接口:界面采用完全按CSS布局控制,風(fēng)格完全可以通過CSS實現(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的主
27、機(jī),500800元/年。(5)主頁面及次頁面數(shù)量:前臺主頁1個,次頁面15個。后臺主頁面1個,次頁面14個。(6)管理及內(nèi)容錄入任務(wù)分配:由管理員確定。(7)各種頁面特殊效果及其數(shù)量:前臺頁面由默認(rèn)風(fēng)格及用戶選擇風(fēng)格決定(可擴(kuò)展多個風(fēng)格),后臺風(fēng)格固定。(8)信息保密性要求:數(shù)據(jù)庫及Java Web服務(wù)器物理安全。程序代碼安全,無后門,權(quán)限分配及管理安全,密碼安全等。 第3章 總體設(shè)計系統(tǒng)體系結(jié)構(gòu)交通規(guī)則模擬考試系統(tǒng)自測統(tǒng)計自測評分模擬測試自動評分獲取試卷試卷管理成績管理添加、修改、刪除統(tǒng)計、修改、添加前臺自測頁面后臺管理頁面章節(jié)練習(xí)錯題練習(xí)統(tǒng)計測試情況圖3.1 系統(tǒng)功能結(jié)構(gòu)圖系統(tǒng)模塊介紹本系
28、統(tǒng)分為前臺自測與后臺管理兩大功能模塊,用戶首先從前臺登陸界面進(jìn)入自測首頁由此可進(jìn)入模擬考試,錯題管理,章節(jié)練習(xí)等子功能模塊從而選擇各項自測功能;管理員從后臺登陸界面進(jìn)入后臺管理首頁,由此可進(jìn)入試題管理,章節(jié)管理,成績管理等子功能模塊從而選擇各項管理功能。試卷管理本模塊實現(xiàn)對試卷題目,章節(jié)等內(nèi)容的添加、修改、刪除等功能,操作試卷信息需要管理員權(quán)限。在提交時,程序會對所提交的信息進(jìn)行檢查,當(dāng)添加重復(fù)題目或章節(jié)時會以對話框的形式給與提醒,成績管理該模塊實現(xiàn)了對用戶考試結(jié)果的集中展示,列舉出用戶考試的時間,用戶ID,成績等信息,方便管理員分析用戶考試情況同時本模塊提供了搜索功能。可根據(jù)用戶的ID進(jìn)行搜
29、索,快速查找到感興趣的結(jié)果。模擬測試該模塊實現(xiàn)了模擬考試中計時,獲取題目的功能,用戶在登陸狀態(tài)下在其中回答問題,如果考試時間結(jié)束,則自動關(guān)閉頁面。本模塊中抽取的題目來自數(shù)據(jù)庫中的題目表,抽取方式為隨機(jī)抽取,同時保證所抽取的題目涉及到題庫中的所有章節(jié)。頁面頂部有計時功能,等剩余時間顯示為0時,則系統(tǒng)將結(jié)束本次考試,并對之前所答題目進(jìn)行評分,并將成績存入數(shù)據(jù)庫。自測評分該模塊實現(xiàn)對用戶提交的答案進(jìn)行評分的功能,以對話框的形式展示成績。并將結(jié)果保存至數(shù)據(jù)庫,方便統(tǒng)計成績,并將用戶沒有回答正確的題目存入數(shù)據(jù)庫中的錯題表,當(dāng)用戶選擇錯題練習(xí)功能時將從中抽取題目。自測統(tǒng)計該模塊實現(xiàn)對用戶成績進(jìn)行統(tǒng)計的功能
30、,列舉出用戶每次考試的成績,時間等信息,方便用戶對自身情況進(jìn)行評估。錯題練習(xí)該模塊為用戶提供練習(xí)做錯的題目的功能,并提供正確答案,方便用戶掌握易錯題型。所抽取的錯題從數(shù)據(jù)庫中取出,同時在頁面底部顯示題目的正確答案。章節(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è)計;3.3.2 B/S模式的簡介Browser/Server(瀏覽器/服務(wù)器)結(jié)構(gòu)
31、,是隨著Internet技術(shù)的興起,對C/S結(jié)構(gòu)的一種變化或者改進(jìn)的結(jié)構(gòu)。在這種結(jié)構(gòu)下,用戶界面完全通過WWW瀏覽器實現(xiàn),一部分事務(wù)邏輯在前端實現(xiàn),但是主要事務(wù)邏輯在服務(wù)器端實現(xiàn)。B/S結(jié)構(gòu),主要是利用了WWW瀏覽器技術(shù),結(jié)合瀏覽器的多種Script語言(JavaScript 、VBScript)和ActiveX技術(shù),用通用瀏覽器就實現(xiàn)了原來需要復(fù)雜專用軟件才能實現(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)用軟件的首選體系結(jié)構(gòu)。顯然B/S結(jié)構(gòu)應(yīng)用程序相對于傳統(tǒng)的C/S結(jié)構(gòu)應(yīng)用程
32、序有了巨大的進(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,再整個網(wǎng)絡(luò)采用TCP/IP協(xié)議。網(wǎng)絡(luò)結(jié)構(gòu)如圖所示: B/S模式的優(yōu)勢B/S最大的優(yōu)點(diǎn)就是可以在任何地方進(jìn)行操作而不用安裝任何專門的軟件。只要有一臺能上網(wǎng)的電腦就能使用,客戶端零維護(hù)。系統(tǒng)的擴(kuò)展非常容易,只要能上網(wǎng),再由系統(tǒng)管理員分配一個用戶名和密碼,就可以使用了。甚至可以在線申請,通過公司內(nèi)部的安全認(rèn)證后,不需要人的參與,系統(tǒng)可以自動分配給用戶一個賬號進(jìn)入系統(tǒng)。系統(tǒng)物理結(jié)構(gòu)如圖所示
33、:控制器(Servlet)視圖(JSP)瀏覽器(Model)JavaBean請求響應(yīng)應(yīng)用服務(wù)器數(shù)據(jù)庫實例化圖3.2 系統(tǒng)的物理結(jié)構(gòu)圖左部分瀏覽器屬于客戶端,右部分屬于服務(wù)器。其中控制器及業(yè)務(wù)邏輯使用Struts實現(xiàn),視圖由JSP實現(xiàn),數(shù)據(jù)庫采用MS SQL Server 2000。 數(shù)據(jù)庫概要設(shè)計一個設(shè)計良好的數(shù)據(jù)庫,可以使系統(tǒng)的實現(xiàn)變得非常的簡單,同時,也可以使系統(tǒng)的執(zhí)行速度變得很快。反之,一個設(shè)計混亂的數(shù)據(jù)庫,不僅增加了吸引的管理實現(xiàn)過程,同時在系統(tǒng)的執(zhí)行過程中,使得檢索變得很慢,降低效率。所以數(shù)據(jù)庫的設(shè)計是一個系統(tǒng)設(shè)計很重要的步驟。根據(jù)系統(tǒng)功能設(shè)計要求和模塊劃分,本站的數(shù)據(jù)庫主要有錯題信
34、息、題目信息、用戶信息、章節(jié)信息、結(jié)果信息等表。數(shù)據(jù)庫的設(shè)計通常是以一個已經(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補(bǔ)丁和所有安全補(bǔ)丁。第4章 詳細(xì)設(shè)計表4.1 主要頁面文件及其作用文件名說明前臺登陸界面default.jsp前臺功能主界面exercise.jsp考試功能選擇頁面
35、top.jsp模板文件,用于構(gòu)建網(wǎng)頁頂部style.css本文件夾用于存儲各種不同顯示樣式,可根據(jù)不同需要添加CSS樣式register.jsp前臺用戶注冊頁面selectLesson.jsp選擇章節(jié)的頁面startExam.jsp模擬考試頁面startExercise.jsp逐節(jié)練習(xí)頁面startWrong.jsp錯題練習(xí)頁面Student_Modify.jsp修改學(xué)生信息頁面stuResultQuery.jsp查看考試結(jié)果頁面manage left.jsp后臺功能選擇頁面managemanager_add.jsp添加管理員頁面managequestions_add.jsp添加題目頁面man
36、ageselTao.jsp添加章節(jié)頁面managecopyright.jsp聲明頁面Struts配置文件Struts主要標(biāo)簽庫之一,用于實現(xiàn)各種邏輯和顯示Struts主要標(biāo)簽庫之一,用于實現(xiàn)各種邏輯和顯示Struts主要標(biāo)簽庫之一,用于實現(xiàn)各種邏輯和顯示W(wǎng)EB-整個網(wǎng)站的配置文件圖4.1 網(wǎng)站文件結(jié)構(gòu)圖本站所用到的類分為4個包,包括用于連接數(shù)據(jù)庫的core,用于操作數(shù)據(jù)表的dao,用于用戶交互的action,以及actionForm。這些包分別管理和完善系統(tǒng)的各個方面。例如dao實現(xiàn)的是與操作數(shù)據(jù)表的功能,每個表都對應(yīng)著一個唯一的dao,用來實現(xiàn)程序中對表中數(shù)據(jù)的增,刪,改,查。Action負(fù)
37、責(zé)接收用戶請求。整站的包結(jié)構(gòu)如下:圖4.2 本網(wǎng)站的包結(jié)構(gòu)根據(jù)系統(tǒng)功能設(shè)計要求和模塊劃分,本站的數(shù)據(jù)庫主要包括課程信息表、管理員信息表、題目信息表、用戶信息表、考試結(jié)果表、章節(jié)信息表、錯題信息表等7個表。各表的表結(jié)構(gòu)如下:表 課程信息表結(jié)構(gòu)字段名數(shù)據(jù)類型長度鍵備注IDbigint8主鍵標(biāo)識符Namevarchar60課程名JoinTimedatetime18加入時間表 管理員信息表結(jié)構(gòu)字段名數(shù)據(jù)類型長度鍵備注IDbigint8主鍵標(biāo)識符NAMEvarchar30名稱PWDvarchar30密碼表 題目信息表結(jié)構(gòu)字段名數(shù)據(jù)類型長度鍵備注IDbigint8主鍵標(biāo)識符subjectvarchar50
38、題目Typechar6題目類型JoinTimedatetime8加入時間lessonIdint4課程信息表外鍵課程IDtaoTiIdbigint8章節(jié)IDoptionAvarchar50A選項內(nèi)容optionBvarchar50B選項內(nèi)容optionCvarchar50C選項內(nèi)容optionDvarchar50D選項內(nèi)容answervarchar10答案表4.4 錯題信息表結(jié)構(gòu)字段名數(shù)據(jù)類型長度鍵備注stuIdvarchar16用戶信息表外鍵用戶idquesIdbigint8題目信息表外鍵題目idIDbigint8主鍵標(biāo)識符表4.5 章節(jié)信息表結(jié)構(gòu)字段名數(shù)據(jù)類型長度鍵備注IDbigint8主鍵
39、標(biāo)識符Namevarchar50名稱LessonIDbigint8章節(jié)IDJoinTimedatetime8加入時間表4.6 用戶信息表結(jié)構(gòu)字段名數(shù)據(jù)類型長度鍵備注IDvarchar16主鍵標(biāo)識符namevarchar20名稱pwdvarchar20密碼sexvarchar2性別jointimedatetime8加入時間 questionvarchar50問題answervarchar50答案表4.7 考試結(jié)果表結(jié)構(gòu)字段名數(shù)據(jù)類型長度鍵備注IDint8主鍵標(biāo)識符stuIdvarcher16用戶信息表外鍵用戶IDwhichLessonvarcher60課程信息表外鍵課程名resSingleint
40、4單選分?jǐn)?shù)resTotalint4多選分?jǐn)?shù)resTotalint4總分joinTimedatetime8加入時間主要功能模塊設(shè)計首頁設(shè)計首頁是用戶對網(wǎng)站的第一印象,一個好的首頁能夠極大的提高用戶的好感度和訪問率,考試系統(tǒng)也不例外。本系統(tǒng)默認(rèn)首頁為清新風(fēng)格,背景為藍(lán)天草地,樸素且柔和,可以很好的緩解用戶因為考試而產(chǎn)生的緊張情緒。本站所有頁面均由CSS布局,在不同的瀏覽器中展示的效果稍有區(qū)別,在ie中展示效果最佳。下圖是首頁的截圖:圖4.3 主頁截圖模擬考試頁設(shè)計模擬考試功能是本程序的核心功能,是本程序的重點(diǎn),頁面包括時間展示和試題展示兩部分。頂部包括考試時間、計時和剩余時間三部分。用于提醒用戶考
41、試時間。主體部分為試卷的試題,并用紅字指出每道題目的分?jǐn)?shù),底部為提交按鈕,當(dāng)考生確認(rèn)答題結(jié)束后可點(diǎn)擊它來提交結(jié)果,程序會自動評分,并將成績以對話框的形式展示給用戶。如果頂部的剩余時間耗盡,同樣視為提交了答案,系統(tǒng)將進(jìn)入評分階段。圖圖4.4 模擬考試頁面截圖圖4.5 成績結(jié)果對話框截圖后臺用戶成績管理頁面設(shè)計本程序不僅完整的模擬了交通規(guī)則考試的功能,而且擁有功能強(qiáng)大的后臺管理及統(tǒng)計功能。通過后臺管理界面,管理員可以輕松的瀏覽用戶的考試結(jié)果。本頁面主要包括四部分,頂部為統(tǒng)一風(fēng)格的歡迎界面,并在加載過程中檢測用戶是否登陸,如果尚未登陸則跳轉(zhuǎn)至登陸界面,左側(cè)為功能選擇區(qū)域,列舉出程序后臺所具備的全部功
42、能,單擊不同的項目則頁面主體區(qū)域出現(xiàn)對應(yīng)的功能界面。頁面主體區(qū)域展示了全部用戶的考試信息,包括用戶ID、考試時間、成績等內(nèi)容。該界面提供了搜索功能,可以通過用戶ID和考試時間搜索成績信息。底部為聲明部分,并提示本程序界面的最佳展示方法。圖4.6 后臺管理截圖4.4.4用戶注冊頁面設(shè)計注冊是用戶對網(wǎng)站的一種認(rèn)可,良好的注冊頁面會給用戶一種舒適的感覺和溫馨的體驗,會促使他們認(rèn)真填寫注冊信息。同時友好的錯誤提示對于用戶注冊也是必不可少的。在登錄界面各輸入欄右側(cè),給出了正確填寫的標(biāo)準(zhǔn),如果用戶填寫不符合要求,會在提交時返回不符合要求的地方,并要求修改該處。本站的注冊頁如下:圖4.7 注冊頁面截圖第5章
43、 系統(tǒng)的編碼5.1系統(tǒng)框架為了更加科學(xué)和完美地完成本設(shè)計,本系統(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框架結(jié)構(gòu)的主要組成部分,而事務(wù)邏輯則是我們需要實現(xiàn)的系統(tǒng)業(yè)務(wù)邏輯處理部分。嚴(yán)格的說系統(tǒng)應(yīng)該使用專門的部分實現(xiàn)業(yè)務(wù)邏輯,而不是使用Struts來實現(xiàn),但就本系統(tǒng)而言,業(yè)務(wù)邏輯比較簡單,雖然引入專門的邏輯業(yè)務(wù)處理單元沒有任何問題,考慮到程序復(fù)雜性和運(yùn)行效率問題,決定還是省略用作專門處理業(yè)務(wù)的邏輯單元??蛻?/p>
44、(瀏覽器)控制器(ActionServlet)模型(ActionForm)業(yè)務(wù)邏輯(Action)視圖(JSP)請求轉(zhuǎn)發(fā)響應(yīng)分配讀取struts圖5.1 Struts的基本結(jié)構(gòu)5.2開發(fā)語言本系統(tǒng)采用JSP開發(fā),主要后臺代碼都由Java編程開發(fā)。此外,一些配置文件由XML文件編寫。JSP(JavaServer Pages)是由Sun Microsystems公司倡導(dǎo)、許多公司參與一起建立的一種 HYPERLINK :/baike.baidu /view/348756.htm t _blank 動態(tài)網(wǎng)頁技術(shù)標(biāo)準(zhǔn)。JSP技術(shù)有點(diǎn)類似 HYPERLINK :/baike.baidu /view/26
45、16.htm t _blank ASP技術(shù),它是在傳統(tǒng)的網(wǎng)頁 HYPERLINK :/baike.baidu /view/692.htm t _blank HTML文件)中插入 HYPERLINK :/baike.baidu /view/29.htm t _blank Java程序段(Scriptlet)和JSP標(biāo)記(tag),從而形成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ù)端
46、的資源的應(yīng)用邏輯。JSP將網(wǎng)頁邏輯與網(wǎng)頁設(shè)計和顯示分離,支持可重用的基于組件的設(shè)計,使基于Web的應(yīng)用程序的開發(fā)變得迅速和容易。JSP技術(shù)的強(qiáng)勢:(1)一次編寫,到處運(yùn)行。在這一點(diǎn)上Java比 HYPERLINK :/baike.baidu /view/99.htm t _blank PHP更出色,除了系統(tǒng)之外,代碼不用做任何更改。(2)系統(tǒng)的多平臺支持?;旧峡梢栽谒衅脚_上的任意環(huán)境中開發(fā),在任意環(huán)境中進(jìn)行系統(tǒng)部署, 在任意環(huán)境中擴(kuò)展。相比ASP/PHP的局限性是顯而易見的。 (3)強(qiáng)大的可伸縮性。從只有一個小的 HYPERLINK :/baike.baidu /view/50457.ht
47、m t _blank Jar文件就可以運(yùn)行Servlet/JSP,到由多臺服務(wù)器進(jìn)行集群和負(fù)載均衡,到多臺Application進(jìn)行事務(wù)處理,消息處理,一臺服務(wù)器到無數(shù)臺服務(wù)器,Java顯示了一個巨大的生命力。(4)多樣化和功能強(qiáng)大的開發(fā)工具支持。這一點(diǎn)與ASP很像,Java已經(jīng)有了許多非常優(yōu)秀的開發(fā)工具,而且許多可以免費(fèi)得到,并且其中許多已經(jīng)可以順利的運(yùn)行于多種平臺之下。5.3.1數(shù)據(jù)庫連接()方法獲得數(shù)據(jù)庫連接池。其中DriverManager.getConnection()的三個參數(shù)為別代表數(shù)據(jù)庫名稱,數(shù)據(jù)庫用戶名,數(shù)據(jù)庫密碼,將這三個參數(shù)傳入就可以通過conn變量操作數(shù)據(jù)庫了。具體代碼
48、如下:public class ConnDB public Connection conn = null; / 聲明Connection對象的實例public Statement stmt = null; / 聲明Statement對象的實例public ResultSet rs = null; / 聲明ResultSet對象的實例private static String propFileName = /com/connDB.properties;private static Properties prop = new Properties(); private static String
49、dbClassName = com.microsoft.jdbc.sqlserver.SQLServerDriver;/定義保存數(shù)據(jù)庫驅(qū)動的變量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;t
50、ry Class.forName(dbClassName).newInstance();conn = DriverManager.getConnection(dbUrl, dbUser, dbPwd); catch (Exception ee) ee.printStackTrace();if (conn = null) System.err.println(警告: DbConnectionManager.getConnection() 獲得數(shù)據(jù)庫鏈接失敗.rnrn鏈接類型:+ dbClassName+ rn鏈接位置:+ dbUrl+ rn用戶/密碼+ dbUser + / + dbPwd);r
51、eturn conn;5.3.2 模擬考試抽題本系統(tǒng)的模擬考試抽題部分采用了隨機(jī)抽題的方式,同時所抽取的題目將涉及數(shù)據(jù)庫中所存儲的所有試題章節(jié),實現(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 A.id = id ) order by newid(),返回記錄后將結(jié)果保留到名為questionsList的List中
52、,供模擬考試頁面調(diào)用。具體代碼如下:public List queryExam(int questionsID,String flag) List questionsList = new ArrayList(); QuestionsForm questionsForm1 = null; String sql=; if(questionsID=-1) if(flag.equals(0) sql = SELECT top 4 * FROM tb_questions A WHERE taoTiId in(SELECT taoTiId FROM tb_questions WHERE A.id = id
53、 ) order by newid(); else if(questionsID=-2) sql = SELECT * FROM tb_questions WHERE id in (SELECT distinct quesId from tb_Wrong WHERE stuId=+flag+); else sql = SELECT * FROM tb_questions WHERE taoTiID=+questionsID+ ResultSet rs = conn.executeQuery(sql); String type=; int id=0; try rs.last(); int rec
54、ordNum=rs.getRow(); rs.first(); int idArr=new intrecordNum; for(int i=0;irecordNum;i+) questionsForm1 = new QuestionsForm(); id=rs.getInt(1); questionsForm1.setID(id); questionsForm1.setSubject(rs.getString(2); type=rs.getString(3); questionsForm1.setType(type); questionsForm1.setLessonId(rs.getInt(
55、5); questionsForm1.setTaoTiId(rs.getInt(6); questionsForm1.setOptionA(rs.getString(7); questionsForm1.setOptionB(rs.getString(8); questionsForm1.setOptionC(rs.getString(9); questionsForm1.setOptionD(rs.getString(10); questionsForm1.setAnswer(rs.getString(11) questionsForm1.setIdArrS(idArri=id;); que
56、stionsForm1.setNote(rs.getString(12); questionsList.add(questionsForm1); rs.next(); catch (Exception e) e.printStackTrace();/輸出異常信息 return questionsList; 5.3.3 計算考試時間及剩余時間 本系統(tǒng)在考生進(jìn)行模擬考試過程中將計算考試時間和剩余時間,當(dāng)剩余時間耗盡則視為考生提交了試卷,系統(tǒng)將自動為試卷進(jìn)行評分。實現(xiàn)方法為調(diào)用包下的Date().getTime()方法獲取當(dāng)前的系統(tǒng)時間;然后通過在Jsp頁面中設(shè)置計時timer=Window.set
57、Interv(showStartTime();showRemainTime();,1000); 來不斷更新時間。計算剩余時間時還要記錄考試開始時間,并用其與考試時間相加得到考試結(jié)束時間,當(dāng)?shù)竭_(dá)結(jié)束時間時觸發(fā)提交試卷事件進(jìn)入系統(tǒng)評分。具體代碼如下:/計算剩余時間private ActionForward showRemainTime(ActionMapping mapping, ActionForm form, ServletRequest request, ServletResponse response) Session session = request.getSession();Stri
58、ng 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=(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)%36000
59、00)%60000/1000;String second=chStr.formatNO(s,2);String time=hour+:+minute+:+second;request.setAttribute(showRemainTime,time);return mapping.findForward(showRemainTime);5.3.4 保存考試結(jié)果當(dāng)系統(tǒng)對試卷自動評分后會將考試結(jié)果,考試時間和考生準(zhǔn)考證號保存至數(shù)據(jù)庫中的成績表中,同時將做錯的題目和考生的準(zhǔn)考證號保存至錯題表中。具體代碼為:public int SaveWrongResult(String studentID,int
60、 quesId) String sql=INSERT INTO tb_Wrong (stuId,quesId) values(+studentID+,+quesId+); System.out.println(剛開始考試時保存考試結(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)lessonDA
溫馨提示
- 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)用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。
最新文檔
- 風(fēng)景名勝區(qū)自行車租借協(xié)議
- 建筑安裝工程承包合作協(xié)議
- 廣告委托制作協(xié)議書
- 民間借款協(xié)議書的格式要求
- 私車出租給機(jī)構(gòu)協(xié)議
- 2024年加盟經(jīng)銷合同范本
- 建筑工程勞務(wù)擴(kuò)大分包合同完整2024年
- 2024正規(guī)版私人借款合同樣本
- 吉林省農(nóng)業(yè)產(chǎn)品訂購協(xié)議
- 房產(chǎn)物業(yè)抵押借款協(xié)議
- 中等職業(yè)學(xué)校學(xué)業(yè)水平考試《電工基礎(chǔ)》課程考試大綱
- 中美兩國教育中對學(xué)生數(shù)學(xué)問題解決能力培養(yǎng)的差異研究
- 4.1.2測量玻璃磚的折射課件-高二上學(xué)期物理人教版選擇性
- 保險中介傭金協(xié)議書
- 全國大學(xué)生職業(yè)規(guī)劃大賽
- 膠輪車司機(jī):膠輪車司機(jī)考試試題
- 家庭教育指導(dǎo)說明報告
- 醫(yī)學(xué)與大數(shù)據(jù):信息技術(shù)在醫(yī)療中的應(yīng)用
- 2024年室內(nèi)裝飾設(shè)計師(高級工)考試復(fù)習(xí)題庫(含答案)
- 2024年長沙衛(wèi)生職業(yè)學(xué)院高職單招(英語/數(shù)學(xué)/語文)筆試歷年參考題庫含答案解析
- 教育培訓(xùn)行業(yè)2024年生產(chǎn)與制度改革方案
評論
0/150
提交評論