jsq+oracle在線考試系統(tǒng)畢業(yè)論文_第1頁(yè)
已閱讀1頁(yè),還剩41頁(yè)未讀, 繼續(xù)免費(fèi)閱讀

下載本文檔

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

文檔簡(jiǎn)介

1、<p>  本科生畢業(yè)論文(設(shè)計(jì))</p><p>  **大學(xué)在線考試系統(tǒng)</p><p><b>  分析與設(shè)計(jì)</b></p><p>  2012年5月25日</p><p> 姓  名</p><p> 學(xué)  號(hào)</p><p> 專(zhuān)  業(yè)</p&

2、gt;<p> 指導(dǎo)教師</p><p><b>  摘 要</b></p><p>  在計(jì)算機(jī)網(wǎng)絡(luò)飛速發(fā)展的今天,互聯(lián)網(wǎng)應(yīng)用在人們政治、經(jīng)濟(jì)、生活等各個(gè)方面發(fā)揮著重要的作用,然而在教育方面卻沒(méi)有得到充分的利用。在追求效率與公平的時(shí)代,為了使學(xué)校、教師以及學(xué)生在考試過(guò)程減少時(shí)間、金錢(qián)的投入,因此設(shè)計(jì)開(kāi)發(fā)了這個(gè)在線考試系統(tǒng)。</p>&

3、lt;p>  本文論述了一個(gè)以Internet為網(wǎng)絡(luò)平臺(tái)、三層架構(gòu)(B/S)的在線考試系統(tǒng)的設(shè)計(jì)原理、設(shè)計(jì)思想及具體的實(shí)現(xiàn)過(guò)程,對(duì)在設(shè)計(jì)過(guò)程中涉及到的關(guān)鍵算法及重要作業(yè)流程作了具體分析和介紹,并對(duì)各個(gè)模塊的設(shè)計(jì)思想及設(shè)計(jì)過(guò)程作了詳細(xì)闡述。本系統(tǒng)采用Jsp+Servlet等技術(shù),設(shè)法為學(xué)校創(chuàng)建一個(gè)便捷公平的在線考試平臺(tái)。本論文闡述了系統(tǒng)所要實(shí)現(xiàn)的功能,其中包括學(xué)生考試,人員管理,題庫(kù)管理等多個(gè)功能,對(duì)各功能模塊的實(shí)現(xiàn)流程以及后臺(tái)數(shù)據(jù)

4、庫(kù)的設(shè)計(jì)進(jìn)行說(shuō)明,并詳細(xì)介紹了在線考試系統(tǒng)主要業(yè)務(wù)的實(shí)現(xiàn)方式。對(duì)于不同用戶角色,本文將分別關(guān)于功能結(jié)構(gòu)進(jìn)行介紹,并對(duì)其邏輯和代碼實(shí)現(xiàn)進(jìn)行解釋和說(shuō)明。</p><p>  關(guān)鍵詞:在線考試;Oracle數(shù)據(jù)庫(kù);Jsp;MVC</p><p><b>  Abstract</b></p><p>  Along with the rapid dev

5、elopment of information technique such as computer and network nowadays, in people's daily life, especially in politics, economy and education etc, the Internet is playing an important role. However, in the education

6、 aspect, it has not been fully utilized. In order to pursuit higher efficiency and quality of the examination process, and also to reduce the cost of money and time, an on-line examination system is therefore necessary.

7、</p><p>  This thesis proposes three architectures (B/S) of the online examination system design, and also introduces the design idea and the realization process of design. The process of the algorithm and t

8、he key important work flow is also analyzed and introduced. This system uses the Jsp + Servlet technology creates a convenient online examination platform. This thesis describes the system functions, including students&#

9、39; test, personnel management and management etc. For different user roles, this thesi</p><p>  Key words: Online Examination, Oracle Database, JSP, MVC</p><p><b>  目 錄</b></p&g

10、t;<p><b>  1 引 言1</b></p><p>  1.1 課題的背景1</p><p>  1.2 課題的目的和意義1</p><p>  1.3 本文的內(nèi)容安排2</p><p>  2 開(kāi)發(fā)工具及相關(guān)技術(shù)3</p><p>  2.1 系統(tǒng)的B/S結(jié)構(gòu)簡(jiǎn)

11、述3</p><p>  2.2 開(kāi)發(fā)環(huán)境及開(kāi)發(fā)工具3</p><p>  2.2.1 Dreamweaver3</p><p>  2.2.2 Eclipse4</p><p>  2.2.3 Oracle 數(shù)據(jù)庫(kù)4</p><p>  2.2.4 Tomcat服務(wù)器4</p><p&

12、gt;  2.3 相關(guān)技術(shù)5</p><p>  2.3.1 CSS+DIV5</p><p>  2.3.2 JavaScript 和jQuery5</p><p>  2.3.3 Servlet 和JSP5</p><p>  2.3.4 MVC模式6</p><p>  2.3.5 JDBC7<

13、/p><p>  2.4 本章小結(jié)7</p><p><b>  3 系統(tǒng)分析8</b></p><p>  3.1 系統(tǒng)需求分析8</p><p>  3.1.1 系統(tǒng)功能的需求8</p><p>  3.1.2 系統(tǒng)性能的需求8</p><p>  3.2 系統(tǒng)可

14、行性分析9</p><p>  3.2.1 經(jīng)濟(jì)可行性分析9</p><p>  3.2.2 技術(shù)可行性分析9</p><p>  3.3 系統(tǒng)流程分析9</p><p>  3.3.1 業(yè)務(wù)流程分析10</p><p>  3.3.2 數(shù)據(jù)流程分析10</p><p>  3.4

15、本章小結(jié)11</p><p><b>  4 系統(tǒng)設(shè)計(jì)12</b></p><p>  4.1 系統(tǒng)總體規(guī)劃12</p><p>  4.2 數(shù)據(jù)庫(kù)設(shè)計(jì)13</p><p>  4.2.1 概念結(jié)構(gòu)設(shè)計(jì)13</p><p>  4.2.2 邏輯結(jié)構(gòu)設(shè)計(jì)15</p><

16、;p>  4.3 本章小結(jié)18</p><p><b>  5 系統(tǒng)實(shí)施19</b></p><p>  5.1 創(chuàng)建與數(shù)據(jù)庫(kù)的連接19</p><p>  5.2 系統(tǒng)的登錄頁(yè)面20</p><p>  5.3 學(xué)生主頁(yè)面22</p><p>  5.3.1 考試科目查詢22&

17、lt;/p><p>  5.3.2 進(jìn)行考試22</p><p>  5.3.3 成績(jī)查詢26</p><p>  5.4 教師主頁(yè)面27</p><p>  5.4.1 題庫(kù)管理27</p><p>  5.4.2 試卷管理27</p><p>  5.4.3 考生成績(jī)查詢28<

18、/p><p>  5.5 管理員主頁(yè)面29</p><p>  5.5.1 人員信息管理29</p><p>  5.5.2 考試科目管理29</p><p>  5.6 本章小結(jié)30</p><p><b>  6 系統(tǒng)測(cè)試31</b></p><p>  6.1

19、測(cè)試的目標(biāo)與方法31</p><p>  6.2 測(cè)試用例31</p><p>  6.2.1 系統(tǒng)登錄測(cè)試31</p><p>  6.2.2 學(xué)生模塊測(cè)試32</p><p>  6.2.3 教師模塊測(cè)試32</p><p>  6.2.4 管理員模塊測(cè)試33</p><p> 

20、 6.3 本章小結(jié)33</p><p><b>  7 結(jié)束語(yǔ)34</b></p><p><b>  參考文獻(xiàn)35</b></p><p><b>  致謝36</b></p><p><b>  1 引 言</b></p><

21、;p><b>  1.1 課題的背景</b></p><p>  從計(jì)算機(jī)網(wǎng)絡(luò)的誕生至今天,計(jì)算機(jī)網(wǎng)絡(luò)應(yīng)用已進(jìn)入人類(lèi)社會(huì)的各個(gè)方面并發(fā)揮著越來(lái)越重要的作用,我們發(fā)現(xiàn)我們的生活、工作、學(xué)習(xí)等越來(lái)越離不開(kāi)網(wǎng)絡(luò)。在線考試系統(tǒng)是一款基于網(wǎng)絡(luò)瀏覽器的適用于學(xué)校以及教育培訓(xùn)機(jī)構(gòu)等的實(shí)用型系統(tǒng),他一改傳統(tǒng)的考試模式為我們的考試帶來(lái)新的體驗(yàn),是計(jì)算機(jī)網(wǎng)絡(luò)應(yīng)用的標(biāo)準(zhǔn)體現(xiàn)。</p><

22、p>  眾所周知,教育是治國(guó)之本,因此如何更好的做好教育工作是大家一直都很關(guān)注的問(wèn)題。只有率先認(rèn)識(shí)到網(wǎng)絡(luò)技術(shù)在當(dāng)今教育中的重要作用,用它解決教育中的問(wèn)題,把它作為教育的基本工具,才能在全球教育競(jìng)爭(zhēng)中立于不敗之地。如今,越來(lái)越多的學(xué)校、教育培訓(xùn)機(jī)構(gòu)等都將網(wǎng)絡(luò)技術(shù)應(yīng)用于教育,通過(guò)計(jì)算機(jī)網(wǎng)絡(luò)實(shí)現(xiàn)在線教育或培訓(xùn),網(wǎng)絡(luò)教學(xué)便由此而生。目前我國(guó)網(wǎng)絡(luò)教學(xué)系統(tǒng)的開(kāi)發(fā)和使用還處于發(fā)展階段,各項(xiàng)功能的實(shí)現(xiàn)還不夠完善。</p><p

23、>  網(wǎng)絡(luò)教學(xué)包括很多環(huán)節(jié),例如選課系統(tǒng)、教學(xué)系統(tǒng)、問(wèn)答系統(tǒng)和考試系統(tǒng)等等。其中很重要的一個(gè)環(huán)節(jié)就是在線考試系統(tǒng),同時(shí)它也是最難實(shí)現(xiàn)的環(huán)節(jié)。目前大多數(shù)學(xué)校和社會(huì)上的考試依然采用傳統(tǒng)的考試模式,在此模式下,組織一次考試一般需要經(jīng)過(guò)人工出題、復(fù)印試卷、考生考試、人工閱卷和成績(jī)統(tǒng)計(jì)等五個(gè)環(huán)節(jié)。顯然,教師和考務(wù)工作人員的工作量很大,效率也很低,并且難免會(huì)出現(xiàn)各種各樣的錯(cuò)誤,嚴(yán)重影響了教學(xué)的效率和質(zhì)量,可以說(shuō)傳統(tǒng)的考試模式已經(jīng)逐漸滿足不了當(dāng)

24、今的考試需求。人們迫切需要一種自動(dòng)化程度相當(dāng)高的計(jì)算機(jī)系統(tǒng)來(lái)進(jìn)行在線考試,并進(jìn)行題庫(kù)信息的管理。在此背景下,我們需要開(kāi)發(fā)一款在線考試系統(tǒng)。</p><p>  1.2 課題的目的和意義</p><p>  在線考試系統(tǒng)將使學(xué)校的考試管理工作更加規(guī)范化,自動(dòng)化,簡(jiǎn)單化。一方面方便考生考試;另一方面減輕教師及考務(wù)人員的工作負(fù)擔(dān),提高工作效率。從而提高教學(xué)質(zhì)量。</p><p

25、>  基于網(wǎng)絡(luò)技術(shù)的在線考試系統(tǒng)可借助校園局域網(wǎng)進(jìn)行。將試題內(nèi)容放在服務(wù)器上,考生通過(guò)帳號(hào)和密碼進(jìn)行登錄參加考試,考試答案也存放在服務(wù)器上,這樣考試的公平性、答案的安全性可以得到有效的保證。試題可以根據(jù)題庫(kù)中的內(nèi)容隨機(jī)生成,可有效避免考試前的押題;同時(shí)每個(gè)人的考試題目都不會(huì)完全一樣,這樣可有效避免考試抄襲;而且可以采用大量標(biāo)準(zhǔn)格式化的試題,從而使用計(jì)算機(jī)判卷,大大提高閱卷效率;還可以直接把成績(jī)送到數(shù)據(jù)庫(kù)中,進(jìn)行統(tǒng)計(jì)、排名等操作,便

26、于對(duì)考試結(jié)果進(jìn)行分析??梢?jiàn),采用在線考試模式將是未來(lái)考試發(fā)展的趨勢(shì)。因此,結(jié)合我校教學(xué)考試現(xiàn)狀,我設(shè)計(jì)并開(kāi)發(fā)了**大學(xué)在線考試系統(tǒng)。</p><p>  1.3 本文的內(nèi)容安排</p><p>  在本論文中,首先論述了在線考試系統(tǒng)的研究背景及其意義;然后對(duì)要開(kāi)發(fā)的**大學(xué)在線考試系統(tǒng)進(jìn)行了較為詳細(xì)的分析(包括需求分析、流程分析、系統(tǒng)可行性分析等);對(duì)本系統(tǒng)所使用的開(kāi)發(fā)語(yǔ)言、相關(guān)技術(shù)以及開(kāi)

27、發(fā)環(huán)境和開(kāi)發(fā)工具進(jìn)行了簡(jiǎn)單的介紹;對(duì)本系統(tǒng)進(jìn)行了功能模塊設(shè)計(jì)(包括考生考試模塊、教師管理模塊、管理員管理等);在對(duì)系統(tǒng)分析與設(shè)計(jì)的基礎(chǔ)上,運(yùn)用Jsp+Servlet和Oracle開(kāi)發(fā)了**大學(xué)在線考試系統(tǒng);最后對(duì)已經(jīng)開(kāi)發(fā)的系統(tǒng)進(jìn)行了測(cè)試。</p><p>  本論文的內(nèi)容安排如下:</p><p>  第一章、引言,其中介紹了課題研究的背景,課題的目的和意義。</p><

28、;p>  第二章、系統(tǒng)開(kāi)發(fā)工具及相關(guān)技術(shù)介紹,其中包括對(duì)B/S結(jié)構(gòu)、CSS+DIV網(wǎng)頁(yè)布局、JSP、Servlet、Oracle等的簡(jiǎn)單介紹。</p><p>  第三章、系統(tǒng)分析,其中包括需求分析、系統(tǒng)流程分析、可行性分析等。</p><p>  第四章、系統(tǒng)設(shè)計(jì),其中包括功能設(shè)計(jì)、數(shù)據(jù)庫(kù)設(shè)計(jì)等。</p><p>  第五章、系統(tǒng)實(shí)施,對(duì)系統(tǒng)的各個(gè)模塊的實(shí)現(xiàn)

29、做詳細(xì)的介紹。</p><p>  第六章、系統(tǒng)測(cè)試,其中包括對(duì)測(cè)試的目的和方法、簡(jiǎn)單的測(cè)試用例等。</p><p>  第七章、結(jié)束語(yǔ),對(duì)在寫(xiě)整篇論文過(guò)程中的感受和收獲進(jìn)行總結(jié)。</p><p>  2 開(kāi)發(fā)工具及相關(guān)技術(shù)</p><p>  **大學(xué)在線考試系統(tǒng)是基于B/S模式設(shè)計(jì)的,它選擇的前臺(tái)開(kāi)發(fā)語(yǔ)言為Jsp,后臺(tái)數(shù)據(jù)庫(kù)管理工具為Or

30、acle 10G,開(kāi)發(fā)工具為Eclipse,其Web服務(wù)器為T(mén)omcat 6.0及以上版本。</p><p>  2.1 系統(tǒng)的B/S結(jié)構(gòu)簡(jiǎn)述</p><p>  B/S結(jié)構(gòu)(Browser/Server,瀏覽器/服務(wù)器模式)是WEB興起后的一種網(wǎng)絡(luò)結(jié)構(gòu)模式,WEB瀏覽器是客戶端最主要的應(yīng)用軟件。這種模式統(tǒng)一了客戶端,將系統(tǒng)功能實(shí)現(xiàn)的核心部分集中到服務(wù)器上,簡(jiǎn)化了系統(tǒng)的開(kāi)發(fā)、維護(hù)和使用。

31、</p><p>  客戶機(jī)上只要安裝一個(gè)瀏覽器(Browser),如Netscape Navigator或Internet Explorer,服務(wù)器安裝Oracle、Sybase、Informix或 SQL Server等數(shù)據(jù)庫(kù)。瀏覽器通過(guò)Web Server 同數(shù)據(jù)庫(kù)進(jìn)行數(shù)據(jù)交互。</p><p>  B/S結(jié)構(gòu)的優(yōu)點(diǎn):具有分布性特點(diǎn),可以隨時(shí)隨地進(jìn)行查詢、瀏覽等業(yè)務(wù)處理;業(yè)務(wù)擴(kuò)展簡(jiǎn)單

32、方便,通過(guò)增加網(wǎng)頁(yè)即可增加服務(wù)器功能;維護(hù)簡(jiǎn)單方便,只需要改變網(wǎng)頁(yè),即可實(shí)現(xiàn)所有用戶的同步更新;開(kāi)發(fā)簡(jiǎn)單,共享性強(qiáng)。</p><p>  2.2 開(kāi)發(fā)環(huán)境及開(kāi)發(fā)工具</p><p>  本系統(tǒng)開(kāi)發(fā)環(huán)境選擇微軟平臺(tái)作為主導(dǎo),一方面考慮目前微軟的飛速發(fā)展,越來(lái)越多的企業(yè)在規(guī)劃內(nèi)部網(wǎng)絡(luò)時(shí),將微軟平臺(tái)作為首選方案;令一方面從技術(shù)角度來(lái)講,微軟平臺(tái)上的應(yīng)用無(wú)論是在開(kāi)發(fā)上,還是在軟件的部署上都是非常容

33、易,而且性能優(yōu)越。以下簡(jiǎn)單介紹本系統(tǒng)所使用的開(kāi)發(fā)工具:</p><p>  2.2.1 Dreamweaver</p><p>  Dreamweaver是美國(guó)MACROMEDIA公司開(kāi)發(fā)(后被Adobe公司收購(gòu))的集網(wǎng)頁(yè)制作和管理網(wǎng)站于一身的所見(jiàn)即所得網(wǎng)頁(yè)編輯器。Dreamweaver可以用最快速的方式將Fireworks,F(xiàn)reeHand,或Photoshop等檔案移至網(wǎng)頁(yè)上。使用檢色

34、吸管工具選擇熒幕上的顏色可設(shè)定最接近的網(wǎng)頁(yè)安全色。對(duì)于選單,快捷鍵與格式控制,都只要一個(gè)簡(jiǎn)單步驟便可完成。Dreamweaver能與您喜愛(ài)的設(shè)計(jì)工具,如Playback Flash,Shockwave和外掛模組等搭配,不需離開(kāi)Dreamweaver便可完成,整體運(yùn)用流程自然順暢。除此之外,只要單擊便可使Dreamweaver自動(dòng)開(kāi)啟Firework或Photoshop來(lái)進(jìn)行編輯與設(shè)定圖檔的最佳化。</p><p>

35、;  本系統(tǒng)采用Dreamweaver CS4版本,其特點(diǎn)是界面設(shè)計(jì)緊湊,使用方便。</p><p>  2.2.2 Eclipse </p><p>  Eclipse是一個(gè)開(kāi)放源代碼的、基于Java的可擴(kuò)展開(kāi)發(fā)平臺(tái)。就其本身而言,它只是一個(gè)框架和一組服務(wù),用于通過(guò)插件組件構(gòu)建開(kāi)發(fā)環(huán)境。幸運(yùn)的是,Eclipse附帶了一個(gè)標(biāo)準(zhǔn)的插件集,包括Java開(kāi)發(fā)工具(Java Development

36、 Kit,JDK)。 </p><p>  雖然大多數(shù)用戶很樂(lè)于將Eclipse當(dāng)作Java集成開(kāi)發(fā)環(huán)境(IDE)來(lái)使用,但Eclipse的目標(biāo)卻不僅限于此。Eclipse還包括插件開(kāi)發(fā)環(huán)境(Plug-in Development Environment,PDE),這個(gè)組件主要針對(duì)希望擴(kuò)展Eclipse的軟件開(kāi)發(fā)人員,因?yàn)樗试S他們構(gòu)建與Eclipse環(huán)境無(wú)縫集成的工具。由于Eclipse中的每樣?xùn)|西都是插件,對(duì)

37、于給Eclipse提供插件,以及給用戶提供一致和統(tǒng)一的集成開(kāi)發(fā)環(huán)境而言,所有工具開(kāi)發(fā)人員都具有同等的發(fā)揮場(chǎng)所。</p><p>  本系統(tǒng)采用的是Eclipse 3.5版本,其特點(diǎn)是性能穩(wěn)定。</p><p>  2.2.3 Oracle 數(shù)據(jù)庫(kù)</p><p>  Oracle Database,又名Oracle RDBMS,或簡(jiǎn)稱(chēng)Oracle。是美國(guó)ORACLE

38、公司(甲骨文)提供的以分布式數(shù)據(jù)庫(kù)為核心的一組軟件產(chǎn)品,是目前最流行的客戶/服務(wù)器(CLIENT/SERVER)或B/S體系結(jié)構(gòu)的數(shù)據(jù)庫(kù)之一。ORACLE數(shù)據(jù)庫(kù)是目前世界上使用最為廣泛的數(shù)據(jù)庫(kù)管理系統(tǒng),作為一個(gè)通用的數(shù)據(jù)庫(kù)系統(tǒng),它具有完整的數(shù)據(jù)管理功能;作為一個(gè)關(guān)系數(shù)據(jù)庫(kù),它是一個(gè)完備關(guān)系的產(chǎn)品;作為分布式數(shù)據(jù)庫(kù)它實(shí)現(xiàn)了分布式處理功能。Oracle數(shù)據(jù)庫(kù)具有數(shù)據(jù)的大量性、數(shù)據(jù)的保存的持久性、數(shù)據(jù)的共享性和數(shù)據(jù)的可靠性等特點(diǎn)。</p

39、><p>  本系統(tǒng)采用的是Oracle 10G數(shù)據(jù)庫(kù)。Oracle 10G數(shù)據(jù)庫(kù)相對(duì)于以前版本關(guān)鍵提高有二:1降低管理開(kāi)銷(xiāo),2提高性能。 Oracle 10G有對(duì)高可用性的增強(qiáng)、新的 Flashback 能力、支持回滾更新操作;對(duì)安全性的增強(qiáng),便于管理大量的用戶;BI方面的增強(qiáng),包括改進(jìn)的SQL能力、分析功能、OLAP、數(shù)據(jù)挖掘的能力等;對(duì)非關(guān)系型數(shù)據(jù)存儲(chǔ)的能力得到了改進(jìn);XML的能力;對(duì)開(kāi)發(fā)能力支持的加強(qiáng),對(duì)生物

40、信息學(xué)( Bioinformatics)的支持。</p><p>  2.2.4 Tomcat服務(wù)器</p><p>  本系統(tǒng)運(yùn)行環(huán)境為T(mén)omcat 6.0。Tomcat是Apache軟件基金會(huì)(Apache Software Foundation)的Jakarta項(xiàng)目中的一個(gè)核心項(xiàng)目,由Apache、Sun和其他一些公司及個(gè)人共同開(kāi)發(fā)而成。由于有了Sun的參與和支持,最新的Servle

41、t 和JSP規(guī)范總是能在Tomcat中得到體現(xiàn),Tomcat 5支持最新的Servlet 2.4和JSP 2.0規(guī)范。因?yàn)門(mén)omcat技術(shù)先進(jìn)、性能穩(wěn)定,而且免費(fèi),因而深受Java愛(ài)好者的喜愛(ài)并得到了部分軟件開(kāi)發(fā)商的認(rèn)可,成為目前比較流行的Web應(yīng)用服務(wù)器。</p><p><b>  2.3 相關(guān)技術(shù)</b></p><p>  2.3.1 CSS+DIV</

42、p><p>  CSS是層疊樣式表(Cascading Style Sheets)的縮寫(xiě),用于定義HTML元素的顯示形式,是W3C推出的格式化網(wǎng)頁(yè)內(nèi)容的標(biāo)準(zhǔn)技術(shù)。</p><p>  CSS+DIV是網(wǎng)站標(biāo)準(zhǔn)設(shè)計(jì)中常用術(shù)語(yǔ)之一,是一種比較成熟的網(wǎng)頁(yè)布局方法??蓪?shí)現(xiàn)網(wǎng)頁(yè)頁(yè)面內(nèi)容與表現(xiàn)相分離,即在不改變Html源代碼的同時(shí),能夠根據(jù)CSS中對(duì)標(biāo)簽的的不同定義而顯示出不同的頁(yè)面效果。能夠?qū)崿F(xiàn)傳統(tǒng)的表

43、格(Table)布局定位方式所不能實(shí)現(xiàn)的效果。當(dāng)然,本人在使用中并沒(méi)有完全摒棄表格(Table),而是DIV與之相結(jié)合使用,使頁(yè)面靈活、工整、多層次的顯示。</p><p>  2.3.2 JavaScript 和jQuery</p><p>  JavaScript是一種能讓你的網(wǎng)頁(yè)更加生動(dòng)活潑的程式語(yǔ)言,也是目前網(wǎng)頁(yè)中設(shè)計(jì)中最容易學(xué)又最方便的語(yǔ)言。你可以利用JavaScript輕易的做

44、出親切的歡迎訊息、漂亮的數(shù)字鐘、有廣告效果的跑馬燈及簡(jiǎn)易的選舉,還可以顯示瀏覽器停留的時(shí)間。讓這些特殊效果提高網(wǎng)頁(yè)的可觀性。本系統(tǒng)中主要使用JavaScript的表單驗(yàn)證功能以及對(duì)時(shí)間的控制。</p><p>  jQuery是一個(gè)優(yōu)秀的Javascript框架。它是輕量級(jí)的js庫(kù)(壓縮后只有21k),它兼容CSS3,還兼容各種瀏覽器(IE 6.0+, FF 1.5+, Safari 2.0+, Opera 9.

45、0+)。jQuery使用戶能更方便地處理HTML documents、events、實(shí)現(xiàn)動(dòng)畫(huà)效果,并且方便地為網(wǎng)站提供AJAX交互。jQuery還有一個(gè)比較大的優(yōu)勢(shì)是,它的文檔說(shuō)明很全,而且各種應(yīng)用也說(shuō)得很詳細(xì),同時(shí)還有許多成熟的插件可供選擇。jQuery能夠使用戶的html頁(yè)保持代碼和html內(nèi)容分離,也就是說(shuō),不用再在html里面插入一堆js來(lái)調(diào)用命令了,只需定義id即可。</p><p>  在使用過(guò)程中本

46、人發(fā)現(xiàn)jQuery與傳統(tǒng)的JavaScript相比,優(yōu)勢(shì)之一在于JavaScript是單線程的,而jQuery可以實(shí)現(xiàn)多線程,即點(diǎn)擊一個(gè)按鈕可以同時(shí)觸發(fā)多個(gè)事件,使用起來(lái)更加方便。</p><p>  2.3.3 Servlet 和JSP</p><p>  Servlet是Java Servlet的簡(jiǎn)稱(chēng),是一種服務(wù)器端的Java應(yīng)用程序,具有獨(dú)立于平臺(tái)和協(xié)議的特性,可以生成動(dòng)態(tài)的Web頁(yè)

47、面。它擔(dān)當(dāng)客戶請(qǐng)求(Web瀏覽器或其他HTTP客戶程序)與服務(wù)器響應(yīng)(HTTP服務(wù)器上的數(shù)據(jù)庫(kù)或應(yīng)用程序)的中間層。Servlet是位于Web服務(wù)器內(nèi)部的服務(wù)器端的Java應(yīng)用程序,與傳統(tǒng)的從命令行啟動(dòng)的Java應(yīng)用程序不同,Servlet由Web服務(wù)器進(jìn)行加載,該Web服務(wù)器必須包含支持Servlet的Java虛擬機(jī)。</p><p>  JSP(Java Server Pages)是由Sun Microsys

48、tems公司倡導(dǎo)、許多公司參與一起建立的一種動(dòng)態(tài)網(wǎng)頁(yè)技術(shù)標(biāo)準(zhǔn)。JSP是在Servlet技術(shù)基礎(chǔ)上發(fā)展而來(lái)的,但在實(shí)際使用中功能又有很大的區(qū)別,JSP技術(shù)有點(diǎn)類(lèi)似ASP技術(shù),它是在傳統(tǒng)的網(wǎng)頁(yè)HTML文件中插入Java程序段(Scriptlet)和JSP標(biāo)記(Tag),從而形成JSP文件(*.jsp)。 另外用JSP開(kāi)發(fā)的Web應(yīng)用是跨平臺(tái)的,既能在Linux下運(yùn)行,也能在其他操作系統(tǒng)上運(yùn)行。</p><p>  J

49、SP技術(shù)不是Java Servlet技術(shù)的全部,它只是Java Servlet技術(shù)的一個(gè)成功應(yīng)用。JSP技術(shù)屏蔽了Servlet對(duì)象創(chuàng)建的過(guò)程,使得Web程序設(shè)計(jì)者只須關(guān)心JSP頁(yè)面本身的結(jié)構(gòu)、設(shè)計(jì)好各種標(biāo)記。有效地分離頁(yè)面的視圖和數(shù)據(jù)處理等,不必再用println語(yǔ)句來(lái)輸出每一行HTML代碼。更重要的是,借助內(nèi)容和外觀的分離,頁(yè)面制作中不同性質(zhì)的任務(wù)可以方便地分開(kāi):比如,由頁(yè)面設(shè)計(jì)者進(jìn)行HTML設(shè)計(jì),同時(shí)留出供Servlet程序員插入

50、動(dòng)態(tài)內(nèi)容的空間。</p><p>  2.3.4 MVC模式</p><p>  MVC是三個(gè)單詞的縮寫(xiě),分別為:模型(Model),視圖(View)和控制Controller)。MVC模式的目的就是實(shí)現(xiàn)Web系統(tǒng)的職能分工。Model層實(shí)現(xiàn)系統(tǒng)中的業(yè)務(wù)邏輯,通??梢杂肑avaBean或EJB來(lái)實(shí)現(xiàn)。View層用于與用戶的交互,通常用JSP來(lái)實(shí)現(xiàn)。Controller層是Model與Vie

51、w之間溝通的橋梁,它可以分派用戶的請(qǐng)求并選擇恰當(dāng)?shù)囊晥D以用于顯示,同時(shí)它也可以解釋用戶的輸入并將它們映射為模型層可執(zhí)行的操作。</p><p>  使用MVC設(shè)計(jì)模式,應(yīng)用程序?qū)⒈环殖扇齻€(gè)核心部件:模型、視圖、控制器。它們各自處理自己的任務(wù)。本系統(tǒng)將使用第一種常見(jiàn)的MVC設(shè)計(jì)模式Jsp+Servlet+JavaBean進(jìn)行開(kāi)發(fā),即通過(guò)創(chuàng)建一些Servlet對(duì)象,配合JSP頁(yè)面來(lái)完成整個(gè)Web系統(tǒng)。其數(shù)據(jù)傳遞過(guò)程如

52、圖2-1所示:</p><p>  圖2-1 MVC(Jsp+Servlet+JavaBean)設(shè)計(jì)模式原理圖</p><p>  2.3.5 JDBC</p><p>  JDBC(Java Data Base Connectivity,java數(shù)據(jù)庫(kù)連接)是一種用于執(zhí)行SQL語(yǔ)句的Java API,可以為多種關(guān)系數(shù)據(jù)庫(kù)提供統(tǒng)一訪問(wèn),它由一組用Java語(yǔ)言編寫(xiě)的類(lèi)

53、和接口組成。JDBC為數(shù)據(jù)庫(kù)開(kāi)發(fā)人員提供了一個(gè)標(biāo)準(zhǔn)的API,據(jù)此可以構(gòu)建更高級(jí)的工具和接口,使數(shù)據(jù)庫(kù)開(kāi)發(fā)人員能夠用純 Java API 編寫(xiě)數(shù)據(jù)庫(kù)應(yīng)用程序。 </p><p>  有了JDBC,向各種關(guān)系數(shù)據(jù)發(fā)送SQL語(yǔ)句就是一件很容易的事。換言之,有了JDBC API,就不必為訪問(wèn)Oracle數(shù)據(jù)庫(kù)專(zhuān)門(mén)寫(xiě)一個(gè)程序,為訪問(wèn)Sql Server數(shù)據(jù)庫(kù)又專(zhuān)門(mén)寫(xiě)一個(gè)程序,或?yàn)樵L問(wèn)Mysql數(shù)據(jù)庫(kù)又編寫(xiě)另一個(gè)程序等等,程

54、序員只需用JDBC API寫(xiě)一個(gè)程序就夠了,它可向相應(yīng)數(shù)據(jù)庫(kù)發(fā)送SQL調(diào)用。同時(shí),將Java語(yǔ)言和JDBC結(jié)合起來(lái)使程序員不必為不同的平臺(tái)編寫(xiě)不同的應(yīng)用程序,只須寫(xiě)一遍程序就可以讓它在任何平臺(tái)上運(yùn)行,這也是Java語(yǔ)言“編寫(xiě)一次,處處運(yùn)行”的優(yōu)勢(shì)。</p><p><b>  2.4 本章小結(jié)</b></p><p>  本章主要介紹了**大學(xué)在線考試系統(tǒng)所用的開(kāi)發(fā)環(huán)

55、境、開(kāi)發(fā)工具以及相關(guān)技術(shù)。對(duì)系統(tǒng)所運(yùn)用的B/S結(jié)構(gòu)進(jìn)行了介紹,并結(jié)合本系統(tǒng)對(duì)將要使用的Eclipse、Oracle開(kāi)發(fā)軟件和JSP及MVC等相關(guān)技術(shù)進(jìn)行了詳細(xì)介紹。</p><p><b>  3 系統(tǒng)分析</b></p><p>  系統(tǒng)分析對(duì)于**大學(xué)在線考試系統(tǒng)的設(shè)計(jì)至關(guān)重要,在本章中對(duì)**大學(xué)在線考試系統(tǒng)進(jìn)行了需求分析、系統(tǒng)流程分析、可行性分析。 </p

56、><p>  3.1 系統(tǒng)需求分析</p><p>  系統(tǒng)需求分析是為了深入描述系統(tǒng)的功能和性能,借助于當(dāng)前系統(tǒng)的邏輯模型導(dǎo)出目標(biāo)系統(tǒng)邏輯模型,解決目標(biāo)系統(tǒng)“做什么”的問(wèn)題。主要分為功能的需求和性能的需求。</p><p>  3.1.1 系統(tǒng)功能的需求</p><p>  **大學(xué)在線考試系統(tǒng)的設(shè)計(jì)目的是方便考生及管理人員,所以其整體要求清晰

57、實(shí)用、界面親和、操作簡(jiǎn)單、運(yùn)行流暢。系統(tǒng)應(yīng)該具備以下的基本功能:</p><p>  用戶類(lèi)別:登錄系統(tǒng)的身份定為三種,一是管理員,二是教師,三是學(xué)生,只有被授權(quán)的用戶才可以使用本系統(tǒng)。</p><p>  權(quán)限管理:系統(tǒng)需要經(jīng)過(guò)有效的身份驗(yàn)證可以登錄。用戶的身份不同,使用的系統(tǒng)資源也不同。考生只可以參加在線考試;普通教師可以管理題庫(kù),控制考試、成績(jī)查詢、添加試題、閱卷等。管理員可添加、修

58、改學(xué)生、教師、考試科目等信息,可以查詢考生成績(jī)。 </p><p>  在線考試功能:考生輸入帳號(hào)和密碼登陸系統(tǒng)后,選擇考試科目可進(jìn)行考試,科目有考試時(shí)間設(shè)置,未到考試時(shí)間或考試已結(jié)束將不能參加考試。答題中,有倒計(jì)時(shí)的功能,考試結(jié)束時(shí)還沒(méi)提交就自動(dòng)交卷,系統(tǒng)將自動(dòng)對(duì)客觀題進(jìn)行評(píng)分。如果有主觀題,能將主觀題答案返回至該科目教師頁(yè)面。 </p><p>  試卷管理:由管理員設(shè)置考試時(shí)間,教師

59、設(shè)置題型并向題庫(kù)中添加試題,試卷隨機(jī)從題庫(kù)中抽取試題組合而成。</p><p>  3.1.2 系統(tǒng)性能的需求</p><p>  **大學(xué)在線考試系統(tǒng)的性能要求在穩(wěn)定的基礎(chǔ)上快速反應(yīng),操作系統(tǒng)以Windows XP或WIN7為標(biāo)準(zhǔn),硬件配置以RAM:2.00GB為標(biāo)準(zhǔn)?;拘畔⒌奶砑?,修改部分反應(yīng)時(shí)間應(yīng)控制在3秒以內(nèi),查詢部分應(yīng)控制在5秒以內(nèi),生成試卷的信息量較大,處理的流程較多響應(yīng)時(shí)間

60、會(huì)較慢,添加、修改部分的響應(yīng)時(shí)間不應(yīng)該太長(zhǎng)。</p><p>  3.2 系統(tǒng)可行性分析</p><p>  可行性分析也稱(chēng)為可行性研究,即是在系統(tǒng)調(diào)查的基礎(chǔ)上,針對(duì)新系統(tǒng)的開(kāi)發(fā)是否具備必要性和可能性,對(duì)新系統(tǒng)的開(kāi)發(fā)從技術(shù)、經(jīng)濟(jì)、管理的方面進(jìn)行分析和研究,以避免投資失誤,保證新系統(tǒng)的開(kāi)發(fā)成功。可行性研究的目的就是用最小的代價(jià)在盡可能短的時(shí)間內(nèi)確定問(wèn)題是否能夠解決。該系統(tǒng)的可行性分析包括以下

61、幾個(gè)方面的內(nèi)容。</p><p>  3.2.1 經(jīng)濟(jì)可行性分析</p><p>  主要是對(duì)項(xiàng)目的經(jīng)濟(jì)效益進(jìn)行評(píng)價(jià),利用計(jì)算機(jī)來(lái)實(shí)現(xiàn)網(wǎng)上考試以成為適應(yīng)當(dāng)今教學(xué)管理的方式。開(kāi)發(fā)一套能滿足網(wǎng)上考試系統(tǒng)的軟件是十分必要的,實(shí)現(xiàn)試卷管理和試卷生成自動(dòng)化,在減少由于認(rèn)為失誤而早成損失的同時(shí),也可以使教師減少工作量。本系統(tǒng)在經(jīng)濟(jì)上是可以接受的,并且本系統(tǒng)實(shí)施后可以顯著提高考試效率,有助于學(xué)院完全實(shí)現(xiàn)

62、網(wǎng)絡(luò)化管理。所以本系統(tǒng)在經(jīng)濟(jì)上是可行的。</p><p>  3.2.2 技術(shù)可行性分析</p><p>  技術(shù)上的可行性分析主要分析技術(shù)條件是否能順利完成開(kāi)發(fā)工作,硬、軟件能否滿足開(kāi)發(fā)者的需要等。</p><p>  軟件方面,網(wǎng)絡(luò)化考試需要的各種軟件環(huán)境都已具備,數(shù)據(jù)庫(kù)方面我們選擇的Oracle,能夠處理大量數(shù)據(jù),同時(shí)保持?jǐn)?shù)據(jù)的完整性并提供許多高級(jí)管理功能。其

63、靈活性、安全性和易用性為數(shù)據(jù)庫(kù)編程提供了良好的條件。因此,系統(tǒng)的軟件開(kāi)發(fā)平臺(tái)已成熟可行。服務(wù)器方面服務(wù)器端:由于在線考試是多人同時(shí)操作,對(duì)服務(wù)器的需求是必須考慮的問(wèn)題。根據(jù)我校在校生人數(shù),服務(wù)器要求能承受3000-5000人同時(shí)在線。300個(gè)并發(fā)操作響應(yīng)時(shí)間不得超過(guò)5秒。由于單純的Tomcat支持的并發(fā)量較小。因此在實(shí)際部署系統(tǒng)時(shí)服務(wù)器端可采用Apache+Tomcat*3的模式加大并發(fā)數(shù)。服務(wù)器端操作系統(tǒng)為L(zhǎng)inux,硬件配置為8G內(nèi)

64、存,2.0GHz、8核CPU。</p><p>  硬件方面,科技飛速發(fā)展的今天,硬件更新的速度越來(lái)越快,容量越來(lái)越大,可靠性越來(lái)越高,價(jià)格越來(lái)越低,其硬件平臺(tái)完全能滿足此系統(tǒng)的需要。</p><p>  3.3 系統(tǒng)流程分析</p><p>  **大學(xué)在線考試系統(tǒng)流程簡(jiǎn)單,主要是教師向題庫(kù)中添加試題,管理員設(shè)置考試科目信息,學(xué)生登錄系統(tǒng)選擇科目進(jìn)行考試。下面從業(yè)

65、務(wù)流程和數(shù)據(jù)流程兩方面對(duì)系統(tǒng)進(jìn)行分析。</p><p>  3.3.1 業(yè)務(wù)流程分析</p><p>  業(yè)務(wù)流程分析,是對(duì)系統(tǒng)業(yè)務(wù)功能的進(jìn)一步細(xì)化,從而得到業(yè)務(wù)流程圖即TFD (Transaction Flow Diagram ),是一個(gè)反映系統(tǒng)業(yè)務(wù)處理過(guò)程的“流水帳本”。圖3-1表示**大學(xué)在線考試系統(tǒng)核心業(yè)務(wù)流程圖。</p><p>  圖3-1 系統(tǒng)業(yè)務(wù)流程

66、圖</p><p>  3.3.2 數(shù)據(jù)流程分析</p><p>  數(shù)據(jù)流程分析就是把數(shù)據(jù)在現(xiàn)行系統(tǒng)內(nèi)部的流動(dòng)情況抽象出來(lái),舍去了具體組織機(jī)構(gòu)、信息載體、處理工作等物理組成,單純從數(shù)據(jù)流動(dòng)過(guò)程來(lái)考察實(shí)際業(yè)務(wù)的數(shù)據(jù)處理模式。圖3-2表示**大學(xué)在線考試系統(tǒng)數(shù)據(jù)流程圖。</p><p>  圖3-2 系統(tǒng)數(shù)據(jù)流程圖</p><p><b&

67、gt;  3.4 本章小結(jié)</b></p><p>  軟件開(kāi)發(fā)過(guò)程中系統(tǒng)分析是很重要的一部分,為了開(kāi)發(fā)出真正滿足用戶需求的軟件產(chǎn)品,本章對(duì)系統(tǒng)進(jìn)行了詳細(xì)的分析,其中包括對(duì)系統(tǒng)的需求分析、可行性分析以及流程分析,從而能夠更全面的掌握整個(gè)系統(tǒng)的設(shè)計(jì)流程并且判斷系統(tǒng)是否可行。 </p><p><b>  4 系統(tǒng)設(shè)計(jì)</b></p><p

68、>  對(duì)**大學(xué)在線考試系統(tǒng)進(jìn)行詳細(xì)的系統(tǒng)分析之后,需要對(duì)其進(jìn)行功能模塊和數(shù)據(jù)庫(kù)的設(shè)計(jì)。在本章中,我將會(huì)對(duì)即將開(kāi)發(fā)的**大學(xué)在線考試系統(tǒng)進(jìn)行詳細(xì)設(shè)計(jì)。</p><p>  4.1 系統(tǒng)總體規(guī)劃</p><p>  **大學(xué)在線考試系統(tǒng)按用戶角色分為三大模塊:管理員模塊:實(shí)現(xiàn)教師信息,學(xué)生信息,考試科目信息的添加、修改、刪除、查詢等功能;教師模塊:實(shí)現(xiàn)題庫(kù)管理、試卷管理、學(xué)生成績(jī)查詢等

69、;學(xué)生模塊:包括查詢考試科目、開(kāi)始考試、個(gè)人成績(jī)查詢等功能。</p><p>  對(duì)于**大學(xué)在線考試統(tǒng)進(jìn)行整體功能分析之后,可以設(shè)計(jì)出該系統(tǒng)的功能模塊總體框架如圖4-1所示:</p><p>  圖4-1 系統(tǒng)總體規(guī)劃圖</p><p>  三種角色通過(guò)同一登錄界面進(jìn)入不同操作頁(yè)面:其中管理員帳號(hào)和密碼由系統(tǒng)后臺(tái)添加。教師和學(xué)生帳號(hào)和密碼由管理員添加,個(gè)人不能注冊(cè)

70、。</p><p><b>  1.管理員:</b></p><p>  (1)學(xué)生信息管理:管理每個(gè)學(xué)生的個(gè)人信息,包括學(xué)號(hào)、姓名、院系、專(zhuān)業(yè)、班級(jí)等。管理員可以對(duì)學(xué)生信息進(jìn)行添加、修改、刪除、查詢等操作。并且可以查詢所有考生的考試成績(jī)。</p><p>  (2)教師信息管理:管理每個(gè)教師的個(gè)人信息,包括工號(hào)、院系、所教科目等。管理員可以對(duì)

71、教師信息進(jìn)行添加、修改、刪除、查詢等操作。</p><p>  (3)考試信息管理:管理考試安排,包括考試科目、考試日期、考試開(kāi)始時(shí)間、考試結(jié)束時(shí)間等。管理員可以對(duì)考試科目進(jìn)行添加、修改、刪除、查詢等操作。</p><p><b>  2.教師:</b></p><p>  (1)題庫(kù)管理:題型包括選擇題、填空題、問(wèn)答題。教師可以對(duì)各種題型進(jìn)行

72、增加、修改、刪除、查詢。添加試題時(shí)可以設(shè)置試題難度。教師只能對(duì)所教科目的題庫(kù)進(jìn)行操作。</p><p>  (2)試卷管理:可以設(shè)置考試題型,包括各種題型的數(shù)目和每道題的分值。如果出問(wèn)答題,則可查詢到學(xué)生的答案,進(jìn)行手工批改,并提交成績(jī)至數(shù)據(jù)庫(kù)。</p><p>  (3)成績(jī)查詢:教師可以查看可以查詢所教科目的學(xué)生成績(jī)。</p><p><b>  3.

73、學(xué)生:</b></p><p>  (1)考試科目:可以顯示全部考試科目,考生也可以根據(jù)關(guān)鍵字搜索想要考試的科目??颇坑袝r(shí)間設(shè)置,未到考試時(shí)間或考試已結(jié)束將不能參加考試。</p><p>  (2)考試進(jìn)行:從考試科目頁(yè)面進(jìn)入考試頁(yè)面,考試頁(yè)面按照教師所設(shè)置的考試題型以及題目的難度隨機(jī)生成試卷并顯示考試倒計(jì)時(shí)。</p><p>  (3)成績(jī)查詢:考生可

74、以查詢考試過(guò)的科目的成績(jī),包括各種題型的成績(jī)以及總成績(jī)。</p><p><b>  4.2 數(shù)據(jù)庫(kù)設(shè)計(jì)</b></p><p>  4.2.1 概念結(jié)構(gòu)設(shè)計(jì)</p><p>  概念結(jié)構(gòu)設(shè)計(jì)的任務(wù)是在系統(tǒng)分析的基礎(chǔ)上,按照特定的方法把它們抽象為一個(gè)不依賴(lài)于任何具體機(jī)器的數(shù)據(jù)模型,即概念模型。概念模型使設(shè)計(jì)者的注意力能夠從復(fù)雜的實(shí)現(xiàn)細(xì)節(jié)中解脫出

75、來(lái),而只集中在最重要的信息的組織結(jié)構(gòu)和處理模式上。概念數(shù)據(jù)模型,是結(jié)合將要開(kāi)打的系統(tǒng)按照用戶的觀點(diǎn)來(lái)對(duì)數(shù)據(jù)和信息進(jìn)行建模,利用實(shí)體關(guān)系圖來(lái)實(shí)現(xiàn).它描述系統(tǒng)中的各個(gè)實(shí)體以及相關(guān)實(shí)體之間的關(guān)系,是系統(tǒng)特性的靜態(tài)描述.概念結(jié)構(gòu)設(shè)計(jì)的方法一般是先畫(huà)出組織的局部E-R圖,然后將其合并,在此基礎(chǔ)進(jìn)行優(yōu)化和美化。</p><p>  在考試系統(tǒng)中,共分10個(gè)實(shí)體:分別為管理員信息、教師信息、學(xué)生信息、科目信息、題庫(kù)信息(包括選

76、擇題信息、填空題信息、問(wèn)答題信息)、試卷信息、答案信息、成績(jī)信息,它們之間相互都有聯(lián)系。</p><p>  由于實(shí)體數(shù)量較多,不一一畫(huà)出實(shí)體屬性E-R圖,僅分別列舉說(shuō)明:</p><p>  管理員信息(管理員帳號(hào)、管理員密碼、管理員姓名)</p><p>  教師信息(教職工號(hào)、教師姓名、教師密碼、所在院系、所教科目)</p><p> 

77、 學(xué)生信息(學(xué)生學(xué)號(hào)、學(xué)生密碼、學(xué)生姓名、學(xué)生性別、所在院系、所在專(zhuān)業(yè)、所在班級(jí))</p><p>  科目信息(科目號(hào)、科目名、所屬院系、選擇題數(shù)、填空題數(shù)、問(wèn)答題數(shù)、考試日期、開(kāi)始時(shí)間、結(jié)束時(shí)間)</p><p>  選擇題信息(題目編號(hào)、題目名、選項(xiàng)A、選項(xiàng)B、選項(xiàng)C、選項(xiàng)D、正確答案、難度、科目號(hào))</p><p>  填空題信息(題目編號(hào)、題目名、正確答案

78、、難度、科目號(hào))</p><p>  問(wèn)答題信息(題目編號(hào)、題目名、參考答案、難度、科目號(hào))</p><p>  考生試卷信息(學(xué)號(hào)、科目號(hào)、選擇題編號(hào)、填空題編號(hào)、問(wèn)答題編號(hào))</p><p>  考生答案信息(學(xué)號(hào)、科目號(hào)、選擇題答案、填空題答案、問(wèn)答題答案)</p><p>  考生成績(jī)信息(學(xué)號(hào)、科目號(hào)、選擇題得分、填空題得分、問(wèn)答題

79、得分、總分)</p><p>  各個(gè)實(shí)體之間的關(guān)系如下:</p><p>  管理員與教師、學(xué)生、科目信息之間存在一個(gè)管理與被管理的關(guān)系,一個(gè)管理員可以管理多個(gè)教師、一個(gè)管理員可以管理多個(gè)學(xué)生、一個(gè)管理員可以管理多個(gè)考試科目。</p><p>  教師與科目之間存在教授與被教授的關(guān)系,一個(gè)教師可以教授多個(gè)科目;一個(gè)科目可以由多個(gè)教師來(lái)教授。教師與試卷之間有管理與被

80、管理的關(guān)系,一個(gè)教師可以管理多個(gè)試卷。教師與題庫(kù)之間的關(guān)系也是管理與被管理的,一個(gè)教師可以管理多個(gè)題庫(kù),一個(gè)題庫(kù)可以被多個(gè)教師管理。</p><p>  科目與學(xué)生之間存在考試與被考試的關(guān)系,一個(gè)學(xué)生可以考試多個(gè)科目,一個(gè)科目可以由多個(gè)學(xué)生來(lái)考試;科目與試卷之間存在屬于與被屬于關(guān)系,一個(gè)科目可以屬于多份試卷,一份試卷只能屬于一個(gè)科目。試卷與學(xué)生時(shí)間存在作答與被作答的關(guān)系,一個(gè)考生一次只能作答一份試卷,一份試卷

81、也只能被一個(gè)考生作答。</p><p>  題庫(kù)與試卷之間存在抽取與被抽取的關(guān)系,一個(gè)題庫(kù)可以抽取出多份試卷,一份試卷只能從一個(gè)題庫(kù)中抽取。</p><p>  根據(jù)以上各個(gè)實(shí)體之間的關(guān)系,可以畫(huà)出本系統(tǒng)的總體E-R圖。圖4-2表示在線考試系統(tǒng)總體E-R圖:</p><p>  圖4-2 在線考試系統(tǒng)總體E-R圖</p><p>  4.2.

82、2 邏輯結(jié)構(gòu)設(shè)計(jì)</p><p>  數(shù)據(jù)庫(kù)邏輯結(jié)構(gòu)設(shè)計(jì)階段的任務(wù)是將概念結(jié)構(gòu)設(shè)計(jì)階段所得到的概念模型轉(zhuǎn)換為具體DBMS所能支持的數(shù)據(jù)模型(即邏輯結(jié)構(gòu)),并對(duì)其進(jìn)行優(yōu)化。邏輯結(jié)構(gòu)設(shè)計(jì)的主要任務(wù)是根據(jù)E-R圖建立各種實(shí)體的數(shù)據(jù)庫(kù)表。 </p><p>  數(shù)據(jù)表是關(guān)于數(shù)據(jù)信息的集合,也就是對(duì)數(shù)據(jù)流中包含的所有元素的定義的集合。任何表最主要的用途都是供人查閱對(duì)不了解的條目的解釋?zhuān)瑪?shù)據(jù)表的作用也

83、正是在系統(tǒng)分析和設(shè)計(jì)的過(guò)程中給人提供關(guān)于數(shù)據(jù)的描述信息。以下一一列出本系統(tǒng)所使用的各個(gè)數(shù)據(jù)庫(kù)表:</p><p>  如表4-1所示,管理員信息表(tb_Admin)用于存儲(chǔ)管理員信息。</p><p>  表 4-1 管理員信息表</p><p>  如表4-2所示,教師信息表(tb_Teacher)用于存儲(chǔ)教師信息。<

84、;/p><p>  表 4-2 教師信息表</p><p>  如表4-3所示,學(xué)生信息表(tb_User)用于存儲(chǔ)學(xué)生信息。</p><p>  表 4-3 學(xué)生信息表</p><p>  如表4-4所示,選擇題信息表(tb_Select)用于存儲(chǔ)選擇題信息。<

85、;/p><p>  表 4-4 選擇題信息表</p><p>  如表4-5所示,填空題信息表(tb_Blank)用于存儲(chǔ)填空題信息。</p><p>  表 4-5 填空題信息表</p><p>  如表4-6所示,問(wèn)答題信息表(tb_Question)用于存儲(chǔ)問(wèn)答

86、題信息。</p><p>  表 4-6 問(wèn)答題信息表</p><p>  如表4-7所示,考試科目信息表(tb_Subject)用于存儲(chǔ)考試科目信息。</p><p>  表 4-7 考試科目信息表</p><p>  如表4-8所示,考生試卷信息表(tb_Ex

87、am)用于存儲(chǔ)考生試卷信息。</p><p>  表 4-8 考生試卷信息表</p><p>  如表4-9所示,考生答案信息表(tb_Answer)用于存儲(chǔ)考生答案信息。</p><p>  表 4-9 考生答案信息表</p><p>  如表4-10所示,考生

88、成績(jī)信息表(tb_Score)用于存儲(chǔ)考生成績(jī)信息。</p><p>  表 4-10 考生成績(jī)信息表</p><p><b>  4.3 本章小結(jié)</b></p><p>  本章對(duì)**大學(xué)排課系統(tǒng)進(jìn)行了功能設(shè)計(jì),將該系統(tǒng)分為管理員、教師和學(xué)生三個(gè)模塊。同時(shí)對(duì)該系統(tǒng)進(jìn)行了數(shù)據(jù)庫(kù)設(shè)計(jì),畫(huà)出了各個(gè)實(shí)體之間的

89、E-R圖,共設(shè)計(jì)了10個(gè)數(shù)據(jù)庫(kù)表。</p><p><b>  5 系統(tǒng)實(shí)施</b></p><p>  經(jīng)過(guò)一系列的準(zhǔn)備,對(duì)于系統(tǒng)的分析、設(shè)計(jì)已經(jīng)完成。以下開(kāi)始對(duì)**大學(xué)在線考試系統(tǒng)進(jìn)行詳細(xì)設(shè)計(jì),即系統(tǒng)實(shí)施。</p><p>  5.1 創(chuàng)建與數(shù)據(jù)庫(kù)的連接</p><p>  本系統(tǒng)采用JDBC連接方式與Oracle建

90、立連接,其步驟是首先加載數(shù)據(jù)庫(kù)驅(qū)動(dòng)并獲得與數(shù)據(jù)庫(kù)的連接,然后使用DriverManager建立連接。DriverManager類(lèi)是JDBC的管理層,作用于用戶和驅(qū)動(dòng)程序之間,它跟蹤可用的驅(qū)動(dòng)程序,并在數(shù)據(jù)庫(kù)和相應(yīng)的驅(qū)動(dòng)程序之間建立連接。</p><p>  下面是本系統(tǒng)與Oracle數(shù)據(jù)庫(kù)建立連接的代碼:</p><p>  public class ConnectDB {</p&g

91、t;<p>  private final String DRIVER = "oracle.jdbc.driver.OracleDriver";</p><p>  private final String URL = "jdbc:oracle:thin:@localhost:1521:orcl";</p><p>  private

92、final String USERNAME = "scott";</p><p>  private final String PASSWORD = "tiger";</p><p>  private Connection connection = null;</p><p>  // 構(gòu)造函數(shù)中加載驅(qū)動(dòng)</p>

93、<p>  public ConnectDB() {</p><p><b>  try {</b></p><p>  Class.forName(DRIVER);</p><p>  } catch (Exception e) {</p><p>  System.out.println("加

94、載驅(qū)動(dòng)失??!");</p><p><b>  }</b></p><p><b>  }</b></p><p><b>  // 創(chuàng)建連接</b></p><p>  public Connection createConnection() {</p>

95、<p><b>  try {</b></p><p>  connection = DriverManager.getConnection(URL, USERNAME, PASSWORD);</p><p>  } catch (Exception e) {</p><p>  System.out.println("

96、創(chuàng)建連接失敗!");</p><p><b>  }</b></p><p>  return connection;</p><p><b>  }</b></p><p>  5.2 系統(tǒng)的登錄頁(yè)面</p><p>  用戶登錄頁(yè)面主要功能是系統(tǒng)根據(jù)用戶選擇的不

97、同身份對(duì)用戶輸入的用戶名和密碼進(jìn)行驗(yàn)證。當(dāng)用戶單擊“登錄”按鈕時(shí),首先是javascript腳本驗(yàn)證輸入格式是否正確,不符合格式會(huì)給出提示。其次是后臺(tái)驗(yàn)證,如果不正確,跳轉(zhuǎn)到錯(cuò)誤頁(yè)面,并提示用戶重新登錄。如果正確,則根據(jù)用戶不同身份進(jìn)入相應(yīng)頁(yè)面使用系統(tǒng)。如果輸入信息錯(cuò)誤,可以單擊“重置”按鈕,重新輸入信息;圖5-1表示**大學(xué)在線考試系統(tǒng)登錄界面。</p><p>  圖5-1 **大學(xué)在線考試系統(tǒng)登錄頁(yè)面<

98、;/p><p>  下面是登錄過(guò)程的主要代碼:</p><p>  LoginServlet.java中主要代碼</p><p>  public class LoginServlet extends HttpServlet {</p><p>  private static final long serialVersionUID = 1L;&

99、lt;/p><p>  public LoginServlet() {</p><p><b>  super();</b></p><p><b>  }</b></p><p>  protected void doGet(HttpServletRequest request,</p>

100、<p>  HttpServletResponse response) throws ServletException, IOException {</p><p>  doPost(request, response);</p><p><b>  }</b></p><p>  protected void doPost(Htt

101、pServletRequest request,</p><p>  HttpServletResponse response) throws ServletException, IOException {</p><p>  String id = request.getParameter("user");</p><p>  String p

102、wd = request.getParameter("password");</p><p>  String role = request.getParameter("radio");</p><p>  ConnLogin clg = new ConnLogin();</p><p>  String pwdFromDB

103、= null;</p><p>  String sql = "";</p><p>  if (role.equals("student")) {</p><p>  sql = "select upassword from tb_user where userid=?";</p><

104、p>  } else if (role.equals("teacher")) {</p><p>  sql = "select tpassword from tb_teacher where teacherid=?";</p><p>  } else if (role.equals("admin")) {</p&g

105、t;<p>  sql = "select apassword from tb_admin where adminid=?";</p><p><b>  }</b></p><p><b>  try {</b></p><p>  pwdFromDB = clg.getUserPass

106、word(id, sql);</p><p>  } catch (Exception e) {</p><p>  e.printStackTrace();</p><p><b>  }</b></p><p>  if (pwd.equals(pwdFromDB)) {</p><p>  

107、if (role.equals("student")) {</p><p>  RequestDispatcher rd = request</p><p>  .getRequestDispatcher("html/student/HomePage.jsp");</p><p>  rd.forward(request, r

108、esponse);</p><p>  } else if (role.equals("teacher")) {</p><p>  RequestDispatcher rd = request.getRequestDispatcher("html/teacher/TeacherManager.jsp");</p><p

109、>  rd.forward(request, response);</p><p>  } else if (role.equals("admin")) {</p><p>  RequestDispatcher rd = request</p><p>  .getRequestDispatcher("html/admin/Ad

110、minManager.jsp");</p><p>  rd.forward(request, response);</p><p><b>  } else {</b></p><p>  response.sendRedirect("Error.jsp");</p><p><b&

111、gt;  }</b></p><p><b>  }</b></p><p><b>  }</b></p><p><b>  5.3 學(xué)生主頁(yè)面</b></p><p>  學(xué)生在**大學(xué)在線考試系統(tǒng)登錄頁(yè)面輸入自己的用戶名和密碼并點(diǎn)選學(xué)生按鈕,進(jìn)入學(xué)生主頁(yè)面。

112、學(xué)生主頁(yè)面默認(rèn)顯示一些考試須知等信息。通過(guò)主頁(yè)面菜單可進(jìn)入查詢考試科目、開(kāi)始考試、查詢考試成績(jī)等各個(gè)功能頁(yè)面。</p><p>  5.3.1 考試科目查詢</p><p>  通過(guò)點(diǎn)擊考生主頁(yè)面上方菜單中的“在線考試”,即可菜單下方出現(xiàn)各科考試的時(shí)間等詳細(xì)信息。系統(tǒng)默認(rèn)顯示全部考試科目信息,學(xué)生也可通過(guò)輸入關(guān)鍵字查詢考試科目。圖5-2表示學(xué)生操作頁(yè)面的考試科目查詢頁(yè)面。</p>

113、;<p>  圖5-2 考試科目查詢頁(yè)面</p><p>  5.3.2 進(jìn)行考試</p><p>  考生通過(guò)點(diǎn)擊開(kāi)始考試按鈕可以進(jìn)入到相應(yīng)的考試科目頁(yè)面,考試頁(yè)面顯示考生姓名和學(xué)號(hào),考試科目,考試時(shí)長(zhǎng),試卷總分等信息??荚図?yè)面是整個(gè)系統(tǒng)的精華部分,頁(yè)面信息量大。因此對(duì)此頁(yè)面的編寫(xiě)耗時(shí)最長(zhǎng)。圖5-3表示Java程序設(shè)計(jì)的試卷頁(yè)面。</p><p> 

114、 圖5-3考生考試頁(yè)面</p><p>  考試頁(yè)面主要由兩部分組成,一是試題部分,位于頁(yè)面中間;二是導(dǎo)航部分(如圖5-3中所示)位于頁(yè)面右上方固定位置。在答題過(guò)程中如果考生某題已作答則答案區(qū)域和該題的導(dǎo)航數(shù)字區(qū)域?qū)?huì)由白色變?yōu)榛疑?;如果考生?duì)某題目有疑問(wèn),不敢肯定答案,則可以點(diǎn)擊答案選項(xiàng)右邊的“問(wèn)號(hào)”按鈕,此時(shí)該題答案區(qū)域和導(dǎo)航數(shù)字區(qū)域?qū)?huì)變?yōu)榧t色;考生可以點(diǎn)擊導(dǎo)航區(qū)域的數(shù)字定位到相應(yīng)題目的位置;在導(dǎo)航區(qū)域下方

溫馨提示

  • 1. 本站所有資源如無(wú)特殊說(shuō)明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請(qǐng)下載最新的WinRAR軟件解壓。
  • 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請(qǐng)聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
  • 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁(yè)內(nèi)容里面會(huì)有圖紙預(yù)覽,若沒(méi)有圖紙預(yù)覽就沒(méi)有圖紙。
  • 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
  • 5. 眾賞文庫(kù)僅提供信息存儲(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ì)自己和他人造成任何形式的傷害或損失。

評(píng)論

0/150

提交評(píng)論