程冠琦
【摘 要】在線考試是高職院校教學(xué)改革的重要組成部分,能夠解決傳統(tǒng)的紙質(zhì)化考試方法的諸多弊端。本文利用ASP.NET的MVC技術(shù),結(jié)合LINQ技術(shù)和EF數(shù)據(jù)模型,從需求分析開始,完整地闡述了在線考試系統(tǒng)的設(shè)計(jì)方案。其中,對智能組卷和考生在線考試兩個(gè)核心模塊作了重點(diǎn)研究和討論。
【關(guān)鍵詞】在線考試;MVC;智能組卷;高職院校
一、引言
對于高職院校來說,考試是人才培養(yǎng)方案中的極為重要的組成部分,考試對于一門課程、對于一個(gè)學(xué)生來說,都有著非常重要的意義;同時(shí),考試也是學(xué)校中廣大教師最為關(guān)心的內(nèi)容,對于考試的內(nèi)容、考試的方法的改革,一直是教育界最為關(guān)心的話題。
目前,高職院校的考試還是以傳統(tǒng)的考試方法為主,這種傳統(tǒng)的紙質(zhì)化考試的方法已經(jīng)運(yùn)行了多年,存在著諸多弊端。在高職院校中引入在線考試,具備如下優(yōu)勢:
(1)提高了考試命題、組織等一系列考務(wù)的工作效率。
(2)在線考試有標(biāo)準(zhǔn)化的題庫支持,試卷命題由系統(tǒng)隨機(jī)抽題完成組卷,這種出卷方式更加科學(xué)合理,題型和題量分布也更有利于考核學(xué)生的能力。
(3)抽題、評分由系統(tǒng)自動完成,試題由系統(tǒng)從題庫中隨機(jī)抽取,能更好地保證考試的公平公正和評分的準(zhǔn)確性。
(4)學(xué)生參加考試的時(shí)間和地點(diǎn)不受限制,參加考試的方式也更加靈活。
二、系統(tǒng)需求分析
在線考試系統(tǒng)的用戶包括管理員、教師和學(xué)生3種用戶。
管理員具有系統(tǒng)最高權(quán)限,負(fù)責(zé)對整個(gè)考試系統(tǒng)的維護(hù)管理,一般來說,高職院校的考試系統(tǒng)平時(shí)一般比較空閑,訪問用戶量相對較少,并且系統(tǒng)平時(shí)對學(xué)生并不開放權(quán)限,只允許教師用戶訪問。只有在期中考試和期末考試相對集中的時(shí)間段內(nèi),系統(tǒng)訪問的人數(shù)才比較多,系統(tǒng)的負(fù)荷也相對較重。因此,管理員可以針對系統(tǒng)用戶設(shè)置訪問時(shí)間段,以減輕系統(tǒng)并發(fā)訪問量。
教師用戶的權(quán)限相對管理員來說要少,但也是系統(tǒng)的主要用戶。在平時(shí)系統(tǒng)空閑階段,教師主要根據(jù)自身所教課程,負(fù)責(zé)各種題型題庫的建立、維護(hù)和更新。為了保證在線考試的質(zhì)量,目前對課程題庫的要求也越來越高,課程的題庫要做到題量大,題型豐富、內(nèi)容先進(jìn),能夠跟上學(xué)科新知識、新內(nèi)容的要求。因此,該項(xiàng)任務(wù)工作量大,要求高。
學(xué)生在考試系統(tǒng)中的權(quán)限是3種用戶中最小的,學(xué)生平時(shí)除了可以進(jìn)行系統(tǒng)的網(wǎng)上自測練習(xí)外,基本上是不能登錄系統(tǒng)的。只有在考試系統(tǒng)開放的有效時(shí)間范圍內(nèi),學(xué)生才能登錄,登錄后可以查看管理員發(fā)布的各種考試通知,修改自己的個(gè)人資料,在指定的考試時(shí)間內(nèi)參加考試,同時(shí)在考試結(jié)束后可以查詢自己的成績。
三、系統(tǒng)開發(fā)的主要技術(shù)
3.1 MVC 框架技術(shù)
MVC 框架技術(shù)是近年來非常流行的軟件框架,這種軟件設(shè)計(jì)模式最初由Xerox PARC在二十世紀(jì)八十年代提出,而后被廣泛使用。
MVC設(shè)計(jì)模式把整個(gè)軟件分為模型、視圖和控制器三大部分,其中視圖相當(dāng)于傳統(tǒng)軟件架構(gòu)中的表示層,即用戶界面;模型負(fù)責(zé)數(shù)據(jù)的處理和交互,主要負(fù)責(zé)數(shù)據(jù)處理邏輯的設(shè)計(jì)與實(shí)現(xiàn),是整個(gè)MVC中的重點(diǎn)和難點(diǎn);控制器處理用戶的交互,控制著整個(gè)程序運(yùn)行的核心和流程,負(fù)責(zé)整個(gè)程序的運(yùn)行和管理。
3.2 LINQ技術(shù)
LINQ,是Language Integrated Query(語言集成查詢)技術(shù),通過該技術(shù),我們可以使用相同的API,利用C#語言來對不同的數(shù)據(jù)源進(jìn)行操作。
LINQ包括五個(gè)部分:LINQ to Objects、LINQ to XML、LINQ to SQL、LINQ to DataSet、LINQ to Entities。
LINQ查詢操作的語法相對傳統(tǒng)的SQL語句更為簡潔。LINQ查詢表達(dá)式包含的關(guān)鍵字與SQL關(guān)鍵字相類似,不同的是,LINQ要以from子句開頭,以select子句或group子句結(jié)束。
3.3 EF數(shù)據(jù)模型框架
EF數(shù)據(jù)模型框架,全稱是Entity Framework(實(shí)體框架),這是微軟公司在.NET平臺上以ADO.NET技術(shù)為基礎(chǔ)開發(fā)出來的一個(gè)ORM(對象關(guān)系映射)框架。
EF數(shù)據(jù)模型框架由三種模型和映射文件進(jìn)行定義:
(1).csdl文件:用于定義概念架構(gòu)模型,其中定義的實(shí)體、主鍵、屬性、關(guān)聯(lián)等都是對應(yīng)于.NET Framework中的類型。
(2).ssdl文件:用于定義存儲架構(gòu)模型,其中主要描述表、列、關(guān)系、主鍵等主要概念。
(3).msl文件:用于定義概念模型和存儲模型的映射關(guān)系,即CSDL中屬性與SSDL中列的對應(yīng)關(guān)系。
四、系統(tǒng)總體設(shè)計(jì)
4.1 體系結(jié)構(gòu)和總體框架
系統(tǒng)分為前端和后臺兩部分。前端技術(shù)上,采用流行的HTML 5、CSS 3和JQuery技術(shù),具體地講,HTML 5使用bootstrap開源框架,此框架在業(yè)界多個(gè)前端開源項(xiàng)目得到了廣泛的應(yīng)用;CSS 3采用flexbox彈性布局技術(shù),并廣泛應(yīng)用動畫、過渡等效果;JavaScript采用AngularJS框架相結(jié)合的技術(shù),可以有效地控制頁面并制作出美觀的動態(tài)效果。
后臺技術(shù)上,采用的是業(yè)界流行的.NET的MVC框架技術(shù)進(jìn)行開發(fā),分為view、controller、model三個(gè)部分。Controller負(fù)責(zé)整個(gè)程序的維護(hù),負(fù)責(zé)處理用戶請求;model用于和后臺數(shù)據(jù)庫打交道,這里采用LINQ TO SQL數(shù)據(jù)模型和EF數(shù)據(jù)模型相結(jié)合;view用于顯示結(jié)果,采用了更為簡潔的語法輸出數(shù)據(jù)結(jié)果。
4.2 功能模塊劃分
在線考試系統(tǒng)分為五大功能模塊,即用戶信息管理、考試管理、題庫管理、試卷管理和成績管理。下面對這五個(gè)模塊分別介紹。endprint
(1)用戶信息管理:該模塊是所有軟件系統(tǒng)的通用模塊,包含登錄、用戶信息導(dǎo)入和密碼修改三大功能。
(2)考試管理模塊:核心模塊,包含考試安排、考試信息查詢、學(xué)生在線考試和考試信息維護(hù)幾大功能。
(3)題庫管理模塊:核心模塊,包含題庫創(chuàng)建、題庫維護(hù)、題庫查詢、題庫更新幾大功能。
(4)試卷管理模塊:核心模塊,包含試卷定制、試卷維護(hù)、試卷信息查詢、樣卷查看幾大功能。
(5)成績管理模塊:核心模塊,包含系統(tǒng)評卷、成績統(tǒng)計(jì)、成績查詢幾大功能。
五、系統(tǒng)詳細(xì)設(shè)計(jì)
本系統(tǒng)的核心模塊由考試管理、題庫管理、試卷管理3個(gè)模塊組成。下面著重對這3個(gè)模塊分析詳細(xì)設(shè)計(jì)思路。
5.1 題庫管理模塊
題庫管理模塊是教師用戶操作的一個(gè)重要模塊,也是后續(xù)試卷管理、考試管理的基礎(chǔ),只有具備一個(gè)數(shù)量龐大、內(nèi)容先進(jìn)的題庫,才能保證試卷和考試的質(zhì)量。
本系統(tǒng)題庫目前支持的題型有單選題、多選題和判斷題3種客觀題題型。
模塊的設(shè)計(jì)核心在于題庫業(yè)務(wù)邏輯類的設(shè)計(jì),該模塊的業(yè)務(wù)邏輯層類由單選題類、多選題類和判斷題類組成,3個(gè)類的屬性設(shè)計(jì)基本與數(shù)據(jù)庫中單選題表、多選題表和判斷題表相對應(yīng),由于3個(gè)類的屬性設(shè)計(jì)比較類似,這里就以單選題類為例進(jìn)行說明,其余2個(gè)類不再贅述。
單選題類的屬性包括題目順序號(用于組卷)、題目編號、題干、各個(gè)選項(xiàng)內(nèi)容(A-F)、答案、題目難易度(分為非常難、較難、適中、較簡單、非常簡單5個(gè)層次)、屬于課內(nèi)知識還是課外知識等等。除了以上基本屬性之外,還包括參加的考試編號、學(xué)生答案兩個(gè)擴(kuò)展屬性及單選題錄入、查詢、編輯和刪除幾個(gè)基本方法。
5.2 試卷管理模塊
試卷管理的業(yè)務(wù)邏輯層類由試卷類和試卷題型章節(jié)分布類組成。試卷類的屬性設(shè)計(jì)基本與數(shù)據(jù)庫試卷表中的字段相對應(yīng),包括試卷編號、試卷名稱、組卷方式(人工組卷、系統(tǒng)抽題)、組卷人、組卷時(shí)間、單選題數(shù)量、單選題分值、多選題數(shù)量、多選題分值、判斷題數(shù)量、判斷題分值、總分、課程編號等等。除了以上基本屬性之外,還包括單選題題庫、多選題題庫和判斷題題庫3個(gè)屬性和字段。
試卷管理的核心功能在于智能組卷,從組卷的具體算法來說,流行的算法有回溯試探組卷算法、專家系統(tǒng)的組卷算法和遺傳算法的組卷算法、基于隨機(jī)數(shù)選取的組卷算法。本文采用的是基于隨機(jī)數(shù)選取的組卷算法,利用計(jì)算機(jī)提供的隨機(jī)生成函數(shù)在題庫中按照設(shè)定的試題參數(shù)要求隨機(jī)生成試題編號,由于該編號是隨機(jī)生成,且在一定范圍內(nèi)是獨(dú)一無二的,因此不會產(chǎn)生重復(fù)現(xiàn)象。重復(fù)這個(gè)隨機(jī)試題編號的生成過程,即可得到試題集合,直到滿足試卷要求的所有試題都已經(jīng)選擇完畢。
5.3 考試管理模塊
考試管理模塊中最為核心的兩個(gè)功能是管理員安排考試以及學(xué)生在線考試??荚嚢才欧譃閮刹?,一是錄入考試基本信息,二是錄入?yún)⒓涌荚嚨膶W(xué)生信息。在錄入?yún)⒓涌荚嚨膶W(xué)生的基本信息的同時(shí),還要對考生答題記錄進(jìn)行初始化操作。
學(xué)生在線考試是整個(gè)考試管理的重中之重的功能。該功能是否能夠正常使用,是確保整個(gè)系統(tǒng)運(yùn)行的必要條件。
學(xué)生在線考試過程中,主要解決兩個(gè)問題:一是時(shí)間問題,二是考生答案的保存問題。因此,需要設(shè)置2個(gè)計(jì)時(shí)器控件,一個(gè)計(jì)時(shí)器控件對考試進(jìn)行監(jiān)控,包括確定開考時(shí)間、考試結(jié)束時(shí)間以及實(shí)時(shí)剩余時(shí)間提示,另一個(gè)計(jì)時(shí)器控件在設(shè)置的間隔時(shí)間內(nèi)保存考生答題的答案,主要為了解決考生答案丟失的問題。此外,考生交卷也設(shè)置了兩種方式,一是手動提交,二是考生結(jié)束后系統(tǒng)自動提交試卷。
在線考試結(jié)束后的數(shù)據(jù)處理問題也是一個(gè)重點(diǎn)問題。由于考生答案信息數(shù)據(jù)量非常大, 一名考生一次考試就將產(chǎn)生20~30條記錄,一次考試的數(shù)據(jù)量估計(jì)約為幾千條記錄,如果考試次數(shù)多,則學(xué)生答卷表的數(shù)據(jù)量非常大,這樣會降低索引和查詢效率。因此,可以考慮為每次考試專門建立一張數(shù)據(jù)表,用于存放每次考試考生答卷信息。這樣數(shù)據(jù)表的數(shù)量雖然多一些,但是可以有效地提高索引的效率。
六、總結(jié)
本文利用ASP.NET的MVC技術(shù),結(jié)合LINQ技術(shù)和EF數(shù)據(jù)模型,從需求分析開始,完整地闡述了在線考試系統(tǒng)的設(shè)計(jì)方案。其中,對智能組卷和考生在線考試兩個(gè)核心模塊作了重點(diǎn)研究和討論。
參考文獻(xiàn):
[1] J R Quilan.Induction of decision trees[J].Machine learning,1986(1)81-106 .
[2] W Buntine,T Niblett.A Further comparison of splitting rules for decision-tree induction[J].Machine Learning,1992(8):75-76 .
[3] J.H.Holland.Adaptation in Natural and Artificial Systems[J]. The .University of Michigan Press, Ann Arbor, MI,1975.
[4] 姜春風(fēng),許薇.基于 B/S 模式的考試系統(tǒng)設(shè)計(jì)與實(shí)現(xiàn)[J].吉林農(nóng)業(yè)科技學(xué)院學(xué)報(bào), 2007,16(4):22-24 .
[5] 劉曉林.B/S 通用題庫考試系統(tǒng)的設(shè)計(jì)與實(shí)現(xiàn)[D].長沙:湖南大學(xué), 2005,10-13 .
[6] 趙睿.基于 java 技術(shù)的網(wǎng)上在線考試系統(tǒng)設(shè)計(jì)與實(shí)現(xiàn)[D].蘭州:蘭州理工大學(xué),2006,10-11 .endprint