摘要:為實現(xiàn)大學(xué)設(shè)計類課程上機考試流程自動化,文章設(shè)計并實現(xiàn)了一套基于B/S模式的考試系統(tǒng)。系統(tǒng)主要功能包括學(xué)生登錄檢查、隨機抽題、自動組卷及在線提交考試成果。文章詳細(xì)介紹了系統(tǒng)的設(shè)計、配置和使用方法。系統(tǒng)的優(yōu)勢在于提高教師工作效率,便于學(xué)生使用,并能有效防止考生作弊。
關(guān)鍵詞:設(shè)計類課程;上機考試;B/S模式
中圖分類號:G647;TP399 文獻(xiàn)標(biāo)識碼:A
文章編號:1009-3044(2024)32-0041-03 開放科學(xué)(資源服務(wù))標(biāo)識碼(OSID) :
0 引言
當(dāng)前江蘇師范大學(xué)某些實踐類課程的上機考試仍采用傳統(tǒng)方式,教師打印紙質(zhì)試卷并用U盤拷貝電子文件。這種考試方式的弊端顯而易見:執(zhí)行效率低,教師工作量大,難以防止學(xué)生作弊。
網(wǎng)上也能找到很多類似的考試系統(tǒng),如操心慧、溫智聰?shù)萚1]設(shè)計的考試系統(tǒng),其重點題型為選擇題;黃芳、王紀(jì)鑫等[2]設(shè)計的考試系統(tǒng),其功能以試卷管理與分析為主;宗垚[3]設(shè)計的考試系統(tǒng),其主要適用場景為文科類考試。而江蘇師范大學(xué)某些實踐類課程的上機考試要求是:題型上僅有設(shè)計類大題,無客觀題;考試時須方便學(xué)生現(xiàn)場抽題和組卷,對題庫管理和試卷分析無要求(由教師線下完成);生成的試卷格式有特定規(guī)范。顯然上述系統(tǒng)均無法滿足這些要求。本文的目的是設(shè)計一個符合上述要求的上機考試系統(tǒng)。
1 系統(tǒng)需求分析
1.1 功能需求
1.1.1 學(xué)生端
1) 學(xué)生可在教室隨機選取座位登錄系統(tǒng);系統(tǒng)須檢查學(xué)生的身份和座位號是否合法,允許合法用戶登錄,對不合法輸入給出反饋信息。
2) 系統(tǒng)能按照事先設(shè)定的比例在不同難度等級的題庫中隨機抽取試題,并使鄰位學(xué)生抽到的試題完全無重復(fù)。
3) 一鍵生成符合學(xué)校教務(wù)規(guī)范的標(biāo)準(zhǔn)化試卷。
4) 一鍵下載試卷。學(xué)生因電腦死機等原因調(diào)整座位后,須重新抽題和組卷,避免學(xué)生作弊。
5) 學(xué)生線下考試結(jié)束后可一鍵提交考試成果至服務(wù)器。
1.1.2 教師端
1) 教師線下出題(設(shè)計類上機考試只有大題,無客觀題),每個題目保存為一個Word文檔,并按預(yù)先設(shè)置的難度級別分類。
2) 考試結(jié)束后,教師線下完成試卷批改。
1.2 系統(tǒng)體系結(jié)構(gòu)
基于以上需求,設(shè)計以下系統(tǒng)體系結(jié)構(gòu),如圖1 所示。
1.2.1 系統(tǒng)實現(xiàn)模式
系統(tǒng)基于B/S模式實現(xiàn)。B/S模式的優(yōu)點是實施簡單,僅須在教師機上完成軟件安裝與配置。學(xué)生通過瀏覽器與Web服務(wù)器交互,完成身份驗證、抽題、組卷以及交卷等考試流程。
1.2.2 數(shù)據(jù)訪問技術(shù)
在服務(wù)器端使用SQL Server管理學(xué)生信息和抽題數(shù)據(jù),使用DCOM組件訪問Word文檔。
2 系統(tǒng)設(shè)計
2.1 業(yè)務(wù)流程設(shè)計
系統(tǒng)的主流程和登錄處理子流程見圖2、圖3。
2.1.1 抽題模塊設(shè)計
本考試系統(tǒng)的題庫共包含16個題目,試題難度分3級:1~4題為難度1級,5~12題為難度2級,13~16 題為難度3級。抽題時,從第1級題目中隨機抽取1個小題,從第2級題目中隨機抽取2個小題,從第3級題目中隨機抽取1個小題,共4個小題組成一份試卷。每位同學(xué)抽到的題目與左、右鄰位同學(xué)抽到的每個試題均不重復(fù)。
2.1.2 組卷模塊設(shè)計
第一步,每個題目以Word文檔格式保存,將最后一個抽到的題目以數(shù)據(jù)流的形式寫入新生成的試卷文件,并添加文件結(jié)束符;第二步,通過Word組件(Mi?crosoft.Office.Interop.Word) 打開上述文件,添加試卷頭;第三步,將剩余題目先編寫成“串”,然后依次插入試卷。生成的試卷自動存放到paper文件夾。
2.2 數(shù)據(jù)庫設(shè)計
使用關(guān)系數(shù)據(jù)庫進(jìn)行數(shù)據(jù)庫設(shè)計。本系統(tǒng)使用的管理數(shù)據(jù)只有一張組卷表,其關(guān)系模式見表1,其結(jié)構(gòu)如表2所示。
3 系統(tǒng)實現(xiàn)
使用級聯(lián)式樣單(CSS) 控制用戶界面控件的精確顯示,使用C#.NET編程語言、SQL Server數(shù)據(jù)庫引擎和DCOM組件實現(xiàn)軟件邏輯功能。
3.1 數(shù)據(jù)庫交互主要實現(xiàn)
String connStr = @"Data Source= .; AttachDbFile?name=" + sitePath + @"\TEST2008ID.MDF;Integrated Security=True"; //SQL Server文件數(shù)據(jù)源
conn = new SqlConnection(connStr); //建立連接對象
conn.Open(); //打開連接
string selectStr = "select * from 組卷表 where 學(xué)號=\'" + studentID + "\'";
command = new SqlCommand(selectStr, conn); //建立查詢對象
dr = command.ExecuteReader(); //執(zhí)行查詢
dr.Read(); //讀取數(shù)據(jù)
3.2 Word 文檔交互主要實現(xiàn)
fs1 = new FileStream(fname1, FileMode.Create);//建立試卷文件
bw = new BinaryWriter(fs1); //建立試卷文件寫入流
fs2 = new FileStream(fname2, FileMode.Open, File?Access.Read); //打開末題(第4題)對應(yīng)的Word文檔
br = new BinaryReader(fs2); //建立試題文件讀入流
br.BaseStream.Seek(0, SeekOrigin.Begin); //確定文件讀寫位置,從開始偏移0處
while (br. BaseStream. Position < br. BaseStream.Length) //以流的方式讀取試題并寫入試卷
{ data = br.ReadByte(); bw.Write(data); }
抽題、組卷以及系統(tǒng)完整的實現(xiàn)代碼請參考作者登記的軟著——面向?qū)ο蟪绦蛟O(shè)計上機考試系統(tǒng)V1.0[4]。
4 系統(tǒng)安裝與使用
4.1 運行環(huán)境安裝與配置
4.1.1 硬件環(huán)境
電腦內(nèi)存2GB及以上,CPU為酷睿3代及以上。
4.1.2 軟件環(huán)境
1) 安裝Windows 7專業(yè)版及以上版本操作系統(tǒng)。
2) 安裝SQL Server 2008或以上版本,設(shè)置為Win?dows登錄模式。
3) 安裝Word 2013及以上版本辦公軟件。
4) 安裝IIS應(yīng)用服務(wù)器,在萬維網(wǎng)服務(wù)-應(yīng)用程序開發(fā)功能中,勾選ASP.NET 4.8。
5) 在IIS上新建站點TestSiteA(程序中要用到該名稱),并映射到網(wǎng)站文件夾D:\webTest,綁定到本機IP地址,端口號為81(注意避免與其他軟件端口號沖突);關(guān)閉防火墻,或在入站規(guī)則中開放81端口。
6) 在數(shù)據(jù)庫文件屬性對話框的安全頁中配置當(dāng)前Windows登錄賬戶,并設(shè)置完全權(quán)限,否則將導(dǎo)致附加數(shù)據(jù)庫失敗。
7) 在CMD窗口中運行dcomcnfg.exe,打開組件服務(wù)對話框,配置當(dāng)前用戶和登錄密碼,否則將無法訪問Word組件。
4.2 系統(tǒng)使用
4.2.1 教師端
教師線下出題,將題目保存在網(wǎng)站questions文件夾中,每個題目保存為一個Word文檔,并按難度分級。考試結(jié)束后,教師線下打開應(yīng)用軟件,在submitted文件夾中查看學(xué)生提交的考試成果,完成試卷批改。
4.2.2 學(xué)生端
學(xué)生首先打開瀏覽器,訪問考試站點:http://?:81/ (注:運行時將?替換為實際IP) ,如圖4所示。
然后依次執(zhí)行考試流程,各步驟運行結(jié)果如圖5 所示,生成的標(biāo)準(zhǔn)化試卷格式如圖6所示。
5 結(jié)束語
綜上所述,該上機考試系統(tǒng)易于安裝與配置,便于學(xué)生操作,提高了教師的工作效率和考試自動化管理水平,對學(xué)校教務(wù)信息化建設(shè)與改革具有重4f7586a976cf4f25e0b399803ccc1bbee93e49381a4a51c4354727dc82c86098要積極意義。
然而,該系統(tǒng)仍存在一些不足,如抽題算法較為簡單。若題庫較大,為提高組卷效率與質(zhì)量,可采用王旭等人[5]提出的優(yōu)化算法或張方方[6]的智能算法進(jìn)行抽題。展望未來,為適應(yīng)學(xué)校和教師對上機考試的更多要求,該系統(tǒng)可向多個方面拓展,如增加題庫管理功能和學(xué)生管理功能。特別是隨著AI技術(shù)的發(fā)展,可考慮在系統(tǒng)中融入自動評分和學(xué)生答卷分析功能。
參考文獻(xiàn):
[1] 操心慧,溫智聰.基于JavaWeb的線上考試系統(tǒng)的設(shè)計與實現(xiàn)[J].現(xiàn)代計算機,2023,29(24):90-96.
[2] 黃芳,王紀(jì)鑫. 基于Web 的網(wǎng)絡(luò)考試系統(tǒng)設(shè)計與實現(xiàn)[C]//2022年中國高校計算機教育大會論文集.廣州:華南理工大學(xué)出版社,2022:72-77.
[3] 宗垚.基于B/S結(jié)構(gòu)的網(wǎng)絡(luò)考試系統(tǒng)設(shè)計與實現(xiàn)[D].哈爾濱: 黑龍江大學(xué),2019.
[4] 江蘇師范大學(xué).面向?qū)ο蟪绦蛟O(shè)計上機考試系統(tǒng)V1.0[CP/OL].2024-08-01[2024-08-29].國家版權(quán)局,2024SR1104448.
[5] 王旭,吳志雄,周子勛.基于B/S模式下的優(yōu)化遺傳算法的自動組卷系統(tǒng)設(shè)計與實現(xiàn)[J].電子制作,2023,31(4):57-60.
[6] 張方方.基于改進(jìn)魚群算法的在線考試系統(tǒng)設(shè)計與實現(xiàn)[D]. 北京:北京郵電大學(xué),2024.
【通聯(lián)編輯:謝媛媛】