李桂香,胡海清
(浙江同濟(jì)科技職業(yè)學(xué)院,浙江 杭州 311231)
基于JSP的網(wǎng)上考試系統(tǒng)的設(shè)計(jì)與實(shí)現(xiàn)
李桂香,胡海清
(浙江同濟(jì)科技職業(yè)學(xué)院,浙江 杭州 311231)
本文結(jié)合網(wǎng)上考試系統(tǒng)的開(kāi)發(fā)過(guò)程,分析了基于B/S結(jié)構(gòu)的信息系統(tǒng)的基本特征及運(yùn)行機(jī)制,對(duì)基于JSP技術(shù)的系統(tǒng)設(shè)計(jì)與實(shí)現(xiàn)過(guò)程進(jìn)行了具體介紹,并對(duì)系統(tǒng)設(shè)計(jì)過(guò)程中采用的一些主要技術(shù)進(jìn)行了討論。
網(wǎng)上考試系統(tǒng);JSP;數(shù)據(jù)庫(kù)
隨著互聯(lián)網(wǎng)的普及,一些新興的教學(xué)手段如遠(yuǎn)程教學(xué)、網(wǎng)上培訓(xùn)在國(guó)內(nèi)越來(lái)越普及,網(wǎng)上考試也成為一個(gè)熱門(mén)話題?;赪eb的考試系統(tǒng)作為現(xiàn)代遠(yuǎn)程教育的一個(gè)重要組成部分,實(shí)現(xiàn)了整個(gè)考試過(guò)程的全自動(dòng)化管理,大大提高了教學(xué)效率。JSP是一種新的動(dòng)態(tài)Web應(yīng)用技術(shù)標(biāo)準(zhǔn),作為新一代的站點(diǎn)開(kāi)發(fā)語(yǔ)言,JSP(Java Server Page)克服了ASP腳本級(jí)執(zhí)行的不足,具有跨平臺(tái)的互操作性、可擴(kuò)張性、安全性,本文結(jié)合網(wǎng)上考試系統(tǒng)的開(kāi)發(fā),闡述網(wǎng)上考試系統(tǒng)的結(jié)構(gòu)、功能和實(shí)現(xiàn)方法。
1.系統(tǒng)的體系結(jié)構(gòu)
基于Web的網(wǎng)絡(luò)體系結(jié)構(gòu)目前主要有客戶機(jī)/服務(wù)器 C/S (Client/Server) 和瀏覽器/服務(wù)器 B/S(Browser/Server)兩種模式。經(jīng)過(guò)綜合分析,本系統(tǒng)的總體結(jié)構(gòu)采用B/S模式的網(wǎng)絡(luò)體系結(jié)構(gòu)。如圖1所示,該結(jié)構(gòu)共分為三層,表示層、業(yè)務(wù)層和數(shù)據(jù)層,系統(tǒng)通過(guò)界面外觀層向服務(wù)器提交請(qǐng)求;界面規(guī)則層則對(duì)用戶提交的數(shù)據(jù)按照業(yè)務(wù)層要求的接口參數(shù)封裝規(guī)則封裝用戶數(shù)據(jù),然后調(diào)用接口層對(duì)外提供的命令接口,業(yè)務(wù)接口層通過(guò)對(duì)數(shù)據(jù)的解析分別送入不同的邏輯處理并向用戶返回處理結(jié)果;業(yè)務(wù)規(guī)則層則將接口層傳入的數(shù)據(jù)及命令流入對(duì)應(yīng)處理流程;不同的處理流程分析數(shù)據(jù)和命令產(chǎn)生出對(duì)應(yīng)的一個(gè)實(shí)體,這個(gè)實(shí)體根據(jù)其本身的屬性和方法以及上層傳入的命令,將數(shù)據(jù)處理為數(shù)據(jù)層需要的接口參數(shù),向數(shù)據(jù)訪問(wèn)層提交訪問(wèn)數(shù)據(jù)庫(kù)的請(qǐng)求,并向業(yè)務(wù)接口層返回訪問(wèn)結(jié)果;數(shù)據(jù)訪問(wèn)層將數(shù)據(jù)轉(zhuǎn)化為數(shù)據(jù)庫(kù)可識(shí)別的語(yǔ)句,并訪問(wèn)數(shù)據(jù)庫(kù)層,訪問(wèn)結(jié)果會(huì)返回給實(shí)體層;數(shù)據(jù)庫(kù)層處理上層傳入的SQL,讀寫(xiě)數(shù)據(jù)庫(kù)內(nèi)置對(duì)象,并根據(jù)其內(nèi)置對(duì)象本身的關(guān)系對(duì)數(shù)據(jù)作進(jìn)一步校驗(yàn)和處理(數(shù)據(jù)庫(kù)層)。
2.系統(tǒng)的模塊設(shè)計(jì)
系統(tǒng)從總體上分為系統(tǒng)模塊、教師管理模塊和學(xué)生考試模塊,如圖2所示。
(1)系統(tǒng)模塊
系統(tǒng)模塊主要對(duì)整個(gè)系統(tǒng)進(jìn)行維護(hù),具有添加、刪除系統(tǒng)管理員;對(duì)教師和學(xué)生用戶的添加、刪除、統(tǒng)計(jì)和查詢等;結(jié)合教師的基本信息,進(jìn)行專(zhuān)業(yè)和課程管理,設(shè)定院系,對(duì)不同院系之間的訪問(wèn)進(jìn)行權(quán)限控制;考試信息的發(fā)布等功能。
(2)教師管理模塊
教師管理模塊主要是教師對(duì)課程、試卷等進(jìn)行維護(hù),主要包括教師本人所授課程的管理;根據(jù)題型、難度等設(shè)計(jì)試題,添加、修改或刪除自己所授課程的試題;可查詢考生的剩余時(shí)間、是否交卷或正在考試等狀態(tài)信息;根據(jù)教師設(shè)定的試卷結(jié)構(gòu)從題庫(kù)中抽取符合條件的試題自動(dòng)生成試卷;試卷閱卷等。
(3)學(xué)生考試模塊
學(xué)生考試模塊主要是學(xué)生選擇課程、試卷等功能,主要包括學(xué)生選擇考試課程、在線考試、成績(jī)查詢等。
3.系統(tǒng)實(shí)現(xiàn)技術(shù)與方法
目前網(wǎng)上考試系統(tǒng)多使用JSP、ASP、PHP技術(shù),其核心就在于對(duì)后臺(tái)數(shù)據(jù)庫(kù)的操作,通過(guò)對(duì)后臺(tái)數(shù)據(jù)庫(kù)的修改,并及時(shí)將這種修改反映在用戶的瀏覽器端,實(shí)現(xiàn)動(dòng)態(tài)和個(gè)性化的網(wǎng)頁(yè)。
下面對(duì)本系統(tǒng)實(shí)現(xiàn)過(guò)程中用到的主要技術(shù)作一些闡述:
(1)連接數(shù)據(jù)庫(kù)
(2)抽題算法
學(xué)生登錄后,做好開(kāi)考前的準(zhǔn)備,系統(tǒng)根據(jù)出題規(guī)則隨機(jī)組卷,學(xué)生進(jìn)入相應(yīng)的試卷進(jìn)行答題,本系統(tǒng)隨機(jī)試卷的生成是利用隨機(jī)函數(shù)產(chǎn)生的隨機(jī)數(shù)來(lái)選取試題,部分代碼片段如下:
4.部分操作界面顯示
與ASP、PHP技術(shù)相比,采用JSP技術(shù)開(kāi)發(fā)的考試系統(tǒng)在可移植性、安全性、擴(kuò)充性以及運(yùn)行效率等方面均有不同程度的改善與提高,本系統(tǒng)經(jīng)測(cè)試及運(yùn)行試驗(yàn),效果良好。
[1]何雄.JSP網(wǎng)絡(luò)程序設(shè)計(jì)[M].北京:人民郵電出版社,2000.
[2]劉昌華,班鵬新.基于Java技術(shù)的網(wǎng)上考試系統(tǒng)[J].武漢工業(yè)學(xué)報(bào),2003,22(2):40-42.
[3]陳濤.基于W eb的在線考試系統(tǒng)設(shè)計(jì)與實(shí)現(xiàn)[J].四川文理學(xué)院學(xué)報(bào)(自然科學(xué)),2007,17(2):58-60.
G434
A
1673-8454(2010)03-0036-02
(編輯:隗爽)