

版權說明:本文檔由用戶提供并上傳,收益歸屬內容提供方,若內容存在侵權,請進行舉報或認領
文檔簡介
1、<p> 本科生畢業(yè)論文(設計)</p><p> **大學在線考試系統(tǒng)</p><p><b> 分析與設計</b></p><p> 2012年5月25日</p><p> 姓 名</p><p> 學 號</p><p> ?! I(yè)</p&
2、gt;<p> 指導教師</p><p><b> 摘 要</b></p><p> 在計算機網絡飛速發(fā)展的今天,互聯網應用在人們政治、經濟、生活等各個方面發(fā)揮著重要的作用,然而在教育方面卻沒有得到充分的利用。在追求效率與公平的時代,為了使學校、教師以及學生在考試過程減少時間、金錢的投入,因此設計開發(fā)了這個在線考試系統(tǒng)。</p>&
3、lt;p> 本文論述了一個以Internet為網絡平臺、三層架構(B/S)的在線考試系統(tǒng)的設計原理、設計思想及具體的實現過程,對在設計過程中涉及到的關鍵算法及重要作業(yè)流程作了具體分析和介紹,并對各個模塊的設計思想及設計過程作了詳細闡述。本系統(tǒng)采用Jsp+Servlet等技術,設法為學校創(chuàng)建一個便捷公平的在線考試平臺。本論文闡述了系統(tǒng)所要實現的功能,其中包括學生考試,人員管理,題庫管理等多個功能,對各功能模塊的實現流程以及后臺數據
4、庫的設計進行說明,并詳細介紹了在線考試系統(tǒng)主要業(yè)務的實現方式。對于不同用戶角色,本文將分別關于功能結構進行介紹,并對其邏輯和代碼實現進行解釋和說明。</p><p> 關鍵詞:在線考試;Oracle數據庫;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 本文的內容安排2</p><p> 2 開發(fā)工具及相關技術3</p><p> 2.1 系統(tǒng)的B/S結構簡
11、述3</p><p> 2.2 開發(fā)環(huán)境及開發(fā)工具3</p><p> 2.2.1 Dreamweaver3</p><p> 2.2.2 Eclipse4</p><p> 2.2.3 Oracle 數據庫4</p><p> 2.2.4 Tomcat服務器4</p><p&
12、gt; 2.3 相關技術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 本章小結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 經濟可行性分析9</p><p> 3.2.2 技術可行性分析9</p><p> 3.3 系統(tǒng)流程分析9</p><p> 3.3.1 業(yè)務流程分析10</p><p> 3.3.2 數據流程分析10</p><p> 3.4
15、本章小結11</p><p><b> 4 系統(tǒng)設計12</b></p><p> 4.1 系統(tǒng)總體規(guī)劃12</p><p> 4.2 數據庫設計13</p><p> 4.2.1 概念結構設計13</p><p> 4.2.2 邏輯結構設計15</p><
16、;p> 4.3 本章小結18</p><p><b> 5 系統(tǒng)實施19</b></p><p> 5.1 創(chuàng)建與數據庫的連接19</p><p> 5.2 系統(tǒng)的登錄頁面20</p><p> 5.3 學生主頁面22</p><p> 5.3.1 考試科目查詢22&
17、lt;/p><p> 5.3.2 進行考試22</p><p> 5.3.3 成績查詢26</p><p> 5.4 教師主頁面27</p><p> 5.4.1 題庫管理27</p><p> 5.4.2 試卷管理27</p><p> 5.4.3 考生成績查詢28<
18、/p><p> 5.5 管理員主頁面29</p><p> 5.5.1 人員信息管理29</p><p> 5.5.2 考試科目管理29</p><p> 5.6 本章小結30</p><p><b> 6 系統(tǒng)測試31</b></p><p> 6.1
19、測試的目標與方法31</p><p> 6.2 測試用例31</p><p> 6.2.1 系統(tǒng)登錄測試31</p><p> 6.2.2 學生模塊測試32</p><p> 6.2.3 教師模塊測試32</p><p> 6.2.4 管理員模塊測試33</p><p>
20、 6.3 本章小結33</p><p><b> 7 結束語34</b></p><p><b> 參考文獻35</b></p><p><b> 致謝36</b></p><p><b> 1 引 言</b></p><
21、;p><b> 1.1 課題的背景</b></p><p> 從計算機網絡的誕生至今天,計算機網絡應用已進入人類社會的各個方面并發(fā)揮著越來越重要的作用,我們發(fā)現我們的生活、工作、學習等越來越離不開網絡。在線考試系統(tǒng)是一款基于網絡瀏覽器的適用于學校以及教育培訓機構等的實用型系統(tǒng),他一改傳統(tǒng)的考試模式為我們的考試帶來新的體驗,是計算機網絡應用的標準體現。</p><
22、p> 眾所周知,教育是治國之本,因此如何更好的做好教育工作是大家一直都很關注的問題。只有率先認識到網絡技術在當今教育中的重要作用,用它解決教育中的問題,把它作為教育的基本工具,才能在全球教育競爭中立于不敗之地。如今,越來越多的學校、教育培訓機構等都將網絡技術應用于教育,通過計算機網絡實現在線教育或培訓,網絡教學便由此而生。目前我國網絡教學系統(tǒng)的開發(fā)和使用還處于發(fā)展階段,各項功能的實現還不夠完善。</p><p
23、> 網絡教學包括很多環(huán)節(jié),例如選課系統(tǒng)、教學系統(tǒng)、問答系統(tǒng)和考試系統(tǒng)等等。其中很重要的一個環(huán)節(jié)就是在線考試系統(tǒng),同時它也是最難實現的環(huán)節(jié)。目前大多數學校和社會上的考試依然采用傳統(tǒng)的考試模式,在此模式下,組織一次考試一般需要經過人工出題、復印試卷、考生考試、人工閱卷和成績統(tǒng)計等五個環(huán)節(jié)。顯然,教師和考務工作人員的工作量很大,效率也很低,并且難免會出現各種各樣的錯誤,嚴重影響了教學的效率和質量,可以說傳統(tǒng)的考試模式已經逐漸滿足不了當
24、今的考試需求。人們迫切需要一種自動化程度相當高的計算機系統(tǒng)來進行在線考試,并進行題庫信息的管理。在此背景下,我們需要開發(fā)一款在線考試系統(tǒng)。</p><p> 1.2 課題的目的和意義</p><p> 在線考試系統(tǒng)將使學校的考試管理工作更加規(guī)范化,自動化,簡單化。一方面方便考生考試;另一方面減輕教師及考務人員的工作負擔,提高工作效率。從而提高教學質量。</p><p
25、> 基于網絡技術的在線考試系統(tǒng)可借助校園局域網進行。將試題內容放在服務器上,考生通過帳號和密碼進行登錄參加考試,考試答案也存放在服務器上,這樣考試的公平性、答案的安全性可以得到有效的保證。試題可以根據題庫中的內容隨機生成,可有效避免考試前的押題;同時每個人的考試題目都不會完全一樣,這樣可有效避免考試抄襲;而且可以采用大量標準格式化的試題,從而使用計算機判卷,大大提高閱卷效率;還可以直接把成績送到數據庫中,進行統(tǒng)計、排名等操作,便
26、于對考試結果進行分析??梢?,采用在線考試模式將是未來考試發(fā)展的趨勢。因此,結合我校教學考試現狀,我設計并開發(fā)了**大學在線考試系統(tǒng)。</p><p> 1.3 本文的內容安排</p><p> 在本論文中,首先論述了在線考試系統(tǒng)的研究背景及其意義;然后對要開發(fā)的**大學在線考試系統(tǒng)進行了較為詳細的分析(包括需求分析、流程分析、系統(tǒng)可行性分析等);對本系統(tǒng)所使用的開發(fā)語言、相關技術以及開
27、發(fā)環(huán)境和開發(fā)工具進行了簡單的介紹;對本系統(tǒng)進行了功能模塊設計(包括考生考試模塊、教師管理模塊、管理員管理等);在對系統(tǒng)分析與設計的基礎上,運用Jsp+Servlet和Oracle開發(fā)了**大學在線考試系統(tǒng);最后對已經開發(fā)的系統(tǒng)進行了測試。</p><p> 本論文的內容安排如下:</p><p> 第一章、引言,其中介紹了課題研究的背景,課題的目的和意義。</p><
28、;p> 第二章、系統(tǒng)開發(fā)工具及相關技術介紹,其中包括對B/S結構、CSS+DIV網頁布局、JSP、Servlet、Oracle等的簡單介紹。</p><p> 第三章、系統(tǒng)分析,其中包括需求分析、系統(tǒng)流程分析、可行性分析等。</p><p> 第四章、系統(tǒng)設計,其中包括功能設計、數據庫設計等。</p><p> 第五章、系統(tǒng)實施,對系統(tǒng)的各個模塊的實現
29、做詳細的介紹。</p><p> 第六章、系統(tǒng)測試,其中包括對測試的目的和方法、簡單的測試用例等。</p><p> 第七章、結束語,對在寫整篇論文過程中的感受和收獲進行總結。</p><p> 2 開發(fā)工具及相關技術</p><p> **大學在線考試系統(tǒng)是基于B/S模式設計的,它選擇的前臺開發(fā)語言為Jsp,后臺數據庫管理工具為Or
30、acle 10G,開發(fā)工具為Eclipse,其Web服務器為Tomcat 6.0及以上版本。</p><p> 2.1 系統(tǒng)的B/S結構簡述</p><p> B/S結構(Browser/Server,瀏覽器/服務器模式)是WEB興起后的一種網絡結構模式,WEB瀏覽器是客戶端最主要的應用軟件。這種模式統(tǒng)一了客戶端,將系統(tǒng)功能實現的核心部分集中到服務器上,簡化了系統(tǒng)的開發(fā)、維護和使用。
31、</p><p> 客戶機上只要安裝一個瀏覽器(Browser),如Netscape Navigator或Internet Explorer,服務器安裝Oracle、Sybase、Informix或 SQL Server等數據庫。瀏覽器通過Web Server 同數據庫進行數據交互。</p><p> B/S結構的優(yōu)點:具有分布性特點,可以隨時隨地進行查詢、瀏覽等業(yè)務處理;業(yè)務擴展簡單
32、方便,通過增加網頁即可增加服務器功能;維護簡單方便,只需要改變網頁,即可實現所有用戶的同步更新;開發(fā)簡單,共享性強。</p><p> 2.2 開發(fā)環(huán)境及開發(fā)工具</p><p> 本系統(tǒng)開發(fā)環(huán)境選擇微軟平臺作為主導,一方面考慮目前微軟的飛速發(fā)展,越來越多的企業(yè)在規(guī)劃內部網絡時,將微軟平臺作為首選方案;令一方面從技術角度來講,微軟平臺上的應用無論是在開發(fā)上,還是在軟件的部署上都是非常容
33、易,而且性能優(yōu)越。以下簡單介紹本系統(tǒng)所使用的開發(fā)工具:</p><p> 2.2.1 Dreamweaver</p><p> Dreamweaver是美國MACROMEDIA公司開發(fā)(后被Adobe公司收購)的集網頁制作和管理網站于一身的所見即所得網頁編輯器。Dreamweaver可以用最快速的方式將Fireworks,FreeHand,或Photoshop等檔案移至網頁上。使用檢色
34、吸管工具選擇熒幕上的顏色可設定最接近的網頁安全色。對于選單,快捷鍵與格式控制,都只要一個簡單步驟便可完成。Dreamweaver能與您喜愛的設計工具,如Playback Flash,Shockwave和外掛模組等搭配,不需離開Dreamweaver便可完成,整體運用流程自然順暢。除此之外,只要單擊便可使Dreamweaver自動開啟Firework或Photoshop來進行編輯與設定圖檔的最佳化。</p><p>
35、; 本系統(tǒng)采用Dreamweaver CS4版本,其特點是界面設計緊湊,使用方便。</p><p> 2.2.2 Eclipse </p><p> Eclipse是一個開放源代碼的、基于Java的可擴展開發(fā)平臺。就其本身而言,它只是一個框架和一組服務,用于通過插件組件構建開發(fā)環(huán)境。幸運的是,Eclipse附帶了一個標準的插件集,包括Java開發(fā)工具(Java Development
36、 Kit,JDK)。 </p><p> 雖然大多數用戶很樂于將Eclipse當作Java集成開發(fā)環(huán)境(IDE)來使用,但Eclipse的目標卻不僅限于此。Eclipse還包括插件開發(fā)環(huán)境(Plug-in Development Environment,PDE),這個組件主要針對希望擴展Eclipse的軟件開發(fā)人員,因為它允許他們構建與Eclipse環(huán)境無縫集成的工具。由于Eclipse中的每樣東西都是插件,對
37、于給Eclipse提供插件,以及給用戶提供一致和統(tǒng)一的集成開發(fā)環(huán)境而言,所有工具開發(fā)人員都具有同等的發(fā)揮場所。</p><p> 本系統(tǒng)采用的是Eclipse 3.5版本,其特點是性能穩(wěn)定。</p><p> 2.2.3 Oracle 數據庫</p><p> Oracle Database,又名Oracle RDBMS,或簡稱Oracle。是美國ORACLE
38、公司(甲骨文)提供的以分布式數據庫為核心的一組軟件產品,是目前最流行的客戶/服務器(CLIENT/SERVER)或B/S體系結構的數據庫之一。ORACLE數據庫是目前世界上使用最為廣泛的數據庫管理系統(tǒng),作為一個通用的數據庫系統(tǒng),它具有完整的數據管理功能;作為一個關系數據庫,它是一個完備關系的產品;作為分布式數據庫它實現了分布式處理功能。Oracle數據庫具有數據的大量性、數據的保存的持久性、數據的共享性和數據的可靠性等特點。</p
39、><p> 本系統(tǒng)采用的是Oracle 10G數據庫。Oracle 10G數據庫相對于以前版本關鍵提高有二:1降低管理開銷,2提高性能。 Oracle 10G有對高可用性的增強、新的 Flashback 能力、支持回滾更新操作;對安全性的增強,便于管理大量的用戶;BI方面的增強,包括改進的SQL能力、分析功能、OLAP、數據挖掘的能力等;對非關系型數據存儲的能力得到了改進;XML的能力;對開發(fā)能力支持的加強,對生物
40、信息學( Bioinformatics)的支持。</p><p> 2.2.4 Tomcat服務器</p><p> 本系統(tǒng)運行環(huán)境為Tomcat 6.0。Tomcat是Apache軟件基金會(Apache Software Foundation)的Jakarta項目中的一個核心項目,由Apache、Sun和其他一些公司及個人共同開發(fā)而成。由于有了Sun的參與和支持,最新的Servle
41、t 和JSP規(guī)范總是能在Tomcat中得到體現,Tomcat 5支持最新的Servlet 2.4和JSP 2.0規(guī)范。因為Tomcat技術先進、性能穩(wěn)定,而且免費,因而深受Java愛好者的喜愛并得到了部分軟件開發(fā)商的認可,成為目前比較流行的Web應用服務器。</p><p><b> 2.3 相關技術</b></p><p> 2.3.1 CSS+DIV</
42、p><p> CSS是層疊樣式表(Cascading Style Sheets)的縮寫,用于定義HTML元素的顯示形式,是W3C推出的格式化網頁內容的標準技術。</p><p> CSS+DIV是網站標準設計中常用術語之一,是一種比較成熟的網頁布局方法。可實現網頁頁面內容與表現相分離,即在不改變Html源代碼的同時,能夠根據CSS中對標簽的的不同定義而顯示出不同的頁面效果。能夠實現傳統(tǒng)的表
43、格(Table)布局定位方式所不能實現的效果。當然,本人在使用中并沒有完全摒棄表格(Table),而是DIV與之相結合使用,使頁面靈活、工整、多層次的顯示。</p><p> 2.3.2 JavaScript 和jQuery</p><p> JavaScript是一種能讓你的網頁更加生動活潑的程式語言,也是目前網頁中設計中最容易學又最方便的語言。你可以利用JavaScript輕易的做
44、出親切的歡迎訊息、漂亮的數字鐘、有廣告效果的跑馬燈及簡易的選舉,還可以顯示瀏覽器停留的時間。讓這些特殊效果提高網頁的可觀性。本系統(tǒng)中主要使用JavaScript的表單驗證功能以及對時間的控制。</p><p> jQuery是一個優(yōu)秀的Javascript框架。它是輕量級的js庫(壓縮后只有21k),它兼容CSS3,還兼容各種瀏覽器(IE 6.0+, FF 1.5+, Safari 2.0+, Opera 9.
45、0+)。jQuery使用戶能更方便地處理HTML documents、events、實現動畫效果,并且方便地為網站提供AJAX交互。jQuery還有一個比較大的優(yōu)勢是,它的文檔說明很全,而且各種應用也說得很詳細,同時還有許多成熟的插件可供選擇。jQuery能夠使用戶的html頁保持代碼和html內容分離,也就是說,不用再在html里面插入一堆js來調用命令了,只需定義id即可。</p><p> 在使用過程中本
46、人發(fā)現jQuery與傳統(tǒng)的JavaScript相比,優(yōu)勢之一在于JavaScript是單線程的,而jQuery可以實現多線程,即點擊一個按鈕可以同時觸發(fā)多個事件,使用起來更加方便。</p><p> 2.3.3 Servlet 和JSP</p><p> Servlet是Java Servlet的簡稱,是一種服務器端的Java應用程序,具有獨立于平臺和協(xié)議的特性,可以生成動態(tài)的Web頁
47、面。它擔當客戶請求(Web瀏覽器或其他HTTP客戶程序)與服務器響應(HTTP服務器上的數據庫或應用程序)的中間層。Servlet是位于Web服務器內部的服務器端的Java應用程序,與傳統(tǒng)的從命令行啟動的Java應用程序不同,Servlet由Web服務器進行加載,該Web服務器必須包含支持Servlet的Java虛擬機。</p><p> JSP(Java Server Pages)是由Sun Microsys
48、tems公司倡導、許多公司參與一起建立的一種動態(tài)網頁技術標準。JSP是在Servlet技術基礎上發(fā)展而來的,但在實際使用中功能又有很大的區(qū)別,JSP技術有點類似ASP技術,它是在傳統(tǒng)的網頁HTML文件中插入Java程序段(Scriptlet)和JSP標記(Tag),從而形成JSP文件(*.jsp)。 另外用JSP開發(fā)的Web應用是跨平臺的,既能在Linux下運行,也能在其他操作系統(tǒng)上運行。</p><p> J
49、SP技術不是Java Servlet技術的全部,它只是Java Servlet技術的一個成功應用。JSP技術屏蔽了Servlet對象創(chuàng)建的過程,使得Web程序設計者只須關心JSP頁面本身的結構、設計好各種標記。有效地分離頁面的視圖和數據處理等,不必再用println語句來輸出每一行HTML代碼。更重要的是,借助內容和外觀的分離,頁面制作中不同性質的任務可以方便地分開:比如,由頁面設計者進行HTML設計,同時留出供Servlet程序員插入
50、動態(tài)內容的空間。</p><p> 2.3.4 MVC模式</p><p> MVC是三個單詞的縮寫,分別為:模型(Model),視圖(View)和控制Controller)。MVC模式的目的就是實現Web系統(tǒng)的職能分工。Model層實現系統(tǒng)中的業(yè)務邏輯,通??梢杂肑avaBean或EJB來實現。View層用于與用戶的交互,通常用JSP來實現。Controller層是Model與Vie
51、w之間溝通的橋梁,它可以分派用戶的請求并選擇恰當的視圖以用于顯示,同時它也可以解釋用戶的輸入并將它們映射為模型層可執(zhí)行的操作。</p><p> 使用MVC設計模式,應用程序將被分成三個核心部件:模型、視圖、控制器。它們各自處理自己的任務。本系統(tǒng)將使用第一種常見的MVC設計模式Jsp+Servlet+JavaBean進行開發(fā),即通過創(chuàng)建一些Servlet對象,配合JSP頁面來完成整個Web系統(tǒng)。其數據傳遞過程如
52、圖2-1所示:</p><p> 圖2-1 MVC(Jsp+Servlet+JavaBean)設計模式原理圖</p><p> 2.3.5 JDBC</p><p> JDBC(Java Data Base Connectivity,java數據庫連接)是一種用于執(zhí)行SQL語句的Java API,可以為多種關系數據庫提供統(tǒng)一訪問,它由一組用Java語言編寫的類
53、和接口組成。JDBC為數據庫開發(fā)人員提供了一個標準的API,據此可以構建更高級的工具和接口,使數據庫開發(fā)人員能夠用純 Java API 編寫數據庫應用程序。 </p><p> 有了JDBC,向各種關系數據發(fā)送SQL語句就是一件很容易的事。換言之,有了JDBC API,就不必為訪問Oracle數據庫專門寫一個程序,為訪問Sql Server數據庫又專門寫一個程序,或為訪問Mysql數據庫又編寫另一個程序等等,程
54、序員只需用JDBC API寫一個程序就夠了,它可向相應數據庫發(fā)送SQL調用。同時,將Java語言和JDBC結合起來使程序員不必為不同的平臺編寫不同的應用程序,只須寫一遍程序就可以讓它在任何平臺上運行,這也是Java語言“編寫一次,處處運行”的優(yōu)勢。</p><p><b> 2.4 本章小結</b></p><p> 本章主要介紹了**大學在線考試系統(tǒng)所用的開發(fā)環(huán)
55、境、開發(fā)工具以及相關技術。對系統(tǒng)所運用的B/S結構進行了介紹,并結合本系統(tǒng)對將要使用的Eclipse、Oracle開發(fā)軟件和JSP及MVC等相關技術進行了詳細介紹。</p><p><b> 3 系統(tǒng)分析</b></p><p> 系統(tǒng)分析對于**大學在線考試系統(tǒng)的設計至關重要,在本章中對**大學在線考試系統(tǒng)進行了需求分析、系統(tǒng)流程分析、可行性分析。 </p
56、><p> 3.1 系統(tǒng)需求分析</p><p> 系統(tǒng)需求分析是為了深入描述系統(tǒng)的功能和性能,借助于當前系統(tǒng)的邏輯模型導出目標系統(tǒng)邏輯模型,解決目標系統(tǒng)“做什么”的問題。主要分為功能的需求和性能的需求。</p><p> 3.1.1 系統(tǒng)功能的需求</p><p> **大學在線考試系統(tǒng)的設計目的是方便考生及管理人員,所以其整體要求清晰
57、實用、界面親和、操作簡單、運行流暢。系統(tǒng)應該具備以下的基本功能:</p><p> 用戶類別:登錄系統(tǒng)的身份定為三種,一是管理員,二是教師,三是學生,只有被授權的用戶才可以使用本系統(tǒng)。</p><p> 權限管理:系統(tǒng)需要經過有效的身份驗證可以登錄。用戶的身份不同,使用的系統(tǒng)資源也不同??忌豢梢詤⒓釉诰€考試;普通教師可以管理題庫,控制考試、成績查詢、添加試題、閱卷等。管理員可添加、修
58、改學生、教師、考試科目等信息,可以查詢考生成績。 </p><p> 在線考試功能:考生輸入帳號和密碼登陸系統(tǒng)后,選擇考試科目可進行考試,科目有考試時間設置,未到考試時間或考試已結束將不能參加考試。答題中,有倒計時的功能,考試結束時還沒提交就自動交卷,系統(tǒng)將自動對客觀題進行評分。如果有主觀題,能將主觀題答案返回至該科目教師頁面。 </p><p> 試卷管理:由管理員設置考試時間,教師
59、設置題型并向題庫中添加試題,試卷隨機從題庫中抽取試題組合而成。</p><p> 3.1.2 系統(tǒng)性能的需求</p><p> **大學在線考試系統(tǒng)的性能要求在穩(wěn)定的基礎上快速反應,操作系統(tǒng)以Windows XP或WIN7為標準,硬件配置以RAM:2.00GB為標準。基本信息的添加,修改部分反應時間應控制在3秒以內,查詢部分應控制在5秒以內,生成試卷的信息量較大,處理的流程較多響應時間
60、會較慢,添加、修改部分的響應時間不應該太長。</p><p> 3.2 系統(tǒng)可行性分析</p><p> 可行性分析也稱為可行性研究,即是在系統(tǒng)調查的基礎上,針對新系統(tǒng)的開發(fā)是否具備必要性和可能性,對新系統(tǒng)的開發(fā)從技術、經濟、管理的方面進行分析和研究,以避免投資失誤,保證新系統(tǒng)的開發(fā)成功??尚行匝芯康哪康木褪怯米钚〉拇鷥r在盡可能短的時間內確定問題是否能夠解決。該系統(tǒng)的可行性分析包括以下
61、幾個方面的內容。</p><p> 3.2.1 經濟可行性分析</p><p> 主要是對項目的經濟效益進行評價,利用計算機來實現網上考試以成為適應當今教學管理的方式。開發(fā)一套能滿足網上考試系統(tǒng)的軟件是十分必要的,實現試卷管理和試卷生成自動化,在減少由于認為失誤而早成損失的同時,也可以使教師減少工作量。本系統(tǒng)在經濟上是可以接受的,并且本系統(tǒng)實施后可以顯著提高考試效率,有助于學院完全實現
62、網絡化管理。所以本系統(tǒng)在經濟上是可行的。</p><p> 3.2.2 技術可行性分析</p><p> 技術上的可行性分析主要分析技術條件是否能順利完成開發(fā)工作,硬、軟件能否滿足開發(fā)者的需要等。</p><p> 軟件方面,網絡化考試需要的各種軟件環(huán)境都已具備,數據庫方面我們選擇的Oracle,能夠處理大量數據,同時保持數據的完整性并提供許多高級管理功能。其
63、靈活性、安全性和易用性為數據庫編程提供了良好的條件。因此,系統(tǒng)的軟件開發(fā)平臺已成熟可行。服務器方面服務器端:由于在線考試是多人同時操作,對服務器的需求是必須考慮的問題。根據我校在校生人數,服務器要求能承受3000-5000人同時在線。300個并發(fā)操作響應時間不得超過5秒。由于單純的Tomcat支持的并發(fā)量較小。因此在實際部署系統(tǒng)時服務器端可采用Apache+Tomcat*3的模式加大并發(fā)數。服務器端操作系統(tǒng)為Linux,硬件配置為8G內
64、存,2.0GHz、8核CPU。</p><p> 硬件方面,科技飛速發(fā)展的今天,硬件更新的速度越來越快,容量越來越大,可靠性越來越高,價格越來越低,其硬件平臺完全能滿足此系統(tǒng)的需要。</p><p> 3.3 系統(tǒng)流程分析</p><p> **大學在線考試系統(tǒng)流程簡單,主要是教師向題庫中添加試題,管理員設置考試科目信息,學生登錄系統(tǒng)選擇科目進行考試。下面從業(yè)
65、務流程和數據流程兩方面對系統(tǒng)進行分析。</p><p> 3.3.1 業(yè)務流程分析</p><p> 業(yè)務流程分析,是對系統(tǒng)業(yè)務功能的進一步細化,從而得到業(yè)務流程圖即TFD (Transaction Flow Diagram ),是一個反映系統(tǒng)業(yè)務處理過程的“流水帳本”。圖3-1表示**大學在線考試系統(tǒng)核心業(yè)務流程圖。</p><p> 圖3-1 系統(tǒng)業(yè)務流程
66、圖</p><p> 3.3.2 數據流程分析</p><p> 數據流程分析就是把數據在現行系統(tǒng)內部的流動情況抽象出來,舍去了具體組織機構、信息載體、處理工作等物理組成,單純從數據流動過程來考察實際業(yè)務的數據處理模式。圖3-2表示**大學在線考試系統(tǒng)數據流程圖。</p><p> 圖3-2 系統(tǒng)數據流程圖</p><p><b&
67、gt; 3.4 本章小結</b></p><p> 軟件開發(fā)過程中系統(tǒng)分析是很重要的一部分,為了開發(fā)出真正滿足用戶需求的軟件產品,本章對系統(tǒng)進行了詳細的分析,其中包括對系統(tǒng)的需求分析、可行性分析以及流程分析,從而能夠更全面的掌握整個系統(tǒng)的設計流程并且判斷系統(tǒng)是否可行。 </p><p><b> 4 系統(tǒng)設計</b></p><p
68、> 對**大學在線考試系統(tǒng)進行詳細的系統(tǒng)分析之后,需要對其進行功能模塊和數據庫的設計。在本章中,我將會對即將開發(fā)的**大學在線考試系統(tǒng)進行詳細設計。</p><p> 4.1 系統(tǒng)總體規(guī)劃</p><p> **大學在線考試系統(tǒng)按用戶角色分為三大模塊:管理員模塊:實現教師信息,學生信息,考試科目信息的添加、修改、刪除、查詢等功能;教師模塊:實現題庫管理、試卷管理、學生成績查詢等
69、;學生模塊:包括查詢考試科目、開始考試、個人成績查詢等功能。</p><p> 對于**大學在線考試統(tǒng)進行整體功能分析之后,可以設計出該系統(tǒng)的功能模塊總體框架如圖4-1所示:</p><p> 圖4-1 系統(tǒng)總體規(guī)劃圖</p><p> 三種角色通過同一登錄界面進入不同操作頁面:其中管理員帳號和密碼由系統(tǒng)后臺添加。教師和學生帳號和密碼由管理員添加,個人不能注冊
70、。</p><p><b> 1.管理員:</b></p><p> (1)學生信息管理:管理每個學生的個人信息,包括學號、姓名、院系、專業(yè)、班級等。管理員可以對學生信息進行添加、修改、刪除、查詢等操作。并且可以查詢所有考生的考試成績。</p><p> (2)教師信息管理:管理每個教師的個人信息,包括工號、院系、所教科目等。管理員可以對
71、教師信息進行添加、修改、刪除、查詢等操作。</p><p> (3)考試信息管理:管理考試安排,包括考試科目、考試日期、考試開始時間、考試結束時間等。管理員可以對考試科目進行添加、修改、刪除、查詢等操作。</p><p><b> 2.教師:</b></p><p> (1)題庫管理:題型包括選擇題、填空題、問答題。教師可以對各種題型進行
72、增加、修改、刪除、查詢。添加試題時可以設置試題難度。教師只能對所教科目的題庫進行操作。</p><p> (2)試卷管理:可以設置考試題型,包括各種題型的數目和每道題的分值。如果出問答題,則可查詢到學生的答案,進行手工批改,并提交成績至數據庫。</p><p> (3)成績查詢:教師可以查看可以查詢所教科目的學生成績。</p><p><b> 3.
73、學生:</b></p><p> (1)考試科目:可以顯示全部考試科目,考生也可以根據關鍵字搜索想要考試的科目??颇坑袝r間設置,未到考試時間或考試已結束將不能參加考試。</p><p> (2)考試進行:從考試科目頁面進入考試頁面,考試頁面按照教師所設置的考試題型以及題目的難度隨機生成試卷并顯示考試倒計時。</p><p> (3)成績查詢:考生可
74、以查詢考試過的科目的成績,包括各種題型的成績以及總成績。</p><p><b> 4.2 數據庫設計</b></p><p> 4.2.1 概念結構設計</p><p> 概念結構設計的任務是在系統(tǒng)分析的基礎上,按照特定的方法把它們抽象為一個不依賴于任何具體機器的數據模型,即概念模型。概念模型使設計者的注意力能夠從復雜的實現細節(jié)中解脫出
75、來,而只集中在最重要的信息的組織結構和處理模式上。概念數據模型,是結合將要開打的系統(tǒng)按照用戶的觀點來對數據和信息進行建模,利用實體關系圖來實現.它描述系統(tǒng)中的各個實體以及相關實體之間的關系,是系統(tǒng)特性的靜態(tài)描述.概念結構設計的方法一般是先畫出組織的局部E-R圖,然后將其合并,在此基礎進行優(yōu)化和美化。</p><p> 在考試系統(tǒng)中,共分10個實體:分別為管理員信息、教師信息、學生信息、科目信息、題庫信息(包括選
76、擇題信息、填空題信息、問答題信息)、試卷信息、答案信息、成績信息,它們之間相互都有聯系。</p><p> 由于實體數量較多,不一一畫出實體屬性E-R圖,僅分別列舉說明:</p><p> 管理員信息(管理員帳號、管理員密碼、管理員姓名)</p><p> 教師信息(教職工號、教師姓名、教師密碼、所在院系、所教科目)</p><p>
77、 學生信息(學生學號、學生密碼、學生姓名、學生性別、所在院系、所在專業(yè)、所在班級)</p><p> 科目信息(科目號、科目名、所屬院系、選擇題數、填空題數、問答題數、考試日期、開始時間、結束時間)</p><p> 選擇題信息(題目編號、題目名、選項A、選項B、選項C、選項D、正確答案、難度、科目號)</p><p> 填空題信息(題目編號、題目名、正確答案
78、、難度、科目號)</p><p> 問答題信息(題目編號、題目名、參考答案、難度、科目號)</p><p> 考生試卷信息(學號、科目號、選擇題編號、填空題編號、問答題編號)</p><p> 考生答案信息(學號、科目號、選擇題答案、填空題答案、問答題答案)</p><p> 考生成績信息(學號、科目號、選擇題得分、填空題得分、問答題
79、得分、總分)</p><p> 各個實體之間的關系如下:</p><p> 管理員與教師、學生、科目信息之間存在一個管理與被管理的關系,一個管理員可以管理多個教師、一個管理員可以管理多個學生、一個管理員可以管理多個考試科目。</p><p> 教師與科目之間存在教授與被教授的關系,一個教師可以教授多個科目;一個科目可以由多個教師來教授。教師與試卷之間有管理與被
80、管理的關系,一個教師可以管理多個試卷。教師與題庫之間的關系也是管理與被管理的,一個教師可以管理多個題庫,一個題庫可以被多個教師管理。</p><p> 科目與學生之間存在考試與被考試的關系,一個學生可以考試多個科目,一個科目可以由多個學生來考試;科目與試卷之間存在屬于與被屬于關系,一個科目可以屬于多份試卷,一份試卷只能屬于一個科目。試卷與學生時間存在作答與被作答的關系,一個考生一次只能作答一份試卷,一份試卷
81、也只能被一個考生作答。</p><p> 題庫與試卷之間存在抽取與被抽取的關系,一個題庫可以抽取出多份試卷,一份試卷只能從一個題庫中抽取。</p><p> 根據以上各個實體之間的關系,可以畫出本系統(tǒng)的總體E-R圖。圖4-2表示在線考試系統(tǒng)總體E-R圖:</p><p> 圖4-2 在線考試系統(tǒng)總體E-R圖</p><p> 4.2.
82、2 邏輯結構設計</p><p> 數據庫邏輯結構設計階段的任務是將概念結構設計階段所得到的概念模型轉換為具體DBMS所能支持的數據模型(即邏輯結構),并對其進行優(yōu)化。邏輯結構設計的主要任務是根據E-R圖建立各種實體的數據庫表。 </p><p> 數據表是關于數據信息的集合,也就是對數據流中包含的所有元素的定義的集合。任何表最主要的用途都是供人查閱對不了解的條目的解釋,數據表的作用也
83、正是在系統(tǒng)分析和設計的過程中給人提供關于數據的描述信息。以下一一列出本系統(tǒng)所使用的各個數據庫表:</p><p> 如表4-1所示,管理員信息表(tb_Admin)用于存儲管理員信息。</p><p> 表 4-1 管理員信息表</p><p> 如表4-2所示,教師信息表(tb_Teacher)用于存儲教師信息。<
84、;/p><p> 表 4-2 教師信息表</p><p> 如表4-3所示,學生信息表(tb_User)用于存儲學生信息。</p><p> 表 4-3 學生信息表</p><p> 如表4-4所示,選擇題信息表(tb_Select)用于存儲選擇題信息。<
85、;/p><p> 表 4-4 選擇題信息表</p><p> 如表4-5所示,填空題信息表(tb_Blank)用于存儲填空題信息。</p><p> 表 4-5 填空題信息表</p><p> 如表4-6所示,問答題信息表(tb_Question)用于存儲問答
86、題信息。</p><p> 表 4-6 問答題信息表</p><p> 如表4-7所示,考試科目信息表(tb_Subject)用于存儲考試科目信息。</p><p> 表 4-7 考試科目信息表</p><p> 如表4-8所示,考生試卷信息表(tb_Ex
87、am)用于存儲考生試卷信息。</p><p> 表 4-8 考生試卷信息表</p><p> 如表4-9所示,考生答案信息表(tb_Answer)用于存儲考生答案信息。</p><p> 表 4-9 考生答案信息表</p><p> 如表4-10所示,考生
88、成績信息表(tb_Score)用于存儲考生成績信息。</p><p> 表 4-10 考生成績信息表</p><p><b> 4.3 本章小結</b></p><p> 本章對**大學排課系統(tǒng)進行了功能設計,將該系統(tǒng)分為管理員、教師和學生三個模塊。同時對該系統(tǒng)進行了數據庫設計,畫出了各個實體之間的
89、E-R圖,共設計了10個數據庫表。</p><p><b> 5 系統(tǒng)實施</b></p><p> 經過一系列的準備,對于系統(tǒng)的分析、設計已經完成。以下開始對**大學在線考試系統(tǒng)進行詳細設計,即系統(tǒng)實施。</p><p> 5.1 創(chuàng)建與數據庫的連接</p><p> 本系統(tǒng)采用JDBC連接方式與Oracle建
90、立連接,其步驟是首先加載數據庫驅動并獲得與數據庫的連接,然后使用DriverManager建立連接。DriverManager類是JDBC的管理層,作用于用戶和驅動程序之間,它跟蹤可用的驅動程序,并在數據庫和相應的驅動程序之間建立連接。</p><p> 下面是本系統(tǒng)與Oracle數據庫建立連接的代碼:</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> // 構造函數中加載驅動</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、載驅動失??!");</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)建連接失?。?quot;);</p><p><b> }</b></p><p> return connection;</p><p><b> }</b></p><p> 5.2 系統(tǒng)的登錄頁面</p><p> 用戶登錄頁面主要功能是系統(tǒng)根據用戶選擇的不
97、同身份對用戶輸入的用戶名和密碼進行驗證。當用戶單擊“登錄”按鈕時,首先是javascript腳本驗證輸入格式是否正確,不符合格式會給出提示。其次是后臺驗證,如果不正確,跳轉到錯誤頁面,并提示用戶重新登錄。如果正確,則根據用戶不同身份進入相應頁面使用系統(tǒng)。如果輸入信息錯誤,可以單擊“重置”按鈕,重新輸入信息;圖5-1表示**大學在線考試系統(tǒng)登錄界面。</p><p> 圖5-1 **大學在線考試系統(tǒng)登錄頁面<
98、;/p><p> 下面是登錄過程的主要代碼:</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 學生主頁面</b></p><p> 學生在**大學在線考試系統(tǒng)登錄頁面輸入自己的用戶名和密碼并點選學生按鈕,進入學生主頁面。
112、學生主頁面默認顯示一些考試須知等信息。通過主頁面菜單可進入查詢考試科目、開始考試、查詢考試成績等各個功能頁面。</p><p> 5.3.1 考試科目查詢</p><p> 通過點擊考生主頁面上方菜單中的“在線考試”,即可菜單下方出現各科考試的時間等詳細信息。系統(tǒng)默認顯示全部考試科目信息,學生也可通過輸入關鍵字查詢考試科目。圖5-2表示學生操作頁面的考試科目查詢頁面。</p>
113、;<p> 圖5-2 考試科目查詢頁面</p><p> 5.3.2 進行考試</p><p> 考生通過點擊開始考試按鈕可以進入到相應的考試科目頁面,考試頁面顯示考生姓名和學號,考試科目,考試時長,試卷總分等信息??荚図撁媸钦麄€系統(tǒng)的精華部分,頁面信息量大。因此對此頁面的編寫耗時最長。圖5-3表示Java程序設計的試卷頁面。</p><p>
114、 圖5-3考生考試頁面</p><p> 考試頁面主要由兩部分組成,一是試題部分,位于頁面中間;二是導航部分(如圖5-3中所示)位于頁面右上方固定位置。在答題過程中如果考生某題已作答則答案區(qū)域和該題的導航數字區(qū)域將會由白色變?yōu)榛疑?;如果考生對某題目有疑問,不敢肯定答案,則可以點擊答案選項右邊的“問號”按鈕,此時該題答案區(qū)域和導航數字區(qū)域將會變?yōu)榧t色;考生可以點擊導航區(qū)域的數字定位到相應題目的位置;在導航區(qū)域下方
溫馨提示
- 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
- 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯系上傳者。文件的所有權益歸上傳用戶所有。
- 3. 本站RAR壓縮包中若帶圖紙,網頁內容里面會有圖紙預覽,若沒有圖紙預覽就沒有圖紙。
- 4. 未經權益所有人同意不得將文件中的內容挪作商業(yè)或盈利用途。
- 5. 眾賞文庫僅提供信息存儲空間,僅對用戶上傳內容的表現方式做保護處理,對用戶上傳分享的文檔內容本身不做任何修改或編輯,并不能對任何下載內容負責。
- 6. 下載文件中如有侵權或不適當內容,請與我們聯系,我們立即糾正。
- 7. 本站不保證下載資源的準確性、安全性和完整性, 同時也不承擔用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。
最新文檔
- 在線考試系統(tǒng)畢業(yè)論文
- 在線考試系統(tǒng)畢業(yè)論文
- 在線考試系統(tǒng)畢業(yè)論文
- 在線考試系統(tǒng)畢業(yè)論文
- 在線考試系統(tǒng)畢業(yè)論文
- 在線考試系統(tǒng)畢業(yè)論文
- 在線考試系統(tǒng)畢業(yè)論文
- 在線考試系統(tǒng)畢業(yè)論文
- 畢業(yè)論文——在線考試系統(tǒng)
- 畢業(yè)論文——在線考試系統(tǒng).
- 在線考試系統(tǒng)畢業(yè)論文 (4)
- 網絡在線考試系統(tǒng)畢業(yè)論文
- 在線考試系統(tǒng)畢業(yè)論文 (2)
- 在線考試系統(tǒng)畢業(yè)論文 (2)
- 在線考試系統(tǒng)畢業(yè)論文 (2)
- 在線考試系統(tǒng)畢業(yè)論文 (2)
- 在線考試系統(tǒng)畢業(yè)論文 (3)
- 畢業(yè)論文---在線考試系統(tǒng)的開發(fā)
- 通用在線考試系統(tǒng)畢業(yè)論文
- 畢業(yè)論文---在線考試系統(tǒng)的開發(fā)
評論
0/150
提交評論