基于JAVA 的網(wǎng)絡(luò)在線考試的體系結(jié)構(gòu)和具體設(shè)計(jì)
《基于JAVA 的網(wǎng)絡(luò)在線考試的體系結(jié)構(gòu)和具體設(shè)計(jì)》由會(huì)員分享,可在線閱讀,更多相關(guān)《基于JAVA 的網(wǎng)絡(luò)在線考試的體系結(jié)構(gòu)和具體設(shè)計(jì)(58頁珍藏版)》請(qǐng)?jiān)谘b配圖網(wǎng)上搜索。
1、重慶郵電大學(xué)本科畢業(yè)設(shè)計(jì)(論文) 摘 要 本文闡述了一個(gè)基于 WEB 的網(wǎng)絡(luò)在線考試的體系結(jié)構(gòu)和具體設(shè)計(jì)以及實(shí)現(xiàn)過程。系統(tǒng)采用的三層體系結(jié)構(gòu):表示層、業(yè)務(wù)層、數(shù)據(jù)庫操作層開發(fā),即前端由JSP 網(wǎng)頁實(shí)現(xiàn)表現(xiàn)邏輯,中間使用 Java Bean 的組件實(shí)現(xiàn)系統(tǒng)內(nèi)部復(fù)雜的業(yè)務(wù)邏輯,后端使用 SQL Server 2000 數(shù)據(jù)庫實(shí)現(xiàn)數(shù)據(jù)邏輯。 系統(tǒng)提出了網(wǎng)絡(luò)在線考試系統(tǒng)的解決方案,實(shí)現(xiàn)了題目分類的特殊原則:考試題目,試題類型,分?jǐn)?shù)定制等。系統(tǒng)可以完成試題的隨機(jī)抽取,試卷的自動(dòng)生成。試卷的發(fā)布等由后臺(tái)控制中心來完成,考試結(jié)束時(shí)系統(tǒng)可以根據(jù)考生的答題情況給出分?jǐn)?shù)。系統(tǒng)采用 B/S 模式設(shè)計(jì),符
2、合目前的網(wǎng)絡(luò)趨勢(shì),具有可操作性。系統(tǒng)在 Windows XP 平臺(tái)下開發(fā)成功。 【關(guān)鍵字】題庫管理 在線考試 JSP SQL Server 2000 ABSTRACT This article has explained a system structure based on exam administrative system of WEB and designs’s and realizes’s process. Three layers of system structure that the system adopts:JSP-JavaBean-SQL Serve
3、r 2000 develops, and with namelying bow is realized the show logic by JSPs page, and the vocational work logic complicated inside the package realization system of Java Bean is used in the centre, and SQL Servers 2000 data bases realizations data logics are used to the back end. The System puts for
4、ward the complete settlement scheme of online examination system of cross-domain communication, and realized the classified special principle of title: the fraction etc is had something made to order by proposition person oneself degree of difficulty examination questions type examination title. The
5、 system can accomplish having something made to order of examination paper, the voluntarily formation of examination paper, and can look at in advance to the examination paper, and revise. The examination paper issues when accomplishing by the control center. Supervises center control at candidate f
6、or an entrance examinations examination course by the examination, also can be to candidate for an entrance examination the examination state is prohibited or is permitted controls, the examination end is given a mark, and the system can be according to the answer circumstances of candidate for an e
7、ntrance examination to a fraction. The system adopts B / Ss model design, and can add up the functions such as analysis etc to the frequency that the examination questions were drawn. The system developed successfully under the terrace of Windows XP. 【Key words】Question Management Exam On-line
8、JSP SQL Server 2000 目 錄 摘 要 I ABSTRACT II 目 錄 III 前 言 1 第一章 系統(tǒng)概述 3 第一節(jié) 課題背景與意義 3 一、課題開發(fā)背景 3 二、課題開發(fā)意義 3 第二節(jié) 課題開發(fā)工具與環(huán)境 4 一、JAVA和JSP技術(shù)簡(jiǎn)介 4 二、SQL Server 2000 服務(wù)器SQL Server概述 5 三、Tomcat 6.0服務(wù)器架構(gòu) 6 四、總體開發(fā) 7 第二章 系統(tǒng)分析 8 第一節(jié) 系統(tǒng)概述 8 一、系統(tǒng)分析原則與方針 8 二、系統(tǒng)需求 8 第二節(jié) 系統(tǒng)功能分析 9 一、 可行
9、性分析: 9 二、 具體功能分析: 9 第三節(jié) 本章小結(jié) 10 第三章 系統(tǒng)設(shè)計(jì) 11 第一節(jié) 數(shù)據(jù)庫設(shè)計(jì) 11 一、數(shù)據(jù)庫總體設(shè)計(jì) 11 二、數(shù)據(jù)庫概念設(shè)計(jì) 11 三、數(shù)據(jù)庫邏輯設(shè)計(jì) 13 第二節(jié) 系統(tǒng)總體設(shè)計(jì) 17 一、總體設(shè)計(jì) 17 二、系統(tǒng)邏輯處理 18 三、總體流程圖 19 第三節(jié) 功能設(shè)計(jì) 21 一、 系統(tǒng)登錄 21 二、 考生注冊(cè) 22 三、 在線考試模塊 22 四、 后臺(tái)管理模塊 24 第四節(jié) 本章小結(jié) 25 第四章 系統(tǒng)實(shí)現(xiàn)與調(diào)試 26 第一節(jié) 系統(tǒng)實(shí)現(xiàn)概論 26 一、 結(jié)構(gòu)化程序編碼原則 26 二、 系統(tǒng)主界面 26 三、
10、 系統(tǒng)功能菜單 27 第二節(jié) 系統(tǒng)功能實(shí)現(xiàn) 27 一、 文件結(jié)構(gòu)圖 27 二、 文件詳細(xì)結(jié)構(gòu)圖 28 三、 系統(tǒng)具體文件 28 第三節(jié) 關(guān)鍵技術(shù)實(shí)現(xiàn) 31 一、web.xml 31 二、 數(shù)據(jù)庫db_netExam連接部分 31 第四節(jié) 調(diào)試過程中的常見錯(cuò)誤 32 一、JDK配置錯(cuò)誤 32 二、SQL空指針異常 33 三、數(shù)據(jù)庫連接錯(cuò)誤 33 第五節(jié) 本章小結(jié) 34 第五章 系統(tǒng)測(cè)試及結(jié)果分析 35 第一節(jié) 系統(tǒng)測(cè)試綜述 35 一、系統(tǒng)測(cè)試綜述 35 二、具體功能模塊測(cè)試 35 第二節(jié) 本章小結(jié) 39 第六章 結(jié)束語 40 致 謝 41 參考文獻(xiàn) 4
11、2 附 錄 43 一、英文原文: 43 二、英文翻譯: 49 41 前 言 近幾年來,隨著Internet的崛起,遠(yuǎn)程教育開始發(fā)展,普及網(wǎng)絡(luò)教育的呼聲日益高漲,其勢(shì)頭不亞于電子商務(wù)。聯(lián)合國(guó)教科文組織1998年在其一項(xiàng)調(diào)查報(bào)告中指出:無論是發(fā)達(dá)國(guó)家還是發(fā)展中國(guó)家,都不同程度存在教育滯后于現(xiàn)實(shí)需要的問題,特別是第三世界國(guó)家。而普及遠(yuǎn)程教育,尤其是網(wǎng)絡(luò)教育,不僅是解決這一問題的有效途徑,而且將成為革新傳統(tǒng)教育模式的重要?jiǎng)恿?。中?guó)的網(wǎng)絡(luò)教育也隨Internet的發(fā)展而同步增長(zhǎng),同時(shí),網(wǎng)絡(luò)教育也為中國(guó)的教育事業(yè)開辟了新的天地,其中很重要的一個(gè)環(huán)節(jié)就是在線考試系統(tǒng),同時(shí)它也是最難實(shí)
12、現(xiàn)的環(huán)節(jié)。在我國(guó),雖然遠(yuǎn)程教育已經(jīng)蓬勃地發(fā)展起來,但是目前學(xué)校與社會(huì)上的各種考試大都采用傳統(tǒng)的考試方式,在此方式下,組織一次考試至少要經(jīng)過五個(gè)步驟,即人工出題、考生考試、人工閱卷、成績(jī)?cè)u(píng)估和試卷分析。顯然,隨著考試類型的不斷增加及考試要求的不斷提高,教師的工作量將會(huì)越來越大,并且其工作將是一件十分煩瑣和非常容易出錯(cuò)的事情,可以說傳統(tǒng)的考試方式已經(jīng)不能適應(yīng)現(xiàn)代考試的需要。隨著計(jì)算機(jī)應(yīng)用的迅猛發(fā)展,網(wǎng)絡(luò)應(yīng)用不斷擴(kuò)大,如遠(yuǎn)程教育和虛擬大學(xué)的出現(xiàn)等等,且這些應(yīng)用正逐步深入到千家萬戶。人們迫切要求利用這些技術(shù)來進(jìn)行在線考試,以減輕教師的工作負(fù)擔(dān)及提高工作效率,與此同時(shí)也提高了考試的質(zhì)量,從而使考試更趨于
13、公證、客觀,更加激發(fā)學(xué)生的學(xué)習(xí)興趣。例如目前許多國(guó)際著名的計(jì)算機(jī)公司所舉辦的各種認(rèn)證考試絕大部分采用這種方式。伴隨著遠(yuǎn)程教育的蓬勃發(fā)展,作為教學(xué)當(dāng)中不可分割的一部分的在線考試系統(tǒng)也得到了當(dāng)今遠(yuǎn)程教育研究者的關(guān)注,考試是考察學(xué)生對(duì)所學(xué)習(xí)知識(shí)的接受和理解程度的重要手段,無紙化的考卷,考試的隨時(shí)性,隨地性,這些特點(diǎn)都是研究并開發(fā)網(wǎng)絡(luò)考試系統(tǒng)主要的原因,網(wǎng)絡(luò)考試系統(tǒng)遠(yuǎn)遠(yuǎn)超越了傳統(tǒng)考試固定時(shí)間,固定地點(diǎn)的考試模式的限制,將給學(xué)生和老師帶來極大的便利。隨著Internet的相關(guān)技術(shù)的發(fā)展,特別是Web技術(shù)的出現(xiàn),人們開始致力于研究和開發(fā)基于Internet考試系統(tǒng),這也大大推動(dòng)了遠(yuǎn)程教育的發(fā)展。 術(shù)語列
14、表: JSP:(Java Server Pages),JSP是一種基于Java的技術(shù),用來產(chǎn)生跨平臺(tái)和跨Web服務(wù)器的動(dòng)態(tài)頁面。 JDBC:(Java Database Connectivity),Java數(shù)據(jù)庫連接。它主要是一套讓你訪問數(shù)據(jù)庫的API,程序人員可以利用JDBC API來執(zhí)行SQL語句。 Servlet: Servlet可以稱之為“服務(wù)器小程序”,與Java application不同,它沒有main方法,而是用一些特定的方法用于啟動(dòng)、執(zhí)行和退出。通過使用Servlet,可以與運(yùn)行與客戶端的Applet進(jìn)行交互,也可以直接與HTML頁進(jìn)行交互。 JavaBeans: J
15、avaBeans是可復(fù)用的平臺(tái)中立的軟件組件,可以在軟件開發(fā)工具中被直觀地操作。應(yīng)用程序開發(fā)者可以通過支持JavaBeans的開發(fā)工具,直接使用現(xiàn)成的JavaBeans,也可以在開發(fā)工具容器中,對(duì)組件進(jìn)行必要的修改、測(cè)試而不必編寫和編譯程序。在Java模型中,組件可以修改或與其他組件組合以生成新組件或完整的應(yīng)用程序。 HTML:(Hypertext Markup Language)超文本標(biāo)記語言,它是組織多媒體文檔的重要語言,它不僅用來編寫Web網(wǎng)頁,而且可以使用它來制作光盤上的多媒體節(jié)目。HTML可用來編排文檔、創(chuàng)建列表、建立鏈接等等。 XML:(extensible Markup La
16、nguage)可擴(kuò)展標(biāo)記語言,它是一種具有數(shù)據(jù)描述功能(Meta-language)、高度結(jié)構(gòu)性及可驗(yàn)證性的語言。 SQL:(Structured Query Language),結(jié)構(gòu)化查詢語言。SQL語言地任務(wù)就是與各種數(shù)據(jù)庫建立關(guān)系,SQL語言是關(guān)系型數(shù)據(jù)庫的標(biāo)準(zhǔn)語言,大多數(shù)關(guān)系型數(shù)據(jù)庫管理系統(tǒng)都支持SQL語言并采用了SQL的語言標(biāo)準(zhǔn)。 MySQL:MySQL是一個(gè)可用于各種流行操作系統(tǒng)平臺(tái)的關(guān)系數(shù)據(jù)庫系統(tǒng),它具有客戶機(jī)/服務(wù)器體系結(jié)構(gòu)的分布式數(shù)據(jù)庫管理系統(tǒng)。按照使用又可以分為DML(Data Manipulation Language),即數(shù)據(jù)操作語言和DDL(Data Defini
17、tion Language)。 第一章 系統(tǒng)概述 第一節(jié) 課題背景與意義 一、課題開發(fā)背景 傳統(tǒng)的考試從出題、組卷、印刷,到試卷分發(fā)、答題、收卷,再到判卷、公布成績(jī),整個(gè)過程都需要人工參與,周期長(zhǎng),工作量大,容易出錯(cuò),還要有適當(dāng)?shù)谋C芄ぷ?,使得整個(gè)考試的成本較大。所以,實(shí)現(xiàn)無紙化、網(wǎng)絡(luò)化、自動(dòng)化的計(jì)算機(jī)考試系統(tǒng),具有深遠(yuǎn)的現(xiàn)實(shí)意義和實(shí)用價(jià)值。 網(wǎng)絡(luò)考試系統(tǒng)是傳統(tǒng)考場(chǎng)的延伸,它可以利用網(wǎng)絡(luò)的無限廣闊空間,隨時(shí)隨地的對(duì)學(xué)生進(jìn)行考試,加上數(shù)據(jù)庫技術(shù)的利用,大大簡(jiǎn)化了傳統(tǒng)考試的過程。因此網(wǎng)絡(luò)考試系統(tǒng)是電子化教學(xué)不可缺少的一個(gè)重要環(huán)節(jié)。 網(wǎng)絡(luò)考試系統(tǒng)的實(shí)現(xiàn)技術(shù)有多種,可以采
18、用傳統(tǒng)的客戶機(jī)/服務(wù)器型的 MIS 型架構(gòu),Web 技術(shù)超越了傳統(tǒng)的"客戶機(jī)/服務(wù)器"兩層結(jié)構(gòu),采用了三層體系結(jié)構(gòu):用戶界面層/事務(wù)層/數(shù)據(jù)庫層,因此 Web 結(jié)構(gòu)有著更好的安全性,在用戶機(jī)上不需要安裝任何應(yīng)用程序,應(yīng)用程序可以安裝在事務(wù)層所在的計(jì)算機(jī)上,試題存放在數(shù)據(jù)庫服務(wù)器上,當(dāng)然,事務(wù)層和數(shù)據(jù)庫可以是同一臺(tái)機(jī)器(如果條件允許,還是應(yīng)該把這兩層分開在不同的計(jì)算機(jī)上),所以,本文所討論的考試系統(tǒng)采用Web技術(shù)實(shí)現(xiàn)。 二、課題開發(fā)意義 用Browser/Web模式來設(shè)計(jì)考試系統(tǒng)比較合適,服務(wù)器端我們采用SQL SERVER數(shù)據(jù)庫系統(tǒng)和JSP組件來構(gòu)成考試的應(yīng)用服務(wù)系統(tǒng);客戶端采用瀏覽器
19、來完成考試全過程,同時(shí)可進(jìn)行遠(yuǎn)程系統(tǒng)維護(hù)和管理。利用網(wǎng)絡(luò)和數(shù)據(jù)庫技術(shù),結(jié)合目前硬件價(jià)格普遍下跌與寬帶網(wǎng)大力建設(shè)的有利優(yōu)勢(shì),應(yīng)用JAVA Server Page 技術(shù),開發(fā)了基于B/S模式多用戶在線考試系統(tǒng)這一程序。它運(yùn)用方便、操作簡(jiǎn)單,效率很高(同時(shí),它要求計(jì)算機(jī)配置也很高,尤其是服務(wù)器端).基于Web技術(shù)的網(wǎng)絡(luò)考試系統(tǒng)可以借助于遍布全球的因特網(wǎng)進(jìn)行,因此考試既可以在本地進(jìn)行,也可以在異地進(jìn)行,大大拓展了考試的靈活性。試卷可以根據(jù)題庫中的內(nèi)容即時(shí)生成,可避免考試前的壓題;而且采用大量標(biāo)準(zhǔn)化試題,從而使用計(jì)算機(jī)判卷,大大提高閱卷效率;還可以直接把成績(jī)送到數(shù)據(jù)庫中,進(jìn)行統(tǒng)計(jì)、排序等操作??忌ㄟ^姓
20、名、準(zhǔn)考證號(hào)碼和口令進(jìn)行登錄,考試答案也存放在服務(wù)器中,這樣考試的公平性、答案的安全性可以得到有效的保證。因此,采用網(wǎng)絡(luò)考試方式將是以后考試發(fā)展的趨勢(shì)。 第二節(jié) 課題開發(fā)工具與環(huán)境 一、JAVA和JSP技術(shù)簡(jiǎn)介 1、將內(nèi)容的生成和顯示進(jìn)行分離 用JSP技術(shù),Web頁面開發(fā)人員可以使用HTML或者XML標(biāo)識(shí)來設(shè)計(jì)和格式化最終頁面,并使用JSP標(biāo)識(shí)或者小腳本來生成頁面上的動(dòng)態(tài)內(nèi)容(內(nèi)容是根據(jù)請(qǐng)求變化的,例如請(qǐng)求賬戶信息或者特定的一瓶酒的價(jià)格等)。生成內(nèi)容的邏輯被封裝在標(biāo)識(shí)和JavaBeans組件中,并且捆綁在腳本中,所有的腳本在服務(wù)器端運(yùn)行。由于核心邏輯被封裝在標(biāo)識(shí)和Java
21、Beans 中,所以 Web 管理人員和頁面設(shè)計(jì)者,能夠編輯和使用 JSP 頁面,而不影響內(nèi)容的生成。在服務(wù)器 端,JSP引擎解釋JSP標(biāo)識(shí)和腳本,生成所請(qǐng)求的內(nèi)容(例如,通過訪問JavaBeans 組件,使用JDBC技術(shù)訪問數(shù)據(jù)庫或者包含文件),并且將結(jié)果以HTML(或者XML)頁面的形式發(fā)送回瀏覽器。這既有助于作者保護(hù)自己的代碼,又能保證任何基于HTML的Web瀏覽器的完全可用性。 2、可重用組件 大多數(shù) JSP 頁面依賴于可重用的、跨平臺(tái)的組件(JavaBeans)來執(zhí)行應(yīng)用程序所要求的復(fù)雜的處理。開發(fā)人員能夠共享和交換執(zhí)行普通操作的組件,或者使得這些組件為更多的使用者和客戶團(tuán)體所使
22、用?;诮M件的方法加速了總體開發(fā)過程,并且使得各種組織在他們現(xiàn)有的技能和優(yōu)化結(jié)果的開發(fā)努力中得到平衡。 3、采用標(biāo)識(shí) Web頁面開發(fā)人員不會(huì)都是熟悉腳本語言的編程人員。JSP技術(shù)封裝了許多功能,這些功能是在易用的、與JSP相關(guān)的 XML 標(biāo)識(shí)中進(jìn)行動(dòng)態(tài)內(nèi)容生成所需要的。標(biāo)準(zhǔn)的 JSP 標(biāo)識(shí)能夠訪問和實(shí)例化JavaBeans 組件,設(shè)置或者檢索組件屬性,下載Applet,以及執(zhí)行用其他方法更難于編碼和耗時(shí)的功能。 4、適應(yīng)平臺(tái) 幾乎所有平臺(tái)都支持 Java,JSP+JavaBeans 幾乎可以在所有平臺(tái)下通行無阻。從一個(gè)平臺(tái)移植到另外一個(gè)平臺(tái),JSP 和 JavaBeans 甚至不用重新
23、編譯,因?yàn)镴ava 字節(jié)碼都是標(biāo)準(zhǔn)的與平臺(tái)無關(guān)的。 5、數(shù)據(jù)庫連接 Java 中連接數(shù)據(jù)庫的技術(shù)是 JDBC,Java 程序通過 JDBC 驅(qū)動(dòng)程序與數(shù)據(jù)庫相連,執(zhí)行查詢、提取數(shù)據(jù)等操作。Sun 公司還開發(fā)了 JDBC-ODBC bridge,利用此技術(shù) Java 程序可以訪問帶有 ODBC 驅(qū)動(dòng)程序的數(shù)據(jù)庫,目前大多數(shù)數(shù)據(jù)庫系統(tǒng)都帶有 ODBC 驅(qū)動(dòng)程序,所以Java 程序能訪問諸如 Oracle、Sybase、MS SQL Server 和 MS Access 等數(shù)據(jù)庫。 二、SQL Server 2000 服務(wù)器SQL Server概述 SQL Server 是美國(guó)Mic
24、rosoft公司開發(fā)的一個(gè)關(guān)系型數(shù)據(jù)庫管理系統(tǒng),是目前世界上最著名的關(guān)系數(shù)據(jù)庫管理系統(tǒng)之一。它在性能和可擴(kuò)展方面確立了世界領(lǐng)先的地位,是一套完全的數(shù)據(jù)庫和數(shù)據(jù)分析解決方案,使用戶可以快速創(chuàng)建下一代的可擴(kuò)展電子商務(wù)和數(shù)據(jù)倉(cāng)庫解決方案。Microsoft SQL Server 2000 在數(shù)據(jù)庫服務(wù)器自動(dòng)調(diào)整和自動(dòng)管理技術(shù)方面在數(shù)據(jù)庫領(lǐng)域中處于領(lǐng)先地位,使客戶可以集中精力處理商業(yè)戰(zhàn)略上的問題,而不是去細(xì)微調(diào)整數(shù)據(jù)庫服務(wù)器的各項(xiàng)參數(shù)。SQL Server 的主要功能: ①數(shù)據(jù)庫管理功能 作為數(shù)據(jù)庫管理系統(tǒng),SQL Server 自然應(yīng)該具有數(shù)據(jù)庫管理功能。它的數(shù)據(jù)庫由包含數(shù)據(jù)的表集合和其他對(duì)象(
25、如視圖、索引、存儲(chǔ)過程和觸發(fā)器)組成,目的是為執(zhí)行與數(shù)據(jù)有關(guān)的活動(dòng)提供支持。存儲(chǔ)在數(shù)據(jù)庫中的數(shù)據(jù)通常與特定的主題或過程相關(guān)。 ②數(shù)據(jù)倉(cāng)庫功能 SQL Server 2000提供了一套全新的綜合分析服務(wù)系統(tǒng)。分析服務(wù)為商業(yè)活動(dòng)提供了集成的OLAP服務(wù)和數(shù)據(jù)挖掘功能。OLAP可以通過多維存儲(chǔ)技術(shù)對(duì)大型、復(fù)雜數(shù)據(jù)集執(zhí)行快速、高級(jí)的分析工作。數(shù)據(jù)挖掘功能能夠揭示出隱藏在大量數(shù)據(jù)中的傾向及趨勢(shì)。SQL Server針對(duì)包括集成數(shù)據(jù)挖掘、OLAP服務(wù)、安全性服務(wù)及通過Internet對(duì)多維數(shù)據(jù)集進(jìn)行訪問和鏈接分析提供新的數(shù)據(jù)倉(cāng)庫功能。 ③電子商務(wù) SQL Server 不僅提供電子商務(wù)所需的可伸縮
26、性與可擴(kuò)展性之外,還提供了豐富的數(shù)據(jù)庫編程能力,以確保系統(tǒng)的協(xié)同工作和靈活性。SQL Server2000 不僅支持集中化數(shù)據(jù)庫管理功能,而且還最大程度地實(shí)現(xiàn)了管理與優(yōu)化工作的自動(dòng)化,從而,減輕了有關(guān)管理人員的負(fù)擔(dān)。 ④完備的 Web 功能 SQL Server2000允許通過HTTP協(xié)議,在 Web上進(jìn)行高性能、基于標(biāo)準(zhǔn)的安全訪問?;赪eb的客戶端擁有訪問關(guān)系型數(shù)據(jù)存儲(chǔ)和訪問分析服務(wù)的能力。 ⑤分布式數(shù)據(jù)復(fù)制功能它可以將一個(gè)數(shù)據(jù)庫中的數(shù)據(jù)復(fù)制到通過局域網(wǎng)、廣域網(wǎng)或 Internet 網(wǎng)絡(luò)連接的不同地點(diǎn)服務(wù)器或同一服務(wù)器中的不同數(shù)據(jù)庫中,并能夠自動(dòng)保持這些數(shù)據(jù)同步,使各個(gè)數(shù)據(jù)庫中具有相
27、同的數(shù)據(jù)。 三、Tomcat 6.0服務(wù)器架構(gòu) Tomcat 6.0由Apache 組織開發(fā)的一種常用 Web 服務(wù)器,提供 Web 服務(wù)。一種 JSP 引擎,本身具有 Web 功能,可以作為獨(dú)立的 Web 服務(wù)器使用。但是,在作為 Web 服務(wù)器方面,Tomcat 處理靜態(tài) HTML 頁面時(shí)不如 Apache 迅速,也沒有Apache 健壯,一般選用 Tomcat 與 Apache 結(jié)合的方式,讓后者對(duì)網(wǎng)站的靜態(tài)頁面的請(qǐng)求提供服務(wù),而 Tomcat 作為專用的 JSP 引擎,提供 JSP 解析,得以更好的性能。 1.JDK 的安裝與配置 (1)找到 path 變量后單擊[編輯]按
28、鈕;彈出[編輯系統(tǒng)變量]對(duì)話框。在[變 量值]文本框中輸入“c:\jdk\bin”,然后單擊[確定]按鈕。同時(shí)新建 CLASSPATH 變量; (2)在[系統(tǒng)變量]選項(xiàng)組中單擊[新建]按鈕,在[變量名]文本框中輸入“CLASSPATH”, 在 [變量值]文本框中輸入“ c:\jdk\lib\tools.jar ;c:\jdk\lib\dt.jar;”然后單擊[確定]按鈕。 (3)用同樣的方法把 c:\jdk 添加到 JAVA_HOME 環(huán)境變量中; 2.TOMCAT 的安裝與配置 在這里我們?cè)O(shè)默認(rèn)安裝目錄為 c:\Tomcat 安裝完畢,更改環(huán)境變量,用同樣 的方法把 c:\Tomc
29、at 添加到 TOMCAT_HOME 環(huán)境變量中。啟動(dòng) Tomcat,在瀏覽器 的[地址]下拉列表框中輸入“http://localhost:8080/”,如果看到的是在左上 方有一只可愛的小貓,則表示 Tomcat 安裝成功。 四、總體開發(fā) 1、JAVA 三層模式架構(gòu): 界面表示層:Web 層,JSP+JavaScript+HTML(XML); 業(yè)務(wù)邏輯層:JSP(JavaBeans); 數(shù)據(jù)存儲(chǔ)層:SQL SERVER 2000。 2、開發(fā)工具采用 Eclipse,Dream weaver 2004 網(wǎng)頁編輯工具 數(shù)據(jù)庫 SQL Server2000, 服務(wù)器:Ap
30、ache Tomcat 6.0。 Java 中連接數(shù)據(jù)庫的技術(shù)是 JDBC 3、系統(tǒng)總體架構(gòu) 網(wǎng)絡(luò)在線考試系統(tǒng)采用 B/S 結(jié)構(gòu)設(shè)計(jì) 用戶系統(tǒng) 考題考試管理系統(tǒng) Tomcat6.0以上服務(wù)器 SQL Server2000 以上版本 Windows XP ,2000, 98, Linux ,Unix 等版本運(yùn)行 基于 JAVA 的強(qiáng)大網(wǎng)絡(luò)功能以及 JSP 的靈活性,易維護(hù)性 圖1.1 系統(tǒng)總體架構(gòu) 第二章 系統(tǒng)分析 第一節(jié) 系統(tǒng)概述 一、系統(tǒng)分析原則與方針 采用結(jié)構(gòu)化系統(tǒng)分析的方法,建立新系統(tǒng)的邏輯模型,此
31、模型盡量避免使用計(jì)算機(jī)術(shù)語,便于企業(yè)的計(jì)算機(jī)人員與系統(tǒng)開發(fā)人員的共同討論。本系統(tǒng)的結(jié)構(gòu)是層次化的暗盒模塊結(jié)構(gòu)。對(duì)高層模塊,將采用以事物為中心的設(shè)計(jì)策略,把一個(gè)大的復(fù)雜的系統(tǒng)逐步分解成小的相對(duì)簡(jiǎn)單的暗盒模塊,對(duì)低層模塊,采用以變換為中心的設(shè)計(jì)策略。因此,為了提高模塊的內(nèi)聚性,降低模塊的耦合程度,數(shù)據(jù)庫的設(shè)計(jì)原則是把它作為模塊間的郵政信箱,從而為實(shí)現(xiàn)數(shù)據(jù)共享由提高了模塊的獨(dú)立性,使系統(tǒng)具有很高的可修改性。 二、系統(tǒng)需求 考生登陸系統(tǒng) 在線考試 提交顯示成績(jī) 部門和管理 命題人 相關(guān)部門 生成試卷 系統(tǒng)控制 網(wǎng)絡(luò)在線考試是在網(wǎng)絡(luò)上的模擬考試應(yīng)用程序,它維護(hù)著一個(gè)數(shù)據(jù)庫,存儲(chǔ)著
32、考生,題庫,管理員信息,主要包括命題人出題,部門管理,系統(tǒng)管理,學(xué)生在線考試,自動(dòng)評(píng)分以及相關(guān)的系統(tǒng)維護(hù)功能。 題庫 圖2.1 系統(tǒng)功能流程圖 第二節(jié) 系統(tǒng)功能分析 一、 可行性分析: 1.技術(shù)可行性:本系統(tǒng)的配置(Tomcat 與 Microsoft SQL Server 2000)在這種中小規(guī)模的情況下能夠提供較快的數(shù)據(jù)訪問,技術(shù)上可行。 2.經(jīng)濟(jì)可行性:系統(tǒng)的配置,不需要昂貴的 EJB 服務(wù)器,除 Microsoft SQL Server 2000 外大部分軟件都是可以免費(fèi)獲得,開發(fā)成本低。 3.操作可行性:訪問系統(tǒng)的主要
33、有兩種:學(xué)生,管理員。目前資源的利用情況和可操作性,只需少量的對(duì)數(shù)據(jù)庫中的表的直接操作就可以實(shí)現(xiàn)系統(tǒng)的完整、穩(wěn)定的運(yùn)行,不會(huì)造成系統(tǒng)的巨大壓力。 二、 具體功能分析: 系統(tǒng)前臺(tái) 系統(tǒng)后臺(tái) 考生注冊(cè) 在線考試 退出系統(tǒng) 修改個(gè)人信息 成績(jī)查詢 考試規(guī)則 顯示考試成績(jī) 自動(dòng)閱卷 開始考試 準(zhǔn)備考試 選擇考試 課程 管理員信息 管理 考生信息管理 考生成績(jī)查詢 退出后臺(tái)管理 考試題目管理 套題信息管理 課程信息管理 圖2.2 系統(tǒng)功能結(jié)構(gòu)圖 1.系統(tǒng)前臺(tái):考生注冊(cè)、查詢成績(jī)、修改個(gè)人信息、退出系統(tǒng)。 2.系統(tǒng)后臺(tái):管理員信
34、息管理、考生信息管理、考生成績(jī)查詢、課程信息管理、套題信息管理、考試題目管理、退出后臺(tái)管理。 系統(tǒng)后臺(tái)模塊大致分析: 1 用戶管理: (1)考生管理主要完成注冊(cè),登錄系統(tǒng),查詢成績(jī),進(jìn)入考試等。 (2)管理員管理主要是完成系統(tǒng)管理員的添加,刪除,權(quán)限的修改,考試的信息的維護(hù)添加,試題的管理,學(xué)生信息的查詢等。 2 考試管理: 命題人可根據(jù)自己的權(quán)限對(duì)試題進(jìn)行定制,可以對(duì)考試科目的標(biāo)題,題的類型(本系統(tǒng)試題類型分為:?jiǎn)芜x題,多選題,判斷題,填空題),題目數(shù)量,題目的問題以及選項(xiàng)個(gè)數(shù),題目的難易程度,分?jǐn)?shù)等進(jìn)行控制,也可以根據(jù)自己的需要從現(xiàn)有題庫中隨機(jī)抽取需要的試題的類型,試題的數(shù)
35、量,難易程度,分?jǐn)?shù)等進(jìn)行控制。對(duì)已經(jīng)定制的試卷進(jìn)行預(yù)覽,并隨時(shí)修改。 第三節(jié) 本章小結(jié) 本系統(tǒng)使用 JSP 技術(shù)作為表現(xiàn)手段,服務(wù)器采用 Tomcat6.0 作為JSP引擎,系統(tǒng)業(yè)務(wù)邏輯由 Java Bean 組件完成,使用 JDBC-ODBC橋連接方式訪問數(shù)據(jù)庫。由于系統(tǒng)測(cè)試需要成熟的數(shù)據(jù)庫支持,因此系統(tǒng)采用 SQL server 2000 數(shù)據(jù)庫作為數(shù)據(jù)庫服務(wù)器。 第三章 系統(tǒng)設(shè)計(jì) 第一節(jié) 數(shù)據(jù)庫設(shè)計(jì) 一、數(shù)據(jù)庫總體設(shè)計(jì) 本系統(tǒng)采用關(guān)系型數(shù)據(jù)庫模式,因此數(shù)據(jù)庫由若干個(gè)二維表(即數(shù)據(jù)文件)構(gòu)成。本系統(tǒng)的數(shù)據(jù)文件全為數(shù)據(jù)數(shù)據(jù)。數(shù)據(jù)的保存方法有很多種,最長(zhǎng)
36、用的方式是使用DBMS(數(shù)據(jù)庫管理系統(tǒng))。 市場(chǎng)上流行的 DBMS 主要有 Oracle、SYBASE、MS SQL Server、DB2、Informix 等,而 MS SQL Server 可作為中小型數(shù)據(jù)管理系統(tǒng)的首選。根據(jù)以上分析,本系統(tǒng)后臺(tái)數(shù)據(jù)庫決定采用 MS SQL Server 為后臺(tái)數(shù)據(jù)庫。 本系統(tǒng)的數(shù)據(jù)表主要由兩個(gè)部分組成:系統(tǒng)表和功能表。 系統(tǒng)表是該系統(tǒng)中存儲(chǔ)基本數(shù)據(jù)信息表,例如:考生信息表(tb_Student)、管理員信息表(tb_manager)。 功能表是系統(tǒng)為了完成一定的功能,要求把一定的數(shù)據(jù)信息存儲(chǔ)在數(shù)據(jù)庫中,這就需要專門新建表來存儲(chǔ)相應(yīng)信息。例如:、
37、課程信息表(tb_Lesson)、試題信息表(tb_Questions)、考生成績(jī)表(tb_StuResult)、套題表(tb_TaoTi)等。 二、數(shù)據(jù)庫概念設(shè)計(jì) 根據(jù)對(duì)系統(tǒng)所做的需求分析和總體設(shè)計(jì),可以規(guī)劃出要使用的數(shù)據(jù)庫實(shí)體分別為考生信息實(shí)體、管理員信息實(shí)體、課程信息實(shí)體、套題實(shí)體、考試題目實(shí)體和考生成績(jī)實(shí)體。 1、考生信息實(shí)體: 考生信息實(shí)體包括編號(hào)、姓名、密碼、性別、注冊(cè)時(shí)間、提示問題、問題答案、專業(yè)和身份證屬性。 姓名 身份證號(hào)碼 編號(hào) 注冊(cè)時(shí)間 專業(yè) 問題答案 提示問題 性別 密碼 考生信息 圖3.1
38、考生信息實(shí)體圖 2、套題實(shí)體: 套題實(shí)體包括編號(hào)、名稱、所屬課程和添加時(shí)間等屬性。 編號(hào) 所屬課程 添加時(shí)間 套題名稱 套題 圖3.2 套題信息實(shí)體圖 3、考試題目實(shí)體: 考試題目實(shí)體包括編號(hào)、問題類型、所屬課程、所屬套題、選項(xiàng)A、選項(xiàng)B、選項(xiàng)C、選項(xiàng)D、添加時(shí)間、正確答案和備注等屬性。 編號(hào) 正確答案 備注 添加時(shí)間 選項(xiàng)D 選項(xiàng)C 選項(xiàng)B 選項(xiàng)A 所屬套題 所屬課程 問題類型 考試題目 圖3.3 考試題目實(shí)體圖 三、數(shù)據(jù)庫邏輯設(shè)計(jì) 根據(jù)概念設(shè)計(jì),可以創(chuàng)建與實(shí)體對(duì)應(yīng)的數(shù)據(jù)表和關(guān)系。本系統(tǒng)
39、共包含6張數(shù)據(jù)表: 表3.1 數(shù)據(jù)庫設(shè)計(jì)所需的表 表名 注釋 tb_Lesson 課程表 tb_manager 管理員表 tb_Questions 試題表 tb_Student 考生表 tb_StuResult 考試成績(jī)表 tb_TaoTi 套題表 各數(shù)據(jù)表的結(jié)構(gòu): 1. 名稱:管理員信息表 標(biāo)識(shí):tb_manager 數(shù)據(jù)來源:前臺(tái)頁面取得。 表3.2管理員信息表 字段名 數(shù)據(jù)類型及長(zhǎng)度 說明 備注 ID Bigint(8) 準(zhǔn)考證號(hào)碼 主鍵 Name Varchar(30) 姓名 不允許為空 PWD Varc
40、har(30) 密碼 不允許為空 圖3.4 管理員信息表 2.名稱:考生信息表 標(biāo)識(shí):tb_Student 數(shù)據(jù)來源:前臺(tái)頁面取得。 表3.3考生信息表 字段名 數(shù)據(jù)類型及長(zhǎng)度 說明 備注 ID Varchar(16) 準(zhǔn)考證號(hào) 主關(guān)鍵字 Name Varchar(20) 姓名 不允許為空 Pwd Varchar(20) 密碼 不允許為空 Sex Varchar(2) 性別 不允許為空 Jointime Datetime(8) 注冊(cè)時(shí)間 不允許為空 Question Varchar(50) 密碼提示問題
41、不允許為空 Answer Varchar(50) 密碼回答答案 不允許為空 Profession Varchar(30) 專業(yè) 允許為空 cardNo Varchar(18) 身份證號(hào)碼 不允許為空 圖3.5 考生信息表 3.考生成績(jī)表 標(biāo)識(shí):tb_StuResult 數(shù)據(jù)來源:前臺(tái)頁面取得。 表3.4考生成績(jī)表 字段名 數(shù)據(jù)類型及長(zhǎng)度 說明 備注 ID Bigint(8) 管理員賬號(hào) 主關(guān)鍵字 Stuid Varchar(16) 準(zhǔn)考證號(hào) 不允許為空 Whichlesson Varchar(60) 所屬課程 不允許
42、為空 Ressingle Varchar(4) 單選題成績(jī) 不允許為空 Resmore Datetime(4) 多選題成績(jī) 不允許為空 Restotal Varchar(4) 總成績(jī) 允許為空 Jointime Varchar(8) 注冊(cè)時(shí)間 不允許為空 圖3.6 考生成績(jī)表 4.考試科目信息表 標(biāo)識(shí):tb_Lesson 數(shù)據(jù)來源:前臺(tái)頁面取得。 表3.5考試科目信息表 字段名 數(shù)據(jù)類型及長(zhǎng)度 說明 備注 ID Bigint(8) 管理員賬號(hào) 主鍵 Name Varchar(60) 科目名稱 不允許為空 Joi
43、ntime datetime(8) 加入時(shí)間 不允許為空 圖3.7 考試科目信息表 5.套題表 標(biāo)識(shí):tb_TaoTi 數(shù)據(jù)來源:前臺(tái)頁面取得。 表3.6 套題表 字段名 數(shù)據(jù)類型及長(zhǎng)度 說明 備注 ID Bigint(8) 套題標(biāo)識(shí) 主鍵 Name Varchar(50) 套題名稱 不允許為空 LessonID Bigint(8) 課程編號(hào) 不允許為空 Jointime Datetime(8) 加入時(shí)間 不允許為空 圖3.8 考試套題表 6.試題信息表 標(biāo)識(shí):tb_Questions 數(shù)據(jù)來源:前臺(tái)頁面取
44、得。 表3.7試題信息表 字段名 數(shù)據(jù)類型及長(zhǎng)度 說明 備注 ID Bigint(8) 管理員賬號(hào) 主關(guān)鍵字 Subject Varchar(50) 所屬課程 不允許為空 Type char(6) 題目類型 不允許為空 Jointime Datetime(8) 加入時(shí)間 不允許為空 LessonID Int(4) 課程編號(hào) 不允許為空 taoTiID Bigint(8) 套題編號(hào) 不允許為空 optionA Varchar(50) 選項(xiàng)A 不允許為空 OptionB Varchar(50) 選項(xiàng)B 不允許為空 Op
45、tionC Varchar(50) 選項(xiàng)C 不允許為空 OptionD Varchar(50) 選項(xiàng)D 不允許為空 Answer Varchar(10) 答案 不允許為空 Note Varchar(50) 備注 允許為空 圖3.9試題信息表 數(shù)據(jù)表之間的關(guān)系設(shè)計(jì): 圖3.10 各數(shù)據(jù)表之間的關(guān)系 第二節(jié) 系統(tǒng)總體設(shè)計(jì) 一、總體設(shè)計(jì) 本系統(tǒng)設(shè)計(jì)遵循結(jié)構(gòu)化設(shè)計(jì)原則: 1. 模塊獨(dú)立性、適度性原則 模塊獨(dú)立的概念是模塊化、抽象、信息隱蔽和局部化概念的直接結(jié)果。模塊獨(dú)立性是通過指定具有單一功能并且和其它模塊沒有過多聯(lián)系的模塊來實(shí)現(xiàn)
46、的。模塊獨(dú)立性是由內(nèi)聚性和偶合性兩個(gè)定性指標(biāo)來度量的。內(nèi)聚性是度量一個(gè)模塊功能強(qiáng)度的一個(gè)相對(duì)指標(biāo)。偶合性是用來度量模塊之間的相互聯(lián)系的程度。模塊過大時(shí),模塊的可理解性會(huì)迅速下降。另外對(duì)過大的模塊分解時(shí),也不 應(yīng)降低模塊的獨(dú)立性。因?yàn)楫?dāng)對(duì)一個(gè)大的模塊分解時(shí),可能會(huì)增加模塊間的依賴。 2. 系統(tǒng)結(jié)構(gòu)深度、寬度、扇出、扇入適當(dāng)原則 深度表示從根模塊到最低層模塊的層數(shù);寬度表示控制的總分布;扇出數(shù)指由一模塊直接控制的其它模塊數(shù);扇入數(shù)指有多少模塊直接控制一個(gè)給定的模塊。好的系統(tǒng)結(jié)構(gòu)通常頂層扇出比較大,中間扇出比較少,底層模塊大扇入。 3. 模塊的作用范圍保持在該模塊的控制范圍內(nèi) 模塊的作用范圍
47、是指受該模塊內(nèi)一個(gè)判定影響的所有模塊的集合。模塊的控制范圍是指這個(gè)模塊本身以及所有直接或者間接從屬于它的模塊的集合。 4. 系統(tǒng)模塊的單入口,單出口原則這一準(zhǔn)則是要防止內(nèi)容耦合性。如果模塊都是從頂部入口,從底部出口的話,這樣系統(tǒng)更容易理解和維護(hù)。如可以避免病態(tài)連接(病態(tài)連接關(guān)系是指從中間進(jìn)入或者訪問一個(gè)模塊)等。 5. 模塊結(jié)果可預(yù)測(cè)原則如果一個(gè)模塊可以當(dāng)作一個(gè)黑箱,即只要輸入的數(shù)據(jù)相同就產(chǎn)生同樣的輸出,這個(gè)模塊的功能就是可以預(yù)測(cè)的。 6. 數(shù)據(jù)一致性原則 二、系統(tǒng)邏輯處理 系統(tǒng)采用三層結(jié)構(gòu),在客戶端用戶通過瀏覽器完成數(shù)據(jù)下載與模擬操作,瀏覽器端的表現(xiàn)邏輯通過 JSP 網(wǎng)頁
48、完成。而系統(tǒng)內(nèi)部復(fù)雜的業(yè)務(wù)邏輯主要通過Java Bean 的組件(Component)實(shí)現(xiàn),Java Bean 組件在 WWW 服務(wù)器上運(yùn)行,通過 JSP 返回到客戶瀏覽器。通過表現(xiàn)邏輯與業(yè)務(wù)邏輯的分離,使網(wǎng)頁內(nèi)容簡(jiǎn)潔,系統(tǒng)的可維護(hù)性和可擴(kuò)充性增強(qiáng)。在服務(wù)器端,系統(tǒng)使用 JDBC 中間件訪問數(shù)據(jù)庫,數(shù)據(jù)庫服務(wù)器定義了本系統(tǒng)所需要的事務(wù)邏輯和數(shù)據(jù)邏輯。 圖3.11 系統(tǒng)邏輯關(guān)系圖 本系統(tǒng)使用 JSP 技術(shù)作為表現(xiàn)手段,服務(wù)器采用 Tomcat 6.0 作為 JSP 引擎,系統(tǒng)業(yè)務(wù)邏輯由 Java Bean 組件完成,使用 JDBC-ODBC 橋連接方式訪問數(shù)據(jù)庫。由于系統(tǒng)測(cè)試需要成熟的數(shù)
49、據(jù)庫支持,因此系統(tǒng)采用 SQL SERVER 2000數(shù)據(jù)庫作為數(shù)據(jù)庫服務(wù)器。 三、總體流程圖 1 系統(tǒng)業(yè)務(wù)流程圖: 圖3.12 系統(tǒng)流程圖 2 庫輸出邏輯流程圖 圖3.13庫輸出邏輯流程圖 3 Java Bean 邏輯流程圖 圖3.14 Java Bean 邏輯流程圖 第三節(jié) 功能設(shè)計(jì) 題庫管理模塊包括:系統(tǒng)登錄、考生注冊(cè)、在線考試、后臺(tái)管理四個(gè)模塊。 一、 系統(tǒng)登錄 輸入: 管理員賬號(hào)或者學(xué)生的準(zhǔn)考證號(hào)和對(duì)應(yīng)的密碼。 處理: 在數(shù)據(jù)庫中查詢,查找該用戶名是否存在,如果存在則在數(shù)據(jù)庫中查找該用戶名對(duì)應(yīng)的密碼是否正確,再根據(jù)個(gè)人的權(quán)限進(jìn)入相
50、應(yīng)的業(yè)務(wù)范圍和正常的流程,同時(shí)記錄人員的 session 這樣在沒退出系統(tǒng)之前可以在自己的權(quán)限范圍內(nèi)操作,否則可能因長(zhǎng)時(shí)間沒有任何操作會(huì)被注銷,需要重新登錄系統(tǒng)如果沒有找到該用戶或密碼錯(cuò)誤則需要重新登錄,如下圖所示: 輸出: 相應(yīng)權(quán)限的頁面。 圖3.15 系統(tǒng)登錄關(guān)系圖 二、 考生注冊(cè) 考生注冊(cè)單元根據(jù)個(gè)人的實(shí)際情況注冊(cè)主要是用來考試,對(duì)考生的自然信息沒有聯(lián)系,考生注冊(cè)時(shí)學(xué)號(hào)和準(zhǔn)考證號(hào)不能夠重復(fù),一個(gè)學(xué)號(hào)只能注冊(cè)一次,應(yīng)有相應(yīng)的檢測(cè)措施避免非法注冊(cè)。 1、設(shè)計(jì)添加注冊(cè)信息的頁面 圖3.16 考生注冊(cè) 2、保存考生的注冊(cè)信息 需要編寫一個(gè)insert方法。在該方法中
51、,首先從數(shù)據(jù)表tb_student中查詢輸入的身份證是否存在,如果存在,將標(biāo)志變量設(shè)置為2;否則,先生成準(zhǔn)考證號(hào),再將輸入的信息保存到考生信息表中,并將生成的準(zhǔn)考證號(hào)賦給標(biāo)志變量,最后返回該標(biāo)志變量。 三、 在線考試模塊 1、在線考試模塊的概述 在線考試模塊的主要功能是允許考生在網(wǎng)站上針對(duì)指定的課程進(jìn)行考試。在該模塊中,考生首先需要閱讀考試規(guī)則,在同意后,才能選擇考試課程,在選擇課程后,系統(tǒng)將隨機(jī)抽取 試題,然后進(jìn)入考試頁面進(jìn)行答題,當(dāng)提交試卷時(shí)系統(tǒng)將自動(dòng)進(jìn)行評(píng)分,并給出考試成績(jī)。系統(tǒng)流程如下: 結(jié)束 開始 同意規(guī)則 準(zhǔn)備考試 選擇考試課程 隨機(jī)取題 提交試卷 顯示考試成
52、績(jī) 否 是 是 否 圖3.17 在線考試模塊的系統(tǒng)流程圖 2、在線考試模塊的技術(shù)分析 ①編寫在線考試模塊的動(dòng)態(tài)表格類 該模塊涉及的數(shù)據(jù)表是tb_Lesson、tb_Questions、tb_stuResult,通過這三個(gè)數(shù)據(jù)表可以創(chuàng)建出對(duì)應(yīng)的ActionForm類,由于這3個(gè)數(shù)據(jù)表又分別對(duì)應(yīng)于3個(gè)不同的模塊,所以這3個(gè)數(shù)據(jù)表對(duì)應(yīng)的ActionForm類,可以在各自對(duì)應(yīng)的模塊中創(chuàng)建。 ②創(chuàng)建在線考試系統(tǒng)模塊的Action實(shí)現(xiàn)類 在線考試模塊的Action實(shí)現(xiàn)類Student繼承了Action類。在該類中,首先需要在該類的構(gòu)造方法中分別實(shí)例化模塊中的StartExamDAO
53、類。Action實(shí)現(xiàn)類的主要方法是execute(),該方法會(huì)被自動(dòng)執(zhí)行,這個(gè)方法本身沒有具體的事務(wù),它是根據(jù)HttpServletRequest的getParameter()方法獲取的action參數(shù)值執(zhí)行相應(yīng)方法的。 輸入:考生的準(zhǔn)考證號(hào)。 處理:個(gè)人信息查詢,根據(jù)輸入的準(zhǔn)考證號(hào),系統(tǒng)會(huì)將這個(gè)準(zhǔn)考證號(hào)的所有考生信息全部顯示出來。個(gè)人信息情況如例子。 輸出:個(gè)人的詳細(xì)信息。 3、隨機(jī)抽取試題并生成試卷 ①隨機(jī)抽取試題 由于開始考試頁面會(huì)調(diào)用action類中的startExam()方法。在該方法中,首先獲取準(zhǔn)考證號(hào),然后調(diào)用LessonDAO類中的query()方法,并將獲取的準(zhǔn)考
54、證號(hào)作為query()方法的參數(shù),最后根據(jù)query()方法返回的List集合的大小,轉(zhuǎn)到相應(yīng)的頁面。 在實(shí)現(xiàn)隨機(jī)抽取試題并生成試卷時(shí),需要調(diào)用StartExamDAO類中的randomGetQuestion()、stratSaveResult()、queryExam()3個(gè)方法。 ②生成試卷 在實(shí)現(xiàn)生成試卷前,首先需要在試題頁面中添加一個(gè)用于收集試題信息的表單,然后設(shè)置收集試題信息的表單元素。 4、自動(dòng)閱卷并顯示考試成績(jī) 當(dāng)考生提交試卷時(shí),會(huì)調(diào)用action類中的submitTestPaper()方法,然后調(diào)用LessonDAO類中的query()方法,并將獲取的準(zhǔn)考證號(hào)作為que
55、ry()方法的參數(shù),最后根據(jù)query()方法返回的List集合的大小,轉(zhuǎn)到相應(yīng)的頁面。 在自動(dòng)閱卷并顯示考試成績(jī)時(shí),需要調(diào)用StartExamDAO類中的getRightAnswer()和saveResult()兩個(gè)方法。 考生考試成績(jī)?yōu)椋嚎偡?單項(xiàng)選擇題分?jǐn)?shù)+多項(xiàng)選擇題分?jǐn)?shù) 四、 后臺(tái)管理模塊 1、后臺(tái)管理模塊概述 后臺(tái)管理模塊主要包括查看考試題目列表、添加考試題目信息、修改考試題目信息、刪除考試題目信息4個(gè)功能??蚣苋鐖D: 查看考試題目列表 添加考試題目信息 修改考試題目信息 刪除考試題目信息 考試題目列表 圖3.18
56、 后臺(tái)管理模塊框架圖 查看考試題目列表的實(shí)現(xiàn)過程 查看考試題目列表會(huì)調(diào)用方法questionsQuery()。在該方法中,首先調(diào)用QuestionsDAO類中的query()方法查詢?nèi)靠荚囶}目,再將返回的查詢結(jié)果保存到HttpservletRequest對(duì)象的參數(shù)questionsQuery中。 添加考試題目信息的實(shí)現(xiàn)過程 添加考試題目信息使用的QuestionsDAO類的方法是insert()。在insert()方法中,首先數(shù)據(jù)表tb_Questions中查詢輸入的考試題目是否存在,如果存在,將標(biāo)志變量設(shè)置為2,否則將輸入的信息保存到考試題目信息表中,并將返回值賦給標(biāo)志變量,最后返
57、回標(biāo)志變量。 刪除考試題目信息的實(shí)現(xiàn)過程 刪除考試題目信息使用的是QuestionsDAO類的方法delete()。在該方法中,首先需要將獲取的要?jiǎng)h除記錄的ID轉(zhuǎn)換為以逗號(hào)分隔的字符串,然后再應(yīng)用SQL語句中的DELETE語句批量刪除記錄,最后返回執(zhí)行結(jié)果。 第四節(jié) 本章小結(jié) 本章主要是系統(tǒng)的設(shè)計(jì),本論文在寫的過程中在以前的分析基礎(chǔ)上又加入一些已經(jīng)實(shí)現(xiàn)的例子,更利于對(duì)系統(tǒng)的了解和感性認(rèn)識(shí),主要介紹了一些主要的模塊的基本設(shè)計(jì)情況。 數(shù)據(jù)庫的設(shè)計(jì)是 MIS(管理信息系統(tǒng))系統(tǒng)的核心部分,設(shè)計(jì)數(shù)據(jù)庫,首先要進(jìn)行需求分析,然后進(jìn)行數(shù)據(jù)庫的概念結(jié)構(gòu)設(shè)計(jì)、邏輯結(jié)構(gòu)設(shè)計(jì)、數(shù)據(jù)庫結(jié)構(gòu)實(shí)
58、現(xiàn)等步驟。本章對(duì)數(shù)據(jù)庫進(jìn)行了詳細(xì)的設(shè)計(jì),并列出了數(shù)據(jù)庫中使用的表結(jié)構(gòu),本系統(tǒng)選擇使用 MS SQL Server 作后臺(tái)數(shù)據(jù)庫。 第四章 系統(tǒng)實(shí)現(xiàn)與調(diào)試 第一節(jié) 系統(tǒng)實(shí)現(xiàn)概論 一、 結(jié)構(gòu)化程序編碼原則 1、系統(tǒng)實(shí)現(xiàn)遵循結(jié)構(gòu)化程序設(shè)計(jì)的思想,為了確保每個(gè)模塊的邏輯清晰,應(yīng)該盡量使各個(gè)模塊使用單入口,單出口和順序、選擇和循環(huán)三種基本控制結(jié)構(gòu)。另外為了增強(qiáng)系統(tǒng)的編碼效率,也采用擴(kuò)展的結(jié)構(gòu)程序設(shè)計(jì),即除了使用三種 基本的控制結(jié)構(gòu)以外,還使用多分支的選擇結(jié)構(gòu)和下部判斷循環(huán)條件的循環(huán)結(jié)構(gòu)。 2、良好的程序編寫風(fēng)格為了提高程序的可讀性和易維護(hù)性,關(guān)鍵是使程序結(jié)構(gòu)簡(jiǎn)單清晰,因此在程序編寫過程
59、中應(yīng)保持良好的程序設(shè)計(jì)風(fēng)格。主要在以下方面體現(xiàn):采用序言性和描述性兩種注釋對(duì)程序進(jìn)行解釋;變量說明盡量使其具有實(shí)際意義;程序語句構(gòu)造應(yīng)該簡(jiǎn)單直接,應(yīng)直接反映意圖,不必過于巧妙和深?yuàn)W。 二、 系統(tǒng)主界面 圖4.1 系統(tǒng)首頁 三、 系統(tǒng)功能菜單 在本系統(tǒng)中,將所有能夠共用的信息單獨(dú)做出來,然后包含到各個(gè)頁面中,其中包括左部導(dǎo)航條left.jsp,下部版權(quán)信息頁面copyright.jsp,功能部分,包含提示信息,主要有錯(cuò)誤提示信息頁面error.jsp,沒有考試科目信息、noenLesson.jsp、成功處理頁面(個(gè)別成功提示信息頁面為方便單獨(dú)制作)。 圖4.2 后臺(tái)功能菜單
60、圖 第二節(jié) 系統(tǒng)功能實(shí)現(xiàn) 一、 文件結(jié)構(gòu)圖 文件結(jié)構(gòu)的良好設(shè)計(jì),對(duì)自己的開發(fā)過程有很大的好處,在設(shè)計(jì)的最初,應(yīng)該想到自己要用的文件資源,一般來說:Tomcat 中 webapps是默認(rèn)存放應(yīng)用程序的地方,把編寫好的源代碼目錄放到該文件夾下,里面的 WEB-INF 主要存放一些需要的包(lib文件夾)和自己用到的 classes 文件,Images 是圖片文件存放位置, 這樣在自己改進(jìn)系統(tǒng)或書寫文檔以及書寫使用說明時(shí)都可以簡(jiǎn)明扼要的寫出自己的程序結(jié)構(gòu)。 二、 文件詳細(xì)結(jié)構(gòu)圖 圖4.3 文檔結(jié)構(gòu)關(guān)系圖 三、 系統(tǒng)具體文件 1、根目錄 Database用于保存數(shù)據(jù)
61、庫文件;Images用于保存系統(tǒng)中應(yīng)用的圖片文件;JS用于保存系統(tǒng)中應(yīng)用的JavaScript文件。
圖4.4 系統(tǒng)根目錄文件列表
2、Manager
manager用于保存系統(tǒng)中后臺(tái)管理涉及到的JSP文件。
圖4.5 Manager文件列表
3、Src
Src用于保存系統(tǒng)中應(yīng)用的類的源文件。
圖4.6 Src文件列表
4、WEB-INF
WEB-INF用于保存系統(tǒng)中編譯后的類文件和相應(yīng)的驅(qū)動(dòng)包。
圖4.7 WEB-INF文件列表
第三節(jié) 關(guān)鍵技術(shù)實(shí)現(xiàn)
一、web.xml
-
62、g
63、rtup>0
- 64、1433;DatabaseName=db_netExam";
private static String dbUser = "sa";
private static String dbPwd = "";
public ConnDB() { //定義構(gòu)造方法
try { //捕捉異常
//將Properties文件讀取到InputStream對(duì)象中
InputStream in = getClass().getResourceAsStream(propFileName);
prop.load(in); // 通過輸入流對(duì)象加載Properties文件 65、
dbClassName = prop.getProperty("DB_CLASS_NAME"); // 獲取數(shù)據(jù)庫驅(qū)動(dòng)
dbUrl = prop.getProperty("DB_URL", dbUrl); //獲取URL
dbUser = prop.getProperty("DB_USER", dbUser); //獲取登錄用戶
dbPwd = prop.getProperty("DB_PWD", dbPwd); //獲取密碼
第四節(jié) 調(diào)試過程中的常見錯(cuò)誤
一、JDK配置錯(cuò)誤
圖4.8 JDK配置錯(cuò)誤
解決方法:
JAVA_HOM 66、E: C:\Program Files\Java\jdk1.6.0_02
CLASSPATH: .;%JAVA_HOME%\lib;%JAVA_HOME%\lib\tools.jar
Path: %JAVA_HOME%\bin;%JAVA_HOME%\jre\bin
二、SQL空指針異常
圖4.9 空指針異常
解決方法:
由于該系統(tǒng)用ConnDB這個(gè)工具類連接數(shù)據(jù)庫,但是執(zhí)行到第58行SQL為null,所以才會(huì)拋出異常。斷點(diǎn)調(diào)試。在ConnDB類中58行設(shè)置一個(gè)斷點(diǎn),發(fā)現(xiàn)調(diào)用ManagerDao類時(shí)有值未初始化。
三、數(shù)據(jù)庫連接錯(cuò)誤
圖4.10 數(shù)據(jù)庫連接錯(cuò)誤
解決方法:
選擇的順序和數(shù)據(jù)庫順序不一致,獲得結(jié)果集中的次序不對(duì),避免的方法是 SQL 語句時(shí)就按數(shù)據(jù)庫中的順序?qū)?,取值時(shí)亦按照順序嚴(yán)格取值。
第五節(jié) 本章小結(jié)
本章主要介紹一些設(shè)計(jì)中技巧的實(shí)現(xiàn),對(duì)于一部分實(shí)現(xiàn)已經(jīng)在第三章中做出了介紹,以及系統(tǒng)實(shí)現(xiàn)后文件的結(jié)構(gòu)和布局,系統(tǒng)中關(guān)鍵技術(shù)的實(shí)現(xiàn)代碼和開發(fā)本系統(tǒng)中出現(xiàn)的一些問題調(diào)試,通過調(diào)試掌握
- 溫馨提示:
1: 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請(qǐng)下載最新的WinRAR軟件解壓。
2: 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請(qǐng)聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
3.本站RAR壓縮包中若帶圖紙,網(wǎng)頁內(nèi)容里面會(huì)有圖紙預(yù)覽,若沒有圖紙預(yù)覽就沒有圖紙。
4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
5. 裝配圖網(wǎng)僅提供信息存儲(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ì)自己和他人造成任何形式的傷害或損失。
最新文檔
- 眼內(nèi)異物的聲像圖表現(xiàn)課件
- 《望海潮》一等獎(jiǎng)?wù)n件
- 配送中心拆零分揀方法綜述
- 中篇_中國(guó)飲食文化與健康(精品)
- 工作分析與職務(wù)說明書介紹
- 三、民主管理:共創(chuàng)幸福生活
- 秋天的懷念(精品)(精品)
- 前山湘之泉米粉加工廠
- 經(jīng)濟(jì)發(fā)展新常態(tài)下的宏觀調(diào)控與穩(wěn)增長(zhǎng)上課件
- 宿新市徐公店-ppt
- 3.彈力彈簧測(cè)力計(jì) (2)(精品)
- 某公司招聘與配置培訓(xùn)
- LED發(fā)光原理與顯示屏的制造
- 體系審核及管理評(píng)審
- 人力資源管理之人員配備教材