版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請進行舉報或認(rèn)領(lǐng)
文檔簡介
1、<p> 基于JAVA的在線考試系統(tǒng)</p><p><b> 畢業(yè)設(shè)計論文</b></p><p> 基于JAVA的在線考試系統(tǒng)</p><p> 基于JAVA的在線考試系統(tǒng)</p><p> 【內(nèi)容提要】 二十一世紀(jì)是信息時代的一個新起點,我們的信息技術(shù)的發(fā)展已經(jīng)延伸到各個領(lǐng)域,對于我一個大學(xué)生我
2、想到了考試,于是我們設(shè)計了一個考試系統(tǒng),對一些科目的考試可以通過互聯(lián)網(wǎng)絡(luò)或局域網(wǎng)進行,方便校方考務(wù)的管理,也方便了考生,尤其適合考生分布廣,不易集中的遠(yuǎn)程教育。我們主要開發(fā)系統(tǒng)的后臺管理系統(tǒng)—JAVA在線考試管理子系統(tǒng),它包括試題管理、考生管理、在線制作試卷、控制學(xué)生考試的設(shè)置、試卷審批等功能。我要寫的就是在線考試管理子系統(tǒng)的分析、設(shè)計和開發(fā)的全部過程。運用ER圖,程序流程圖等對在線管理子系統(tǒng)的設(shè)計過程進行的說明。全文共分為開發(fā)方案、需
3、求分析、系統(tǒng)設(shè)計、關(guān)鍵技術(shù)解決,結(jié)論幾個部分。開發(fā)方案中主要介紹開發(fā)在線考試系統(tǒng)得目的、開發(fā)方案的選擇及開發(fā)框架的技術(shù)的確定;需求分析介紹了在線考試系統(tǒng)的總體需求及系統(tǒng)各模塊的功能需求;系統(tǒng)設(shè)計介紹了系統(tǒng)設(shè)計的指導(dǎo)思想、數(shù)據(jù)庫的設(shè)計、系統(tǒng)模塊的設(shè)計;關(guān)鍵技術(shù)介紹了在具體實現(xiàn)時需解決的一些技術(shù),如開發(fā)框架的整合技術(shù)、開發(fā)</p><p> 框架與數(shù)據(jù)庫的連接及數(shù)據(jù)的備份與還原。</p><p&
4、gt; 【關(guān)鍵詞】:在線考試,JSP,JAVA,oracle9i/10g數(shù)據(jù)庫,B/S模式</p><p><b> 前言 </b></p><p><b> 網(wǎng)上考試系統(tǒng)</b></p><p><b> 前言 2</b></p><p><b>
5、 1.1問題分析4</b></p><p><b> 1.2項目目的5</b></p><p><b> 1.3方案選擇5</b></p><p> 1.4開發(fā)框架技術(shù)8</p><p><b> 2、 需求分析9</b></p&
6、gt;<p><b> 2.1任務(wù)概述9</b></p><p> 2.2功能需求概述9</p><p> 2.2運行環(huán)境10</p><p><b> 3、系統(tǒng)設(shè)計10</b></p><p> 3.1指導(dǎo)思想10</p><p> 3.
7、2系統(tǒng)結(jié)構(gòu)圖12</p><p> 3.3數(shù)據(jù)庫設(shè)計14</p><p> 4、系統(tǒng)架構(gòu)與數(shù)據(jù)庫的連接16</p><p><b> 5、結(jié)束語19</b></p><p><b> 參考文獻19</b></p><p> 【ABSTRACT】On-lin
8、e examination system the aim is carry out examination of have no the paper turn a management, can carry on through Internet net or bureau area net to some examinations of categories, convenient school square test the man
9、agement of duty, also convenient the examinee is particularly suitable for examinee to distribute widely and not easily concentrated of long range education.I mainly develop the system-JAVA of the backstage management
10、9;s on-line examination management sub- system o</p><p><b> 后記21</b></p><p> 當(dāng)今社會,考試已經(jīng)是我們必不可少的東西了,從小到大我們已經(jīng)考過無數(shù)次了,以后還要考,不管是國內(nèi)還是國外的各大廠家,都在不斷的推出一系列的考試、認(rèn)證。又是要我們?nèi)タ荚嚒N覀儑业淖钥蓟蚴浅煽?,以及各省市的?/p>
11、種考試,現(xiàn)在都在朝著信息化的道路前進在走。我們相信在今后這一系列的考試將會走向網(wǎng)絡(luò)化考試的。這樣才是符合信息技術(shù)發(fā)展的方向。我們要給不同的考試同一個好的解決方案。 這個方案在技術(shù)上來講我們是采用B/S模式。 在windows/Linux平臺上,使用IE瀏覽器,完成抽題、考試、交卷等考試任務(wù)。方便,簡單的完成各種考試,這也是我們的目的所在。</p><p> 考點模塊通過網(wǎng)絡(luò)獲取題庫,按照題庫中的抽題策略,自動給
12、每個考生生成一份試卷,考生在線作答,考試結(jié)果數(shù)據(jù)通過網(wǎng)絡(luò)回收,系統(tǒng)自動進行判分,生成考試成績和統(tǒng)計數(shù)據(jù)?!霸诰€考試系統(tǒng)”是集合現(xiàn)代考試?yán)碚?、方法和現(xiàn)代信息技術(shù)手段的智能化網(wǎng)上考試系統(tǒng),為學(xué)生個性化學(xué)習(xí)提供“靈活、方便、科學(xué)、公平”的“個別化考試服務(wù)”,是終結(jié)性評價系統(tǒng)。學(xué)生可以隨時、隨地進行課程結(jié)業(yè)考試。</p><p> 學(xué)校與社會上的各種考試大都采用傳統(tǒng)的考試方式,在此方式下,組織一次考試至少要經(jīng)過五個步驟
13、,即人工出卷,考生考試,人工閱卷,成績評估和試卷分析。顯然,隨著考試類型的不斷增加及考試要求的不斷提高,教師的工作量將會越來越大,并且其工作將是一件十分煩瑣和非常容易出錯的事情,可以說傳統(tǒng)的考試方式已經(jīng)不能適應(yīng)現(xiàn)代考試的需要。隨著計算機應(yīng)用的迅猛發(fā)展,網(wǎng)絡(luò)應(yīng)用不斷擴大,如遠(yuǎn)程教育和虛擬大學(xué)的出現(xiàn)等等,且這些應(yīng)用正逐步深入到千家萬戶。人們迫切要求利用這些技術(shù)來進行在線考試,以減輕教師的工作負(fù)擔(dān)及提高工作效率,與此同時也提高了考試的質(zhì)量,從
14、而使考試更趨于公證、客觀、更加激發(fā)學(xué)生的學(xué)習(xí)興趣。例如目前許多國際著名的計算機公司所舉辦的各種認(rèn)證考試絕大部分采用這種方式。為了適應(yīng)新形勢的發(fā)展,我們推出了這一系統(tǒng),使其盡快在各類考試中發(fā)揮高效,便捷的作用,把老師從繁重的工作中解脫出來。在這里不得不說“老師們,你們辛苦了”;</p><p><b> 1、系統(tǒng)需求分析</b></p><p><b>
15、1.1問題分析</b></p><p> 在以往傳統(tǒng)的學(xué)校教學(xué)中,進行考試,要求老師刻試卷、印試卷、安排考試、監(jiān)考、收集試卷、評改試卷、講評試卷和分析試卷,這是一個繁雜的過程,需要大量人力、物力與時間的投入,已經(jīng)越來越不適應(yīng)學(xué)校信息化建設(shè)與現(xiàn)代教學(xué)的需要。尤其在遠(yuǎn)程網(wǎng)絡(luò)教學(xué)中,學(xué)生分布廣,不易統(tǒng)一集中安排考試,給校方和學(xué)生帶來了眾多的不便。而在線考試系統(tǒng),正是信息化建設(shè)的產(chǎn)物,它是傳統(tǒng)考場的延伸。它
16、可以利用互聯(lián)網(wǎng)絡(luò)和局域網(wǎng),隨時隨地的對學(xué)生進行考試,加上數(shù)據(jù)庫技術(shù)的利用,大大簡化了傳統(tǒng)考試的過程,因此在線考試是電子化教學(xué)的不可缺少的輔助手段。在當(dāng)今信息時代,計算機技術(shù)與網(wǎng)絡(luò)技術(shù)越來越廣地應(yīng)用于各個領(lǐng)域,改變著人們的學(xué)習(xí)、工作、生活乃至思維方式,也引起了教育領(lǐng)域的重大變革。將計算機與網(wǎng)絡(luò)技術(shù)應(yīng)用于現(xiàn)代高等教育中,是現(xiàn)代高等教育發(fā)展的需要,也是改革教育模式,提高學(xué)校教學(xué)效果和教學(xué)效率、提高科研和管理水平的必要手段。</p>
17、<p><b> 1.2項目目的</b></p><p> 在線考試系統(tǒng)的總體目標(biāo):</p><p> 在線考試系統(tǒng)可以幫助教師完成一個考試從題目設(shè)計,考試安排,考試實施,考卷批改到分?jǐn)?shù)統(tǒng)計總結(jié)的所有工作。</p><p> 所有的考試數(shù)據(jù)和其它數(shù)據(jù)庫需要一種主流的方式進行存儲和管理,例如使用數(shù)據(jù)庫技術(shù)。</p>
18、;<p> 考試數(shù)據(jù)的存放和處理必須對考試保密,需要一定的安全性保障。</p><p><b> 對考試的系統(tǒng)目標(biāo):</b></p><p> 這個軟件是分布式的,這意味著只要有考試客戶端可以連接到考試應(yīng)用服務(wù)器,任何考生在任何地方進行身份確認(rèn),都能完成考試。</p><p> 題目最好有一定的穩(wěn)定性和隨機性。穩(wěn)定性可以保
19、證每一次考試對每一個考生是公平的,隨機性可以避免作弊的發(fā)生。</p><p> 考試的部分結(jié)果在考生考完之后就可以知道,同時監(jiān)考教師可以根據(jù)同學(xué)們答題的情況作備注記錄</p><p><b> 對教師的系統(tǒng)目標(biāo):</b></p><p> 提供一個功能全面的考核管理客戶端,可以進行考試設(shè)計和安排。</p><p>
20、 通過管理客戶端,教師可以進行考試的身份管理。</p><p> 考生的考試結(jié)果可以被保存下來,供教師進行分析統(tǒng)計和察看。</p><p><b> 1.3方案選擇</b></p><p> 開發(fā)在線考試系統(tǒng),提出以下解決方案:</p><p> 選擇Oracle作為后臺的數(shù)據(jù)庫,選擇JAVA、JSP、Java
21、Script、Html作為應(yīng)用程序開發(fā)工具,運用Tomcat服務(wù)器技術(shù),整個系統(tǒng)完全基于B/S (Browser/Server)模式進行設(shè)計,采用strus框架進行架構(gòu)。</p><p><b> JAVA簡介</b></p><p> Java是Sun公司推出的新的一代面向?qū)ο蟪绦蛟O(shè)計語言,特別適合于Internet應(yīng)用程序開發(fā)。Java的產(chǎn)生與流行是當(dāng)今Int
22、ernet發(fā)展的客觀要求,Java是一門各方面性能都很好的編程語言,它的基本特點是簡單、面向?qū)ο?、分布式、解釋的、健壯的、安全的、結(jié)構(gòu)中立的、可移植的、性能很優(yōu)異的、多線程的、動態(tài)的,特別適合在Internet環(huán)境上開發(fā)的應(yīng)用系統(tǒng)。</p><p> Web應(yīng)用程序開發(fā)環(huán)境—JSP技術(shù)</p><p> JSP的全稱是Java Server Pages,它是SUN推出的一種動態(tài)網(wǎng)頁技術(shù)
23、標(biāo)準(zhǔn)。它在傳統(tǒng)的靜態(tài)頁面文件(*.html,*.htm)中加入JAVA程序片段和JSP標(biāo)記,就構(gòu)成了JSP頁面。JSP具有以下的優(yōu)點:</p><p> 將業(yè)務(wù)層與表示層分離:使用JSP技術(shù),網(wǎng)絡(luò)開發(fā)人員可充分使用HTML來設(shè)計頁面顯示部分(如字體顏色等),并使用JSP指令或者JAVA程序片段來生成網(wǎng)頁上的動態(tài)內(nèi)容;</p><p> 能夠跨平臺:JSP支持絕大部分平臺,包括現(xiàn)在非常流
24、行的LINUX系統(tǒng),應(yīng)用非常廣泛的Apache服務(wù)器也提供了支持JSP的服務(wù);</p><p> 組件的開發(fā)和使用很方便:如ASP的組件是由C++,VB等語言開發(fā)的,并需要注冊才能使用;而JSP的組件是用Java開發(fā)的,可以直接使用;</p><p> 一次編寫,處處運行:作為JAVA開發(fā)平臺的一部分,JSP具有JAVA的所有優(yōu)點,包括Write once , Run everywhe
25、re.</p><p> Tomcat應(yīng)用服務(wù)器</p><p> 目前支持JSP的應(yīng)用服務(wù)器是較多的,Tomcat是其中較為流行的一個Web服務(wù)器,被JavaWorld雜志的編輯選為2001年度最具創(chuàng)新的Java產(chǎn)品,可見其在業(yè)界的地位。 </p><p> Tomcat是一個免費的開源的Serlvet容器,在Tomcat中,應(yīng)用程序的部
26、署很簡單,你只需將你的WAR放到Tomcat的webapp目錄下,Tomcat會自動檢測到這個文件,并將其解壓。你在瀏覽器中訪問這個應(yīng)用的Jsp時,通常第一次會很慢,因為Tomcat要將Jsp轉(zhuǎn)化為Servlet文件,然后編譯。編譯以后,訪問將會很快。</p><p> Tomcat也具有傳統(tǒng)的Web服務(wù)器的功能:處理Html頁面。但是與Apache相比,它的處理靜態(tài)Html的能力就不如Apache。我們可以將
27、Tomcat和Apache集成到一塊,讓Apache處理靜態(tài)Html,而Tomcat處理Jsp和Servlet。Tomcat是一個很好的工具,不僅僅因為其免費,功能強大,更因為其開放性,越來越受到人們的重視。</p><p><b> oracle</b></p><p> Oracle全球公認(rèn)最好的數(shù)據(jù)庫提供商在8i之前支持1024p,9i之后沒有限制(m-g-
28、t-p-e)中國最早在保險業(yè)使用oracle</p><p><b> oracle的版本</b></p><p> 1978年 oracle 1</p><p> 1980年 oracle 2</p><p> 1982年:oracle 3用c重寫 ,跨平臺</p><p> 1986
29、年: oracle 5,關(guān)系型已經(jīng)成熟</p><p> 1989年 oracle6 實現(xiàn)熱備份</p><p> 1993年 oracle7,登陸中國</p><p> 1997年 oracle8</p><p> 1999年 oracle8i 用java實現(xiàn)</p><p> oracle 具有如下特性:
30、 </p><p> 其數(shù)據(jù)庫引擎提供完整的 XML 支持</p><p> 一個數(shù)據(jù)庫引擎可以在不同的平臺上使用</p><p> 其關(guān)系數(shù)據(jù)庫引擎支持當(dāng)今苛刻的數(shù)據(jù)處理環(huán)境所需的功能。</p><p> 一系列管理和開發(fā)工具,是其系統(tǒng)容易安裝 、部署、管理和使用。</p><p> 有析取和分析匯總數(shù)據(jù)以
31、進行聯(lián)機分析處理 (OLAP) 的工具</p><p><b> B/S 開發(fā)模式</b></p><p> 伴隨著Internet的迅速發(fā)展,計算機技術(shù)正在由基于C/S(client/ Server)模式的應(yīng)用系統(tǒng)轉(zhuǎn)變?yōu)榛贐/S模式的應(yīng)用系統(tǒng)。</p><p> 過去,網(wǎng)絡(luò)軟件的開發(fā)都采用C/S(client)模式,在這種模式下,主要
32、的業(yè)務(wù)邏輯都集中于客戶端程序,因此,必然導(dǎo)致以下問題:</p><p> 系統(tǒng)安裝、調(diào)試、維護和升級困難。由于客戶端的硬件配置可能存在差異,軟件環(huán)能各不相同,因此,在安裝時,必須對每一個客戶端分別進行配置,同樣,在軟件升級時也要對客戶端分別處理。</p><p> 在整個系統(tǒng)中,業(yè)務(wù)邏輯和用戶界面都集中到了客戶端,必然會增加安全隱患。</p><p> B/S
33、模式帶來了巨大的好處:</p><p> 開發(fā)成本及維護成本降低。由于B/S架構(gòu)管理軟件只安裝在服務(wù)器端(Server)上,即應(yīng)用程序在部署、升級、維護時,只需要在服務(wù)器端進行配置就可以了,網(wǎng)絡(luò)管理人員只需要管理服務(wù)器就行了,用戶界面主要事務(wù)邏輯在服務(wù)器(Server)端完全通過WWW瀏覽器實現(xiàn),極少部分事務(wù)邏輯在前端(Browser)實現(xiàn),所有的客戶端只有瀏覽器,網(wǎng)絡(luò)管理人員只需要做硬件維護。</p&g
34、t;<p> 良好的安全性能,防火墻技術(shù)可以保證后臺數(shù)據(jù)庫的安全性。所有的配置工作都集中在服務(wù)器端且所有客戶端請求都是通過DBMS來訪問數(shù)據(jù)庫,從而大大減少了數(shù)據(jù)直接暴露的風(fēng)險。</p><p><b> 1.4開發(fā)框架技術(shù)</b></p><p> 對于框架技術(shù),我們采用Struts+Hibernate的整合,其實任何一種框架都可以完成我們的項目
35、,但我們選擇三種框架的組合是因為三種框架各有好處,我們利用它們的優(yōu)點,來避免它們的缺點,充分利用Java技術(shù)在web的應(yīng)用。</p><p> Struts是應(yīng)用比較廣泛的一種表現(xiàn)層框架</p><p> Struts是一個為開發(fā)基于模型(Model)-視圖(View)-控制器(Controller)(MVC)模式的應(yīng)用架構(gòu)的開源框架,是利用Servlet,JSP和custom tag
36、 library構(gòu)建Web應(yīng)用的一項非常有用的技術(shù)。由于Struts能充分滿足應(yīng)用開發(fā)的需求,簡單易用,敏捷迅速。它使用服務(wù)層框架可以將JavaBeans從Jsp/Servlet中分離出來,而使用表現(xiàn)層框架則可以將Jsp中剩余的JavaBeans完全分離,這部分JavaBeans主要負(fù)責(zé)顯示相關(guān)信息,一般是通過標(biāo)簽庫(Taglib)實現(xiàn),不同框架有不同自己的標(biāo)簽庫,Struts是應(yīng)用比較廣泛的一種表現(xiàn)層框架。</p>&l
37、t;p><b> AJAX</b></p><p> AJAX(Asynchronous JavaScript And XML)利用javascript和xml兩種技術(shù)以一種新的方式</p><p> 組合起來的一門客戶端技術(shù)。它解決了以下問題:</p><p> 1) 當(dāng)前頁面的內(nèi)容丟失,處于空白狀態(tài)</p>&l
38、t;p> 2) 用戶當(dāng)前的操作被中斷</p><p> 3) 如果頁面內(nèi)容要局部更新的話,整個頁面要全部被刷新。</p><p> ? 使用目的:解決以上的問題 </p><p> ? 功能:用于客戶端和服務(wù)器數(shù)據(jù)的異步傳輸</p><p> ? 范圍:任何Java應(yīng)用</p><p> Hibern
39、ate通過持久層的框架將數(shù)據(jù)庫存儲從服務(wù)層中分離出來</p><p> 它是O/R Mapping的一種實現(xiàn)是目前在JAVA界使用非常廣泛的O/R Mapping的一種實現(xiàn),可以實現(xiàn)關(guān)系型數(shù)據(jù)庫和對象之間的映射。用來開發(fā)數(shù)據(jù)庫系統(tǒng)非常方便,可以將數(shù)據(jù)庫和程序的設(shè)計融合在一起。表現(xiàn)層和服務(wù)層的分離是通過兩種框架達到目的的,剩余的就是持久層框架了,通過持久層的框架將數(shù)據(jù)庫存儲從服務(wù)層中分離出來就是其目的,持久層框架
40、有兩種方向:直接自己編寫JDBC等SQL語句(如Ibatis);使用O/R Mapping技術(shù)實現(xiàn)的Hibernate和JDO技術(shù);當(dāng)然還有EJB中的實體Bean技術(shù)。Hibernate的工作原理是通過文件把值對象和數(shù)據(jù)庫表之間建立起一個映射關(guān)系,這樣,我們只需要通過操作這些值對象和Hibernate提供的一 些基本類,就可以達到使用數(shù)據(jù)庫的目的。例如,使用Hibernate的查詢,可以直接返回包含某個值對象的列表(List),而不必向
41、傳統(tǒng)的JDBC訪問方式一樣把結(jié)果集的數(shù)據(jù)逐個裝載到一個值對象中,為我們的編碼工作節(jié)省了大量的勞動。Hibernate提供的HQL是一種類SQL語言,是提供對象化的數(shù)據(jù)庫查詢方式,但HQL在功能和使用方式上都非常接近于標(biāo)</p><p><b> 2、 需求分析</b></p><p><b> 2.1任務(wù)概述</b></p&g
42、t;<p> 在線考試管理子系統(tǒng)主要實現(xiàn)題庫管理、在線制作試卷、在線控制考試、自動評分、自動交卷、考生管理、成績查詢、試卷管理等功能,充分利用計算機科學(xué)與技術(shù),改變傳統(tǒng)的考試操作方式,實現(xiàn)無紙化考試的模式。</p><p><b> 2.2功能需求概述</b></p><p> 系統(tǒng)需要解決的主要問題</p><p> 我
43、主要開發(fā)的是教師管理子系統(tǒng),在此系統(tǒng)中我們主要對前臺考試系統(tǒng)的顯示信息進行管理和設(shè)置。我將子系統(tǒng)分為以下功能模塊:</p><p> 考試統(tǒng)計:用于查看考試的信息</p><p> 試題講解:可對本次考試進行試卷的講解</p><p> 用戶管理:對本用戶的信息進行修改</p><p> 查看考試情況:對不同的班級和科目進行統(tǒng)計,統(tǒng)計
44、分為:不及格、及格、中等、良好、優(yōu)秀五個等級,統(tǒng)計值為各個等級所占的百分比.</p><p> 查看考生情況:可以查看不同班級的不同科目的考試的詳細(xì)情況</p><p> 開始考試:監(jiān)考教師點擊考試考試按鈕后,考生才能考試考試,否則沒有試題。</p><p> 結(jié)束考試:監(jiān)考教師點擊結(jié)束考試按鈕后,考生不能再提交考卷。</p><p>
45、<b> 2.2運行環(huán)境</b></p><p> 硬件需求: PIII/256M/10G 及以上配置,要求為考試系統(tǒng)分配足夠的數(shù)據(jù)庫磁盤空間</p><p> 推薦配置: PIV 2G/512M/40G</p><p> 操作系統(tǒng)需求: Windows2000及以上操作系統(tǒng) ( 推薦 ) ,也可以使用 Sun Solari
46、s 等 Linux 操作系統(tǒng)</p><p> 數(shù)據(jù)庫軟件需求: Oracle 9i/Oracle 10g 數(shù)據(jù)庫</p><p> 中間件軟件需求:tomcat系列服務(wù)器</p><p><b> 3、系統(tǒng)設(shè)計</b></p><p><b> 3.1指導(dǎo)思想</b></p>
47、<p> 、B/S結(jié)構(gòu)開發(fā)思想</p><p> B/S(Browser/Server)結(jié)構(gòu)即瀏覽器和服務(wù)器結(jié)構(gòu)。它是隨著Internet技術(shù)的興起,對C/S結(jié)構(gòu)的一種變化或者改進的結(jié)構(gòu)。在這種結(jié)構(gòu)下,用戶工作界面是通過WWW瀏覽器來實現(xiàn),極少部分事務(wù)邏輯在前端(Browser)實現(xiàn),但是主要事務(wù)邏輯在服務(wù)器端(Server)實現(xiàn),形成所謂三層(3-tier)結(jié)構(gòu)。一個三層架構(gòu)的應(yīng)用程序由三部分組
48、成,這三部分各自分布在網(wǎng)絡(luò)中的不同地方。這三個部分分別是:工作站或表示層接口、事務(wù)邏輯、數(shù)據(jù)庫以及與其相關(guān)的程序設(shè)計。在一個典型的三層架構(gòu)應(yīng)用程序中,應(yīng)用程序的用戶工作站包括提供圖形用戶界面(GUI)的程序設(shè)計和具體的應(yīng)用程序入口表格或交互式窗口。事務(wù)邏輯處在局域網(wǎng)(LAN)服務(wù)器或其他共享主機上,它作為響應(yīng)工作站所發(fā)出客戶請求的服務(wù)器,而相對于處于大型機的第三層它是作為客戶端,并且決定需要什么數(shù)據(jù)以及數(shù)據(jù)存儲在哪里。第三層包括數(shù)據(jù)
49、庫以及處理讀寫以及訪問數(shù)據(jù)庫的程序。然而應(yīng)用程序的設(shè)計可能比這個架構(gòu)要復(fù)雜,對于大型程序來說,這個三層模式是一種比較簡便的考慮方法。這種應(yīng)用程序的設(shè)計使用客戶/服務(wù)器模式,各層可以同時開發(fā),并且可以由不同的</p><p> 、系統(tǒng)工程的流程思想</p><p> 我們在系統(tǒng)開發(fā)過程中,采用軟件工程的開發(fā)管理,在開發(fā)的過程中也遵循軟件工程的思想,軟件工程的主要環(huán)節(jié)有:人員管理(自己
50、模擬)、項目管理(我的小組模擬)、可行性與需求分析、系統(tǒng)設(shè)計、程序設(shè)計、測試、維護等,如圖1.1所示。 </p><p> 、面向?qū)ο髾C制的設(shè)計思想</p><p> 所有計算機均由兩種元素組成:代碼和數(shù)據(jù)。精確的說,有些程序是圍繞著"什么正在發(fā)生"而編寫,有些則是圍繞"誰正在受影響"而編寫的。</p><p> 第一種
51、編程方式叫做"面向過程的模型",按這種模型編寫的程序以一系列的線性步驟(代碼)為特征,可被理解為作用于數(shù)據(jù)的代碼。如 C 等過程化語言。</p><p> 第二種編程方式叫做"面向?qū)ο蟮哪P?quot;,按這種模型編寫的程序圍繞著程序的數(shù)據(jù)(對象)和針對該對象而嚴(yán)格定義的接口來組織程序,它的特點是數(shù)據(jù)控制代碼的訪問.通過把控制權(quán)轉(zhuǎn)移到數(shù)據(jù)上,面向?qū)ο蟮哪P驮诮M織方式上有:抽象、封裝
52、、繼承和多態(tài)的好處。</p><p><b> 、代碼分層思想</b></p><p> 由于采用B/S設(shè)計模式分層思想,同時根據(jù)軟件工程的管理思想及系統(tǒng)分析的設(shè)計與分析的思想進行系統(tǒng)的開發(fā),利用Java語言開發(fā)Web應(yīng)用程序,提供String+Hibernate+Spring框架對系統(tǒng)的程序代碼結(jié)構(gòu)進行分層。分層的策略如下:</p><p&g
53、t; Struts-Spring-Hibernate 架構(gòu)</p><p><b> 3.2系統(tǒng)結(jié)構(gòu)圖</b></p><p> 、本系統(tǒng)分為學(xué)生前臺子系統(tǒng)和考試管理子系統(tǒng),整個系統(tǒng)的結(jié)構(gòu)圖如下:</p><p><b> 系統(tǒng)部分功能序列圖</b></p><p><b> 用
54、戶登錄序列圖:</b></p><p><b> 系統(tǒng)操作序列圖:</b></p><p><b> 3.3數(shù)據(jù)庫設(shè)計</b></p><p> 根據(jù)系統(tǒng)需要和考試需要,設(shè)立了如下數(shù)據(jù)庫表:</p><p><b> examstate</b></p&
55、gt;<p><b> 考試狀態(tài)表</b></p><p><b> state</b></p><p><b> student</b></p><p><b> teacher</b></p><p><b> jte
56、acher</b></p><p><b> admin</b></p><p><b> chengji</b></p><p><b> banji</b></p><p> 4、系統(tǒng)架構(gòu)與數(shù)據(jù)庫的連接</p><p> 對于數(shù)
57、據(jù)庫的連接,我們的數(shù)據(jù)訪問接口采用JDBC-ODBC橋數(shù)據(jù)驅(qū)動程序,以純Java的方式來連接數(shù)據(jù)庫,為訪問不同的數(shù)據(jù)庫提供統(tǒng)一的接口。JDBC數(shù)據(jù)庫驅(qū)動程序是把JDBC調(diào)用翻譯成廠商專用API的調(diào)用。開放數(shù)據(jù)連接(ODBC)最初是為微軟操作系統(tǒng)上的SQL提供API標(biāo)準(zhǔn),后來也在其他的平臺上提供了支持。ODBC為直接訪問數(shù)據(jù)定義了一組函數(shù),而不是在客戶應(yīng)用程序中嵌入SQL。JDBC-ODBC橋在JDBC API 和ODBC API 之間提
58、供了一個橋梁,這個橋把標(biāo)準(zhǔn)的JDBC調(diào)用翻譯成對應(yīng)的ODBC調(diào)用,然后通過ODBC API把它們發(fā)送到ODBC數(shù)據(jù)源。</p><p> 在選擇了數(shù)據(jù)訪問接口后,開始利用這個原理進行具體的連接了。</p><p> 由于我們開發(fā)時是利用MVC的設(shè)計模式,所以在此我們的數(shù)據(jù)庫連接是封存在M中的,即只要我們和M層連接上,就已經(jīng)連接上數(shù)據(jù)庫了。</p><p> 在
59、M上我們采用Hibernate框架技術(shù),以下是一個非常簡要的Hibernate體系結(jié)構(gòu)的概要圖:</p><p> 從這個圖可以看出,Hibernate使用數(shù)據(jù)庫和配置信息來為應(yīng)用程序提供持久化服務(wù)(以及持久的對象)。我們只需在hibernate.cfg.xml中配置以下語句即可:</p><p> <?xml version='1.0' encoding=
60、9;UTF-8'?></p><p> <!DOCTYPE hibernate-configuration PUBLIC</p><p> "-//Hibernate/Hibernate Configuration DTD 3.0//EN"</p><p> "http://hibernate.sourcefo
61、rge.net/hibernate-configuration-3.0.dtd"></p><p> <!-- Generated by MyEclipse Hibernate Tools. --></p><p> <hibernate-configuration></p><p>
62、 <session-factory></p><p> <property name="show_sql">true</property></p><p> <property name="connection.url">jdbc:oracle:thin:@192.168.1.250:1521:br
63、iupdb</property></p><p> <property name="connection.driver_class">oracle.jdbc.driver.OracleDriver</property></p><p> <property name="connection.username&quo
64、t;>jd0801</property></p><p> <property name="connection.password">jd0801</property></p><p> <property name="dialect">org.hibernate.dialect.Oracle
65、9Dialect</property></p><p> <property name="myeclipse.connection.profile">mytest</property></p><p> <mapping resource="com/briup/test/bean/exam/Ajaxjsf.hbm.
66、xml" /></p><p> <mapping resource="com/briup/test/bean/exam/Ejb.hbm.xml" /></p><p> <mapping resource="com/briup/test/bean/exam/Hibernate.hbm.xml" /><
67、;/p><p> <mapping resource="com/briup/test/bean/exam/Html.hbm.xml" /></p><p> <mapping resource="com/briup/test/bean/exam/Java.hbm.xml" /></p><p> &l
68、t;mapping resource="com/briup/test/bean/exam/Jdbc.hbm.xml" /></p><p> <mapping resource="com/briup/test/bean/exam/Jsp.hbm.xml" /></p><p> <mapping resource=&quo
69、t;com/briup/test/bean/exam/Ooaduml.hbm.xml" /></p><p> <mapping resource="com/briup/test/bean/exam/Oracle.hbm.xml" /></p><p> <mapping resource="com/briup/test/
70、bean/exam/Plsql.hbm.xml" /></p><p> <mapping resource="com/briup/test/bean/exam/Servlet.hbm.xml" /></p><p> <mapping resource="com/briup/test/bean/exam/Spring.h
71、bm.xml" /></p><p> <mapping resource="com/briup/test/bean/exam/Struts.hbm.xml" /></p><p> <mapping resource="com/briup/test/bean/exam/Unix.hbm.xml" />&l
72、t;/p><p> <mapping resource="com/briup/test/bean/exam/Webservice.hbm.xml" /></p><p> <mapping resource="com/briup/test/bean/exam/Xml.hbm.xml" /></p><p&g
73、t; <mapping resource="com/briup/test/bean/exam/State.hbm.xml" /></p><p> <mapping resource="com/briup/test/bean/exam/Examstate.hbm.xml" /></p><p> <mapping
74、resource="com/briup/test/bean/people/Admin.hbm.xml" /></p><p> <mapping resource="com/briup/test/bean/people/Jteacher.hbm.xml" /></p><p> <mapping resource=&quo
75、t;com/briup/test/bean/people/Teacher.hbm.xml" /></p><p> <mapping resource="com/briup/test/bean/people/Student.hbm.xml" /></p><p> <mapping resource="com/briup/
76、test/bean/exam/Chengji.hbm.xml" /></p><p> <mapping resource="com/briup/test/bean/exam/Banji.hbm.xml" /></p><p> <mapping resource="com/briup/test/bean/exam/Kao
77、hao.hbm.xml" /></p><p> </session-factory></p><p> </hibernate-configuration></p><p><b> 5、結(jié)束語</b></p><p> 當(dāng)今許多高校都非常關(guān)注無紙化網(wǎng)絡(luò)考試的開發(fā)與應(yīng)用,
78、本文是通過考試方面進行的嘗試,實踐證明,該方法是可行的;我們結(jié)合企業(yè)的開發(fā)技術(shù)及在校所學(xué)理論知識(軟件工程,操作系統(tǒng),數(shù)據(jù)結(jié)構(gòu)等學(xué)科),利用畢業(yè)設(shè)計的機會,開發(fā)一套在線考試系統(tǒng),基本上實現(xiàn)了在線考試及考試管理等功能。</p><p> 由于技術(shù)有限,該系統(tǒng)存在很多不足之處,有待進一步改進和完善。</p><p><b> 參考文獻</b></p>&
79、lt;p> [1] 張孝祥IT課堂系統(tǒng)---Java就業(yè)培訓(xùn)教程(網(wǎng)上課堂).</p><p> [4] 耿祥義.Java基礎(chǔ)教程[M].北京.清華大學(xué)出版社. 2004.9:10-50</p><p> [5] Bruce Eckel.Java編程思想[M].北京.機械工業(yè)出版社. 2002.9:30-280 </p><p> [6] (美)舒爾第
80、.Java2-The complete reference[M].北京.電子工業(yè)出版社. 2003.1:20-100</p><p> [7] (美)Marty Hall.Servlet與JSP權(quán)威指南[M].北京v機械工業(yè)出版社. 2002.10:30-350</p><p> [8] (美)Marty Hall.JavaScript高級程序設(shè)計[M].北京.人民郵電出版社. 200
81、6.11:50-200</p><p> [9](美)David Flanagan.JavaScript權(quán)威指南[M].北京.機械工業(yè)出版社. 2003.1:10-200</p><p> [10] 梁立新.項目實踐精解:基于struts-spring-hibernate的Java應(yīng)用開發(fā)[M].北京.電子工業(yè)出版社. 2006.8:10-300</p><p>
82、; [11] 邱哲等.Struts Web設(shè)計與開發(fā)大全[M].北京.清華大學(xué)出版社. 2006.8:10-208</p><p> [12] 張洪偉.Tomcat Web開發(fā)及整合應(yīng)用[M].北京.清華大學(xué)出版社. 2006.8:10-230</p><p> [13] 郭鋒等.Spring 從入門到精通[M].北京.清華大學(xué)出版社. 2006.8:10-250</p>
83、<p> [14] 蔡雪燾.Hibernate開發(fā)及整合應(yīng)用大全[M].北京.清華大學(xué)出版社. 2006.8:10-200</p><p> [15] 高寅.系統(tǒng)分析之路[M].北京.電子工業(yè)出版社. 2005.5:30-200</p><p> [16] 范云之.基于Web數(shù)據(jù)庫在線考試系統(tǒng)的設(shè)計與實現(xiàn)研究[J].商丘師范學(xué)院學(xué)報第22卷第5期 2006.10:1-2
84、0</p><p> On-line examination system base on JAVA</p><p> 【ABSTRACT】On-line examination system the aim is carry out examination of have no the paper turn a management, can carry on through Int
85、ernet net or bureau area net to some examinations of categories, convenient school square test the management of duty, also convenient the examinee is particularly suitable for examinee to distribute widely and not easil
86、y concentrated of long range education.I mainly develop the system-JAVA of the backstage management's on-line examination management sub- system o</p><p> Keyword:JSP, JAVA,2000 databases of the SQL Ser
87、ver, mode of B/ S</p><p><b> 后記</b></p><p> 在設(shè)計與制作中,我們發(fā)現(xiàn)了很多問題,我更深刻的明白理論與現(xiàn)實之間的差距,想到不如做到,要做就做最好。既然做了就要做好。</p><p> 正在這時候四川地震的風(fēng)暴迎面沖來,來的那么快,那么猛烈,讓我感到害怕,人的生命在大自然面前如此脆弱,我們應(yīng)該
溫馨提示
- 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. 眾賞文庫僅提供信息存儲空間,僅對用戶上傳內(nèi)容的表現(xiàn)方式做保護處理,對用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對任何下載內(nèi)容負(fù)責(zé)。
- 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請與我們聯(lián)系,我們立即糾正。
- 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時也不承擔(dān)用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。
最新文檔
- 畢業(yè)設(shè)計--基于java的在線考試系統(tǒng)
- 基于java ee的在線考試系統(tǒng)畢業(yè)設(shè)計
- java在線考試系統(tǒng)畢業(yè)設(shè)計
- 畢業(yè)設(shè)計----基于bs模式的java在線考試系統(tǒng)的設(shè)計與實現(xiàn)
- 畢業(yè)論文---基于java的在線考試系統(tǒng)的設(shè)計
- 【資料下載】基于java語言的在線考試系統(tǒng)設(shè)計_畢業(yè)設(shè)計論文[原創(chuàng)精品]
- 基于java的在線考試系統(tǒng)(畢業(yè)論文)
- 基于java的在線考試系統(tǒng)畢業(yè)論文
- 基于java的在線考試系統(tǒng)畢業(yè)論文
- 畢業(yè)設(shè)計----基于java的在線購物系統(tǒng)的設(shè)計與實現(xiàn)
- 基于java語言的在線考試系統(tǒng)設(shè)計
- java考試系統(tǒng)畢業(yè)設(shè)計(論文)
- 基于java的在線考試系統(tǒng)
- 基于java的在線考試系統(tǒng)
- 基于java的在線考試系統(tǒng)
- 基于jsp的在線考試系統(tǒng)畢業(yè)設(shè)計
- 基于java的在線考試系統(tǒng)
- 基于web的在線考試系統(tǒng)畢業(yè)設(shè)計
- 基于java在線考試系統(tǒng)
- 畢業(yè)論文——基于jsp的java在線考試系統(tǒng)
評論
0/150
提交評論