張 錦 林加論 陳明銳
[摘要]系統(tǒng)應(yīng)學(xué)校數(shù)字化教學(xué)改革要求,在Windows server環(huán)境下,用SQL Server 2005管理試題數(shù)據(jù),用Visual FoxPro 9.0開發(fā)后臺管理程序,并使用ASP.NET和HTML技術(shù)編制的一整套醫(yī)學(xué)主干課程在線測試的網(wǎng)絡(luò)考試系統(tǒng)。
[關(guān)鍵詞]醫(yī)學(xué)C/SB/S在線測試WEBADO.NET
中圖分類號:TP3文獻(xiàn)標(biāo)識碼:A文章編號:1671-7597(2009)0710063-03
隨著網(wǎng)絡(luò)技術(shù)和數(shù)據(jù)庫技術(shù)的飛速發(fā)展,以WEB為界面的在線考試,突破了時(shí)間和空間的局限,作為一種先進(jìn)的考試方式,已成為必然趨勢。目前,絕大多數(shù)在線測試系統(tǒng)都是針對一門課程,并且試題類型少,使用起來就有一定的局限性,本系統(tǒng)是應(yīng)學(xué)校數(shù)字化教學(xué)改革要求,開發(fā)的整套針對本校十五門醫(yī)學(xué)主干課程的在線測試系統(tǒng),包含針對醫(yī)學(xué)課程的各種題型,如公共選項(xiàng)、公共題干等。本系統(tǒng)已經(jīng)在全校范圍內(nèi)使用,受到老師與學(xué)生的歡迎。
一、系統(tǒng)總設(shè)計(jì)[1-3]
(一)系統(tǒng)體系使用“三層結(jié)構(gòu)”
本系統(tǒng)采用三層體系結(jié)構(gòu),分別為表現(xiàn)層、中間業(yè)務(wù)層、數(shù)據(jù)層,見圖1。
圖1系統(tǒng)三層體系結(jié)構(gòu)圖
表現(xiàn)層是用戶的接口部分,擔(dān)負(fù)用戶與應(yīng)用之間的對話,包括可以直接看到功能、界面等,用于顯示數(shù)據(jù)和接收用戶輸入的數(shù)據(jù),為用戶提供一種交互式操作的界面。中間業(yè)務(wù)層對應(yīng)Application Server集中于事務(wù)的處理過程,實(shí)現(xiàn)具體的業(yè)務(wù)邏輯處理,通過接口響應(yīng)表示層發(fā)出的請求,完成相應(yīng)的業(yè)務(wù)處理及對數(shù)據(jù)庫的操作[3]。數(shù)據(jù)層采用SQL Server 2005數(shù)據(jù)庫管理系統(tǒng)對數(shù)據(jù)進(jìn)行集中處理,實(shí)現(xiàn)對數(shù)據(jù)的保存和讀取操作。
采用“三層結(jié)構(gòu)”合理地劃分各層功能,從而使整個(gè)系統(tǒng)邏輯結(jié)構(gòu)上更為清晰,提高系統(tǒng)的可維護(hù)性和可擴(kuò)展性,并具有良好的可升級和開放性;利用中間業(yè)務(wù)層,有限地隔離開表示層和數(shù)據(jù)層,未授權(quán)的用戶難以繞過中間層訪問數(shù)據(jù)層,為安全管理奠定基礎(chǔ)。但是“三層結(jié)構(gòu)”開發(fā)模式的缺點(diǎn)是其執(zhí)行速度不夠快。
(二)系統(tǒng)結(jié)構(gòu)的總框架
本系統(tǒng)使用C/S與B/S混合軟件體系結(jié)構(gòu)如圖2,能節(jié)省開發(fā)和維護(hù)成本,使系統(tǒng)具有良好的開發(fā)性,易擴(kuò)展性,便于移植等優(yōu)點(diǎn)。學(xué)生網(wǎng)上考試使用B/S結(jié)構(gòu),學(xué)生機(jī)只需安裝通用的瀏覽器便可以進(jìn)行網(wǎng)上考試或練習(xí)。教師后臺管理程序使用C/S結(jié)構(gòu),使用C/S結(jié)構(gòu)充分發(fā)揮客戶端PC機(jī)的處理能力,很多工作可以在客戶端處理后再提交給服務(wù)器,應(yīng)用服務(wù)器運(yùn)行數(shù)據(jù)負(fù)荷較輕,數(shù)據(jù)的儲存管理功能較為透明。后臺數(shù)據(jù)庫使用SQL Server 2005對數(shù)據(jù)進(jìn)行管理和維護(hù)。SQL Server 2005是一款功能非常強(qiáng)大的數(shù)據(jù)庫管理系統(tǒng),能支持和處理各種類型的數(shù)據(jù),還具備數(shù)據(jù)庫鏡像、在線和快速恢復(fù)、高安全性能、在線檢索、專門的管理員連接等功能。
圖2B/S和C/S混合體系結(jié)構(gòu)
二、系統(tǒng)主要功能模塊
(一)學(xué)生網(wǎng)上測試
學(xué)生網(wǎng)上測試程序采用B/S結(jié)構(gòu),使用ASP.NET+SQL Server 2005和Dreamweaver環(huán)境。B/S結(jié)構(gòu)的優(yōu)勢是其異地瀏覽和信息采集的靈活性,任何時(shí)間、任何地點(diǎn)、任何系統(tǒng),只要可以使用瀏覽器上網(wǎng),就可以使用B/S系統(tǒng)的終端進(jìn)行網(wǎng)上測試,大大簡化了客戶端。
進(jìn)入考試系統(tǒng)頁面,先選擇進(jìn)行考試的科目,如圖3,然后進(jìn)入登錄頁面,可根據(jù)實(shí)際情況進(jìn)行模擬考試或正是考試。在模擬考試狀態(tài)下,學(xué)生可以進(jìn)行多次練習(xí),并能給出答題的對錯(cuò)信息與相應(yīng)的解答;正式考試狀態(tài)下,同一個(gè)考生,只能登錄一次。學(xué)生輸入學(xué)號和密碼登錄后,進(jìn)入試卷信息顯示頁面,然后統(tǒng)根據(jù)教師對試卷的題型、題目數(shù)和小題分?jǐn)?shù)設(shè)置情況,自動生成試卷,如圖4。學(xué)生考試結(jié)束后,系統(tǒng)將會自動判卷,上交考試成績,并給出考試情況,以幫助考生更好的學(xué)習(xí),這樣就對出題、閱卷、統(tǒng)分起到快速、準(zhǔn)確、公平、無誤的良好效果。
圖3科目選擇
圖4試卷界面
(二)教師后臺管理
教師后臺管理程序采用C/S結(jié)構(gòu),使用VFP+SQL Server 2005環(huán)境。
選擇課程和輸入密碼,以教師身份登錄后,教師可以進(jìn)行如下操作:學(xué)生信息管理、題庫維護(hù)、試卷參數(shù)的設(shè)置、測試管理、查看有關(guān)系統(tǒng)使用的說明等。
1.學(xué)生信息管理:能對參加考試的學(xué)生進(jìn)行單個(gè)信息錄入,也能夠?qū)XCEL格式和VFP格式的學(xué)生名單批量添加,并能對學(xué)生信息進(jìn)行修改和刪除。
2.題庫維護(hù):能夠?qū)Χ喾N題型進(jìn)行添加、修改和刪除。因?yàn)樵卺t(yī)學(xué)的題庫中,試題的類型比較多,其中比較特殊的有公共題干(A3)和公共選項(xiàng)(B1)題型,在該系統(tǒng)中,都能方便的進(jìn)行選題和維護(hù)。如圖5。
圖5題庫維護(hù)
3.試卷參數(shù)的設(shè)置:可根據(jù)實(shí)際情況,對試卷的題型、題目數(shù)和小題分?jǐn)?shù)進(jìn)行不同的設(shè)置,因此,試卷的形式比較靈活。
4.測試管理:能夠進(jìn)行在線學(xué)生情況實(shí)時(shí)瀏覽,查看考生的現(xiàn)場狀態(tài);設(shè)置學(xué)生重考,查看考試結(jié)果,對考試成績進(jìn)行匯總,以及將成績以電子表格的形式導(dǎo)出,操作簡單易學(xué)。
三、數(shù)據(jù)庫設(shè)計(jì)
網(wǎng)絡(luò)考試系統(tǒng)離不開數(shù)據(jù)庫系統(tǒng)的支持,不論是試題、答案,還是考生信息都需要存放在數(shù)據(jù)庫中,而且數(shù)據(jù)庫獨(dú)立于程序存在,就有較好的安全性。本系統(tǒng)中的數(shù)據(jù)庫采用Microsoft公司的大型數(shù)據(jù)庫SQL Server 2005實(shí)現(xiàn),數(shù)據(jù)庫名為HainMedicalDBC,其主要表結(jié)構(gòu)描述如下:
Student表:保存考生信息;
Examination表:保存考生成績;
Test表:用來設(shè)定試卷參數(shù);
題庫表:每一個(gè)科目的每一種題型創(chuàng)建一個(gè)表,如erkea1、erkea2等;這樣對題庫的管理操作比較簡單。
四、系統(tǒng)實(shí)現(xiàn)關(guān)鍵技術(shù)
(一)試卷的生成
試卷的生成是本在線測試系統(tǒng)的一大特色,隨機(jī)生成各種題型的題目,且不重復(fù)。但是在醫(yī)學(xué)課程題庫中,不單只是單選題和多選題,還設(shè)計(jì)到公共題干(A3)、公共選項(xiàng)(B1)等特殊的選擇題型,對于公共題干(A3)和公共選項(xiàng)(B1)題型,因?yàn)槊康李}都有它附屬的多個(gè)小題,在從題庫中取題和將題目錄入到題庫中時(shí),有一定的難度和復(fù)雜性,針對這一特點(diǎn),在題庫表中增加schap和scount兩個(gè)字段,用來表明每道題的小題數(shù)和附屬的題目,在取題的時(shí)候,根據(jù)問題是否為空和選項(xiàng)是否為空來判定題目類型,然后再進(jìn)行取題。
下面是動態(tài)讀取公共題干(A3)題型的部分代碼:
<%else
randomize
sid=int(maxtype3*rnd+1)
set rst=conn.execute("select * from mianyia3 where selectid="&sid&" and answer=''")
while rst.eof
randomize
sid=int(maxtype3*rnd+1)
set rst=conn.execute("select * from mianyia3 where selectid="&sid&" and answer=''")
wend'rst.eof
ssid="tk"&cstr(sid)
ninstr=instr(tksidtext,ssid)
if ninstr=0 then
tksidtext=tksidtext & ssid
%>
<%
nrand=rst("srand")
ncount=rst("scount")
%>
">
value=<%=rst("scount")%>>
set rst=conn.execute("select * from mianyia3 where srand="&nrand&" and answer<>''")
for j=1 to ncount
%>
">
……
" >
" >
<%
rst.movenext
next
i=i+1
end if 'ninstr=0
end if 'maxtype3=0
wend'while i<=a3
end if %>
(二)使用ADO.NET數(shù)據(jù)訪問技術(shù)
ADO.NET為.NET構(gòu)架提供了優(yōu)化的數(shù)據(jù)訪問模型,ADO.NET基于XML格式,數(shù)據(jù)類型更加豐富,并且不需要重做COM編排導(dǎo)致的數(shù)據(jù)類型轉(zhuǎn)換,從而提高了整體性能。ADO是一種在線運(yùn)作方式,不論是瀏覽還是更新數(shù)據(jù)都必須是實(shí)時(shí)的,相比之下,ADO.NET則使用離線方式,在訪問數(shù)據(jù)的時(shí)候ADO.NET利用XML制作數(shù)據(jù)的幅本,則只需要在提交或下載數(shù)據(jù)的時(shí)候時(shí)需要在線,并且ADO.NET的數(shù)據(jù)庫連接也只有在這段時(shí)間需要在線。此外,ADO.NET的5個(gè)主要內(nèi)置對象:connection、command、dataset、datareade
r、dataadapter,使得對數(shù)據(jù)庫的操作變得更便捷清晰,其中,ADO.NET的核心組建式Dataset數(shù)據(jù)對象集對象,Dataset提供訪問數(shù)據(jù)庫的一系列接口,是不依賴于數(shù)據(jù)庫的獨(dú)立的數(shù)據(jù)集合[1]。
(三)后臺管理使用XML連接文件
教師后臺管理程序連接數(shù)據(jù)庫使用XML連接文件,使得當(dāng)數(shù)據(jù)庫服務(wù)器地址改變時(shí),只需要修改XML文件中相對應(yīng)的地址信息,
xml version = "1.0" encoding="Windows-1252" standalone="yes"?
五、結(jié)束語
網(wǎng)上教育以其全新的教學(xué)理念和教學(xué)手段提供了一種高效的教育方案,其中網(wǎng)上授課、網(wǎng)絡(luò)在線考試等全新的教學(xué)模式將整個(gè)教育界帶進(jìn)一個(gè)新的時(shí)代[4]。這種基于Web技術(shù)的網(wǎng)絡(luò)考試系統(tǒng)易用、靈活,也具有良好的安全性,管理和測試頁面清晰、操作簡單。該系統(tǒng)對于學(xué)生有模擬考試和正式考試兩部分功能,因此該系統(tǒng)即可以作為在線考試系統(tǒng),也可以作為平時(shí)的教學(xué)檢查,減輕了全校教師和教務(wù)人員的工作負(fù)擔(dān),提高了工作效率。
雖然該系統(tǒng)已經(jīng)在全校范圍內(nèi)使用,但在使用過程發(fā)現(xiàn)有許多需要完善和改進(jìn)的地方,如:增加更多的題型、題量和醫(yī)學(xué)圖片的保存與讀取等,為此需要對其進(jìn)行進(jìn)一步改進(jìn),使其成為功能更加完善、高效、通用性更強(qiáng)的在線測試系統(tǒng),為學(xué)校數(shù)字化教學(xué)改革和未來的遠(yuǎn)程教育提供一個(gè)更加優(yōu)良的環(huán)境。
參考文獻(xiàn):
[1]焦安權(quán)、鐘聲、龔丹九,基于.NET的XML技術(shù)WEB考試系統(tǒng)開發(fā)與研究,海南大學(xué)學(xué)報(bào)(自然科學(xué)版),2008,12:130-133.
[2]駱惠清,基于C/S和B/S混合結(jié)構(gòu)的VFP考試系統(tǒng)[J].鄭州輕工業(yè)學(xué)院學(xué)報(bào)(自然科學(xué)版),2005,11:50-51.
[3]鐘昌樂,C/S及B/S混合結(jié)構(gòu)在臨床醫(yī)學(xué)(全科)病例考試系統(tǒng)中的應(yīng)用[J].現(xiàn)代教育技術(shù),2007,2 :57-59.
[4]張領(lǐng),ASP.NET項(xiàng)目開發(fā)全程實(shí)錄[M].北京:清華大學(xué)出版社,2008.