畢業(yè)論文-基于Java Web的模擬駕??荚囅到y(tǒng)設計與實現(xiàn)_第1頁
畢業(yè)論文-基于Java Web的模擬駕校考試系統(tǒng)設計與實現(xiàn)_第2頁
畢業(yè)論文-基于Java Web的模擬駕??荚囅到y(tǒng)設計與實現(xiàn)_第3頁
畢業(yè)論文-基于Java Web的模擬駕??荚囅到y(tǒng)設計與實現(xiàn)_第4頁
畢業(yè)論文-基于Java Web的模擬駕校考試系統(tǒng)設計與實現(xiàn)_第5頁
已閱讀5頁,還剩49頁未讀, 繼續(xù)免費閱讀

下載本文檔

版權說明:本文檔由用戶提供并上傳,收益歸屬內容提供方,若內容存在侵權,請進行舉報或認領

文檔簡介

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

2、的可擴展性、易于維護、安全性較好,具備一般交通規(guī)則模擬考試系統(tǒng)的基本要求,并增加了錯題練習、章節(jié)練習和成績統(tǒng)計等輔助功能,可以在各種符合Java Web標準的容器中高效運行,并兼容大部分常用瀏覽器??梢灶A測,這種符合具有良好構架、擴展性和安全性的交通規(guī)則模擬考試系統(tǒng),將獲得越來越多人們的認可。交通規(guī)則模擬考試系統(tǒng)的前景十分光明,充滿活力。 關鍵詞:交通規(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 本文工作的主要內容 PAGEREF _Toc296252914 h 2 HYPERLINK l _Toc296252915 系統(tǒng)概述 PAGEREF _Toc296252915 h 3 HYPERLINK l _Toc296252916 設計背景 PAGEREF _Toc296252916 h 3 HYPERLINK l _Toc296252917 設計目標 PAGEREF _Toc296252917 h 3 HYPERL

10、INK l _Toc296252918 運行環(huán)境 PAGEREF _Toc296252918 h 3 HYPERLINK l _Toc296252919 功能需求 PAGEREF _Toc296252919 h 4 HYPERLINK l _Toc296252920 第3章 總體設計 PAGEREF _Toc296252920 h 5 HYPERLINK l _Toc296252921 系統(tǒng)體系結構 PAGEREF _Toc296252921 h 5 HYPERLINK l _Toc296252922 系統(tǒng)模塊介紹 PAGEREF _Toc296252922 h 5 HYPERLINK l _

11、Toc296252923 系統(tǒng)的物理結構 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ù)庫概要設計 PAGEREF _Toc296252926 h 8 HYPERLINK l _Toc296252927 第4章 詳細設計 PAGEREF _Toc29625292

12、7 h 9 HYPERLINK l _Toc296252928 首頁及主要頁面設計 PAGEREF _Toc296252928 h 9 HYPERLINK l _Toc296252929 整站類設計 PAGEREF _Toc296252929 h 10 HYPERLINK l _Toc296252930 數(shù)據(jù)庫詳細設計 PAGEREF _Toc296252930 h 11 HYPERLINK l _Toc296252931 主要功能模塊設計 PAGEREF _Toc296252931 h 12 HYPERLINK l _Toc296252932 首頁設計 PAGEREF _Toc2962529

13、32 h 12 HYPERLINK l _Toc296252933 模擬考試頁設計 PAGEREF _Toc296252933 h 13 HYPERLINK l _Toc296252934 后臺用戶成績管理頁面設計 PAGEREF _Toc296252934 h 15 HYPERLINK l _Toc296252935 用戶注冊頁面設計 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 保存考試結果 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 測試結果及分析 PAGEREF _Toc296252947 h 24 HYPERLINK l _Toc296252948 單元測試部分 PAGEREF _Toc296252948 h 24 HYPERLINK l _Toc296252949 集成測試部分 PAGEREF _Toc296252949 h 24 HYPERLINK l _Toc296252950 結論 PAGEREF _Toc296252950 h 25 HYPERLINK l _Toc296252951 致謝 PAGE

17、REF _Toc296252951 h 27 HYPERLINK l _Toc296252952 參 考 文 獻 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è)為了適應新的社會節(jié)奏,都大量采用機器幫助提高勞動生產(chǎn)效率,降低生產(chǎn)成本,增強單位的競爭能力。電腦模擬考試作為一種新的教學方式正受到越來越多的重視。多數(shù)駕駛學校由于技術原因以及學員自身情況,致使大量的時間和人力白白浪費在交通規(guī)則教學上,不僅教學效率低,而且教學成本大幅度上升,不利于市場的競爭。因此,為適應發(fā)展,駕駛學校需要一個適用于其特殊性的軟件,以方便其模擬考試工作所用,提高學員的學習效率,減輕教學人員的勞動強度,提高其勞動效率,真正做到解放生產(chǎn)力,創(chuàng)造更多的勞動

19、價值;使學校更規(guī)范、科學、高效、有更大的發(fā)展?jié)摿??;谝陨显?,我決定設計一款出題快速準確,無出題重題現(xiàn)象,能按考試題庫進行順序出題,隨機出題,能對選定題庫進行針對練習,練習時能馬上提示學員所選答案是否正確,模擬考試后能對考試中做錯題進行重點練習,練習或考試中能進行計時等功能。本設計源于開發(fā)一個完全自主創(chuàng)新并能夠應用于學習中的交通規(guī)則考試系統(tǒng)的構想,應用平時學習的知識和生活總結的經(jīng)驗以及對同類產(chǎn)品的借鑒,開發(fā)出這個交通規(guī)則模擬考試系統(tǒng)。其難度工作量也都符合畢業(yè)設計的要求,是符合教學要求的模擬題目。交通規(guī)則模擬考試系統(tǒng),采用了當今流行的B/S結構,適應了駕駛員培訓教育發(fā)展的新需要,對用戶來說,

20、不僅可以減少人力、物力和財力資源的浪費,更重要的是有助于提高學員考試的通過率。這和以往單機版的駕駛員理論考試系統(tǒng)相比,系統(tǒng)不需要安裝,節(jié)約了本地計算機資源,方便了用戶的接入,只要能上網(wǎng)就能隨時模擬練習,也滿足了當今駕校學員爆炸式增長的需求。該系統(tǒng)經(jīng)過試運行及測試,能符合當今此類系統(tǒng)的先進性、實用性、可靠性等特點,將引領駕駛員理論考試網(wǎng)上模擬系統(tǒng)的新模式。隨著互聯(lián)網(wǎng)的普及和駕駛員培訓事業(yè)的不斷發(fā)展與壯大,會有越來越多的用戶樂于接受駕駛員理論考試的網(wǎng)上模擬,其市場潛力會得到充分發(fā)揮。 1.3本文工作的主要內容本設計主要實現(xiàn)交通規(guī)則模擬考試系統(tǒng)的基本功能,包括:試題的添加、修改、刪除、修改操作:添加

21、試卷功能由用戶填寫試題的題目,所屬章節(jié),各選項答案,正確答案等信息,當用戶點擊確定時將題目存入數(shù)據(jù)庫。試題修改功能可修改除所屬章節(jié)以外的試題信息,刪除功能則從數(shù)據(jù)庫中刪除本條試題記錄。 自動抽取試題 :當用戶進入模擬考試界面時系統(tǒng)將從數(shù)據(jù)庫中隨機抽取指定數(shù)量的題目,而題目將涉及到試題表中所有的章節(jié)。(3) 自動評分:當用戶回答完所有題目點擊提交按鈕時系統(tǒng)將會對用戶的答題進行評分,并將成績,考生考號和考試時間等信息插入數(shù)據(jù)庫。模擬考試中設置了考試時間,當剩余時間為0時,計時系統(tǒng)將計算出此時用戶所答題目的成績,并將結果保存至數(shù)據(jù)庫。(4) 統(tǒng)計考生成績與自測情況:當用戶進入統(tǒng)計界面后系統(tǒng)會取出數(shù)據(jù)

22、庫中的成績表中該考生的所以記錄,將其展示在頁面中(5) 分章節(jié)練習:當用戶進入章節(jié)練習模塊中時,系統(tǒng)將從數(shù)據(jù)庫中的試題表中抽取同一類型中的所有題目,并將答案顯示在頁面底部。(6) 錯題練習:當用戶進入錯題練習模塊中時,系統(tǒng)將從數(shù)據(jù)庫中的錯題表中抽取用戶曾經(jīng)在模擬考試中答錯的題目,并將答案顯示在頁面底部。本文主要介紹設計所用到的一些技術、所采用的方法和特點功能等。其中第二章需求分析從計算機軟硬件方面分別介紹本設計需要的運行需求和運行環(huán)境,并在其后的內容中對用戶的詳細需求進行分析。第三章總體設計主要介紹系統(tǒng)的功能結構、主要物理架構、安全和數(shù)據(jù)庫概要設計。第四章詳細設計主要介紹了主要頁面和類(包括包

23、)的設計、數(shù)據(jù)庫詳細設計、界面設計等。第五章主要介紹本設計采用的主流技術、框架,開發(fā)工具和一些精髓代碼的展示說明。第六章是測試,主要介紹了本系統(tǒng)所采用的白盒、黑盒測試方式,所獲得的測試結果以及針對結果所做的修改等。第2章 需求分析2.1系統(tǒng)概述本交通規(guī)則模擬考試系統(tǒng)提供對用戶模擬考試實現(xiàn)的支持。為滿足用戶對交通規(guī)則模擬考試系統(tǒng)的需要,開發(fā)本套開源代碼的交通規(guī)則模擬考試系統(tǒng)。本考試系統(tǒng)面向一般用戶,對Web技術有一定了解的人群。本套系統(tǒng)完全為免費開源軟件,提供Java Web交流、學習之平臺。共同完善本交通規(guī)則模擬考試系統(tǒng)。本著實用精神,本系統(tǒng)將完成基本考試功能并提供較強的接口對更多功能提供支持

24、。設計背景本設計面向所有希望學習交通規(guī)則的人和一起參與Java Web學習交流的同行,基于JSPStrutsMS SQL Server以及CSS花費2個月時間設計開發(fā)。設計目標完成交通規(guī)則考試系統(tǒng)的基本功能:包括對試題的添加,修改刪除,用戶登陸,模擬考試,按章節(jié)練習,錯題練習,統(tǒng)計考生自測情況等 功能。運行環(huán)境硬件環(huán)境服務器端要求:CPU:Inter Pentium 或AMD Athlon 3000+或更高內存:256MB硬盤:100MB客戶端要求:CPU:Inter Pentium 或AMD Athlon 2600+或更高內存:128MB軟件環(huán)境服務器端要求:操作系統(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)功能:前臺頁面使用考生準考證號與密碼登錄,考生可逐節(jié)練習、模擬考試、錯題復習、常用網(wǎng)址等內容??色@取考生自測統(tǒng)計結果,當考生提交試卷后由系統(tǒng)進行自動評分將結果顯示在用戶界面。后臺管理頁面使用管理員用戶名與密碼登錄,管理員享有管理(添加、修改、刪除

26、)試題庫、管理(添加、修改、統(tǒng)計)自測統(tǒng)計結果的權限。管理員可向試題庫添加,刪除或修改試題,可根據(jù)考生提交的試卷測試情況統(tǒng)計出考生成績排名,易錯題等內容,方便考生自我評估。(1)交通規(guī)則模擬考試系統(tǒng)用戶界面:采用淺藍色作背景,清新簡約風格。(2)交通規(guī)則模擬考試系統(tǒng)的軟件接口:界面采用完全按CSS布局控制,風格完全可以通過CSS實現(xiàn)自定義;數(shù)據(jù)庫采用DAO連接,通過修改DAO中的方法可輕松改變數(shù)據(jù)庫各種操作。(3)確定交通規(guī)則考試系統(tǒng)維護的要求:不定期根據(jù)情況推出新界面和代碼調整,優(yōu)化系統(tǒng)性能、豐富網(wǎng)站界面。內容方面完全由用戶自主更新。(4)確定交通規(guī)則模擬考試系統(tǒng)空間租賃要求:支持JSP的主

27、機,500800元/年。(5)主頁面及次頁面數(shù)量:前臺主頁1個,次頁面15個。后臺主頁面1個,次頁面14個。(6)管理及內容錄入任務分配:由管理員確定。(7)各種頁面特殊效果及其數(shù)量:前臺頁面由默認風格及用戶選擇風格決定(可擴展多個風格),后臺風格固定。(8)信息保密性要求:數(shù)據(jù)庫及Java Web服務器物理安全。程序代碼安全,無后門,權限分配及管理安全,密碼安全等。 第3章 總體設計系統(tǒng)體系結構交通規(guī)則模擬考試系統(tǒng)自測統(tǒng)計自測評分模擬測試自動評分獲取試卷試卷管理成績管理添加、修改、刪除統(tǒng)計、修改、添加前臺自測頁面后臺管理頁面章節(jié)練習錯題練習統(tǒng)計測試情況圖3.1 系統(tǒng)功能結構圖系統(tǒng)模塊介紹本系

28、統(tǒng)分為前臺自測與后臺管理兩大功能模塊,用戶首先從前臺登陸界面進入自測首頁由此可進入模擬考試,錯題管理,章節(jié)練習等子功能模塊從而選擇各項自測功能;管理員從后臺登陸界面進入后臺管理首頁,由此可進入試題管理,章節(jié)管理,成績管理等子功能模塊從而選擇各項管理功能。試卷管理本模塊實現(xiàn)對試卷題目,章節(jié)等內容的添加、修改、刪除等功能,操作試卷信息需要管理員權限。在提交時,程序會對所提交的信息進行檢查,當添加重復題目或章節(jié)時會以對話框的形式給與提醒,成績管理該模塊實現(xiàn)了對用戶考試結果的集中展示,列舉出用戶考試的時間,用戶ID,成績等信息,方便管理員分析用戶考試情況同時本模塊提供了搜索功能??筛鶕?jù)用戶的ID進行搜

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

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

31、,是隨著Internet技術的興起,對C/S結構的一種變化或者改進的結構。在這種結構下,用戶界面完全通過WWW瀏覽器實現(xiàn),一部分事務邏輯在前端實現(xiàn),但是主要事務邏輯在服務器端實現(xiàn)。B/S結構,主要是利用了WWW瀏覽器技術,結合瀏覽器的多種Script語言(JavaScript 、VBScript)和ActiveX技術,用通用瀏覽器就實現(xiàn)了原來需要復雜專用軟件才能實現(xiàn)的強大功能,并節(jié)約了開發(fā)成本,是一種全新的軟件系統(tǒng)構造技術。隨著Windows 98/Windows 2000將瀏覽器技術植入操作系統(tǒng)內部,這種結構更成為當今應用軟件的首選體系結構。顯然B/S結構應用程序相對于傳統(tǒng)的C/S結構應用程

32、序有了巨大的進步。B/S結構采用星形拓撲結構建立企業(yè)內部通信網(wǎng)絡或利用Internet虛擬專網(wǎng)(VPN)。B/S結構具有節(jié)省投資、跨地域廣的優(yōu)點,無須視企業(yè)規(guī)模和地理分布確定。企業(yè)內部通過防火墻接入Internet,再整個網(wǎng)絡采用TCP/IP協(xié)議。網(wǎng)絡結構如圖所示: B/S模式的優(yōu)勢B/S最大的優(yōu)點就是可以在任何地方進行操作而不用安裝任何專門的軟件。只要有一臺能上網(wǎng)的電腦就能使用,客戶端零維護。系統(tǒng)的擴展非常容易,只要能上網(wǎng),再由系統(tǒng)管理員分配一個用戶名和密碼,就可以使用了。甚至可以在線申請,通過公司內部的安全認證后,不需要人的參與,系統(tǒng)可以自動分配給用戶一個賬號進入系統(tǒng)。系統(tǒng)物理結構如圖所示

33、:控制器(Servlet)視圖(JSP)瀏覽器(Model)JavaBean請求響應應用服務器數(shù)據(jù)庫實例化圖3.2 系統(tǒng)的物理結構圖左部分瀏覽器屬于客戶端,右部分屬于服務器。其中控制器及業(yè)務邏輯使用Struts實現(xiàn),視圖由JSP實現(xiàn),數(shù)據(jù)庫采用MS SQL Server 2000。 數(shù)據(jù)庫概要設計一個設計良好的數(shù)據(jù)庫,可以使系統(tǒng)的實現(xiàn)變得非常的簡單,同時,也可以使系統(tǒng)的執(zhí)行速度變得很快。反之,一個設計混亂的數(shù)據(jù)庫,不僅增加了吸引的管理實現(xiàn)過程,同時在系統(tǒng)的執(zhí)行過程中,使得檢索變得很慢,降低效率。所以數(shù)據(jù)庫的設計是一個系統(tǒng)設計很重要的步驟。根據(jù)系統(tǒng)功能設計要求和模塊劃分,本站的數(shù)據(jù)庫主要有錯題信

34、息、題目信息、用戶信息、章節(jié)信息、結果信息等表。數(shù)據(jù)庫的設計通常是以一個已經(jīng)存在的數(shù)據(jù)庫管理系統(tǒng)為基礎的,常用的數(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補丁和所有安全補丁。第4章 詳細設計表4.1 主要頁面文件及其作用文件名說明前臺登陸界面default.jsp前臺功能主界面exercise.jsp考試功能選擇頁面

35、top.jsp模板文件,用于構建網(wǎng)頁頂部style.css本文件夾用于存儲各種不同顯示樣式,可根據(jù)不同需要添加CSS樣式register.jsp前臺用戶注冊頁面selectLesson.jsp選擇章節(jié)的頁面startExam.jsp模擬考試頁面startExercise.jsp逐節(jié)練習頁面startWrong.jsp錯題練習頁面Student_Modify.jsp修改學生信息頁面stuResultQuery.jsp查看考試結果頁面manage left.jsp后臺功能選擇頁面managemanager_add.jsp添加管理員頁面managequestions_add.jsp添加題目頁面man

36、ageselTao.jsp添加章節(jié)頁面managecopyright.jsp聲明頁面Struts配置文件Struts主要標簽庫之一,用于實現(xiàn)各種邏輯和顯示Struts主要標簽庫之一,用于實現(xiàn)各種邏輯和顯示Struts主要標簽庫之一,用于實現(xiàn)各種邏輯和顯示W(wǎng)EB-整個網(wǎng)站的配置文件圖4.1 網(wǎng)站文件結構圖本站所用到的類分為4個包,包括用于連接數(shù)據(jù)庫的core,用于操作數(shù)據(jù)表的dao,用于用戶交互的action,以及actionForm。這些包分別管理和完善系統(tǒng)的各個方面。例如dao實現(xiàn)的是與操作數(shù)據(jù)表的功能,每個表都對應著一個唯一的dao,用來實現(xiàn)程序中對表中數(shù)據(jù)的增,刪,改,查。Action負

37、責接收用戶請求。整站的包結構如下:圖4.2 本網(wǎng)站的包結構根據(jù)系統(tǒng)功能設計要求和模塊劃分,本站的數(shù)據(jù)庫主要包括課程信息表、管理員信息表、題目信息表、用戶信息表、考試結果表、章節(jié)信息表、錯題信息表等7個表。各表的表結構如下:表 課程信息表結構字段名數(shù)據(jù)類型長度鍵備注IDbigint8主鍵標識符Namevarchar60課程名JoinTimedatetime18加入時間表 管理員信息表結構字段名數(shù)據(jù)類型長度鍵備注IDbigint8主鍵標識符NAMEvarchar30名稱PWDvarchar30密碼表 題目信息表結構字段名數(shù)據(jù)類型長度鍵備注IDbigint8主鍵標識符subjectvarchar50

38、題目Typechar6題目類型JoinTimedatetime8加入時間lessonIdint4課程信息表外鍵課程IDtaoTiIdbigint8章節(jié)IDoptionAvarchar50A選項內容optionBvarchar50B選項內容optionCvarchar50C選項內容optionDvarchar50D選項內容answervarchar10答案表4.4 錯題信息表結構字段名數(shù)據(jù)類型長度鍵備注stuIdvarchar16用戶信息表外鍵用戶idquesIdbigint8題目信息表外鍵題目idIDbigint8主鍵標識符表4.5 章節(jié)信息表結構字段名數(shù)據(jù)類型長度鍵備注IDbigint8主鍵

39、標識符Namevarchar50名稱LessonIDbigint8章節(jié)IDJoinTimedatetime8加入時間表4.6 用戶信息表結構字段名數(shù)據(jù)類型長度鍵備注IDvarchar16主鍵標識符namevarchar20名稱pwdvarchar20密碼sexvarchar2性別jointimedatetime8加入時間 questionvarchar50問題answervarchar50答案表4.7 考試結果表結構字段名數(shù)據(jù)類型長度鍵備注IDint8主鍵標識符stuIdvarcher16用戶信息表外鍵用戶IDwhichLessonvarcher60課程信息表外鍵課程名resSingleint

40、4單選分數(shù)resTotalint4多選分數(shù)resTotalint4總分joinTimedatetime8加入時間主要功能模塊設計首頁設計首頁是用戶對網(wǎng)站的第一印象,一個好的首頁能夠極大的提高用戶的好感度和訪問率,考試系統(tǒng)也不例外。本系統(tǒng)默認首頁為清新風格,背景為藍天草地,樸素且柔和,可以很好的緩解用戶因為考試而產(chǎn)生的緊張情緒。本站所有頁面均由CSS布局,在不同的瀏覽器中展示的效果稍有區(qū)別,在ie中展示效果最佳。下圖是首頁的截圖:圖4.3 主頁截圖模擬考試頁設計模擬考試功能是本程序的核心功能,是本程序的重點,頁面包括時間展示和試題展示兩部分。頂部包括考試時間、計時和剩余時間三部分。用于提醒用戶考

41、試時間。主體部分為試卷的試題,并用紅字指出每道題目的分數(shù),底部為提交按鈕,當考生確認答題結束后可點擊它來提交結果,程序會自動評分,并將成績以對話框的形式展示給用戶。如果頂部的剩余時間耗盡,同樣視為提交了答案,系統(tǒng)將進入評分階段。圖圖4.4 模擬考試頁面截圖圖4.5 成績結果對話框截圖后臺用戶成績管理頁面設計本程序不僅完整的模擬了交通規(guī)則考試的功能,而且擁有功能強大的后臺管理及統(tǒng)計功能。通過后臺管理界面,管理員可以輕松的瀏覽用戶的考試結果。本頁面主要包括四部分,頂部為統(tǒng)一風格的歡迎界面,并在加載過程中檢測用戶是否登陸,如果尚未登陸則跳轉至登陸界面,左側為功能選擇區(qū)域,列舉出程序后臺所具備的全部功

42、能,單擊不同的項目則頁面主體區(qū)域出現(xiàn)對應的功能界面。頁面主體區(qū)域展示了全部用戶的考試信息,包括用戶ID、考試時間、成績等內容。該界面提供了搜索功能,可以通過用戶ID和考試時間搜索成績信息。底部為聲明部分,并提示本程序界面的最佳展示方法。圖4.6 后臺管理截圖4.4.4用戶注冊頁面設計注冊是用戶對網(wǎng)站的一種認可,良好的注冊頁面會給用戶一種舒適的感覺和溫馨的體驗,會促使他們認真填寫注冊信息。同時友好的錯誤提示對于用戶注冊也是必不可少的。在登錄界面各輸入欄右側,給出了正確填寫的標準,如果用戶填寫不符合要求,會在提交時返回不符合要求的地方,并要求修改該處。本站的注冊頁如下:圖4.7 注冊頁面截圖第5章

43、 系統(tǒng)的編碼5.1系統(tǒng)框架為了更加科學和完美地完成本設計,本系統(tǒng)還采用Apache組織的Struts開源框架(1.2版本)構建控制層和業(yè)務層。圖是Struts基本結構圖,可以看出,采用Struts框架結構的Web應用系統(tǒng)主要由控制器、業(yè)務邏輯、模型和視圖組成。其中的控制器、模型和視圖為Struts框架結構的主要組成部分,而事務邏輯則是我們需要實現(xiàn)的系統(tǒng)業(yè)務邏輯處理部分。嚴格的說系統(tǒng)應該使用專門的部分實現(xiàn)業(yè)務邏輯,而不是使用Struts來實現(xiàn),但就本系統(tǒng)而言,業(yè)務邏輯比較簡單,雖然引入專門的邏輯業(yè)務處理單元沒有任何問題,考慮到程序復雜性和運行效率問題,決定還是省略用作專門處理業(yè)務的邏輯單元??蛻?/p>

44、(瀏覽器)控制器(ActionServlet)模型(ActionForm)業(yè)務邏輯(Action)視圖(JSP)請求轉發(fā)響應分配讀取struts圖5.1 Struts的基本結構5.2開發(fā)語言本系統(tǒng)采用JSP開發(fā),主要后臺代碼都由Java編程開發(fā)。此外,一些配置文件由XML文件編寫。JSP(JavaServer Pages)是由Sun Microsystems公司倡導、許多公司參與一起建立的一種 HYPERLINK :/baike.baidu /view/348756.htm t _blank 動態(tài)網(wǎng)頁技術標準。JSP技術有點類似 HYPERLINK :/baike.baidu /view/26

45、16.htm t _blank ASP技術,它是在傳統(tǒng)的網(wǎng)頁 HYPERLINK :/baike.baidu /view/692.htm t _blank HTML文件)中插入 HYPERLINK :/baike.baidu /view/29.htm t _blank Java程序段(Scriptlet)和JSP標記(tag),從而形成JSP文件 用JSP開發(fā)的Web應用是跨平臺的,即能在Linux下運行,也能在其他操作系統(tǒng)上運行。JSP技術使用Java編程語言編寫類XML的tags和scriptlets,來封裝產(chǎn)生動態(tài)網(wǎng)頁的處理邏輯。網(wǎng)頁還能通過tags和scriptlets訪問存在于服務端

46、的資源的應用邏輯。JSP將網(wǎng)頁邏輯與網(wǎng)頁設計和顯示分離,支持可重用的基于組件的設計,使基于Web的應用程序的開發(fā)變得迅速和容易。JSP技術的強勢:(1)一次編寫,到處運行。在這一點上Java比 HYPERLINK :/baike.baidu /view/99.htm t _blank PHP更出色,除了系統(tǒng)之外,代碼不用做任何更改。(2)系統(tǒng)的多平臺支持?;旧峡梢栽谒衅脚_上的任意環(huán)境中開發(fā),在任意環(huán)境中進行系統(tǒng)部署, 在任意環(huán)境中擴展。相比ASP/PHP的局限性是顯而易見的。 (3)強大的可伸縮性。從只有一個小的 HYPERLINK :/baike.baidu /view/50457.ht

47、m t _blank Jar文件就可以運行Servlet/JSP,到由多臺服務器進行集群和負載均衡,到多臺Application進行事務處理,消息處理,一臺服務器到無數(shù)臺服務器,Java顯示了一個巨大的生命力。(4)多樣化和功能強大的開發(fā)工具支持。這一點與ASP很像,Java已經(jīng)有了許多非常優(yōu)秀的開發(fā)工具,而且許多可以免費得到,并且其中許多已經(jīng)可以順利的運行于多種平臺之下。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ù)庫驅動的變量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)的模擬考試抽題部分采用了隨機抽題的方式,同時所抽取的題目將涉及數(shù)據(jù)庫中所存儲的所有試題章節(jié),實現(xiàn)方法為在sql語句中調用了newid()數(shù)據(jù)庫方法;該方法配合top n*將從select語句自定的查找范圍中隨機查找出n條記錄,完整的sql語句為SELECT top 4 * FROM tb_questions A WHERE taoTiId in(SELECT taoTiId FROM tb_questions WHERE A.id = id ) order by newid(),返回記錄后將結果保留到名為questionsList的List中

52、,供模擬考試頁面調用。具體代碼如下: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)在考生進行模擬考試過程中將計算考試時間和剩余時間,當剩余時間耗盡則視為考生提交了試卷,系統(tǒng)將自動為試卷進行評分。實現(xiàn)方法為調用包下的Date().getTime()方法獲取當前的系統(tǒng)時間;然后通過在Jsp頁面中設置計時timer=Window.set

57、Interv(showStartTime();showRemainTime();,1000); 來不斷更新時間。計算剩余時間時還要記錄考試開始時間,并用其與考試時間相加得到考試結束時間,當?shù)竭_結束時間時觸發(fā)提交試卷事件進入系統(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 保存考試結果當系統(tǒng)對試卷自動評分后會將考試結果,考試時間和考生準考證號保存至數(shù)據(jù)庫中的成績表中,同時將做錯的題目和考生的準考證號保存至錯題表中。具體代碼為:public int SaveWrongResult(String studentID,int

60、 quesId) String sql=INSERT INTO tb_Wrong (stuId,quesId) values(+studentID+,+quesId+); System.out.println(剛開始考試時保存考試結果的SQL語句:+sql); int ret=conn.executeUpdate(sql); return ret; /考試結束后保存考試結果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)系上傳者。文件的所有權益歸上傳用戶所有。
  • 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁內容里面會有圖紙預覽,若沒有圖紙預覽就沒有圖紙。
  • 4. 未經(jīng)權益所有人同意不得將文件中的內容挪作商業(yè)或盈利用途。
  • 5. 人人文庫網(wǎng)僅提供信息存儲空間,僅對用戶上傳內容的表現(xiàn)方式做保護處理,對用戶上傳分享的文檔內容本身不做任何修改或編輯,并不能對任何下載內容負責。
  • 6. 下載文件中如有侵權或不適當內容,請與我們聯(lián)系,我們立即糾正。
  • 7. 本站不保證下載資源的準確性、安全性和完整性, 同時也不承擔用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。

評論

0/150

提交評論