基于JAVA 的網(wǎng)絡(luò)在線考試的體系結(jié)構(gòu)和具體設(shè)計(jì)

上傳人:仙*** 文檔編號(hào):28606035 上傳時(shí)間:2021-09-02 格式:DOC 頁(yè)數(shù):58 大?。?.18MB
收藏 版權(quán)申訴 舉報(bào) 下載
基于JAVA 的網(wǎng)絡(luò)在線考試的體系結(jié)構(gòu)和具體設(shè)計(jì)_第1頁(yè)
第1頁(yè) / 共58頁(yè)
基于JAVA 的網(wǎng)絡(luò)在線考試的體系結(jié)構(gòu)和具體設(shè)計(jì)_第2頁(yè)
第2頁(yè) / 共58頁(yè)
基于JAVA 的網(wǎng)絡(luò)在線考試的體系結(jié)構(gòu)和具體設(shè)計(jì)_第3頁(yè)
第3頁(yè) / 共58頁(yè)

下載文檔到電腦,查找使用更方便

15 積分

下載資源

還剩頁(yè)未讀,繼續(xù)閱讀

資源描述:

《基于JAVA 的網(wǎng)絡(luò)在線考試的體系結(jié)構(gòu)和具體設(shè)計(jì)》由會(huì)員分享,可在線閱讀,更多相關(guān)《基于JAVA 的網(wǎng)絡(luò)在線考試的體系結(jié)構(gòu)和具體設(shè)計(jì)(58頁(yè)珍藏版)》請(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ù)庫(kù)操作層開發(fā),即前端由JSP 網(wǎng)頁(yè)實(shí)現(xiàn)表現(xiàn)邏輯,中間使用 Java Bean 的組件實(shí)現(xiàn)系統(tǒng)內(nèi)部復(fù)雜的業(yè)務(wù)邏輯,后端使用 SQL Server 2000 數(shù)據(jù)庫(kù)實(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ì),符合目前的網(wǎng)絡(luò)趨勢(shì),

2、具有可操作性。系統(tǒng)在 Windows XP 平臺(tái)下開發(fā)成功。【關(guān)鍵字】題庫(kù)管理 在線考試 JSP SQL Server 2000ABSTRACTThis article has explained a system structure based on exam administrative system of WEB and designss and realizess process. Three layers of system structure that the system adopts:JSP-JavaBean-SQL Server 2000 develops, and with

3、 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 forward the complete settlemen

4、t 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 system can accomplish havi

5、ng 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 for an entrance examinations

6、 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 entrance examination to a fr

7、action. 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 JSP SQL Server 2000目 錄摘 要IABSTRAC

8、TII目 錄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第三節(jié) 本章小結(jié)10第三章 系統(tǒng)設(shè)計(jì)11第一節(jié) 數(shù)據(jù)庫(kù)設(shè)計(jì)11一、數(shù)據(jù)庫(kù)總體設(shè)計(jì)11二、數(shù)據(jù)庫(kù)概念設(shè)計(jì)11三、數(shù)據(jù)庫(kù)邏輯設(shè)計(jì)13第二節(jié) 系統(tǒng)總體設(shè)計(jì)17一、總體設(shè)計(jì)17二、系統(tǒng)邏輯處

9、理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三、 系統(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.xml31二、 數(shù)據(jù)庫(kù)db_netExam連接部分31第四節(jié) 調(diào)試過程中的常見錯(cuò)誤32一、JDK配置錯(cuò)誤32二、SQL空指針異常33三、數(shù)據(jù)庫(kù)連接錯(cuò)誤33第五節(jié) 本章小結(jié)34第五章系統(tǒng)測(cè)試及結(jié)果分析35第一節(jié) 系統(tǒng)

10、測(cè)試綜述35一、系統(tǒng)測(cè)試綜述35二、具體功能模塊測(cè)試35第二節(jié) 本章小結(jié)39第六章結(jié)束語(yǔ)40致 謝41參考文獻(xiàn)42附 錄43一、英文原文:43二、英文翻譯:4941前 言近幾年來,隨著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è)

11、開辟了新的天地,其中很重要的一個(gè)環(huán)節(jié)就是在線考試系統(tǒng),同時(shí)它也是最難實(shí)現(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)行在線考試,以減輕教師

12、的工作負(fù)擔(dān)及提高工作效率,與此同時(shí)也提高了考試的質(zhì)量,從而使考試更趨于公證、客觀,更加激發(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ā)

13、基于Internet考試系統(tǒng),這也大大推動(dòng)了遠(yuǎn)程教育的發(fā)展。術(shù)語(yǔ)列表:JSP:(Java Server Pages),JSP是一種基于Java的技術(shù),用來產(chǎn)生跨平臺(tái)和跨Web服務(wù)器的動(dòng)態(tài)頁(yè)面。JDBC:(Java Database Connectivity),Java數(shù)據(jù)庫(kù)連接。它主要是一套讓你訪問數(shù)據(jù)庫(kù)的API,程序人員可以利用JDBC API來執(zhí)行SQL語(yǔ)句。Servlet: Servlet可以稱之為“服務(wù)器小程序”,與Java application不同,它沒有main方法,而是用一些特定的方法用于啟動(dòng)、執(zhí)行和退出。通過使用Servlet,可以與運(yùn)行與客戶端的Applet進(jìn)行交互,也可以

14、直接與HTML頁(yè)進(jìn)行交互。JavaBeans: JavaBeans是可復(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)記語(yǔ)言,它是組織多媒體文檔的重要語(yǔ)言,它不僅用來編寫Web網(wǎng)頁(yè),而且可以使用它來制作光盤上的多媒體節(jié)目。HTML可用來編排文檔、創(chuàng)建列表、建立鏈接等等。XML:

15、(extensible Markup Language)可擴(kuò)展標(biāo)記語(yǔ)言,它是一種具有數(shù)據(jù)描述功能(Meta-language)、高度結(jié)構(gòu)性及可驗(yàn)證性的語(yǔ)言。SQL:(Structured Query Language),結(jié)構(gòu)化查詢語(yǔ)言。SQL語(yǔ)言地任務(wù)就是與各種數(shù)據(jù)庫(kù)建立關(guān)系,SQL語(yǔ)言是關(guān)系型數(shù)據(jù)庫(kù)的標(biāo)準(zhǔn)語(yǔ)言,大多數(shù)關(guān)系型數(shù)據(jù)庫(kù)管理系統(tǒng)都支持SQL語(yǔ)言并采用了SQL的語(yǔ)言標(biāo)準(zhǔn)。MySQL:MySQL是一個(gè)可用于各種流行操作系統(tǒng)平臺(tái)的關(guān)系數(shù)據(jù)庫(kù)系統(tǒng),它具有客戶機(jī)/服務(wù)器體系結(jié)構(gòu)的分布式數(shù)據(jù)庫(kù)管理系統(tǒng)。按照使用又可以分為DML(Data Manipulation Language),即數(shù)據(jù)操作語(yǔ)

16、言和DDL(Data Definition 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ù)庫(kù)技術(shù)的利用,大大簡(jiǎn)化了傳統(tǒng)考試的過程。因此網(wǎng)絡(luò)考試系統(tǒng)是電子化教學(xué)不可缺少的一個(gè)重要環(huán)節(jié)。網(wǎng)絡(luò)考試系統(tǒng)的實(shí)現(xiàn)技術(shù)有多種,可以采用傳統(tǒng)的

17、客戶機(jī)/服務(wù)器型的 MIS 型架構(gòu),Web 技術(shù)超越了傳統(tǒng)的客戶機(jī)/服務(wù)器兩層結(jié)構(gòu),采用了三層體系結(jié)構(gòu):用戶界面層/事務(wù)層/數(shù)據(jù)庫(kù)層,因此 Web 結(jié)構(gòu)有著更好的安全性,在用戶機(jī)上不需要安裝任何應(yīng)用程序,應(yīng)用程序可以安裝在事務(wù)層所在的計(jì)算機(jī)上,試題存放在數(shù)據(jù)庫(kù)服務(wù)器上,當(dāng)然,事務(wù)層和數(shù)據(jù)庫(kù)可以是同一臺(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ù)庫(kù)系統(tǒng)和JSP組件來構(gòu)成考試的應(yīng)用服務(wù)系統(tǒng);客戶端采用瀏覽器來完成考試全過程,同時(shí)可

18、進(jìn)行遠(yuǎn)程系統(tǒng)維護(hù)和管理。利用網(wǎng)絡(luò)和數(shù)據(jù)庫(kù)技術(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ù)題庫(kù)中的內(nèi)容即時(shí)生成,可避免考試前的壓題;而且采用大量標(biāo)準(zhǔn)化試題,從而使用計(jì)算機(jī)判卷,大大提高閱卷效率;還可以直接把成績(jī)送到數(shù)據(jù)庫(kù)中,進(jìn)行統(tǒng)計(jì)、排序等操作。考生通過姓名、準(zhǔn)考證號(hào)碼和口令進(jìn)行

19、登錄,考試答案也存放在服務(wù)器中,這樣考試的公平性、答案的安全性可以得到有效的保證。因此,采用網(wǎng)絡(luò)考試方式將是以后考試發(fā)展的趨勢(shì)。第二節(jié) 課題開發(fā)工具與環(huán)境一、JAVA和JSP技術(shù)簡(jiǎn)介1、將內(nèi)容的生成和顯示進(jìn)行分離用JSP技術(shù),Web頁(yè)面開發(fā)人員可以使用HTML或者XML標(biāo)識(shí)來設(shè)計(jì)和格式化最終頁(yè)面,并使用JSP標(biāo)識(shí)或者小腳本來生成頁(yè)面上的動(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í)和JavaBeans 中,所以 Web 管理人員和頁(yè)面設(shè)計(jì)者,能

20、夠編輯和使用 JSP 頁(yè)面,而不影響內(nèi)容的生成。在服務(wù)器 端,JSP引擎解釋JSP標(biāo)識(shí)和腳本,生成所請(qǐng)求的內(nèi)容(例如,通過訪問JavaBeans 組件,使用JDBC技術(shù)訪問數(shù)據(jù)庫(kù)或者包含文件),并且將結(jié)果以HTML(或者XML)頁(yè)面的形式發(fā)送回瀏覽器。這既有助于作者保護(hù)自己的代碼,又能保證任何基于HTML的Web瀏覽器的完全可用性。2、可重用組件大多數(shù) JSP 頁(yè)面依賴于可重用的、跨平臺(tái)的組件(JavaBeans)來執(zhí)行應(yīng)用程序所要求的復(fù)雜的處理。開發(fā)人員能夠共享和交換執(zhí)行普通操作的組件,或者使得這些組件為更多的使用者和客戶團(tuán)體所使用?;诮M件的方法加速了總體開發(fā)過程,并且使得各種組織在他們現(xiàn)

21、有的技能和優(yōu)化結(jié)果的開發(fā)努力中得到平衡。3、采用標(biāo)識(shí)Web頁(yè)面開發(fā)人員不會(huì)都是熟悉腳本語(yǔ)言的編程人員。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,JSPJavaBeans 幾乎可以在所有平臺(tái)下通行無阻。從一個(gè)平臺(tái)移植到另外一個(gè)平臺(tái),JSP 和 JavaBeans 甚至不用重新編譯,因?yàn)镴ava 字節(jié)碼都是標(biāo)準(zhǔn)的與平臺(tái)無關(guān)的。5、數(shù)據(jù)庫(kù)連接Java 中連接

22、數(shù)據(jù)庫(kù)的技術(shù)是 JDBC,Java 程序通過 JDBC 驅(qū)動(dòng)程序與數(shù)據(jù)庫(kù)相連,執(zhí)行查詢、提取數(shù)據(jù)等操作。Sun 公司還開發(fā)了 JDBCODBC bridge,利用此技術(shù) Java 程序可以訪問帶有 ODBC 驅(qū)動(dòng)程序的數(shù)據(jù)庫(kù),目前大多數(shù)數(shù)據(jù)庫(kù)系統(tǒng)都帶有 ODBC 驅(qū)動(dòng)程序,所以Java 程序能訪問諸如 Oracle、Sybase、MS SQL Server 和 MS Access 等數(shù)據(jù)庫(kù)。二、SQL Server 2000 服務(wù)器SQL Server概述SQL Server 是美國(guó)Microsoft公司開發(fā)的一個(gè)關(guān)系型數(shù)據(jù)庫(kù)管理系統(tǒng),是目前世界上最著名的關(guān)系數(shù)據(jù)庫(kù)管理系統(tǒng)之一。它在性能和可擴(kuò)

23、展方面確立了世界領(lǐng)先的地位,是一套完全的數(shù)據(jù)庫(kù)和數(shù)據(jù)分析解決方案,使用戶可以快速創(chuàng)建下一代的可擴(kuò)展電子商務(wù)和數(shù)據(jù)倉(cāng)庫(kù)解決方案。Microsoft SQL Server 2000 在數(shù)據(jù)庫(kù)服務(wù)器自動(dòng)調(diào)整和自動(dòng)管理技術(shù)方面在數(shù)據(jù)庫(kù)領(lǐng)域中處于領(lǐng)先地位,使客戶可以集中精力處理商業(yè)戰(zhàn)略上的問題,而不是去細(xì)微調(diào)整數(shù)據(jù)庫(kù)服務(wù)器的各項(xiàng)參數(shù)。SQL Server 的主要功能:數(shù)據(jù)庫(kù)管理功能作為數(shù)據(jù)庫(kù)管理系統(tǒng),SQL Server 自然應(yīng)該具有數(shù)據(jù)庫(kù)管理功能。它的數(shù)據(jù)庫(kù)由包含數(shù)據(jù)的表集合和其他對(duì)象(如視圖、索引、存儲(chǔ)過程和觸發(fā)器)組成,目的是為執(zhí)行與數(shù)據(jù)有關(guān)的活動(dòng)提供支持。存儲(chǔ)在數(shù)據(jù)庫(kù)中的數(shù)據(jù)通常與特定的主題或過

24、程相關(guān)。數(shù)據(jù)倉(cāng)庫(kù)功能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)庫(kù)功能。電子商務(wù)SQL Server 不僅提供電子商務(wù)所需的可伸縮性與可擴(kuò)展性之外,還提供了豐富的數(shù)據(jù)庫(kù)編程能力,以確保系統(tǒng)的協(xié)同工作和靈活性。SQL Server2000 不僅支持集中化數(shù)據(jù)庫(kù)管理功能

25、,而且還最大程度地實(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ù)庫(kù)中的數(shù)據(jù)復(fù)制到通過局域網(wǎng)、廣域網(wǎng)或 Internet 網(wǎng)絡(luò)連接的不同地點(diǎn)服務(wù)器或同一服務(wù)器中的不同數(shù)據(jù)庫(kù)中,并能夠自動(dòng)保持這些數(shù)據(jù)同步,使各個(gè)數(shù)據(jù)庫(kù)中具有相同的數(shù)據(jù)。三、Tomcat 6.0服務(wù)器架構(gòu)Tomcat 6.0由Apache 組織開發(fā)的一種常用 Web 服務(wù)器,提供 Web 服務(wù)。一種 JSP 引

26、擎,本身具有 Web 功能,可以作為獨(dú)立的 Web 服務(wù)器使用。但是,在作為 Web 服務(wù)器方面,Tomcat 處理靜態(tài) HTML 頁(yè)面時(shí)不如 Apache 迅速,也沒有Apache 健壯,一般選用 Tomcat 與 Apache 結(jié)合的方式,讓后者對(duì)網(wǎng)站的靜態(tài)頁(yè)面的請(qǐng)求提供服務(wù),而 Tomcat 作為專用的 JSP 引擎,提供 JSP 解析,得以更好的性能。1JDK 的安裝與配置(1)找到 path 變量后單擊編輯按鈕;彈出編輯系統(tǒng)變量對(duì)話框。在變 量值文本框中輸入“c:jdkbin”,然后單擊確定按鈕。同時(shí)新建 CLASSPATH 變量;(2)在系統(tǒng)變量選項(xiàng)組中單擊新建按鈕,在變量名文本框

27、中輸入“CLASSPATH”, 在 變量值文本框中輸入“ c:jdklibtools.jar ;c:jdklibdt.jar;”然后單擊確定按鈕。(3)用同樣的方法把 c:jdk 添加到 JAVA_HOME 環(huán)境變量中;2TOMCAT 的安裝與配置在這里我們?cè)O(shè)默認(rèn)安裝目錄為 c:Tomcat 安裝完畢,更改環(huán)境變量,用同樣的方法把 c:Tomcat 添加到 TOMCAT_HOME 環(huán)境變量中。啟動(dòng) Tomcat,在瀏覽器 的地址下拉列表框中輸入“http:/localhost:8080/”,如果看到的是在左上 方有一只可愛的小貓,則表示 Tomcat 安裝成功。四、總體開發(fā)1、JAVA 三層模

28、式架構(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)頁(yè)編輯工具 數(shù)據(jù)庫(kù) SQL Server2000,服務(wù)器:Apache Tomcat 6.0。 Java 中連接數(shù)據(jù)庫(kù)的技術(shù)是 JDBC3、系統(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 以上版本W(wǎng)indows XP ,2000, 98, Linux ,Unix 等版本運(yùn)行基

29、于 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)的邏輯模型,此模型盡量避免使用計(jì)算機(jī)術(shù)語(yǔ),便于企業(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ù)庫(kù)的設(shè)計(jì)原則是把它作為模塊間的郵政信箱,從而為實(shí)現(xiàn)數(shù)據(jù)共享由提高了模塊的獨(dú)立性,使系統(tǒng)具有很高的可修改性。二、系統(tǒng)需

30、求考生登陸系統(tǒng)在線考試提交顯示成績(jī)部門和管理命題人相關(guān)部門生成試卷系統(tǒng)控制網(wǎng)絡(luò)在線考試是在網(wǎng)絡(luò)上的模擬考試應(yīng)用程序,它維護(hù)著一個(gè)數(shù)據(jù)庫(kù),存儲(chǔ)著考生,題庫(kù),管理員信息,主要包括命題人出題,部門管理,系統(tǒng)管理,學(xué)生在線考試,自動(dòng)評(píng)分以及相關(guān)的系統(tǒng)維護(hù)功能。題庫(kù)圖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 外大部分軟件都

31、是可以免費(fèi)獲得,開發(fā)成本低。3操作可行性:訪問系統(tǒng)的主要有兩種:學(xué)生,管理員。目前資源的利用情況和可操作性,只需少量的對(duì)數(shù)據(jù)庫(kù)中的表的直接操作就可以實(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):管理員信息管理、考生信息管理、考生成績(jī)查詢、課程信息管理、套題信息管理、考試題目管理

32、、退出后臺(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)有題庫(kù)中隨機(jī)抽取需要的試題的類型,試題的數(shù)量,難易程度,分?jǐn)?shù)等進(jìn)行控制。對(duì)已經(jīng)定制的試卷進(jìn)行預(yù)覽,并隨時(shí)修改。第三節(jié) 本章小結(jié)本系統(tǒng)使用 JSP

33、 技術(shù)作為表現(xiàn)手段,服務(wù)器采用 Tomcat6.0 作為JSP引擎,系統(tǒng)業(yè)務(wù)邏輯由 Java Bean 組件完成,使用 JDBC-ODBC橋連接方式訪問數(shù)據(jù)庫(kù)。由于系統(tǒng)測(cè)試需要成熟的數(shù)據(jù)庫(kù)支持,因此系統(tǒng)采用 SQL server 2000 數(shù)據(jù)庫(kù)作為數(shù)據(jù)庫(kù)服務(wù)器。第三章 系統(tǒng)設(shè)計(jì)第一節(jié) 數(shù)據(jù)庫(kù)設(shè)計(jì)一、數(shù)據(jù)庫(kù)總體設(shè)計(jì)本系統(tǒng)采用關(guān)系型數(shù)據(jù)庫(kù)模式,因此數(shù)據(jù)庫(kù)由若干個(gè)二維表(即數(shù)據(jù)文件)構(gòu)成。本系統(tǒng)的數(shù)據(jù)文件全為數(shù)據(jù)數(shù)據(jù)。數(shù)據(jù)的保存方法有很多種,最長(zhǎng)用的方式是使用DBMS(數(shù)據(jù)庫(kù)管理系統(tǒng))。市場(chǎng)上流行的 DBMS 主要有 Oracle、SYBASE、MS SQL Server、DB2、Informix

34、 等,而 MS SQL Server 可作為中小型數(shù)據(jù)管理系統(tǒng)的首選。根據(jù)以上分析,本系統(tǒng)后臺(tái)數(shù)據(jù)庫(kù)決定采用 MS SQL Server 為后臺(tái)數(shù)據(jù)庫(kù)。本系統(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ù)庫(kù)中,這就需要專門新建表來存儲(chǔ)相應(yīng)信息。例如:、課程信息表(tb_Lesson)、試題信息表(tb_Questions)、考生成績(jī)表(tb_StuResult)、套題表(tb_TaoTi)等。二、數(shù)據(jù)庫(kù)概念設(shè)計(jì)根據(jù)對(duì)系統(tǒng)

35、所做的需求分析和總體設(shè)計(jì),可以規(guī)劃出要使用的數(shù)據(jù)庫(kù)實(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 考生信息實(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)正確答案

36、備注添加時(shí)間選項(xiàng)D選項(xiàng)C選項(xiàng)B選項(xiàng)A所屬套題所屬課程問題類型考試題目圖3.3 考試題目實(shí)體圖三、數(shù)據(jù)庫(kù)邏輯設(shè)計(jì)根據(jù)概念設(shè)計(jì),可以創(chuàng)建與實(shí)體對(duì)應(yīng)的數(shù)據(jù)表和關(guān)系。本系統(tǒng)共包含6張數(shù)據(jù)表:表3.1 數(shù)據(jù)庫(kù)設(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)頁(yè)面取得。表3.2管理員信息表字段名數(shù)據(jù)類型及長(zhǎng)度說明備注IDBigint(8)準(zhǔn)考證號(hào)碼主鍵NameVarchar(30)姓名不允許為空

37、PWDVarchar(30)密碼不允許為空?qǐng)D3.4 管理員信息表2名稱:考生信息表標(biāo)識(shí):tb_Student數(shù)據(jù)來源:前臺(tái)頁(yè)面取得。表3.3考生信息表字段名數(shù)據(jù)類型及長(zhǎng)度說明備注IDVarchar(16)準(zhǔn)考證號(hào)主關(guān)鍵字NameVarchar(20)姓名不允許為空PwdVarchar(20)密碼不允許為空SexVarchar(2)性別不允許為空J(rèn)ointimeDatetime(8)注冊(cè)時(shí)間不允許為空QuestionVarchar(50)密碼提示問題不允許為空AnswerVarchar(50)密碼回答答案不允許為空ProfessionVarchar(30)專業(yè)允許為空cardNoVarchar(

38、18)身份證號(hào)碼不允許為空?qǐng)D3.5 考生信息表3考生成績(jī)表標(biāo)識(shí):tb_StuResult數(shù)據(jù)來源:前臺(tái)頁(yè)面取得。表3.4考生成績(jī)表字段名數(shù)據(jù)類型及長(zhǎng)度說明備注IDBigint(8)管理員賬號(hào)主關(guān)鍵字StuidVarchar(16)準(zhǔn)考證號(hào)不允許為空WhichlessonVarchar(60)所屬課程不允許為空RessingleVarchar(4)單選題成績(jī)不允許為空ResmoreDatetime(4)多選題成績(jī)不允許為空RestotalVarchar(4)總成績(jī)?cè)试S為空J(rèn)ointimeVarchar(8)注冊(cè)時(shí)間不允許為空?qǐng)D3.6 考生成績(jī)表4考試科目信息表標(biāo)識(shí):tb_Lesson數(shù)據(jù)來源:前

39、臺(tái)頁(yè)面取得。表3.5考試科目信息表字段名數(shù)據(jù)類型及長(zhǎng)度說明備注IDBigint(8)管理員賬號(hào)主鍵NameVarchar(60)科目名稱不允許為空J(rèn)ointimedatetime(8)加入時(shí)間不允許為空?qǐng)D3.7 考試科目信息表5套題表標(biāo)識(shí):tb_TaoTi數(shù)據(jù)來源:前臺(tái)頁(yè)面取得。表3.6 套題表字段名數(shù)據(jù)類型及長(zhǎng)度說明備注IDBigint(8)套題標(biāo)識(shí)主鍵NameVarchar(50)套題名稱不允許為空LessonIDBigint(8)課程編號(hào)不允許為空J(rèn)ointimeDatetime(8)加入時(shí)間不允許為空?qǐng)D3.8 考試套題表6試題信息表標(biāo)識(shí):tb_Questions數(shù)據(jù)來源:前臺(tái)頁(yè)面取得。

40、表3.7試題信息表字段名數(shù)據(jù)類型及長(zhǎng)度說明備注IDBigint(8)管理員賬號(hào)主關(guān)鍵字SubjectVarchar(50)所屬課程不允許為空Typechar(6)題目類型不允許為空J(rèn)ointimeDatetime(8)加入時(shí)間不允許為空LessonIDInt(4)課程編號(hào)不允許為空taoTiIDBigint(8)套題編號(hào)不允許為空optionAVarchar(50)選項(xiàng)A不允許為空OptionBVarchar(50)選項(xiàng)B不允許為空OptionCVarchar(50)選項(xiàng)C不允許為空OptionDVarchar(50)選項(xiàng)D不允許為空AnswerVarchar(10)答案不允許為空NoteVa

41、rchar(50)備注允許為空?qǐng)D3.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)的。模塊獨(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ì)增加模塊間的依

42、賴。2. 系統(tǒng)結(jié)構(gòu)深度、寬度、扇出、扇入適當(dāng)原則 深度表示從根模塊到最低層模塊的層數(shù);寬度表示控制的總分布;扇出數(shù)指由一模塊直接控制的其它模塊數(shù);扇入數(shù)指有多少模塊直接控制一個(gè)給定的模塊。好的系統(tǒng)結(jié)構(gòu)通常頂層扇出比較大,中間扇出比較少,底層模塊大扇入。3. 模塊的作用范圍保持在該模塊的控制范圍內(nèi) 模塊的作用范圍是指受該模塊內(nèi)一個(gè)判定影響的所有模塊的集合。模塊的控制范圍是指這個(gè)模塊本身以及所有直接或者間接從屬于它的模塊的集合。4. 系統(tǒng)模塊的單入口,單出口原則這一準(zhǔn)則是要防止內(nèi)容耦合性。如果模塊都是從頂部入口,從底部出口的話,這樣系統(tǒng)更容易理解和維護(hù)。如可以避免病態(tài)連接(病態(tài)連接關(guān)系是指從中間進(jìn)

43、入或者訪問一個(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)頁(yè)完成。而系統(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)頁(yè)內(nèi)容簡(jiǎn)潔,系統(tǒng)的可維護(hù)性和可擴(kuò)充性增強(qiáng)。在服務(wù)器端,系統(tǒng)使用 JDBC 中間件訪問數(shù)據(jù)庫(kù),數(shù)據(jù)庫(kù)服務(wù)器定義了

44、本系統(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ù)庫(kù)。由于系統(tǒng)測(cè)試需要成熟的數(shù)據(jù)庫(kù)支持,因此系統(tǒng)采用 SQL SERVER 2000數(shù)據(jù)庫(kù)作為數(shù)據(jù)庫(kù)服務(wù)器。三、總體流程圖1 系統(tǒng)業(yè)務(wù)流程圖:圖3.12 系統(tǒng)流程圖2 庫(kù)輸出邏輯流程圖圖3.13庫(kù)輸出邏輯流程圖3 Java Bean 邏輯流程圖圖3.14 Java Bean 邏輯流程圖第三節(jié)功能設(shè)計(jì)題庫(kù)管理模塊包括:系統(tǒng)登錄、考生注冊(cè)、在線考試、后臺(tái)管理四個(gè)

45、模塊。一、 系統(tǒng)登錄輸入: 管理員賬號(hào)或者學(xué)生的準(zhǔn)考證號(hào)和對(duì)應(yīng)的密碼。 處理:在數(shù)據(jù)庫(kù)中查詢,查找該用戶名是否存在,如果存在則在數(shù)據(jù)庫(kù)中查找該用戶名對(duì)應(yīng)的密碼是否正確,再根據(jù)個(gè)人的權(quán)限進(jìn)入相應(yīng)的業(yè)務(wù)范圍和正常的流程,同時(shí)記錄人員的 session 這樣在沒退出系統(tǒng)之前可以在自己的權(quán)限范圍內(nèi)操作,否則可能因長(zhǎng)時(shí)間沒有任何操作會(huì)被注銷,需要重新登錄系統(tǒng)如果沒有找到該用戶或密碼錯(cuò)誤則需要重新登錄,如下圖所示: 輸出:相應(yīng)權(quán)限的頁(yè)面。圖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è)一

46、次,應(yīng)有相應(yīng)的檢測(cè)措施避免非法注冊(cè)。1、設(shè)計(jì)添加注冊(cè)信息的頁(yè)面圖3.16 考生注冊(cè)2、保存考生的注冊(cè)信息需要編寫一個(gè)insert方法。在該方法中,首先從數(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)入考試頁(yè)面進(jìn)行答題,當(dāng)提交試卷時(shí)系統(tǒng)將自動(dòng)進(jìn)

47、行評(píng)分,并給出考試成績(jī)。系統(tǒng)流程如下:結(jié)束開始同意規(guī)則準(zhǔn)備考試選擇考試課程隨機(jī)取題提交試卷顯示考試成績(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類。在該類中,首先需要在該類的

48、構(gòu)造方法中分別實(shí)例化模塊中的StartExamDAO類。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ī)抽取試題由于開始考試頁(yè)面會(huì)調(diào)用action類中的startExam()方法。在該方法中,首先獲取準(zhǔn)考證號(hào),然后調(diào)用LessonDAO類中的quer

49、y()方法,并將獲取的準(zhǔn)考證號(hào)作為query()方法的參數(shù),最后根據(jù)query()方法返回的List集合的大小,轉(zhuǎn)到相應(yīng)的頁(yè)面。在實(shí)現(xiàn)隨機(jī)抽取試題并生成試卷時(shí),需要調(diào)用StartExamDAO類中的randomGetQuestion()、stratSaveResult()、queryExam()3個(gè)方法。生成試卷在實(shí)現(xiàn)生成試卷前,首先需要在試題頁(yè)面中添加一個(gè)用于收集試題信息的表單,然后設(shè)置收集試題信息的表單元素。4、自動(dòng)閱卷并顯示考試成績(jī)當(dāng)考生提交試卷時(shí),會(huì)調(diào)用action類中的submitTestPaper()方法,然后調(diào)用LessonDAO類中的query()方法,并將獲取的準(zhǔn)考證號(hào)作為q

50、uery()方法的參數(shù),最后根據(jù)query()方法返回的List集合的大小,轉(zhuǎn)到相應(yīng)的頁(yè)面。在自動(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 后臺(tái)管理模塊框架圖查看考試題目列表的實(shí)現(xiàn)過程查看考試題目列表會(huì)調(diào)用方法question

51、sQuery()。在該方法中,首先調(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)志變量,最后返回標(biāo)志變量。刪除考試題目信息的實(shí)現(xiàn)過程刪除考試題目信息使用的是QuestionsDAO類的方法delet

52、e()。在該方法中,首先需要將獲取的要?jiǎng)h除記錄的ID轉(zhuǎn)換為以逗號(hào)分隔的字符串,然后再應(yīng)用SQL語(yǔ)句中的DELETE語(yǔ)句批量刪除記錄,最后返回執(zhí)行結(jié)果。第四節(jié) 本章小結(jié)本章主要是系統(tǒng)的設(shè)計(jì),本論文在寫的過程中在以前的分析基礎(chǔ)上又加入一些已經(jīng)實(shí)現(xiàn)的例子,更利于對(duì)系統(tǒng)的了解和感性認(rèn)識(shí),主要介紹了一些主要的模塊的基本設(shè)計(jì)情況。數(shù)據(jù)庫(kù)的設(shè)計(jì)是 MIS(管理信息系統(tǒng))系統(tǒng)的核心部分,設(shè)計(jì)數(shù)據(jù)庫(kù),首先要進(jìn)行需求分析,然后進(jìn)行數(shù)據(jù)庫(kù)的概念結(jié)構(gòu)設(shè)計(jì)、邏輯結(jié)構(gòu)設(shè)計(jì)、數(shù)據(jù)庫(kù)結(jié)構(gòu)實(shí)現(xiàn)等步驟。本章對(duì)數(shù)據(jù)庫(kù)進(jìn)行了詳細(xì)的設(shè)計(jì),并列出了數(shù)據(jù)庫(kù)中使用的表結(jié)構(gòu),本系統(tǒng)選擇使用 MS SQL Server 作后臺(tái)數(shù)據(jù)庫(kù)。第四章系統(tǒng)

53、實(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)單清晰,因此在程序編寫過程中應(yīng)保持良好的程序設(shè)計(jì)風(fēng)格。主要在以下方面體現(xiàn):采用序言性和描述性兩種注釋對(duì)程序進(jìn)行解釋;變量說明盡量使其具有實(shí)際意義;程序語(yǔ)句構(gòu)造應(yīng)該簡(jiǎn)單直接,應(yīng)直接反映意圖,不必

54、過于巧妙和深?yuàn)W。二、 系統(tǒng)主界面圖4.1 系統(tǒng)首頁(yè)三、 系統(tǒng)功能菜單在本系統(tǒng)中,將所有能夠共用的信息單獨(dú)做出來,然后包含到各個(gè)頁(yè)面中,其中包括左部導(dǎo)航條left.jsp,下部版權(quán)信息頁(yè)面copyright.jsp,功能部分,包含提示信息,主要有錯(cuò)誤提示信息頁(yè)面error.jsp,沒有考試科目信息、noenLesson.jsp、成功處理頁(yè)面(個(gè)別成功提示信息頁(yè)面為方便單獨(dú)制作)。圖4.2 后臺(tái)功能菜單圖第二節(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)用程序的地方

55、,把編寫好的源代碼目錄放到該文件夾下,里面的 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ù)庫(kù)文件;Images用于保存系統(tǒng)中應(yīng)用的圖片文件;JS用于保存系統(tǒng)中應(yīng)用的JavaScript文件。圖4.4 系統(tǒng)根目錄文件列表2、Managermanager用于保存系統(tǒng)中后臺(tái)管理涉及到的JSP文件。圖4.5 Manager文件列表3、SrcSrc

56、用于保存系統(tǒng)中應(yīng)用的類的源文件。圖4.6 Src文件列表4、WEB-INFWEB-INF用于保存系統(tǒng)中編譯后的類文件和相應(yīng)的驅(qū)動(dòng)包。圖4.7 WEB-INF文件列表第三節(jié) 關(guān)鍵技術(shù)實(shí)現(xiàn)一、web.xml- config /WEB-INF/struts-config.xml - debug 3 - detail 3 0 - action *.do 二、 數(shù)據(jù)庫(kù)db_netExam連接部分文件ConnDB.javaprivate static String propFileName = /com/connDB.properties; / 指定資源文件保存的位置jdbc:microsoft:SQLs

57、erver:/localhost: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文件dbClassName = prop.getProp

58、erty(DB_CLASS_NAME); / 獲取數(shù)據(jù)庫(kù)驅(qū)動(dòng)dbUrl = prop.getProperty(DB_URL, dbUrl);/獲取URLdbUser = prop.getProperty(DB_USER, dbUser);/獲取登錄用戶dbPwd = prop.getProperty(DB_PWD, dbPwd);/獲取密碼第四節(jié) 調(diào)試過程中的常見錯(cuò)誤一、JDK配置錯(cuò)誤圖4.8 JDK配置錯(cuò)誤解決方法:JAVA_HOME:C:Program FilesJavajdk1.6.0_02CLASSPATH:.;%JAVA_HOME%lib;%JAVA_HOME%libtools.ja

59、rPath:%JAVA_HOME%bin;%JAVA_HOME%jrebin二、SQL空指針異常圖4.9 空指針異常解決方法:由于該系統(tǒng)用ConnDB這個(gè)工具類連接數(shù)據(jù)庫(kù),但是執(zhí)行到第58行SQL為null,所以才會(huì)拋出異常。斷點(diǎn)調(diào)試。在ConnDB類中58行設(shè)置一個(gè)斷點(diǎn),發(fā)現(xiàn)調(diào)用ManagerDao類時(shí)有值未初始化。三、數(shù)據(jù)庫(kù)連接錯(cuò)誤圖4.10 數(shù)據(jù)庫(kù)連接錯(cuò)誤解決方法:選擇的順序和數(shù)據(jù)庫(kù)順序不一致,獲得結(jié)果集中的次序不對(duì),避免的方法是 SQL 語(yǔ)句時(shí)就按數(shù)據(jù)庫(kù)中的順序?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)頁(yè)內(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ì)自己和他人造成任何形式的傷害或損失。

相關(guān)資源

更多
正為您匹配相似的精品文檔
關(guān)于我們 - 網(wǎng)站聲明 - 網(wǎng)站地圖 - 資源地圖 - 友情鏈接 - 網(wǎng)站客服 - 聯(lián)系我們

copyright@ 2023-2025  zhuangpeitu.com 裝配圖網(wǎng)版權(quán)所有   聯(lián)系電話:18123376007

備案號(hào):ICP2024067431號(hào)-1 川公網(wǎng)安備51140202000466號(hào)


本站為文檔C2C交易模式,即用戶上傳的文檔直接被用戶下載,本站只是中間服務(wù)平臺(tái),本站所有文檔下載所得的收益歸上傳人(含作者)所有。裝配圖網(wǎng)僅提供信息存儲(chǔ)空間,僅對(duì)用戶上傳內(nèi)容的表現(xiàn)方式做保護(hù)處理,對(duì)上載內(nèi)容本身不做任何修改或編輯。若文檔所含內(nèi)容侵犯了您的版權(quán)或隱私,請(qǐng)立即通知裝配圖網(wǎng),我們立即給予刪除!