基于Java的在線考試系統(tǒng)的設(shè)計(jì)與實(shí)現(xiàn)_第1頁(yè)
基于Java的在線考試系統(tǒng)的設(shè)計(jì)與實(shí)現(xiàn)_第2頁(yè)
基于Java的在線考試系統(tǒng)的設(shè)計(jì)與實(shí)現(xiàn)_第3頁(yè)
基于Java的在線考試系統(tǒng)的設(shè)計(jì)與實(shí)現(xiàn)_第4頁(yè)
基于Java的在線考試系統(tǒng)的設(shè)計(jì)與實(shí)現(xiàn)_第5頁(yè)
已閱讀5頁(yè),還剩27頁(yè)未讀, 繼續(xù)免費(fèi)閱讀

下載本文檔

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

文檔簡(jiǎn)介

1、山西大學(xué)論文 編號(hào):2008241063論文題目 基于Java的在線考試系統(tǒng)的設(shè)計(jì)與實(shí)現(xiàn)姓 名 院系、專(zhuān)業(yè) 計(jì)算機(jī)科學(xué)與技術(shù)、計(jì)算機(jī)科學(xué)與技術(shù) 學(xué)習(xí)年限 年 月至 年 月指導(dǎo)教師 學(xué)位級(jí)別 2013年4月4日基于Java的在線考試系統(tǒng)的設(shè)計(jì)與實(shí)現(xiàn)學(xué)生姓名: 指導(dǎo)老師:內(nèi)容提要 當(dāng)今世界網(wǎng)絡(luò)信息技術(shù)迅速發(fā)展,網(wǎng)絡(luò)在人們生活中的應(yīng)用越來(lái)越廣泛,在線考試已經(jīng)成為人才選拔的重要途徑。本系統(tǒng)基于B/S模式,使用Java語(yǔ)言及JSP/servlet技術(shù),采用DIV+CSS布局方法,使用SQLServer2005數(shù)據(jù)庫(kù)技術(shù)和TomCat服務(wù)器實(shí)現(xiàn)了B/S模式下的在線考試系統(tǒng)。本系統(tǒng)由學(xué)生、教師和系統(tǒng)管理員三

2、種用戶(hù)組成。學(xué)生登陸系統(tǒng)可以進(jìn)行在線考試、成績(jī)查詢(xún)和修改部分個(gè)人信息;教師登陸后可以進(jìn)行判卷和修改部分個(gè)人信息;管理員登陸后可以對(duì)用戶(hù)和試題進(jìn)行維護(hù)并且實(shí)現(xiàn)了用戶(hù)信息和試題的批量導(dǎo)入。本系統(tǒng)可用性很強(qiáng),能用來(lái)進(jìn)行多種計(jì)算機(jī)語(yǔ)言課程的考試。關(guān)鍵詞 在線考試;java;SQLServer;JSP/servlet 1 引言1.1問(wèn)題的提出目前,各行各業(yè)都需要大量的人才,而人才選拔的最重要的途徑則是考試?,F(xiàn)階段,學(xué)校的考試模式大都是傳統(tǒng)的考試模式:由老師出紙面上的卷子,學(xué)生在在卷子上答題,交卷后有老師人工判卷。這樣的考試模式一是不利于老師提高工作效率;二是傳統(tǒng)的考試模式工作量大容易出錯(cuò)。隨著考試類(lèi)型的

3、不斷增加和考試要求的不斷提高,傳統(tǒng)的考試模式已經(jīng)不能滿(mǎn)足現(xiàn)在選拔人才的要求。隨著計(jì)算機(jī)各方面技術(shù)的迅猛發(fā)展和應(yīng)用在各行各業(yè)的不斷深入,人們迫切要求利用這些先進(jìn)的科學(xué)技術(shù)來(lái)實(shí)現(xiàn)在線考試,不僅可以減輕教師的工作負(fù)擔(dān)而且還能提高老師的工作效率和考試的質(zhì)量。從而使考試變得更加客觀、公正,也可以在一定程度上提高學(xué)生的學(xué)習(xí)興趣。在線考試系統(tǒng)可以實(shí)現(xiàn)對(duì)學(xué)生考試和老師判卷的合理化管理,不僅能節(jié)省人工大量的時(shí)間,而且在一定程度上可以消除人的主觀因素造成的影響,使考試變得更規(guī)范,更加客觀、真實(shí)、全面的反應(yīng)考生的水平和教學(xué)的實(shí)際效果,有助于促進(jìn)教學(xué)質(zhì)量的提高,有助于真正實(shí)現(xiàn)考、教的分離。1.2系統(tǒng)開(kāi)發(fā)目標(biāo)本系統(tǒng)計(jì)劃

4、實(shí)現(xiàn)一個(gè)基于Java的在線考試系統(tǒng)。系統(tǒng)主要分為三大模塊,學(xué)生、老師和管理員。學(xué)生登陸進(jìn)行考試,考試完成后系統(tǒng)自動(dòng)為客觀題評(píng)分。教師登陸系統(tǒng),系統(tǒng)還原學(xué)生考試試卷,教師對(duì)主觀題評(píng)完分后系統(tǒng)可以計(jì)算出學(xué)生總分,并生成各分?jǐn)?shù)段分布信息,供給老師參考,以便能夠了解學(xué)生的學(xué)習(xí)情況。管理員可以實(shí)現(xiàn)對(duì)用戶(hù)信息的增、刪、改、查,也可以實(shí)現(xiàn)對(duì)考題的增、刪、改、查。1.3開(kāi)發(fā)工具的選擇本系統(tǒng)開(kāi)發(fā)語(yǔ)言為JAVA,開(kāi)發(fā)環(huán)境是MyEclipse,前臺(tái)頁(yè)面主要用DreamWeaver來(lái)設(shè)計(jì)。由于本系統(tǒng)數(shù)據(jù)量和負(fù)載量都比較大,從經(jīng)濟(jì)和效率上考慮本系統(tǒng)選用SQLServer2005數(shù)據(jù)庫(kù)。本系統(tǒng)的數(shù)據(jù)庫(kù)不限制題量。 Web

5、服務(wù)器選Apache開(kāi)源組織提供的TomCat,因?yàn)門(mén)omCat是一個(gè)免費(fèi)的開(kāi)源軟件是被SUN公司推薦的Web服務(wù)器。1.4開(kāi)發(fā)本系統(tǒng)的意義從電子文檔、多媒體的應(yīng)用,到利用Internet做嘗試,網(wǎng)絡(luò)已經(jīng)滲入到教育體系的各個(gè)環(huán)節(jié)網(wǎng)上考試系統(tǒng)作為這場(chǎng)變革中必不可少的環(huán)節(jié)之一,受到越來(lái)越多的關(guān)注網(wǎng)上考試系統(tǒng)不僅和傳統(tǒng)考試方式一樣要權(quán)衡公平性,而且還具有一些新特點(diǎn):1. 從管理的角度看,在線考試系統(tǒng)可以幫助教師完成一個(gè)考試從題的設(shè)計(jì),考試的實(shí)施,考卷的批改到分?jǐn)?shù)的統(tǒng)計(jì)和總結(jié)的所有工作,系統(tǒng)實(shí)現(xiàn)了考試的無(wú)紙化管理,提高了管理效率,也很好地實(shí)現(xiàn)了教考的分離。2. 在不改變傳統(tǒng)考試基本步驟的條件下,只要考

6、試客戶(hù)端可以連接到考試應(yīng)用服務(wù)器,考生進(jìn)行身份確認(rèn),都能完成考試。3. 考試結(jié)果反饋及時(shí)準(zhǔn)確??荚嚨慕Y(jié)果在教師修改考完之后就可以知道,同時(shí)提供一個(gè)反饋信息讓考生知道自己哪些題做錯(cuò)了,考生的考試結(jié)果可以被保存下來(lái),供教師進(jìn)行分析統(tǒng)計(jì)和察看。2 系統(tǒng)分析2.1技術(shù)可行性分析本系統(tǒng)的開(kāi)發(fā)將要用到JSP/Servlet、SQLServer數(shù)據(jù)庫(kù)技術(shù)。硬件只需要一臺(tái)pc機(jī),裝上軟件MyEclipse,DreamWeaver等開(kāi)發(fā)工具 ,利用SQLserver2005作為后臺(tái)的數(shù)據(jù)庫(kù),利用Tomcat作為Web服務(wù)器,所以在這方面來(lái)說(shuō)是可行的。已經(jīng)掌握了開(kāi)發(fā)考試系統(tǒng)方法和開(kāi)發(fā)工具,并且已經(jīng)了解和熟悉了在線

7、考試系統(tǒng)的業(yè)務(wù)流程。綜上所述本系統(tǒng)開(kāi)發(fā)從技術(shù)上是可行的。2.2經(jīng)濟(jì)可行性從經(jīng)濟(jì)效益來(lái)分析,本系統(tǒng)的開(kāi)發(fā)成本不大。由于系統(tǒng)運(yùn)行的基礎(chǔ)環(huán)境均已具備,無(wú)需重新開(kāi)發(fā)搭建,所以系統(tǒng)的開(kāi)發(fā)、運(yùn)行所需費(fèi)用是比較低的。而系統(tǒng)的效益很高可以提高管理效率實(shí)現(xiàn)計(jì)算機(jī)化、系統(tǒng)化、規(guī)范化操作,效率大于投入,可行性很高。2.3方案可行性根據(jù)系統(tǒng)的分析,本系統(tǒng)充分從適用性出發(fā),全面為不同的使用用戶(hù)考慮。使系統(tǒng)的許多功能與規(guī)則都可根據(jù)用戶(hù)的習(xí)慣進(jìn)行定制,包括軟件界面、操作方式、錄入方式等。本系統(tǒng)的設(shè)計(jì)充分從使用用戶(hù)和教務(wù)教學(xué)任務(wù)考慮。3 需求分析3.1系統(tǒng)用戶(hù)本考試系統(tǒng)用戶(hù)主要分為三類(lèi):學(xué)生、教師、管理員。1.學(xué)生需求學(xué)生登

8、陸系統(tǒng)主要進(jìn)行兩類(lèi)操作:在線考試,成績(jī)查詢(xún)與個(gè)人信息管理。(1)在線考試學(xué)生登陸時(shí)自己選擇考試科目。學(xué)生在考試過(guò)程中頁(yè)面將提供考試時(shí)間倒計(jì)時(shí)功能,讓考生隨時(shí)可以知道剩余時(shí)間,在考試剩余五分鐘時(shí)系統(tǒng)會(huì)提醒考生考試快結(jié)束了。在考試時(shí)間到時(shí),系統(tǒng)自動(dòng)地將試卷提交,提醒考生離開(kāi)考場(chǎng)。當(dāng)試卷提交后,系統(tǒng)自動(dòng)為選擇題、判斷題等客觀題評(píng)分,主觀題由教師評(píng)分。(2)成績(jī)查詢(xún)與個(gè)人信息維護(hù)學(xué)生可以登陸系統(tǒng)查詢(xún)各科成績(jī),其中成績(jī)信息包括每種題型的得分,如單選題,簡(jiǎn)答題等。另外學(xué)生還可以查詢(xún)自己的考卷,了解自己的考試情況。除此之外,學(xué)生登陸系統(tǒng)可以查看和修改個(gè)人的部分信息。2.教師需求教師登陸系統(tǒng)主要有三類(lèi)操作:查

9、看和修改學(xué)生試卷,查看各分?jǐn)?shù)段統(tǒng)計(jì),個(gè)人信息的修改與維護(hù)(1)查看/修改學(xué)生試卷系統(tǒng)會(huì)將學(xué)生試卷從數(shù)據(jù)庫(kù)中讀出供給老師查看和修改,系統(tǒng)已經(jīng)對(duì)客觀題進(jìn)行了評(píng)分,所以這些信息對(duì)于教師是只讀的。而對(duì)于主觀題,系統(tǒng)將參考答案讀出供給老師參考,再將考生答案讀出供給教師評(píng)分。(2)查看分?jǐn)?shù)段統(tǒng)計(jì)教師批好試卷之后,系統(tǒng)會(huì)自動(dòng)將成績(jī)匯總,生成各分?jǐn)?shù)段統(tǒng)計(jì)信息,供給老師查看,以便教師能了解學(xué)生的考試情況,并對(duì)其進(jìn)行分析以便及時(shí)修改教學(xué)計(jì)劃。(3)個(gè)人信息維護(hù)教師登陸系統(tǒng)之后可以對(duì)個(gè)人的部分信息進(jìn)行查看和修改。3.管理員系統(tǒng)管理員登陸系統(tǒng)后主要進(jìn)行四類(lèi)操作:考題維護(hù),考試信息維護(hù),用戶(hù)信息維護(hù)和個(gè)人信息維護(hù)。(1

10、)考題的維護(hù)管理員可以往題庫(kù)中添加考題,修改錯(cuò)誤試題和刪除無(wú)用試題。為了方便試題的維護(hù),管理員也可以用excel表對(duì)試題進(jìn)行批量導(dǎo)入。(2)考試信息的維護(hù)考試信息的維護(hù)主要是對(duì)于考試設(shè)置信息進(jìn)行維護(hù),這些信息主要是考試總時(shí)間,各個(gè)類(lèi)型試題的數(shù)量,各試題分值的分布等。(3)用戶(hù)維護(hù)系統(tǒng)管理員可以對(duì)用戶(hù)的全部信息(包括學(xué)生信息,教師信息等)進(jìn)行增、刪、改、查操作。管理員也可以批量導(dǎo)入用戶(hù)的信息,方便有大量的用戶(hù)。(4)個(gè)人信息維護(hù)管理員也可以對(duì)自己的基本信息進(jìn)行維護(hù)。3.2實(shí)體關(guān)系圖據(jù)分析系統(tǒng)實(shí)體關(guān)系圖如圖3.1所示:圖3.1 系統(tǒng)E-R圖系統(tǒng)各實(shí)體關(guān)系如下:用戶(hù):用戶(hù)標(biāo)記 1:N考試設(shè)置:用戶(hù)標(biāo)

11、記 1:N考題:考試設(shè)置 N:1考題:試卷 1:N用戶(hù):試卷 1:N試卷:成績(jī) N:1用戶(hù):成績(jī) 1:N4總體設(shè)計(jì)4.1系統(tǒng)功能模塊圖根據(jù)3.1所述需求,設(shè)計(jì)出系統(tǒng)功能模塊如圖4.1所示圖4.1 系統(tǒng)的功能模塊圖4.2系統(tǒng)功能模塊1在線考試在線考試的流程如下:首先系統(tǒng)按照一定的算法為登陸的考生隨機(jī)選取一定的試題生成考試試卷,考生在系統(tǒng)生成好試卷后進(jìn)行答題操作。答題必須在規(guī)定的時(shí)間內(nèi)進(jìn)行,此時(shí)間是由管理員事先設(shè)置好的,如在規(guī)定的時(shí)間內(nèi)沒(méi)有完成答題,系統(tǒng)將強(qiáng)制提交學(xué)生考試試卷??忌谠嚲硖峤缓笙到y(tǒng)自動(dòng)地為客觀題進(jìn)行評(píng)分,本系統(tǒng)的客觀題主要是單選題,多選題和判斷題。主觀題有老師登陸進(jìn)行判卷得分,主觀

12、題主要是簡(jiǎn)答題和編程題。2. 成績(jī)查詢(xún) 考生根據(jù)用戶(hù)編號(hào)查詢(xún)考試成績(jī)信息。成績(jī)信息包括單選題得分,多選題得分等詳細(xì)信息。頁(yè)面提供對(duì)相應(yīng)科目試卷的鏈接,使得學(xué)生還可以查詢(xún)自己的考卷,了解自己的考試情況。3查看/修改考生試卷 系統(tǒng)首先將考生的試卷讀出,再提提醒老師對(duì)主觀題進(jìn)評(píng)分,等老師對(duì)主觀題進(jìn)行評(píng)分后系統(tǒng)生成考生的成績(jī)信息。4. 分?jǐn)?shù)段統(tǒng)計(jì) 當(dāng)教師對(duì)考卷的主觀題評(píng)定后,系統(tǒng)能自動(dòng)生成分?jǐn)?shù)段統(tǒng)計(jì)信息供給老師查看。此功能有助于老師了解學(xué)生的學(xué)生情況,以便更好的教學(xué)。5. 試題維護(hù)試題維護(hù)是后臺(tái)管理員的重要功能,它包括對(duì)試題進(jìn)行添加,修改,刪除操作。為了使界面更友好,管理員在試題維護(hù)時(shí)系統(tǒng)會(huì)先將考試試

13、題讀出,再提供給管理員進(jìn)行操作。6. 考試設(shè)置信息維護(hù)考試設(shè)置信息維護(hù)是管理員對(duì)考試設(shè)置信息維護(hù),它包括對(duì)考試設(shè)置信息的添加,修改,刪除。這些考試信息包括考試時(shí)間,各題的數(shù)量和分值等。在數(shù)據(jù)庫(kù)中錄入試題后,可以在此設(shè)置相關(guān)考試信息生成試卷,本系統(tǒng)可進(jìn)行多種考試,但是必須是程序語(yǔ)言的相關(guān)考試。7用戶(hù)管理用戶(hù)管理是管理員對(duì)系統(tǒng)用戶(hù)信息的管理。這些用戶(hù)包括學(xué)生和教師。用戶(hù)管理操作包括添加用戶(hù),更新用戶(hù)和刪除用戶(hù)。管理用戶(hù)時(shí),系統(tǒng)會(huì)先將用戶(hù)信息讀出供給管理員參考,再提供給管理員操作。8個(gè)人信息維護(hù)學(xué)生,教師,管理員都可以對(duì)個(gè)人信息進(jìn)行維護(hù)。維護(hù)操作包括對(duì)個(gè)人基本信息進(jìn)行修改和修改密碼等。系統(tǒng)能提供極為

14、友好的界面方便用戶(hù)操作。4.3 后臺(tái)數(shù)據(jù)庫(kù)的設(shè)計(jì)數(shù)據(jù)庫(kù)表結(jié)構(gòu)的設(shè)計(jì)通過(guò)對(duì)系統(tǒng)功能的分析可知,本系統(tǒng)主要包括如下的數(shù)據(jù)庫(kù)信息:1. 用戶(hù)表,該表保存了系統(tǒng)用戶(hù)的基本信息,屬性有用戶(hù)編號(hào)、用戶(hù)名稱(chēng)、用戶(hù)類(lèi)型、用戶(hù)性別。其中用戶(hù)編號(hào)為主碼,它是用戶(hù)信息的唯一標(biāo)識(shí)。表結(jié)構(gòu)如表4.1所示。2. 考生標(biāo)記表,該表用于保存考生是否已經(jīng)考試的標(biāo)識(shí)信息,屬性有用戶(hù)編號(hào)、課程名稱(chēng)、標(biāo)識(shí)信息。其中用戶(hù)編號(hào)和課程名稱(chēng)共同作為主碼。3. 考題表,該表用于保存考題的基本信息,屬性有考題編號(hào),課程名稱(chēng),考題類(lèi)型,題目及參考答案等。其中考題編號(hào)為主碼。表結(jié)構(gòu)如表4.2所示。4. 試卷設(shè)置表,該表用于記錄相應(yīng)課程的考試設(shè)置的相

15、關(guān)信息,屬性有課程名稱(chēng),單選題、多選題、判斷題、簡(jiǎn)答題、編程題數(shù)量和分值,考試時(shí)間等。其中課程名稱(chēng)為主碼。5. 試卷表,該表用于保存考生的試卷信息,屬性有考生編號(hào),課程名稱(chēng),考題類(lèi)型,考生答案和得分等。其中考生編號(hào)和課程名稱(chēng)共同作為主碼。表結(jié)構(gòu)如表4.3所示。6. 成績(jī)表,該表用于保存考生的考試成績(jī)信息,屬性有考生編號(hào),課程名稱(chēng),各考題得分,總得分。其中考生編號(hào)和課程名稱(chēng)共同作為主碼。系統(tǒng)部分表結(jié)構(gòu)如下:表4.1 用戶(hù)表(UserInfo)字段類(lèi)型允許為空說(shuō)明備注UidVarchar(10)否用戶(hù)編號(hào)pknameVarchar(50)是用戶(hù)姓名utypeint是用戶(hù)類(lèi)型1為學(xué)生,2為教師,3為

16、管理員passwordVarchar(10)是密碼sexVarchar(2)是性別表4.2 考題表(Question)字段類(lèi)型允許為空說(shuō)明備注Qidint否考題編號(hào)pk 自增長(zhǎng)qtypeint是考題類(lèi)型1單選題 2多選題 3判斷題 4簡(jiǎn)答題 5編程題courseVarchar(20)是課程名稱(chēng)quesText是題目keyAVarchar(50)是選項(xiàng)AkeyBVarchar(50)是選項(xiàng)BkeyCVarchar(50)是選項(xiàng)CkeyDVarchar(50)是選項(xiàng)Danswertext是參考答案表4.3試卷表(test)字段類(lèi)型允許為空說(shuō)明備注UidVarchar(10)否用戶(hù)編號(hào)pkQidin

17、t否考題編號(hào)pk 題庫(kù)中的題號(hào)CourseVarchar(20)否課程名稱(chēng)Qtypeint否考題類(lèi)型1單選題 2多選題 3判斷題 4簡(jiǎn)答題 5編程題answerText是考生答案Tnumberint否題目編號(hào)試卷中的第幾題scorefloat是得分?jǐn)?shù)據(jù)庫(kù)的連接在本系統(tǒng)中我們使用JDBC橋連接,要進(jìn)行數(shù)據(jù)庫(kù)連接首先要配置數(shù)據(jù)源。按4.3.1和3.2的設(shè)計(jì),設(shè)計(jì)好數(shù)據(jù)庫(kù)ExamOnlie,再建一個(gè)名為ExamOnline的數(shù)據(jù)源。系統(tǒng)連接數(shù)據(jù)庫(kù)的流程圖如圖4.2所示:圖4.2 系統(tǒng)連接數(shù)據(jù)庫(kù)流程圖5.詳細(xì)設(shè)計(jì)5.1公共類(lèi)的設(shè)計(jì)1Domain類(lèi)設(shè)計(jì)由于數(shù)據(jù)庫(kù)使用的類(lèi)系統(tǒng)模型,而java數(shù)據(jù)為對(duì)象模型

18、,使得其模型不匹配。為了方便關(guān)系模型和對(duì)象模型間的轉(zhuǎn)換,建立對(duì)應(yīng)的Domain類(lèi),即數(shù)據(jù)庫(kù)中每個(gè)表對(duì)應(yīng)一個(gè)類(lèi),表中類(lèi)屬性對(duì)應(yīng)表的各屬性。表和類(lèi)的對(duì)應(yīng)關(guān)系如下:用戶(hù)表(UserInfo)用戶(hù)類(lèi)(User)用戶(hù)標(biāo)記表(userflag)用戶(hù)標(biāo)記類(lèi)(UserFlag)考題表(Question)考題類(lèi)(Question)試卷表(test)試卷類(lèi)(Test)試卷設(shè)置表(test_set)試卷設(shè)置類(lèi)(Test)成績(jī)表(record)成績(jī)類(lèi)(Record)試卷考題類(lèi)(TestQuestion)試卷表和考題表聯(lián)合查詢(xún)視圖2.工具類(lèi)的設(shè)計(jì)根據(jù)系統(tǒng)設(shè)計(jì)需求,設(shè)計(jì)如下工具類(lèi)及部分代碼:(1)數(shù)據(jù)庫(kù)連接工具類(lèi),主要提

19、供連接數(shù)據(jù)操作等相關(guān)方法。(2)用戶(hù)操作相關(guān)類(lèi),主要提供對(duì)用戶(hù)表操作的相關(guān)類(lèi)。(3)用戶(hù)標(biāo)記工具類(lèi),主要提供對(duì)用戶(hù)標(biāo)記表的相關(guān)操作方法(4)考題工具類(lèi),主要提供對(duì)考題表的相關(guān)操作方法(5)試卷工具類(lèi),主要提供對(duì)試卷表的相關(guān)操作方法(6)考試設(shè)置工具類(lèi),主要提供對(duì)考試設(shè)置表的相關(guān)操作方法(7)試卷考題工具類(lèi),主要提供對(duì)試卷表考題表聯(lián)合查詢(xún)視圖的相關(guān)操作方法(8)成績(jī)工具類(lèi),主要提供對(duì)成績(jī)表的相關(guān)操作方法。 5.2在線考試模塊在線考試流程為:首先系統(tǒng)將考試信息和考生個(gè)人信息提供給考生,并要求考生核對(duì)個(gè)人信息。在考試開(kāi)始時(shí)系統(tǒng)為登陸的考生選取試題生成考卷,考生在系統(tǒng)生成試卷后進(jìn)行答題。答題必須在規(guī)定

20、的時(shí)間內(nèi)進(jìn)行,如在規(guī)定的時(shí)間內(nèi)未完成答題,系統(tǒng)將強(qiáng)制提交學(xué)生的考卷。試卷提交后系統(tǒng)自動(dòng)地為客觀題進(jìn)行評(píng)分,并將試卷保存,供給老師查看和修改。在線考試流程圖如圖5.1所示。圖5.1 在線考試流程圖學(xué)生考試打開(kāi)試卷,試卷的形成用到了抽題算法,抽提算法如下:產(chǎn)生一個(gè)隨機(jī)整數(shù),這個(gè)數(shù)在0和相應(yīng)題型總考題數(shù)之間。從這個(gè)隨機(jī)數(shù)開(kāi)始抽取試題,抽取數(shù)量為試卷設(shè)置中相應(yīng)題型的個(gè)數(shù)(此數(shù)小于總題數(shù)),其抽題流程如圖5.2如示。圖5.2 選題流程圖隨機(jī)選題操作方法主要代碼及說(shuō)明:此方法輸入?yún)?shù)為課程名稱(chēng)course,需要題數(shù)count,試題類(lèi)型type;抽題過(guò)程使用了一個(gè)for循環(huán);輸出為一個(gè)包含抽取的試題信息的集

21、合ArrayList。抽題的部分代碼如下:int temp = (int)(Math.random()*totalCount); /隨機(jī)產(chǎn)生一個(gè)0-總題數(shù)之間的隨機(jī)整數(shù) try conn = new DBAccess.getConnection(); /取題 for(int i = 0;i<count;i+) int tempCount = (temp+i)%totalCount; /sql的查詢(xún)語(yǔ)句 String sql = "select top 1 * from Question where qtype="+type+" and course='

22、;"+course+"' and Qid not in(select top "+tempCount+" Qid from Question where qtype="+type+" and course='"+course+"')" ps = conn.prepareStatement(sql); rs = ps.executeQuery(); Question ques = new Question(); if(rs.next() /保存試題 ques.setId(rs.get

23、Int(1); ques.setType(1); ques.setQues(rs.getString(4); ques.setKeyA(rs.getString(5); ques.setKeyB(rs.getString(6); ques.setKeyC(rs.getString(7); ques.setKeyD(rs.getString(8); ques.setAnswer(rs.getString(9); al.add(ques); catch(Exception e)e.printStackTrace();/打印出異常信息finallydb.CloseDB(conn, ps, rs);/

24、關(guān)閉數(shù)據(jù)庫(kù)連接return al;5.2成績(jī)查詢(xún)模塊設(shè)計(jì)考生根據(jù)用戶(hù)編號(hào)查詢(xún)考試成績(jī)信息,查詢(xún)到的成績(jī)是考生的所有課程的成績(jī)。成績(jī)信息包括單選題得分,多選題得分等詳細(xì)信息。5.3查看/修改考生試卷模塊設(shè)計(jì)教師登陸后,可以對(duì)考生試卷進(jìn)行查看和修改。系統(tǒng)首先將考生的試卷讀出,教師可能看到系統(tǒng)對(duì)試卷主觀題的評(píng)定。系統(tǒng)會(huì)提提醒老師對(duì)主觀題進(jìn)評(píng)分,等老師對(duì)主觀題進(jìn)行評(píng)分,系統(tǒng)會(huì)將保存對(duì)學(xué)生試卷的評(píng)定,而后生成考生的成績(jī)信息。查看/修改考生試卷的流程圖如圖5.3所示。圖5.3查看/修改學(xué)生試卷流程圖5.4分?jǐn)?shù)段統(tǒng)計(jì)模塊設(shè)計(jì)當(dāng)教師對(duì)考卷的主觀題評(píng)定后,系統(tǒng)能自動(dòng)生成分?jǐn)?shù)段統(tǒng)計(jì)信息供給老師查看。統(tǒng)計(jì)分?jǐn)?shù)段包括

25、及格率、60-69分、70-79、80-89和90分以上,在統(tǒng)計(jì)各分?jǐn)?shù)段總?cè)藬?shù)的同時(shí)計(jì)算出各分?jǐn)?shù)段占考生總數(shù)的比例。5.5試題維護(hù)模塊設(shè)計(jì)試題維護(hù)是后臺(tái)管理員的重要功能,它包括對(duì)試題的添加、修改和刪除操作。在進(jìn)行這些操作時(shí)系統(tǒng)會(huì)先將考試試題讀出,再提供給管理中員操作。試題維護(hù)流程圖如圖5.4所示。 圖5.4 考題維護(hù)流程圖56考試設(shè)置信息維護(hù)模塊設(shè)計(jì)考試設(shè)置信息維護(hù)是管理員對(duì)考試設(shè)置信息維護(hù),它包括對(duì)考試設(shè)置信息的添加,修改,刪除。這些考試信息包括考試時(shí)間,各題的數(shù)量和分值等。設(shè)置時(shí),系統(tǒng)先讀取已存在的考試設(shè)置信息供給管理員查詢(xún),再提供給管理員操作??荚囋O(shè)置信護(hù)流程圖如圖5.5所示。圖5.5

26、考試設(shè)置信息維護(hù)流程圖5.7用戶(hù)管理模塊設(shè)計(jì)用戶(hù)管理是管理員對(duì)系統(tǒng)用戶(hù)信息的管理。這些用戶(hù)包括學(xué)生和教師。用戶(hù)管理操作包括添加用戶(hù),更新用戶(hù)和刪除用戶(hù)。添加用戶(hù)時(shí),刪除管理用戶(hù)時(shí),系統(tǒng)會(huì)先將用戶(hù)信息讀出供給管理員參考,再提供給管理員操作。用戶(hù)密碼不用設(shè)置,系統(tǒng)默認(rèn)為“123456”;修改用戶(hù)時(shí)用戶(hù)編號(hào)和用戶(hù)密碼不能被修改其它均能被修改;用戶(hù)時(shí),系統(tǒng)會(huì)先提醒管理員是否刪除,若果確認(rèn)刪除才能刪除用戶(hù)。用戶(hù)管理流程圖如圖5.6所示。圖5.6 用戶(hù)管理流程圖本系統(tǒng)的用戶(hù)信息實(shí)現(xiàn)了批量(excel表)導(dǎo)入,用戶(hù)信息的批量導(dǎo)入程序?qū)崿F(xiàn)流程如圖5.7圖5.7 用戶(hù)信息批量導(dǎo)入程序流程圖用戶(hù)信息批量導(dǎo)入關(guān)鍵代

27、碼及說(shuō)明: /取出excel表中的數(shù)據(jù)InputStream is = DateStu.class.getClassLoader().getResourceAsStream("student.xls");try Workbook wb = Workbook.getWorkbook(is); / 創(chuàng)建工作簿 jxl.Sheet sheet = wb.getSheet(0); / 創(chuàng)建工作表 String content = null; for (int i = 1; i < sheet.getRows(); i+) / i代表行 從1開(kāi)始 Student stu = n

28、ew Student(); for (int j = 0; j < sheet.getColumns(); j+) / j代表列 從0開(kāi)始 content = sheet.getCell(j, i).getContents();/此處實(shí)現(xiàn)判斷導(dǎo)入的各屬性信息,部分代碼省略 if (stu.getId() = null) stu.setId(sheet.getCell(j, i).getContents(); continue;getStudentInfo(stu); catch (BiffException e) e.printStackTrace(); catch (IOExcepti

29、on e) e.printStackTrace(); /將取出的值插入數(shù)據(jù)庫(kù)String sql = "insert into UserInfo(Uid,utype,name,password,sex) values('"+ stu.getId()+ "'," + stu.getType()+ ",'"+ stu.getName()+ "','" + stu.getPassword() + "','" + stu.getSex() + &q

30、uot;')"DBAccess db = new DBAccess();Connection con = db.getConnection();try Statement state = con.createStatement();int i = state.executeUpdate(sql); catch (SQLException e) e.printStackTrace();5.8個(gè)人信息維護(hù)模塊設(shè)計(jì)系統(tǒng)用戶(hù)包括學(xué)生,教師,管理員都可以對(duì)個(gè)人信息進(jìn)行維護(hù)。維護(hù)操作包括對(duì)個(gè)人基本信息進(jìn)行修改,修改密碼等。系統(tǒng)能提供極為友好的界面方便用戶(hù)操作。對(duì)其本信息進(jìn)行時(shí),用戶(hù)不能修

31、改自己的編號(hào)。對(duì)密碼進(jìn)行修改時(shí)按昭一般系統(tǒng)的要求先確認(rèn)舊密碼,再輸入新密碼和確認(rèn)新密碼。6.前臺(tái)部分界面6.1系統(tǒng)主界面將工程導(dǎo)入Tomcat的項(xiàng)目文件夾中即webapps文件夾中, 再啟動(dòng)TomCat服務(wù)器。在瀏覽器中輸入工程的URL,如“www.localhost:8080/ExamOnline”可進(jìn)入系統(tǒng)操作界面,用戶(hù)可以選擇操作。如圖6.1所示。圖6.1 系統(tǒng)主界面6.2在線考試界面圖6.2 在線考試界面7.致謝時(shí)光荏苒,畢業(yè)設(shè)計(jì)也接近了尾聲,由于時(shí)間緊迫任務(wù)繁重,同時(shí)自己經(jīng)驗(yàn)知識(shí)的匱乏,在本次設(shè)計(jì)中難免會(huì)遇到一些困難,但多虧了老師和同學(xué)的幫助才有幸完成了本次畢業(yè)設(shè)計(jì)。在此我

32、要多謝我的指導(dǎo)老師。老師工作繁重,但在我做畢業(yè)設(shè)計(jì)的每個(gè)階段,從查閱資料到設(shè)計(jì)草案的確定和修改,中期檢查,后期詳細(xì)設(shè)計(jì),裝配草圖等整個(gè)過(guò)程中都給予了我悉心的指導(dǎo)。同時(shí)我還要感謝我的同學(xué),感謝他們?cè)谖倚枰獛椭臅r(shí)候都默默的幫著我,無(wú)論是技術(shù)方面的還是生活方面的,他們都給了我很大的幫助,其次在此次畢業(yè)設(shè)計(jì)時(shí)發(fā)現(xiàn)了網(wǎng)絡(luò)上極大的資源可以供我們利用,雖然有好多不會(huì)的,但是可以在網(wǎng)上查到很多資料,現(xiàn)在利用的一部分東西還不是很懂,但是培養(yǎng)了自己的學(xué)習(xí)和查找資源的能力。希望以后自己更加努力進(jìn)步。參考文獻(xiàn)1 郝玉龍JavaEE 編程技術(shù)北京:清華大學(xué)出版社,2008.8:20-352 王珊數(shù)據(jù)庫(kù)系統(tǒng)概論北京:高

33、等教育出版社,2006.5:12-2343 嚴(yán)蔚敏.數(shù)據(jù)結(jié)構(gòu).北京:清華大學(xué)出版社,2003:214-3054 Core Java第1卷.思軟科技內(nèi)部教材.2011:115-1735 Core Java第2卷.思軟科技內(nèi)部教材.2011: 46-936JSP/Servlet.思軟科技內(nèi)部教材.2011:8-937 趙文靖.Java程序設(shè)計(jì)基礎(chǔ)與上機(jī)指導(dǎo).北京:清華大學(xué)出版社,2006:23-1088 王路群.Java高級(jí)程序設(shè)計(jì).北京:中國(guó)水利水電出版社,200635-999 雍俊海.Java程序設(shè)計(jì)習(xí)題集.北京:清華大學(xué)出版社,2006:1-1210 朱福喜.Java語(yǔ)言習(xí)題與解析.北京:清華大學(xué)出版社,2006:12-3311 吳其慶.Java程序設(shè)計(jì)實(shí)例教程.北京:冶金工業(yè)出版社,2006:3-10Design and implementation of the online examination system based on JavaStudent Name:Quan Zhimin Tutor:Sang YanliA

溫馨提示

  • 1. 本站所有資源如無(wú)特殊說(shuō)明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請(qǐng)下載最新的WinRAR軟件解壓。
  • 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請(qǐng)聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶(hù)所有。
  • 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁(yè)內(nèi)容里面會(huì)有圖紙預(yù)覽,若沒(méi)有圖紙預(yù)覽就沒(méi)有圖紙。
  • 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
  • 5. 人人文庫(kù)網(wǎng)僅提供信息存儲(chǔ)空間,僅對(duì)用戶(hù)上傳內(nèi)容的表現(xiàn)方式做保護(hù)處理,對(duì)用戶(hù)上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對(duì)任何下載內(nèi)容負(fù)責(zé)。
  • 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請(qǐng)與我們聯(lián)系,我們立即糾正。
  • 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時(shí)也不承擔(dān)用戶(hù)因使用這些下載資源對(duì)自己和他人造成任何形式的傷害或損失。

最新文檔

評(píng)論

0/150

提交評(píng)論