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