王保銀 雷新華
摘要:網(wǎng)絡(luò)在線考試系統(tǒng)是傳統(tǒng)考場(chǎng)的延伸,利用它簡(jiǎn)化了傳統(tǒng)考試的過(guò)程,節(jié)約了成本,是電子化教學(xué)不可缺少的一個(gè)重要環(huán)節(jié)。筆者使用SQL server數(shù)據(jù)庫(kù)技術(shù)、JDBC開(kāi)發(fā)技術(shù)操作數(shù)據(jù)庫(kù),設(shè)法為學(xué)校創(chuàng)建一個(gè)簡(jiǎn)單快捷的在線考試平臺(tái)。筆者對(duì)在線考試系統(tǒng)的功能需求進(jìn)行了分析,并給出了系統(tǒng)功能結(jié)構(gòu)、各用戶功能設(shè)計(jì)、數(shù)據(jù)庫(kù)設(shè)計(jì)及系統(tǒng)的部分實(shí)現(xiàn)。
關(guān)鍵詞:在線考試;SQL server數(shù)據(jù)庫(kù);JDBC;JSP
中圖分類號(hào):TP311 文獻(xiàn)標(biāo)識(shí)碼:A 文章編號(hào):1009-3044(2018)07-0075-03
網(wǎng)絡(luò)化教育作為教育改革的發(fā)展方向,已經(jīng)成為我們學(xué)習(xí)中不可或缺的一部分,作為網(wǎng)絡(luò)化教育的目標(biāo),網(wǎng)絡(luò)考試系統(tǒng)的出現(xiàn)也成為了必然,在線考試也成為一個(gè)重要的研究領(lǐng)域。無(wú)紙化考試作為一種更加高效快捷的考試手段,已經(jīng)開(kāi)始進(jìn)入普通學(xué)校,正在給傳統(tǒng)教育模式帶來(lái)新的變革。與傳統(tǒng)考試模式相比,在線考試系統(tǒng)使組卷、閱卷方式更為靈活,同時(shí)充分利用計(jì)算機(jī)進(jìn)行自動(dòng)閱卷功能,大大減輕了教師的工作量,同時(shí)也使得考試變得更加的公平。
1 需求分析
根據(jù)對(duì)學(xué)??荚嚥块T的調(diào)查和對(duì)傳統(tǒng)考試實(shí)際的流程分析,要求在線考試系統(tǒng)具有以下功能:
1)實(shí)現(xiàn)特定對(duì)象的驗(yàn)證登錄(管理員、教師、學(xué)生),只有驗(yàn)證有效的用戶才可以登錄,不同的用戶會(huì)被賦予不同的權(quán)限,不同用戶可以通過(guò)選擇對(duì)應(yīng)的用戶類型,然后輸入用戶名和密碼登錄系統(tǒng)及修改自己密碼的功能。
2)系統(tǒng)要有一個(gè)友好的界面和完善的試卷上傳和回收功能,確保信息傳送的正確性以及考試的順利進(jìn)行。學(xué)生登錄系統(tǒng)后,在規(guī)定時(shí)間內(nèi)完成答卷并給出相應(yīng)分?jǐn)?shù)。
3)題庫(kù)和試卷管理的功能,包括對(duì)試題的增刪、檢查,對(duì)試卷的組卷和發(fā)布功能。
4)實(shí)現(xiàn)教師對(duì)考生成績(jī)的統(tǒng)計(jì)和學(xué)生成績(jī)查詢等管理功能。
根據(jù)以上需求分析,設(shè)計(jì)系統(tǒng)工作流程圖如圖1所示。
2 系統(tǒng)功能結(jié)構(gòu)
2.1 各模塊的詳細(xì)介紹
1)考生登錄:
在用戶層:考生通過(guò)主登錄頁(yè)面輸入用戶名與密碼,進(jìn)入考試系統(tǒng)。
在web層:將從登陸入口處得到的用戶名、密碼和從業(yè)務(wù)層的相應(yīng)用戶名和密碼作比較,如果用戶、密碼正確且還未登錄就登錄考試頁(yè)面,否則提示錯(cuò)誤,跳轉(zhuǎn)到出錯(cuò)頁(yè)面,并提示重新登陸。
在業(yè)務(wù)層:獲得與之對(duì)應(yīng)sql server數(shù)據(jù)庫(kù)的連接,并讀取所有的用戶名和密碼信息,將該信息傳入web層。
在EIS層:對(duì)應(yīng)的是sql server數(shù)據(jù)庫(kù)中的students表格。
2)考試模塊(選擇題):
在客戶層:瀏覽器顯示考生所需要作答的考試題目,考生輸入考試答案,考生做完題目后,點(diǎn)擊交卷按鈕上傳題目。
在Web層:jsp負(fù)責(zé)從業(yè)務(wù)層中獲得試卷,并將試題向客戶端顯示。
在業(yè)務(wù)層:獲得與數(shù)據(jù)庫(kù)的連接,并且取出題目。
在EIS層:對(duì)應(yīng)的是數(shù)據(jù)庫(kù)中選擇題正確答案choose數(shù)據(jù)。
3)答案上傳模塊:
在客戶層:在瀏覽器中單擊交卷按鈕將做完的答案提交至相應(yīng)位置。
在Web層:將考生提交的答案提交給相應(yīng)的javabean組件,并在客戶端顯示考試結(jié)束提示信息。
在業(yè)務(wù)層:將提交上來(lái)的考生考試答案存入相應(yīng)的數(shù)據(jù)庫(kù)中。
在EIS層:數(shù)據(jù)庫(kù)中students表格,在兩個(gè)相應(yīng)字段存放該考生考試提交的答案。
2.2 在線考試系統(tǒng)的總體架構(gòu)
如圖2所示。
3 詳細(xì)設(shè)計(jì)
3.1 系統(tǒng)設(shè)計(jì)
根據(jù)對(duì)設(shè)計(jì)目標(biāo)軟件的需求分析和設(shè)計(jì),為確保系統(tǒng)各項(xiàng)功能的實(shí)現(xiàn),下面將分登錄設(shè)計(jì)、管理員用戶設(shè)計(jì)、教師用戶設(shè)計(jì)、學(xué)生用戶設(shè)計(jì),這四個(gè)模塊,對(duì)系統(tǒng)所需要實(shí)現(xiàn)的全部功能進(jìn)行設(shè)計(jì)和說(shuō)明。
3.1.1 登錄設(shè)計(jì)
登錄部分設(shè)計(jì)功能:具有一個(gè)用戶登錄界面,用戶能夠通過(guò)輸入自己的用戶名和密碼登錄系統(tǒng),并選擇對(duì)應(yīng)用戶,然后點(diǎn)擊“登錄”按鈕;系統(tǒng)通過(guò)與數(shù)據(jù)庫(kù)中的數(shù)據(jù)進(jìn)行比對(duì),確認(rèn)一致后方才跳轉(zhuǎn)至相應(yīng)的操作界面進(jìn)行下一步操作。在用戶輸入數(shù)據(jù)有誤的時(shí)候可以通過(guò)點(diǎn)擊“重置”按鈕進(jìn)行重新輸入。在不同用戶(管理員、教師、學(xué)生)的登錄驗(yàn)證無(wú)誤之后,系統(tǒng)會(huì)根據(jù)各用戶權(quán)限對(duì)調(diào)用相應(yīng)的數(shù)據(jù)庫(kù)數(shù)據(jù),跳轉(zhuǎn)至相應(yīng)的用戶界面。
3.1.2 管理員用戶功能設(shè)計(jì)
管理員用戶設(shè)計(jì)功能:修改密碼、查詢、添加、刪除各種權(quán)限的用戶(管理員、老師、學(xué)生),對(duì)試卷進(jìn)行查詢和刪除,設(shè)定考試時(shí)間。
3.1.3 教師用戶功能設(shè)計(jì)
教師用戶設(shè)計(jì)功能:試題庫(kù)的管理和試卷的生成,查看考生考試成績(jī)。
3.1.4 學(xué)生用戶功能設(shè)計(jì)
學(xué)生用戶設(shè)計(jì)功能:在規(guī)定的考試時(shí)間之內(nèi),學(xué)生參加考試,考試結(jié)束交卷。如果考試時(shí)間到了,學(xué)生沒(méi)
有交卷,系統(tǒng)會(huì)自動(dòng)交卷??荚嚱Y(jié)束后,學(xué)生可以查看考試成績(jī)。
3.2 數(shù)據(jù)庫(kù)設(shè)計(jì)
3.2.1 數(shù)據(jù)庫(kù)設(shè)計(jì)概要說(shuō)明
本系統(tǒng)采用SQL server 數(shù)據(jù)庫(kù),系統(tǒng)數(shù)據(jù)庫(kù)名為ypgl,其中包含了15個(gè)表,其中臨時(shí)表有8個(gè),而作為數(shù)據(jù)存儲(chǔ)表的有7個(gè)。數(shù)據(jù)存儲(chǔ)表:allusers(管理員表)、chengji(成績(jī)表)、duoxuanti(多選題庫(kù)表)、kaosheng(考生信息表)、panduanti(判斷題庫(kù)表)、tiankongti(填空題表)、xuanzeti(選擇題庫(kù)表)。
3.2.2 主要數(shù)據(jù)表的結(jié)構(gòu)
數(shù)據(jù)庫(kù)中的管理員表和成績(jī)表分別如表1 、表2所示。
3.3 連接數(shù)據(jù)庫(kù)
在瀏覽器端程序訪問(wèn)數(shù)據(jù)庫(kù)時(shí),首先通過(guò)中間件,由中間件對(duì)數(shù)據(jù)庫(kù)操作權(quán)限進(jìn)行驗(yàn)證,只有驗(yàn)證通過(guò)才能對(duì)數(shù)據(jù)庫(kù)進(jìn)行操作。對(duì)數(shù)據(jù)庫(kù)的增刪檢查操作都封裝在中間件中,其位于服務(wù)器端,對(duì)數(shù)據(jù)庫(kù)進(jìn)行操作完成之后,會(huì)將結(jié)果通過(guò)Web服務(wù)器返回給用戶。
數(shù)據(jù)庫(kù)的連接及處理的具體實(shí)現(xiàn)過(guò)程如下:
//首先建立JDBC——ODBC橋
sun.jdbc.odbc.JdbcOdbcDriver;
//JDBC——ODBC橋建立失敗錯(cuò)誤處理
catch(ClassNotFoundException event){}
//建立與數(shù)據(jù)庫(kù)的連接完成后,發(fā)送SQL查詢語(yǔ)句,并將結(jié)果保存到相應(yīng)的rs對(duì)象中
Con=建立JDBC——ODBC橋
Sql=SQL查詢 執(zhí)行查詢
Rs=返回處理結(jié)果
//SQL語(yǔ)句執(zhí)行出錯(cuò)處理
catch(SQLException e1){}
4 系統(tǒng)實(shí)現(xiàn)
在MyEclipse導(dǎo)入源代碼,當(dāng)servers 中MyEclipse Tomcat提示運(yùn)行成功之后,在本地瀏覽器中輸入Java在線考試系統(tǒng)登錄頁(yè)面網(wǎng)址,即可進(jìn)入系統(tǒng)頁(yè)面,進(jìn)行下一步操作。部分程序相關(guān)代碼如下:
已有考生列表:
**以上HTML代碼為實(shí)現(xiàn)考生的條件查詢功能
參考文獻(xiàn):
[1] 明日科技.Java項(xiàng)目開(kāi)發(fā)案例全程實(shí)錄[M].2版.北京:清華大學(xué)出版社,2011.
[2] 周華清.Java典型模塊與項(xiàng)目實(shí)戰(zhàn)大全[M]. 北京:清華大學(xué)出版社,2012.
[3] 楊誼,喻徳曠.JSP網(wǎng)絡(luò)程序設(shè)計(jì)與案例開(kāi)發(fā)教程[M]. 北京:人民郵電出版社,2014.
[4] 范云之.基于Web數(shù)據(jù)庫(kù)在線考試系統(tǒng)的設(shè)計(jì)、實(shí)現(xiàn)研究[J].商丘師范學(xué)院學(xué)報(bào),2006(5):10.
[5] 于兆勤.基于INTERNET的考試系統(tǒng)的研究與開(kāi)發(fā)[J].廣東廣播大學(xué)學(xué)報(bào),2001(8).
[6] 林必英.Web數(shù)據(jù)庫(kù)存取技術(shù)[D].吉林:東北電力大學(xué),1999.