高校教學(xué)管理系統(tǒng)的設(shè)計(jì)與實(shí)現(xiàn)-在線考試管理模塊畢業(yè)設(shè)計(jì)_第1頁
高校教學(xué)管理系統(tǒng)的設(shè)計(jì)與實(shí)現(xiàn)-在線考試管理模塊畢業(yè)設(shè)計(jì)_第2頁
高校教學(xué)管理系統(tǒng)的設(shè)計(jì)與實(shí)現(xiàn)-在線考試管理模塊畢業(yè)設(shè)計(jì)_第3頁
高校教學(xué)管理系統(tǒng)的設(shè)計(jì)與實(shí)現(xiàn)-在線考試管理模塊畢業(yè)設(shè)計(jì)_第4頁
高校教學(xué)管理系統(tǒng)的設(shè)計(jì)與實(shí)現(xiàn)-在線考試管理模塊畢業(yè)設(shè)計(jì)_第5頁
已閱讀5頁,還剩26頁未讀, 繼續(xù)免費(fèi)閱讀

下載本文檔

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

文檔簡(jiǎn)介

摘要在線考試模塊指在實(shí)現(xiàn)考試的無紙化管理,對(duì)一些科目的考試可以通過互聯(lián)網(wǎng)絡(luò)或局域網(wǎng)進(jìn)行,方便校方考試的管理,也方便了考生,尤其適合考生分布廣,不易集中的遠(yuǎn)程教育。通過系統(tǒng)對(duì)考生試卷自動(dòng)進(jìn)行評(píng)測(cè),以便清晰、準(zhǔn)確、明了的反映學(xué)生成績(jī)的情況,實(shí)現(xiàn)判卷“無紙化”。系統(tǒng)主要以J2EE作為開發(fā)基礎(chǔ),主要使用了struts和hibernate,用myEclipse作為開發(fā)工具,MYSQL作為數(shù)據(jù)庫,以Macromedia公司的Dreamweaver作為界面美化工具。實(shí)現(xiàn)了在線考試系統(tǒng)模塊。實(shí)現(xiàn)一個(gè)基于web技術(shù)的在線考試系統(tǒng)故而?;緦?shí)現(xiàn)了網(wǎng)上考試系統(tǒng)應(yīng)有的主要功能模塊,包括登錄,管理和維護(hù),個(gè)人信息的查詢、修改,考試管理,套題管理,成績(jī)管理。該系統(tǒng)界面簡(jiǎn)單、操作方便,容易維護(hù)。主要開發(fā)系統(tǒng)的后臺(tái)管理系統(tǒng)-Java在線考試管理子系統(tǒng),它包括老師管理、考生管理、在線制作試卷、學(xué)生考試的設(shè)置、試卷審批等功能。關(guān)鍵詞:在線考試;J2EE;struts2.0;hibernate3AbstractOn-lineexaminationmoduleinthepaperlessexaminationmanagement,forsometestscanbedoneviatheInternetorLAN,convenientschoolexammanagement,alsoconvenientforstudents,especiallyfortheexamineewidedistribution,concentrationofdistanceeducation.Automaticallybythesystemoftestpaperevaluation,inordertoclear,accurateandclearreflectionofstudentachievement,realizere-mark"paperless".SystemismainlybasedonthedevelopmentoftheJ2EE,mainlyUSESthestrutsandhibernate,usemyEclipseasdevelopmenttools,MYSQLasthedatabase,toMacromediaDreamweaverasinterfacebeautificationtools.Hasrealizedtheonlineexaminationsystemmodule.Implementaon-lineexaminationsystembasedonwebtechnologyand.Basicimplementation,themainfunctionmodulesofonlineexaminationsystem,includinglogin,managementandmaintenance,informationquery,modify,examinationmanagement,problemmanagement,performancemanagement.Thesysteminterfaceissimpleandconvenientoperation,easytomaintain.Themaindevelopmentsystembackgroundmanagementsystem-Javaonlineexaminationmanagementsubsystem,itincludestheteachermanagement,studentsmanagement,onlineexaminationpapers,settingofstudentsexamination,theexaminationpaperforexaminationandapproval,andotherfunctions.Keywords:OnlineExamination;J2EE;struts2.0;hibernate3

目錄1概述 31.1開發(fā)背景 31.2設(shè)計(jì)目的及內(nèi)容 31.2.1設(shè)計(jì)目的 31.2.2設(shè)計(jì)內(nèi)容 31.3技術(shù)概述 31.3.1B/S模式簡(jiǎn)介 31.3.2MySQL簡(jiǎn)介 31.3.3MVC模式簡(jiǎn)介 31.3.4hibernate模式簡(jiǎn)介 31.4硬件和軟件要求 31.4.1硬件要求 31.4.2軟件要求 31.5基本環(huán)境 31.6系統(tǒng)開發(fā)命名規(guī)則 32.1可行性分析 32.1.1經(jīng)濟(jì)的可行性分析 32.1.2技術(shù)的可行性 32.2系統(tǒng)ER圖 33總體設(shè)計(jì) 33.1系統(tǒng)功能分析 33.1.1用戶登錄模塊 33.1.2系統(tǒng)功能結(jié)構(gòu) 33.2數(shù)據(jù)庫設(shè)計(jì) 33.2.1數(shù)據(jù)庫概要說明 33.2.2數(shù)據(jù)庫設(shè)計(jì) 33.2.3用例圖 34詳細(xì)設(shè)計(jì) 34.1數(shù)據(jù)表設(shè)計(jì) 34.1.1試題信息表 34.1.2學(xué)生信息表 34.1.3老師信息表 34.2系統(tǒng)登錄界面設(shè)計(jì) 34.3系統(tǒng)主要包含的包 34.4界面設(shè)計(jì) 34.4.1登錄界面 34.4.2老師登錄進(jìn)入的界面 34.4.3錄入試題界面 34.4.4管理試題 34.4.6學(xué)生登錄進(jìn)入的界面 35主要代碼 35.1配置文件代碼 35.1.1讀取配置文件創(chuàng)建sessionFactory對(duì)象代碼 35.2部分功能代碼 35.2.1登錄界面代碼 35.2.2獲得更新試題代碼 3總結(jié) 3致謝 3參考文獻(xiàn) 31概述1.1開發(fā)背景隨著網(wǎng)絡(luò)技術(shù)的飛速發(fā)展,現(xiàn)在很多國(guó)外的大學(xué)和社會(huì)其他部門都已經(jīng)開設(shè)了遠(yuǎn)程教育,通過計(jì)算機(jī)網(wǎng)絡(luò)實(shí)現(xiàn)異地教育和培訓(xùn)。現(xiàn)在,計(jì)算機(jī)硬件技術(shù)的發(fā)展已經(jīng)達(dá)到了相當(dāng)高的水平。但是,遠(yuǎn)程教育軟件的開發(fā)目前還處于起步階段,隨著這項(xiàng)技術(shù)的不斷深入發(fā)展,就要求有更好、更完善的軟件系統(tǒng)應(yīng)用到遠(yuǎn)程教育當(dāng)中去,這就給軟件設(shè)計(jì)人員提出了更高的設(shè)計(jì)要求。

遠(yuǎn)程教育包括很多環(huán)節(jié),例如教學(xué)系統(tǒng)、答疑系統(tǒng)和考試系統(tǒng)等等。其中很重要的一個(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)用正逐步深入到千家萬戶[1]。人們迫切要求利用這些技術(shù)來進(jìn)行在線考試,以減輕教師的工作負(fù)擔(dān)及提高工作效率,與此同時(shí)也提高了考試的質(zhì)量,從而使考試更趨于公證、客觀,更加激發(fā)學(xué)生的學(xué)習(xí)興趣。例如目前許多國(guó)際著名的計(jì)算機(jī)公司所舉辦的各種認(rèn)證考試絕大部分采用這種方式。

在線考試是現(xiàn)階段研究開發(fā)的一個(gè)熱點(diǎn)。它是建立在國(guó)際互聯(lián)網(wǎng)上的應(yīng)用系統(tǒng),客戶端的配置可以極為簡(jiǎn)單,使考試不受地域的局限。一個(gè)完備的在線考試系統(tǒng)可以使用戶在網(wǎng)上學(xué)習(xí)過后及時(shí)檢驗(yàn)自己的學(xué)習(xí)效果,已發(fā)現(xiàn)自己的不足,使得學(xué)習(xí)效率得到很大提高。在線考試系統(tǒng)中題目的生成、試卷的提交、成績(jī)的批閱等都可以在網(wǎng)絡(luò)上自動(dòng)完成。只要形成一套成熟的題庫就可以實(shí)現(xiàn)考試的自動(dòng)化。這樣一來,教師所要做的只是精心設(shè)計(jì)題目、維護(hù)題庫,而不是組織考試,從而大大減輕了教師的負(fù)擔(dān),這表明其經(jīng)濟(jì)性是相當(dāng)可觀的。為了適應(yīng)新形勢(shì)的發(fā)展,我進(jìn)行了這一系統(tǒng)的初步設(shè)計(jì)工作,也可以說是做一個(gè)初步的探索,希望它能夠在各類考試中發(fā)揮高效、便捷的作用,把老師從繁重的工作中解脫出來。

目前,網(wǎng)絡(luò)應(yīng)用軟件運(yùn)行的模式主要有二類:Client/server模式,Browser/Web模式。前者主要的缺點(diǎn)是維護(hù)、升級(jí)較麻煩,后者是近幾年伴隨Internet迅速發(fā)展起來的一種技術(shù),它與客戶/服務(wù)器方式類似,客戶端是一個(gè)標(biāo)準(zhǔn)的瀏覽器,服務(wù)器端是Web

Server

,而Web

Server與數(shù)據(jù)庫和應(yīng)用服務(wù)器的緊密結(jié)合,使得這種模式的應(yīng)用范圍不斷擴(kuò)大,它已不僅僅用于網(wǎng)上查詢,有很多部門的業(yè)務(wù)系統(tǒng)、企業(yè)的MIS系統(tǒng)紛紛采用這種模式,它的主要優(yōu)點(diǎn)是便于擴(kuò)充應(yīng)用、升級(jí)維護(hù)簡(jiǎn)便。

網(wǎng)絡(luò)考試系統(tǒng)具有降低考試成本,解決繁重的考務(wù)工作的優(yōu)點(diǎn)[2]。它可以免去教師大量的臨考工作,試卷可以根據(jù)題庫中的內(nèi)容即時(shí)生成;教師也無須去做考后的閱卷、統(tǒng)計(jì)、分析工作,計(jì)算機(jī)可以自動(dòng)判卷,直接把成績(jī)送到數(shù)據(jù)庫中進(jìn)行統(tǒng)計(jì)、排序、匯總。實(shí)現(xiàn)無紙化考試,大大提高了工作效率。

目前,基于網(wǎng)絡(luò)考試面向的主要是社會(huì)上的培訓(xùn)認(rèn)證考試(如微軟的各種認(rèn)證考試)和遠(yuǎn)程教育的考試。一個(gè)成功的基于WEB的考試,需要一個(gè)好的網(wǎng)絡(luò)環(huán)境,一個(gè)好的考試平臺(tái)和一個(gè)好的題庫。但一個(gè)真正的智能化的基于WEB的考試系統(tǒng)的實(shí)現(xiàn)—個(gè)復(fù)雜的過程,考試平臺(tái)和題庫的研究要依靠軟件開發(fā)專家、被測(cè)學(xué)科專家和精通考試?yán)碚摵兔}的專家三者的合作。因而對(duì)于有極大市場(chǎng)的社會(huì)認(rèn)證考試,必然會(huì)走上專業(yè)化的道路。1.2設(shè)計(jì)目的及內(nèi)容1.2.1設(shè)計(jì)目的高校教學(xué)管理系統(tǒng)在線考試管理模塊即對(duì)考生考試的管理。在線考試系統(tǒng)主要針對(duì)于高校教學(xué)對(duì)學(xué)生考試的管理,它可以免去教師大量的臨考工作,試卷可以根據(jù)題庫中的內(nèi)容即時(shí)生成;教師也無須去做考后的閱卷、統(tǒng)計(jì)、分析工作,計(jì)算機(jī)可以自動(dòng)判卷,直接把成績(jī)送到數(shù)據(jù)庫中進(jìn)行統(tǒng)計(jì)、排序、匯總。實(shí)現(xiàn)無紙化考試,大大提高了工作效率,老師即是對(duì)試題的一系列的操作和對(duì)學(xué)生的管理。學(xué)生在網(wǎng)上學(xué)習(xí)過后及時(shí)檢驗(yàn)自己的學(xué)習(xí)效果,已發(fā)現(xiàn)自己的不足,使得學(xué)習(xí)效率得到很大提高。1.2.2設(shè)計(jì)內(nèi)容高校教學(xué)管理系統(tǒng)在線考試管理模塊,主要是設(shè)計(jì)學(xué)生和老師兩個(gè)不同身份的權(quán)限操作實(shí)現(xiàn)不同的功能。學(xué)生主要通過頁面進(jìn)入系統(tǒng)進(jìn)行考試,查看考試結(jié)果,查看試題解析。老師主要是對(duì)試題的管理,有添加、修改、刪除試題的權(quán)限,查看學(xué)生成績(jī)及基本信息等操作。1.3技術(shù)概述1.3.1B/S模式簡(jiǎn)介B/S(瀏覽器/服務(wù)器模式)是隨著Internet結(jié)束的興起,對(duì)C/S結(jié)構(gòu)的一種改進(jìn)。在這個(gè)結(jié)構(gòu)下,軟件應(yīng)用的業(yè)務(wù)邏輯完全在應(yīng)用服務(wù)器端實(shí)現(xiàn),用戶表現(xiàn)完全在Web服務(wù)器實(shí)現(xiàn),客戶端直需要瀏覽器即可進(jìn)行業(yè)務(wù)處理,是一種全新的軟件系統(tǒng)構(gòu)造技術(shù)。這種結(jié)構(gòu)更成為當(dāng)今應(yīng)用軟件的首選體系結(jié)構(gòu)[3]。我選擇B/S架構(gòu)的操作模式,這樣可以方便學(xué)生的考試和管理員的對(duì)試題題庫的管理,使得用戶無須安裝客戶端軟件,只要打開瀏覽器即可登錄系統(tǒng)進(jìn)行操作。隨著網(wǎng)絡(luò)規(guī)模的日益擴(kuò)大,應(yīng)用程序的復(fù)雜程度不斷提高,傳統(tǒng)的數(shù)據(jù)庫應(yīng)用架構(gòu)已經(jīng)不能勝任。為了充分利用網(wǎng)絡(luò)資源,越來越多的信息需要在www(WorldWideWeb)上發(fā)布,實(shí)現(xiàn)信息最大程度的共享。Browser/Server結(jié)構(gòu)伴隨著Internet

的發(fā)展而很快地發(fā)展起來。Browser/Server體系結(jié)構(gòu)是一種三層結(jié)構(gòu)。第一層,瀏覽器是表示層,完成用戶接口功能。在客戶端向URL(Uniform

Resource

Locator)指定的Web

服務(wù)器提出服務(wù)器請(qǐng)求,Web

服務(wù)器用HTTP協(xié)議把所需文件資料傳給用戶,客戶端接受并顯示在WWW瀏覽器上。第二層,Web服務(wù)器是功能層,完成客戶的應(yīng)用功能。即Web服務(wù)器接受客戶請(qǐng)求,以CGI或ASP與數(shù)據(jù)庫連接,進(jìn)行申請(qǐng)?zhí)幚?,而后?shù)據(jù)庫結(jié)果返回Web

服務(wù)器,再傳至客戶端。第三層,數(shù)據(jù)庫服務(wù)器是數(shù)據(jù)層。數(shù)據(jù)庫服務(wù)器應(yīng)客戶請(qǐng)求獨(dú)立地進(jìn)行各種處理。Browser/Server系統(tǒng)中的Browser作為一種通用的瀏覽器,一般沒有任何應(yīng)用程序;Browser/Server系統(tǒng)中的中間層是B/S

結(jié)構(gòu)中相當(dāng)關(guān)鍵的部分,中間層在Browser/Server系統(tǒng)中充當(dāng)著雙重身份:從Browser的角度看,它是WebServer,而從DBServer的角度看,它是一個(gè)功能豐富的Client[4]。

1.3.2MySQL簡(jiǎn)介MySQL是一個(gè)精巧的SQL數(shù)據(jù)庫管理系統(tǒng),雖然它不是開放源代碼的產(chǎn)品,但在某些情況下你可以自由使用。由于它的強(qiáng)大功能、靈活性、豐富的應(yīng)用編程接口(API)以及精巧的系統(tǒng)結(jié)構(gòu),受到了廣大自由軟件愛好者甚至是商業(yè)軟件用戶的青睞,特別是與Apache和PHP/PERL結(jié)合,為建立基于數(shù)據(jù)庫的動(dòng)態(tài)網(wǎng)站提供了強(qiáng)大動(dòng)力。

MySQL是一種關(guān)系型數(shù)據(jù)庫。此種數(shù)據(jù)庫采用數(shù)據(jù)分類表格化的架構(gòu),將相關(guān)的數(shù)據(jù)組成表格,表格和表格之間可以有關(guān)聯(lián)性,因此稱為關(guān)系型數(shù)據(jù)庫。系統(tǒng)管理員可透過應(yīng)用程序進(jìn)入服務(wù)器,更改數(shù)據(jù)型態(tài),管理及處理服務(wù)器資源。MySQL也是一種具備延展性的數(shù)據(jù)庫(scalable

database),亦即MySQL可以支持多位使用者同時(shí)進(jìn)入數(shù)據(jù)庫中處理大量的數(shù)據(jù)。1.3.3MVC模式簡(jiǎn)介MVC[5]模式是"Model-View-Controller"的縮寫,中文翻譯為"模式-視圖-控制器"。MVC應(yīng)用程序總是由這三個(gè)部分組成。Event(事件)導(dǎo)致Controller改變Model或View,或者同時(shí)改變兩者。只要Controller改變了Models的數(shù)據(jù)或者屬性,所有依賴的View都會(huì)自動(dòng)更新。類似的,只要Controller改變了View,View會(huì)從潛在的Model中獲取數(shù)據(jù)來刷新自己。MVC設(shè)計(jì)思想:MVC英文即Model-View-Controller,即把一個(gè)應(yīng)用的輸入、處理、輸出流程按照Model、View、Controller的方式進(jìn)行分離,這樣一個(gè)應(yīng)用被分成三個(gè)層——模型層、視圖層、控制層。MVC的優(yōu)點(diǎn):將視圖展示和應(yīng)用邏輯清晰的分離開來,降低了模型和視圖之間的耦合性,使得系統(tǒng)設(shè)計(jì)時(shí)具有更高的靈活性。首先,最重要的是應(yīng)該有多個(gè)視圖對(duì)應(yīng)一個(gè)模型的能力。在目前用戶需求的快速變化下,可能有多種方式訪問應(yīng)用的要求。例如,訂單模型可能有本系統(tǒng)的訂單,也有網(wǎng)上訂單,或者其他系統(tǒng)的訂單,但對(duì)于訂單的處理都是一樣,也就是說訂單的處理是一致的。按MVC設(shè)計(jì)模式,一個(gè)訂單模型以及多個(gè)視圖即可解決問題。這樣減少了代碼的復(fù)制,即減少了代碼的維護(hù)量,一旦模型發(fā)生改變,也易于維護(hù)。其次,由于模型返回的數(shù)據(jù)不帶任何顯示格式,因而這些模型也可直接應(yīng)用于接口的使用。1.3.4hibernate模式簡(jiǎn)介Hibernate[6]是一個(gè)開放源代碼的對(duì)象關(guān)系映射框架,它對(duì)JDBC進(jìn)行了非常輕量級(jí)的對(duì)象封裝,使得Java程序員可以隨心所欲的使用對(duì)象編程思維來操縱數(shù)據(jù)庫。Hibernate可以應(yīng)用在任何使用JDBC的場(chǎng)合,既可以在Java的客戶端程序使用,也可以在Servlet/JSP的Web應(yīng)用中使用,最具革命意義的是,Hibernate可以在應(yīng)用EJB的J2EE架構(gòu)中取代CMP,完成數(shù)據(jù)持久化的重任。如下圖:如下圖1-1,hibernate功能結(jié)構(gòu)圖。ApplicationApplicationHibernatePersistentObjectsDatabaseHibernatepropertiesXMLMapping圖1-1hibernate功能結(jié)構(gòu)圖主要特點(diǎn):Hibernate的核心接口一共有6個(gè),分別為:Session、SessionFactory、Transaction、Query、Criteria和Configuration。這6個(gè)核心接口在任何開發(fā)中都會(huì)用到。通過這些接口,不僅可以對(duì)持久化對(duì)象進(jìn)行存取,還能夠進(jìn)行事務(wù)控制。Session接口Session接口負(fù)責(zé)執(zhí)行被持久化對(duì)象的CRUD操作(CRUD的任務(wù)是完成與數(shù)據(jù)庫的交流,包含了很多常見的SQL語句。)。但需要注意的是Session對(duì)象是非線程安全的。同時(shí),Hibernate的session不同于JSP應(yīng)用中的HttpSession。這里當(dāng)使用session這個(gè)術(shù)語時(shí),其實(shí)指的是Hibernate中的session,而以后會(huì)將HttpSession對(duì)象稱為用戶session。SessionFactory[7]接口SessionFactory接口負(fù)責(zé)初始化Hibernate。它充當(dāng)數(shù)據(jù)存儲(chǔ)源的代理,并負(fù)責(zé)創(chuàng)建Session對(duì)象。這里用到了工廠模式。需要注意的是SessionFactory并不是輕量級(jí)的,因?yàn)橐话闱闆r下,一個(gè)項(xiàng)目通常只需要一個(gè)SessionFactory就夠,當(dāng)需要操作多個(gè)數(shù)據(jù)庫時(shí),可以為每個(gè)數(shù)據(jù)庫指定一個(gè)SessionFactory。1.4硬件和軟件要求1.4.1硬件要求CPU:Inter(R)Core(TM)2DuoCPU2.10GHzHDD:300GRAM:2.00GB1.4.2軟件要求操作系統(tǒng):WindowsXP/Windows7。數(shù)據(jù)庫:MySQL。開發(fā)工具:Myecplise9.0。輔助開發(fā)工具:DreamweaverCS3。1.5基本環(huán)境以Java語言為基本開發(fā)語言,通過運(yùn)用集成開發(fā)環(huán)境,Tomcat7.4服務(wù)器myEcplise(9.0)[8]等相關(guān)知識(shí),利用Java語言的面向?qū)ο蟮奶匦约癕VC設(shè)計(jì)思想,設(shè)計(jì)一個(gè)高校教學(xué)管理系統(tǒng)實(shí)現(xiàn)考生在線考試管理功能。1.6系統(tǒng)開發(fā)命名規(guī)則(1)項(xiàng)目中命名規(guī)則 項(xiàng)目中各個(gè)子項(xiàng)均以子項(xiàng)功能名稱的英文組合,類名以對(duì)應(yīng)的意思命名,組成的所有單詞的首字母大寫;類中的方法依據(jù)功能而定,方法命名首單詞的首字母小寫,其他單詞首字母均大寫;項(xiàng)目中的頁面命名是項(xiàng)目名為前綴加上相應(yīng)功能名。(2)數(shù)據(jù)庫命名規(guī)則 數(shù)據(jù)庫名稱與項(xiàng)目名稱相同,數(shù)據(jù)庫中表命名規(guī)則是表名稱英文意思的單詞或多個(gè)單詞的組合,單詞首個(gè)字母大寫;表中字段名是相應(yīng)字段的英文單詞或多個(gè)單詞的組合,單詞首字母大寫。

2系統(tǒng)需求分析2.1可行性分析可行性分析[9]是在系統(tǒng)調(diào)查的基礎(chǔ)上,針對(duì)新系統(tǒng)的開發(fā)是否具有必要性和可行性,對(duì)新系統(tǒng)的開發(fā)從技術(shù)、經(jīng)濟(jì)、社會(huì)的方面進(jìn)行可行性分析和研究,以避免投資失誤,保證新系統(tǒng)的開發(fā)成功??尚行苑治龅哪康木褪怯米钚〉拇鷥r(jià)在盡可能短的時(shí)間內(nèi)確定問題是否能解決。該系統(tǒng)的可行性分析包括如下幾個(gè)內(nèi)容:

(1)技術(shù)方面的可行性:它主要分析技術(shù)條件是否順利完成開發(fā)工作,軟硬件是否滿足開發(fā)者的需要等。其中,軟件方面在線考試需要的軟件環(huán)境都已具備,數(shù)據(jù)庫服務(wù)器方面則有MySQL數(shù)據(jù)庫能夠處理大量數(shù)據(jù),同時(shí)保持?jǐn)?shù)據(jù)的完整性并提供許多高級(jí)管理功能,其靈活性、安全性、易用性為數(shù)據(jù)庫編程提供了良好的條件。

(2)經(jīng)濟(jì)方面的可行性:主要是對(duì)這項(xiàng)經(jīng)濟(jì)效益進(jìn)行評(píng)價(jià),本系統(tǒng)作為一個(gè)視訊的項(xiàng)目,無需開發(fā)經(jīng)費(fèi)并且這系統(tǒng)實(shí)施后可以顯著提高考試效率,有助于學(xué)院實(shí)行網(wǎng)絡(luò)管理化。

(3)操作方面的可行性:目前,大學(xué)校園網(wǎng)絡(luò)覆蓋了教學(xué)區(qū)和學(xué)生區(qū)的主要建筑物,從而滿足各學(xué)院、各職能部門、各直屬單位上網(wǎng)要求,學(xué)校良好的網(wǎng)絡(luò)設(shè)施為開發(fā)使用無紙化考試網(wǎng)絡(luò)系統(tǒng)提供了堅(jiān)實(shí)基礎(chǔ)。

綜上所述,此系統(tǒng)開發(fā)目標(biāo)已經(jīng)明確,在經(jīng)濟(jì)和技術(shù)等方面可行,并且投入少見效快。2.1.1經(jīng)濟(jì)的可行性分析 無紙化考試系統(tǒng)題目的生成、試卷的提交、成績(jī)的批閱等都可以在網(wǎng)上自動(dòng)完成。只要形成一套成熟的題庫即可實(shí)現(xiàn)考試的自動(dòng)化。這樣,教師所要做的工作只是精心設(shè)計(jì)題目、維修題庫,而不是組織考試,從而大大減輕教師的負(fù)擔(dān),以減少了財(cái)政的支出,經(jīng)濟(jì)性是非??捎^的。2.1.2技術(shù)的可行性 現(xiàn)階段,各個(gè)學(xué)校特別是各大高校的局域網(wǎng)已經(jīng)相當(dāng)?shù)耐陚?,正符合微軟開發(fā)的MySQL使用環(huán)境,而Java與MySQL[10]數(shù)據(jù)庫緊密結(jié)合,給應(yīng)用程序的開發(fā)和使用提供了很好的軟件和硬件環(huán)境。因此,在技術(shù)上實(shí)現(xiàn)無紙化考試系統(tǒng)的可行性是可行的。系統(tǒng)的性質(zhì)決定,它的可靠性一定要高,盡量減少系統(tǒng)運(yùn)行中錯(cuò)誤的出現(xiàn),要保持在一定量的范圍內(nèi)。系統(tǒng)可用性也一定要高,盡量避免不可用幾率的發(fā)生。2.2系統(tǒng)ER圖E-R圖也即實(shí)體-聯(lián)系圖(Entity

Relationship

Diagram),提供了表示實(shí)體型、屬性和聯(lián)系的方法,用來描述現(xiàn)實(shí)世界的概念模型。

E-R方法:是“實(shí)體-聯(lián)系方法”(Entity-Relationship

Approach)的簡(jiǎn)稱。它是描述現(xiàn)實(shí)世界概念結(jié)構(gòu)模型的有效方法。

構(gòu)成E-R圖的基本要素是實(shí)體型、屬性和聯(lián)系,其表示方法為:

實(shí)體型(Entity):具有相同屬性的實(shí)體具有相同的特征和性質(zhì),用實(shí)體名及其屬性名集合來抽象和刻畫同類實(shí)體;在E-R圖中用矩形表示,矩形框內(nèi)寫明實(shí)體名;比如學(xué)生張三豐、學(xué)生李尋歡都是實(shí)體。如果是弱實(shí)體的話,在矩形外面再套實(shí)線矩形。

屬性(Attribute):實(shí)體所具有的某一特性,一個(gè)實(shí)體可由若干個(gè)屬性來刻畫。在E-R圖中用橢圓形表示,并用無向邊將其與相應(yīng)的實(shí)體連接起來;比如學(xué)生的姓名、學(xué)號(hào)、性別、都是屬性。如果是多值屬性的話,在橢圓形外面再套實(shí)線橢圓。如果是派生屬性則用虛線橢圓表示。

聯(lián)系(Relationship):聯(lián)系也稱關(guān)系,信息世界中反映實(shí)體內(nèi)部或?qū)嶓w之間的聯(lián)系。實(shí)體內(nèi)部的聯(lián)系通常是指組成實(shí)體的各屬性之間的聯(lián)系;實(shí)體之間的聯(lián)系通常是指不同實(shí)體集之間的聯(lián)系。在E-R圖中用菱形表示,菱形框內(nèi)寫明聯(lián)系名,并用無向邊分別與有關(guān)實(shí)體連接起來,同時(shí)在無向邊旁標(biāo)上聯(lián)系的類型(1:1,1:n或m:n)。比如老師給學(xué)生授課存在授課關(guān)系,學(xué)生選課存在選課關(guān)系。如果是弱實(shí)體的聯(lián)系則在菱形外面再套菱形。

作E-R圖的步驟:

1)確定所有的實(shí)體集合;2)選擇實(shí)體集應(yīng)該包含的屬性;3)確定實(shí)體集之間的聯(lián)系;4)確定實(shí)體集的關(guān)鍵字,用下劃線在屬性上表明關(guān)鍵字的屬性組合;5)確定聯(lián)系的類型,在用線將表示聯(lián)系的菱形聯(lián)系到實(shí)體集時(shí),在線旁注明是1或n(多)來表示聯(lián)系的類型??荚嚳荚嘔D密碼老師出卷班級(jí)姓名學(xué)生學(xué)號(hào)密碼試卷管理NNN1N圖2-1系統(tǒng)ER圖

3總體設(shè)計(jì)3.1系統(tǒng)功能分析 系統(tǒng)功能分析是在系統(tǒng)開發(fā)的總體任務(wù)的基礎(chǔ)上完成的。在線考試系統(tǒng)需要完成的功能主要有:學(xué)生進(jìn)入在線考試系統(tǒng)后,就是進(jìn)行答題。試題應(yīng)該是不固定的,要隨機(jī)產(chǎn)生。學(xué)生提交試卷或者考試時(shí)間到后,要能夠看到考試的成績(jī),并且能夠看到正確答案。 老師進(jìn)入在線考試系統(tǒng)后,首先要做的就是錄入試題,并且能夠?qū)σ呀?jīng)錄入的試題進(jìn)行管理。老師還可以看到學(xué)生的考試成績(jī)和一個(gè)班級(jí)的考試成績(jī)。 該系統(tǒng)集錄入、維護(hù)、查詢、審核和各種處理為一體,各種操作可以通過菜單進(jìn)行,操作快捷、方便,性能高效、強(qiáng)大;使用易懂、易會(huì),形象增強(qiáng)的數(shù)據(jù)處理,用戶均可根據(jù)需要自行使用。3.1.1用戶登錄模塊用戶登陸,驗(yàn)證用戶的信息是否合法,用戶在使用之前必須登錄。用戶只要輸入用戶名、密碼就可以了。若用戶輸入的以上兩項(xiàng)與數(shù)據(jù)庫中保存的相符,則表明用戶登錄成功,如果不符,則登錄失敗。模塊執(zhí)行流程如圖2-2所示。提示提示ID或密碼錯(cuò)誤Yes重新登錄登錄信息錄入接受登錄信息用戶名密碼為空或錯(cuò)誤No登錄成功圖2-2登錄流程圖3.1.2系統(tǒng)功能結(jié)構(gòu)根據(jù)需求分析,可以分析出在線考試系統(tǒng)中應(yīng)該具有哪些功能。首先整個(gè)在線考試系統(tǒng)中具有兩種權(quán)限的用戶,分別是學(xué)生和老師。學(xué)生通過登錄界面輸入ID和密碼進(jìn)入考試系統(tǒng)后,完成如下功能:1、學(xué)生進(jìn)入系統(tǒng)直接進(jìn)入考試頁面,系統(tǒng)會(huì)直接從數(shù)據(jù)庫中隨機(jī)獲取一張?jiān)嚲磉M(jìn)行考試。其中有時(shí)間限制到達(dá)時(shí)間后直接退出系統(tǒng)。答完題后可以直接點(diǎn)擊提交答卷。2、提交答卷之后可以直接查看到自己的考試成績(jī),其中包括姓名、班級(jí)、學(xué)號(hào)、得分。3、點(diǎn)擊查看答案,可以直接查看自己剛剛試卷的正確答案以及解析。老師通過登錄界面進(jìn)入系統(tǒng)后,要完成的功能可以分為老師管理試題模塊和老師管理學(xué)生模塊。在老師管理試題模塊中,完成如下功能:1、錄入試題。老師可以通過錄入試題題目選項(xiàng)及解析,這樣比較方便操作,增加題量。這樣的話學(xué)生考試中隨機(jī)取試題時(shí)能夠更加全面。2、對(duì)已經(jīng)錄入的試題進(jìn)行管理,包括查看試題,更新試題和刪除試題。通過查看試題看看老師錄入的試題是否是正確的和完整等信息。更新試題可以更改試題的答案和解析以及重新更新試題題目,可以避免試題長(zhǎng)時(shí)間不更換。刪除試題,主要是在錄入試題中有些不需要的試題可以直接點(diǎn)擊刪除試題,這樣使得試題更加的準(zhǔn)確。3、查詢已經(jīng)錄入的試題。在老師管理學(xué)生模塊中,完成如下功能:查詢指定學(xué)生的成績(jī)。通過輸入學(xué)生的名字查看該學(xué)生的班級(jí),成績(jī)等信息。5、查詢某一個(gè)班級(jí)中所有學(xué)生的成績(jī)。系統(tǒng)功能結(jié)構(gòu)圖,如下圖2-3,系統(tǒng)功能結(jié)構(gòu)圖。在線考試系統(tǒng)在線考試系統(tǒng)學(xué)生老師在線考試查看考試成績(jī)查看試題解析學(xué)生管理管理試題成績(jī)管理試卷管理圖2-3系統(tǒng)結(jié)構(gòu)圖3.2數(shù)據(jù)庫設(shè)計(jì)3.2.1數(shù)據(jù)庫概要說明在開發(fā)在線考試系統(tǒng)之前分析了本系統(tǒng)的數(shù)據(jù)量,由于本系統(tǒng)管理學(xué)生考試主要是包括了老師管理、學(xué)生管理、試題管理三個(gè)方面,要占用的數(shù)據(jù)空間不是特別大,所以,選擇MYSQL數(shù)據(jù)庫存儲(chǔ)這些信息,數(shù)據(jù)庫命名為db_examsystem,在數(shù)據(jù)庫中創(chuàng)建3個(gè)數(shù)據(jù)表用于存儲(chǔ)不同的信息。3.2.2數(shù)據(jù)庫設(shè)計(jì)數(shù)據(jù)庫(Database)是按照數(shù)據(jù)結(jié)構(gòu)織、存儲(chǔ)和管理數(shù)據(jù)的倉庫,它產(chǎn)生于距今五十年前,隨著信息技術(shù)場(chǎng)的發(fā)展,特別是二十世紀(jì)九十年代以后,數(shù)據(jù)管理再僅僅是存儲(chǔ)和管理數(shù)據(jù),而轉(zhuǎn)變成用戶所需要的各種數(shù)據(jù)管理的方式。數(shù)據(jù)庫有很多種類型,從最簡(jiǎn)單的存儲(chǔ)有各種數(shù)據(jù)的表格到能夠進(jìn)行海量數(shù)據(jù)存儲(chǔ)的大型數(shù)據(jù)庫系統(tǒng)都在各個(gè)方面得到了廣泛的應(yīng)用。

數(shù)據(jù)庫設(shè)計(jì)(Database

Design)是指對(duì)于一個(gè)給定的應(yīng)用環(huán)境,構(gòu)造最優(yōu)的數(shù)據(jù)庫模式,建立數(shù)據(jù)庫及其應(yīng)用系統(tǒng),使之能夠有效地存儲(chǔ)數(shù)據(jù),滿足各種用戶的應(yīng)用需求(信息要求和處理要求)。數(shù)據(jù)庫設(shè)計(jì)是建立數(shù)據(jù)庫及其應(yīng)用系統(tǒng)的技術(shù),是信息系統(tǒng)開發(fā)和建議中的核心技術(shù)。由于數(shù)據(jù)庫應(yīng)用系統(tǒng)的復(fù)雜性,為了支持相關(guān)程序運(yùn)行,數(shù)據(jù)庫設(shè)計(jì)就變得異常復(fù)雜,因此最佳設(shè)計(jì)不可能一蹴而就,而只能是一種“反復(fù)探尋,逐步求精”的過程,也就是規(guī)劃和結(jié)構(gòu)化數(shù)據(jù)庫中的數(shù)據(jù)對(duì)象以及這些數(shù)據(jù)對(duì)象之間關(guān)系的過程。3.2.3用例圖 用例圖描述軟件系統(tǒng)和外部參與者之間的交互。在線考試系統(tǒng)一共包含兩種權(quán)限的用戶角色,分別是學(xué)生和老師。下面分別是這兩個(gè)角色多對(duì)應(yīng)的用例圖:學(xué)生用例圖:如圖2-4所示。提交試題答案提交試題答案學(xué)生查看試題解析查看正確答案查看考試成績(jī)抽取試題圖2-4學(xué)生用例圖2、老師用例圖:如圖2-5所示。圖圖2-5老師用例圖錄入試題修改試題試題庫管理老師試卷管理管理學(xué)生刪除試題查詢?cè)囶}試卷維護(hù)試卷生成修改試卷試卷刪除

4詳細(xì)設(shè)計(jì)4.1數(shù)據(jù)表設(shè)計(jì) 通過調(diào)查分析各種資料,根據(jù)本管理系統(tǒng)用戶需要操作和處理的各種數(shù)據(jù),對(duì)數(shù)據(jù)表進(jìn)行了分析。確定在數(shù)據(jù)庫中存儲(chǔ)的各種數(shù)據(jù)之間的關(guān)系以及數(shù)據(jù)類型,列舉出部分?jǐn)?shù)據(jù)表的關(guān)系如下:

4.1.1試題信息表試題信息表包括試題編號(hào)、試題題目、選項(xiàng)A、B、C、D,正確答案、試題解析。如圖4-1所示表4-1試題信息表字段名數(shù)據(jù)類型是否主鍵描述subjectID整數(shù)(int)是試題編號(hào)subjectTitle文本(varchar)否試題題目subjectOptionA文本(varchar)否A選項(xiàng)subjectOptionB文本(varchar)否B選項(xiàng)subjectOptionC文本(varchar)否C選項(xiàng)subjectOptionD文本(varchar)否D選項(xiàng)subjectAnswer文本(varchar)否正確答案subjectParse文本(text)否試題解析4.1.2學(xué)生信息表 學(xué)生信息表包括學(xué)生編號(hào)、學(xué)生登錄密碼、學(xué)生姓名、考試成績(jī)、所屬班級(jí)如表4-2所示。表4-2學(xué)生信息表字段名數(shù)據(jù)類型是否主鍵描述studentID文本(varchar)是學(xué)生編號(hào)passwprd文本(varchar)否學(xué)生登錄密碼studentName文本(varchar)否學(xué)生姓名result整數(shù)(int)否考試成績(jī)sclass文本(varchar)否所屬班級(jí)4.1.3老師信息表老師信息表包括老師編號(hào)、老師登錄密碼。如表4-3所示表4-3老師信息表字段名數(shù)據(jù)類型是否主鍵描述teacherID文本(varchar)是老師編號(hào)password文本(varchar)否老師登錄密碼4.2系統(tǒng)登錄界面設(shè)計(jì) 啟動(dòng)系統(tǒng)首先進(jìn)入系統(tǒng)登錄界面,根據(jù)身份的不同,可以進(jìn)入不同的界面, 首先需要對(duì)用戶進(jìn)行身份驗(yàn)證,以老師身份登錄系統(tǒng)的用戶則跳轉(zhuǎn)到管理頁面;可以進(jìn)行用戶管理。考試管理、試題管理等操作。以考生身份登錄的用戶就可以進(jìn)入考生界面則跳轉(zhuǎn)到考試頁面。系統(tǒng)流程圖如圖4-1所示。前臺(tái)考試主頁面前臺(tái)考試主頁面獲取隨機(jī)試題提交試題答案查看考試成績(jī)查看正確答案查看試題解析試題管理主頁面錄入試題修改試題刪除試題查詢?cè)囶}身份識(shí)別是否合法否是學(xué)生是老師圖4-1系統(tǒng)流程圖

4.3系統(tǒng)主要包含的包Com.exam.action包主要是處理響應(yīng)事件的動(dòng)作。Com.exam.dao包主要是進(jìn)行數(shù)據(jù)交互事件處理Com.exam.hibernate包是建立hibernateSession工廠,主要是讀取配置文件和根據(jù)配置文件創(chuàng)建sessionFactory對(duì)象。Com.exam.po包主要是包含實(shí)體類和數(shù)據(jù)庫映射關(guān)系類。主要的功能是實(shí)體類通過映射文件操作數(shù)據(jù)庫。如:<hibernate-mapping>表示hibernate的映射。Com.exam.service包是一個(gè)業(yè)務(wù)層。Com.exam.util包存放的是一些工具包。Hibernate.cfg.xml文件是hibernate的配置文件。主要是數(shù)據(jù)庫文件配置數(shù)據(jù)庫的連接和指定相應(yīng)的映射文件。Struts.xml文件根據(jù)頁面請(qǐng)求跳轉(zhuǎn)到相應(yīng)的頁面。4.4界面設(shè)計(jì)4.4.1登錄界面程序啟動(dòng)后,進(jìn)入登陸窗體,用戶輸入用戶名和密碼,然后進(jìn)行登錄。登錄界面模塊中主要實(shí)現(xiàn)如下功能:

(1)可進(jìn)行選擇用戶身份,支持鼠標(biāo)操作。

(2)用戶名和密碼驗(yàn)證成功后,進(jìn)入相應(yīng)的界面。

(3)用戶名錯(cuò)誤或密碼錯(cuò)誤提醒并返回輸入有誤。如圖4-2所示。圖4-2登錄界面4.4.2老師登錄進(jìn)入的界面老師輸入編號(hào),密碼進(jìn)行登錄。進(jìn)入系統(tǒng)主要實(shí)現(xiàn)的功能如下:1、題管理模塊主要是實(shí)現(xiàn)錄入試題、管理試題、查詢?cè)囶}三個(gè)功能。2、理模塊主要是實(shí)現(xiàn)通過姓名查找學(xué)生成績(jī)和查找某班級(jí)全部學(xué)生成績(jī)兩個(gè)功能模塊。老師進(jìn)入的界面,如圖4-3所示。圖4-3老師進(jìn)入設(shè)計(jì)界面4.4.3錄入試題界面錄入試題只要是為了提供考生考試,所以試題的錄入主要包括了試題題目、選項(xiàng)、答案和試題解析,錄入試題的設(shè)計(jì)界面如圖4-4所示。圖4-4錄入試題設(shè)計(jì)界面4.4.4管理試題題庫的健全性關(guān)系到考試的質(zhì)量,如果考試試題出現(xiàn)錯(cuò)誤了就要及時(shí)的更改,規(guī)則會(huì)影響到考試的考試。所以管理試題是題庫維護(hù)的重點(diǎn),管理試題的設(shè)計(jì)界面如圖4-5所示。圖4-5管理試題設(shè)計(jì)界面4.4.6學(xué)生登錄進(jìn)入的界面學(xué)生通過輸入編號(hào)和密碼進(jìn)入系統(tǒng)之后。有系統(tǒng)隨機(jī)選題進(jìn)行答題,答完題目之后有系統(tǒng)自動(dòng)判卷評(píng)分,考生可以查看成績(jī)及試題解析等操作。如圖4-6所示。圖4-6學(xué)生進(jìn)入的考試頁面

5主要代碼5.1配置文件代碼5.1.1讀取配置文件創(chuàng)建sessionFactory對(duì)象代碼指定配置文件路徑,創(chuàng)建sessionFactory對(duì)象,其作用主要有:1、用于管理Hibernate會(huì)話(session)的對(duì)象,所以,最最最簡(jiǎn)單的理解,你可以把sessionFactory想想成里面有一個(gè)DataSource;

2、這個(gè)對(duì)象創(chuàng)建了,hibernate才真正和數(shù)據(jù)庫連接上了。即SessionFactory維護(hù)著所有連接對(duì)象已經(jīng)連接對(duì)象的分配和銷毀;

3、SessionFactory是線程安全的,并且創(chuàng)建和銷毀需要消耗比較大的資源,所以整個(gè)應(yīng)用里面針對(duì)一個(gè)數(shù)據(jù)庫只需要一個(gè)SessionFactory即可;

4、SessionFactory管理著配置在其中的映射對(duì)象的解析數(shù)據(jù),動(dòng)作監(jiān)聽器,NamedQuery等大量信息;publicclassHibernateSessionFactory{ privatestaticStringCONFIG_FILE_LOCATION ="/hibernate.cfg.xml"; //指定配置文件路徑 privatestaticfinalThreadLocal<Session>threadLocal =newThreadLocal<Session>(); //定義ThreadLocal對(duì)象 privatestaticConfigurationconfiguration =newConfiguration(); //定義Configuration對(duì)象 privatestaticorg.hibernate.SessionFactorysessionFactory;//定義SessionFactory對(duì)象 privatestaticStringconfigFile=CONFIG_FILE_LOCATION; static{ try{ configuration.configure(configFile);//讀取配置文件 sessionFactory= configuration.buildSessionFactory();//根據(jù)配置文件創(chuàng)建SessionFactory對(duì)象 }catch(Exceptione){ System.err .println("%%%%ErrorCreatingSessionFactory%%%%"); e.printStackTrace(); } } privateHibernateSessionFactory(){ } publicstaticSessiongetSession()throwsHibernateException{ Sessionsession=(Session)threadLocal.get();//從ThreadLocal對(duì)象中獲得Session對(duì)象 if(session==null||!session.isOpen()){//判斷獲得的Session對(duì)象是否為空或者未打開 if(sessionFactory==null){//如果沒有創(chuàng)建SessionFactory對(duì)象,則首先創(chuàng)建 rebuildSessionFactory(); } //如果SessionFactory對(duì)象不為空,則調(diào)用其openSession方法創(chuàng)建Session對(duì)象 session=(sessionFactory!=null)?sessionFactory.openSession():null; threadLocal.set(session);//在ThreadLocal對(duì)象中保存該Session對(duì)象 } returnsession; } publicstaticvoidrebuildSessionFactory(){ try{ configuration.configure(configFile);//讀取配置文件 sessionFactory= configuration.buildSessionFactory();//根據(jù)配置文件創(chuàng)建sessionFactory對(duì)象 }catch(Exceptione){ System.err .println("%%%%ErrorCreatingSessionFactory%%%%"); e.printStackTrace(); } } publicstaticvoidcloseSession()throwsHibernateException{ Sessionsession=(Session)threadLocal.get();//從ThreadLocal對(duì)象中獲得Session對(duì)象 threadLocal.set(null);//將當(dāng)前線程Session對(duì)象從ThreadLocal對(duì)象中移除 if(session!=null){ session.close(); } } publicstaticorg.hibernate.SessionFactorygetSessionFactory(){//取得SessionFactory對(duì)象 returnsessionFactory; } publicstaticvoidsetConfigFile(StringconfigFile){//設(shè)置新的配置文件 HibernateSessionFactory.configFile=configFile; sessionFactory=null; } publicstaticConfigurationgetConfiguration(){//獲得Configuration對(duì)象 returnconfiguration; }}5.1.2hibernate數(shù)據(jù)庫文件配置數(shù)據(jù)庫的連接主要是與數(shù)據(jù)庫連接,配置數(shù)據(jù)庫文件,從而使得頁面中插入數(shù)據(jù)能夠直接輸入到數(shù)據(jù)庫中。<?xmlversion='1.0'encoding='UTF-8'?><!DOCTYPEhibernate-configurationPUBLIC"-//Hibernate/HibernateConfigurationDTD3.0//EN""/hibernate-configuration-3.0.dtd"><hibernate-configuration><session-factory><propertyname="dialect">org.hibernate.dialect.MySQLDialect</property> <!--數(shù)據(jù)庫方言--><propertyname="connection.url">jdbc:mysql://localhost/db_examsystem</property><!--數(shù)據(jù)庫連接URL--><propertyname="connection.username">root</property> <!--數(shù)據(jù)庫用戶名--><propertyname="connection.password">123</property> <!--數(shù)據(jù)庫用戶密碼--><propertyname="connection.driver_class">com.mysql.jdbc.Driver</property><!--數(shù)據(jù)庫驅(qū)動(dòng)類--><mappingresource="com/exam/po/Student.hbm.xml"/><mappingresource="com/exam/po/Teacher.hbm.xml"/><mappingresource="com/exam/po/Subject.hbm.xml"/> </session-factory></hibernate-configuration>5.2部分功能代碼5.2.1登錄界面代碼老師學(xué)生登錄的頁面,通過用戶名和密碼登錄系統(tǒng)。publicclassLoginActionextendsActionSupport{ privateStringid; //接受用戶編號(hào) privateStringpassword; //接受用戶密碼 privateStringrole; //接受用戶角色 privateStudentServicestudentService=newStudentServiceImpl();//學(xué)生業(yè)務(wù)邏輯組件引用 privateTeacherServiceteacherService=newTeacherServiceImpl();//教師業(yè)務(wù)邏輯組件引用 publicStringgetId(){ returnid; } publicvoidsetId(Stringid){ this.id=id; } publicStringgetPassword(){ returnpassword; } publicvoidsetPassword(Stringpassword){ this.password=password; } publicStringgetRole(){ returnrole; } publicvoidsetRole(Stringrole){ this.role=role; } //判斷登錄條件 publicStringexecute()throwsException{ if("student".equals(role)){//如果以學(xué)生身份登錄 if(studentService.allowLogin(id,password)){ StudentstudentInfo=studentService.getStudentInfo(id); //保存學(xué)生記錄到session范圍 Mapsession=ActionContext.getContext().getSession(); session.put("studentInfo",studentInfo); return"studentSuccess"; }else{ addActionError("該學(xué)生編號(hào)不存在,或者密碼不正確!"); returnthis.INPUT; } }else{ if(teacherService.allowLogin(id,password)){ return"teacherSuccess"; }else{ addActionError("該教師編號(hào)不存在,或者密碼不正確!"); returnthis.INPUT; } } }}5.2.2獲得更新試題代碼在頁面中插入試題的時(shí)候需要更新試題,這樣可以保持實(shí)時(shí)更新。publicclassSubjectUpdateActionextendsActionSupport{ privateintsubjectID; privateStringsubjectTitle; privateStringsubjectOptionA; privateStringsubjectOptionB; privateStringsubjectOptionC; privateStringsubjectOptionD; privateStringsubjectAnswer; privateStringsubjectParse; privateSubjectServicesubjectService=newSubjectServiceImpl(); publicintgetSubjectID(){ returnsubjectID; } publicvoidsetSubjectID(intsubjectID){ this.subjectID=subjectID; } publicStringgetSubjectTitle(){ returnsubjectTitle; } publicvoidsetSubjectTitle(StringsubjectTitle){ this.subjectTitle=subjectTitle; } publicStringgetSubjectOptionA(){ returnsubjectOptionA; } publicvoidsetSubjectOptionA(StringsubjectOptionA){ this.subjectOptionA=subjectOptionA; } publicStringgetSubjectOptionB(){ returnsubjectOptionB; } publicvoidsetSubjectOptionB(StringsubjectOptionB){ this.subjectOptionB=subjectOptionB; } publicStringgetSubjectOptionC(){ returnsubjectOptionC; } publicvoidsetSubjectOptionC(StringsubjectOptionC){ this.subjectOptionC=subjectOptionC; } publicStringgetSubjectOptionD(){ returnsubjectOptionD; } publicvoidsetSubjectOptionD(StringsubjectOptionD){ this.subjectOptionD=subjectOptionD; } publicStringgetSubjectAnswer(){ returnsubjectAnswer; } publicvoidsetSubjectAnswer(StringsubjectAnswer){ this.subjectAnswer=subjectAnswer; } publicStringgetSubjectParse(){ returnsubjectParse; } publicvoidsetSubjectParse(StringsubjectParse){ this.subjectParse=subjectParse; } publicStringexecute()throwsException{ Subjectsubject=newSubject(); subject.setSubjectID(subjectID); subject.setSubjectTitle(subjectTitle); subject.setSubjectOptionA(subjectOptionA); subject.setSubjectOptionB(subjectOptionB); subject.setSubjectOptionC(subjectOptionC); subject.setSubjectOptionD(subjectOptionD); subject.setSubjectAnswer(subjectAnswer); subject.setSubjectParse(subjectParse); subjectService.updateSubject(subject);//更新 ServletActionContext.getRequest().setAttribute("subject",subject); this.addActionMessage("更新成功!"); returnSUCCESS; }}

總結(jié)經(jīng)過近三個(gè)月的努力,我的畢業(yè)設(shè)計(jì)業(yè)基本已經(jīng)完成了。從考試的課題分析和查找資料,到最后的畢業(yè)論文的撰寫,我都能夠一步一步地按照任務(wù)要求去來進(jìn)行。無紙化考試系統(tǒng)是網(wǎng)絡(luò)和數(shù)據(jù)庫在教學(xué)方面的一個(gè)很好的應(yīng)用。通過無紙化考試系統(tǒng),教師可以方便快捷的從實(shí)體的管理到試卷的生成,從聯(lián)機(jī)考試到試卷的批改,最后到成績(jī)的錄入的一系列工作。通過該系統(tǒng),可以省去了一系列復(fù)雜的工作。在設(shè)計(jì)過程中,我遇到了不少的問題,但是通過我自己的努力、同學(xué)和指導(dǎo)老師的幫助,這些問題我都能夠一一解決。雖然處理的方法不是最好的,或者有可能是最壞的、沒有效率的一種,但是我從中仍然學(xué)到了不少東西。雖然在線考試系統(tǒng)已經(jīng)基本上完成,但是其功能還是不太令人滿意。比如,沒有對(duì)考試系統(tǒng)的試題進(jìn)行科目的分類。學(xué)生不能夠針對(duì)自己想要考試的試題科目進(jìn)行有目的的訓(xùn)練,試題只有選擇題,還需改進(jìn)加入其他類型的題型,沒有注冊(cè)的頁面,數(shù)據(jù)庫的訪問也不夠安全。在整個(gè)畢業(yè)論文設(shè)計(jì)的過程中我學(xué)到了做任何事情所要有的態(tài)度和心態(tài),首先我明白了做學(xué)問要一絲不茍,對(duì)于出現(xiàn)的任何問題和偏差都不要輕視,要通過正確的途徑去解決,在做事情的過程中要有耐心和毅力,不要一遇到困難就打退堂鼓,只要堅(jiān)持下去就可以找到思路去解決問題的。在工作中要學(xué)會(huì)與人合作的態(tài)度,認(rèn)真聽取別人的意見,這樣做起事情來就可以事倍功半。

致謝我能夠按時(shí)完成我的畢業(yè)設(shè)計(jì),首先要感謝我的指導(dǎo)老師。他在我設(shè)計(jì)畢業(yè)設(shè)計(jì)期間經(jīng)常給我?guī)椭蛦l(fā)。在我遇到難題時(shí)他總是能夠耐心的指導(dǎo)我,幫助我去克服。感謝他們提出寶貴的意見和建議。另外,要感謝在大學(xué)期間所有傳授我知識(shí)的老師,是你們的悉心教導(dǎo)使我有了良好的專業(yè)課知識(shí),這也是論文得以完成的基礎(chǔ)。感謝我的同學(xué)們,在我遇到問題時(shí)不厭其煩的給我講解,讓我有了進(jìn)步。論文的順利完成,首先我要感謝我的指導(dǎo)老師李閱歷老師以及周圍同學(xué)朋友的幫助,再次感謝以上所有的人,謝謝!

參考文獻(xiàn)[1]JavaWeb開發(fā)實(shí)戰(zhàn)經(jīng)典清華大學(xué)出版社;[2]郭鋒等我的J2EE成功之路電子工業(yè)出版社,2009;[3]劉乃麗JavaEE項(xiàng)目案例-基于EclipseSpringStrutsHibernate.人民郵電出版社,2008;[4]數(shù)據(jù)庫系統(tǒng)基礎(chǔ)教程機(jī)械工業(yè)出版社;[5]AllenHolub;IfIwereKing:AproposalforfixingtheJavaprogramminglanguage'sthreadingproblems,[J]2000,p101;[6]RenaudPawlak;JAC:AFlexibleSolutionforAspect-OrientedProgramminginJava;[J];外文會(huì)議;2001年01月01日,p38;[7]/detail--5007182.html;[8]/question/142292379.html; [9]/kszx/itrz/java/2008/11/26/1422.shtml;[10]/Article/kjcx/kjcx200910/kjcx200910108.html;基于C8051F單片機(jī)直流電動(dòng)機(jī)反饋控制系統(tǒng)的設(shè)計(jì)與研究基于單片機(jī)的嵌入式Web服務(wù)器的研究MOTOROLA單片機(jī)MC68HC(8)05PV8/A內(nèi)嵌EEPROM的工藝和制程方法及對(duì)良率的影響研究基于模糊控制的電阻釬焊單片機(jī)溫度控制系統(tǒng)的研制基于MCS-51系列單片機(jī)的通用控制模塊的研究基于單片機(jī)實(shí)現(xiàn)的供暖系統(tǒng)最佳啟停自校正(STR)調(diào)節(jié)器單片機(jī)控制的二級(jí)倒立擺系統(tǒng)的研究基于增強(qiáng)型51系列單片機(jī)的TCP/IP協(xié)議棧的實(shí)現(xiàn)基于單片機(jī)的蓄電池自動(dòng)監(jiān)測(cè)系統(tǒng)基于32位嵌入式單片機(jī)系統(tǒng)的圖像采集與處理技術(shù)的研究基于單片機(jī)的作物營(yíng)養(yǎng)診斷專家系統(tǒng)的研究基于單片機(jī)的交流伺服電機(jī)運(yùn)動(dòng)控制系統(tǒng)研究與開發(fā)基于單片機(jī)的泵管內(nèi)壁硬度測(cè)試儀的研制基于單片機(jī)的自動(dòng)找平控制系統(tǒng)研究基于C8051F040單片機(jī)的嵌入式系統(tǒng)開發(fā)基于單片機(jī)的液壓動(dòng)力系統(tǒng)狀態(tài)監(jiān)測(cè)儀開發(fā)模糊Smith智能控制方法的研究及其單片機(jī)實(shí)現(xiàn)一種基于單片機(jī)的軸快流CO〈,2〉激光器的手持控制面板的研制基于雙單片機(jī)沖床數(shù)控系統(tǒng)的研究基于CYGNAL單片機(jī)的在線間歇式濁度儀的研制基于單片機(jī)的噴油泵試驗(yàn)臺(tái)控制器的研制基于單片機(jī)的軟起動(dòng)器的研究和設(shè)計(jì)基于單片機(jī)控制的高速快走絲電火花線切割機(jī)床短循環(huán)走絲方式研究基于單片機(jī)的機(jī)電產(chǎn)品控制系統(tǒng)開發(fā)基于PIC單片機(jī)的智能手機(jī)充電器基于單片機(jī)的實(shí)時(shí)內(nèi)核設(shè)計(jì)及其應(yīng)用研究基于單片機(jī)的遠(yuǎn)程抄表系統(tǒng)的設(shè)計(jì)與研究基于單片機(jī)的煙氣二氧化硫濃度檢測(cè)儀的研制基于微型光譜儀的單片機(jī)系統(tǒng)單片機(jī)系統(tǒng)軟件構(gòu)件開發(fā)的技術(shù)研究基于單片機(jī)的液體點(diǎn)滴速度自動(dòng)檢測(cè)儀的研制基于單片機(jī)系統(tǒng)的多功能溫度測(cè)量?jī)x的研制基于PIC單片機(jī)的電能采集終端的設(shè)計(jì)和應(yīng)用基于單片機(jī)的光纖光柵解調(diào)儀的研制氣壓式線性摩擦焊機(jī)單片機(jī)控制系統(tǒng)的研制基于單片機(jī)的數(shù)字磁通門傳感器基于單片機(jī)的旋轉(zhuǎn)變壓器-數(shù)字轉(zhuǎn)換器的研究基于單片機(jī)的光纖B

溫馨提示

  • 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ì)自己和他人造成任何形式的傷害或損失。

最新文檔

評(píng)論

0/150

提交評(píng)論