劉淳 吳名星
(長(zhǎng)沙民政職業(yè)技術(shù)學(xué)院,湖南長(zhǎng)沙410004)
通用在線考試系統(tǒng)研究與開發(fā)
劉淳 吳名星
(長(zhǎng)沙民政職業(yè)技術(shù)學(xué)院,湖南長(zhǎng)沙410004)
隨著高等教育的快速發(fā)展及校園網(wǎng)絡(luò)的完善,高校教學(xué)管理已基本實(shí)現(xiàn)了信息化與網(wǎng)絡(luò)化管理模式,但大部分高校的課程考試還是沿用過(guò)去的紙質(zhì)考試方式,考試網(wǎng)絡(luò)化、信息化已成為很多高校教師的迫切需求。文中對(duì)高校通用在線考試系統(tǒng)業(yè)務(wù)流程、功能需求、應(yīng)用程序體系結(jié)構(gòu)及設(shè)計(jì)方法等進(jìn)行了全面闡述。
教學(xué)管理;考試軟件;在線考試
為了適應(yīng)教育信息化發(fā)展的需要,近幾年在教育部的大力倡導(dǎo)和支持下,所有高等院校都在進(jìn)行網(wǎng)絡(luò)化課程資源建設(shè),其中包括課程試題庫(kù)建設(shè),但與試題庫(kù)對(duì)應(yīng)的在線考試系統(tǒng)并不多,雖然有些開源的在線考試系統(tǒng),但大多存在一些問(wèn)題,如并發(fā)性差、使用不方便、存在安全隱患等。
本研究開發(fā)的通用在線考試系統(tǒng)是專門針對(duì)高校課程管理、考試管理、成績(jī)管理的教務(wù)管理子系統(tǒng)。為高校建立起高效、靈活、安全的考試管理體系。
通用在線考試系統(tǒng)包括角色與權(quán)限管理、基礎(chǔ)數(shù)據(jù)管理(部門、教師、學(xué)生)、課程管理、題庫(kù)管理、考試策略管理、考試計(jì)劃管理、考試管理、監(jiān)考管理、閱卷管理、成績(jī)管理等十幾個(gè)主要模塊。各模塊均以課程為中心,課程采用主講教師負(fù)責(zé)制,每個(gè)主講教師可以創(chuàng)建自己的課程和題庫(kù),題庫(kù)與試卷采用DES的ECB(電子密碼本模式)加密技術(shù),以保證題庫(kù)和試卷的安全與保密。教師可以用自己建設(shè)的題庫(kù)組織課程考試,也可以授權(quán)給其他教師(課程組成員)組織相關(guān)考試,學(xué)校管理員可以使用教師題庫(kù)組織全校性考試,這樣既實(shí)現(xiàn)了題庫(kù)的私有化與安全管理,又實(shí)現(xiàn)了數(shù)據(jù)的高度共享。
2.1 項(xiàng)目目標(biāo)
從總體上考慮,系統(tǒng)應(yīng)該實(shí)現(xiàn)下列功能:對(duì)管理員來(lái)說(shuō),包括教師和考生用戶管理,角色授權(quán)管理、部門管理等。對(duì)教師來(lái)說(shuō),包括題庫(kù)建設(shè)、制訂考試計(jì)劃、隨機(jī)產(chǎn)生試卷、在線閱卷,統(tǒng)計(jì)成績(jī)等。對(duì)學(xué)生來(lái)說(shuō),在線答卷,提交試卷、查看成績(jī)。系統(tǒng)能夠提供友好的用戶界面,使各類用戶的工作量最大限度地減少;系統(tǒng)具有良好的運(yùn)行效率;系統(tǒng)要具有一定的安全、保密特性;系統(tǒng)應(yīng)有容錯(cuò)功能。根據(jù)對(duì)20幾家高職院校的調(diào)查,系統(tǒng)并發(fā)度最小要在2000以上,即一臺(tái)服務(wù)器能同時(shí)容納2000人以上的考試。
2.1 功能需求
(1)管理員可添加和維護(hù)用戶數(shù)據(jù),并對(duì)不同的用戶授予不同的系統(tǒng)功能權(quán)限,管理員還可以根據(jù)用戶模板,批量導(dǎo)入考生數(shù)據(jù)。
(2)管理員或教師可以創(chuàng)建和維護(hù)課程信息。
(3)管理員可以對(duì)系統(tǒng)的數(shù)據(jù)進(jìn)行恢復(fù)和備份。
(4)管理員可以查看和維護(hù)系統(tǒng)的操作日志。
(5)教師可以根據(jù)課程創(chuàng)建題庫(kù),并對(duì)試題庫(kù)進(jìn)行維護(hù);還可以根據(jù)試題模板批量導(dǎo)入試題。
(6)教師可以根據(jù)考試計(jì)劃創(chuàng)建課程考試,并根據(jù)試題庫(kù)中的試題進(jìn)行組卷。
(7)組卷方式采用隨機(jī)組卷,并提供兩種組卷模式:同批不同題和同批同題。同批不同題,即同一考試批次(對(duì)應(yīng)一個(gè)考試計(jì)劃)的考生都是從題庫(kù)中隨機(jī)抽到指定數(shù)據(jù)的試題。同批同題,為了體現(xiàn)在線考試的絕對(duì)公平,也可以采用同批同題的組卷模式,該模式是從試題庫(kù)中隨機(jī)抽取一套試卷,然后將該試卷再次打亂試題順序和選項(xiàng)順序分發(fā)給不同考生。采用同批同題的組卷模式時(shí),每位考生的試題相同,但試題順序和選擇題的選項(xiàng)順序不同。
(8)在考試結(jié)束后,對(duì)于客觀題,系統(tǒng)應(yīng)自動(dòng)評(píng)分,對(duì)于主觀題,可以分配給教師在線評(píng)閱。
(9)評(píng)閱結(jié)束后,教師可以導(dǎo)出考試的成績(jī)。
(10)在考試時(shí)間內(nèi),考生可以登錄系統(tǒng),參加考試,在考試過(guò)程中,對(duì)于有疑問(wèn)的試題,可以進(jìn)行標(biāo)記;考試過(guò)程中,如果出現(xiàn)考試意外,應(yīng)能重新登錄系統(tǒng),繼續(xù)考試,并且原來(lái)已經(jīng)做過(guò)的試卷有效。
(11)在成績(jī)公布后,學(xué)生可以登錄系統(tǒng)查看成績(jī)。
(12)在平時(shí),教師可以根據(jù)課程進(jìn)度從試題庫(kù)中抽取試題設(shè)置一些練習(xí),由學(xué)生自由訓(xùn)練。
(13)所有用戶,在登錄系統(tǒng)后可以對(duì)個(gè)人信息進(jìn)行維護(hù)修改。
根據(jù)需求,在線考試系統(tǒng)結(jié)構(gòu)如圖1:
圖1 在線考試系統(tǒng)功能模塊
針對(duì)在線考試系統(tǒng)在網(wǎng)絡(luò)化集成和跨平臺(tái)系統(tǒng)開發(fā)與維護(hù)等特殊要求,本文提出一種六層B/S架構(gòu)(圖2)。該架構(gòu)采用Java和數(shù)據(jù)庫(kù)連接池技術(shù),將傳統(tǒng)三層B/S結(jié)構(gòu)的第二層 (服務(wù)器端)劃分為表示層、邏輯控制層、業(yè)務(wù)層和數(shù)據(jù)庫(kù)訪問(wèn)層。
圖2 在線考試系統(tǒng)體系結(jié)構(gòu)
在線考試系統(tǒng)的服務(wù)請(qǐng)求及響應(yīng)實(shí)現(xiàn)過(guò)程為:客戶端的瀏覽器通過(guò)超文本鏈接標(biāo)記語(yǔ)言 (Hyper Text Markup Language,HTML)向應(yīng)用服務(wù)器發(fā)出請(qǐng)求;服務(wù)器端業(yè)務(wù)邏輯控制層中的Servlet對(duì)請(qǐng)求進(jìn)行分派,調(diào)用業(yè)務(wù)層的JavaBean,JavaBean組件根據(jù)業(yè)務(wù)邏輯細(xì)則調(diào)用數(shù)據(jù)庫(kù)訪問(wèn)層的Java Bean進(jìn)行數(shù)據(jù)庫(kù)訪問(wèn)處理,數(shù)據(jù)訪問(wèn)層從數(shù)據(jù)連接池中取出一個(gè)數(shù)據(jù)庫(kù)連接對(duì)象,使用Java數(shù)據(jù)庫(kù)連接(Java DataBase Connectivity, JDBC)技術(shù)訪問(wèn)數(shù)據(jù)庫(kù)取得所需數(shù)據(jù),最后Servlet將調(diào)用業(yè)務(wù)層的結(jié)果生成JSP或Json串,頁(yè)面對(duì)獲得的數(shù)據(jù)進(jìn)行格式化,形成最終HTML頁(yè)面并發(fā)往客戶端,完成對(duì)該次服務(wù)請(qǐng)求的響應(yīng)。
4.1 系統(tǒng)設(shè)計(jì)原則
(1)標(biāo)準(zhǔn)性原則:所有數(shù)據(jù)的定義按教育部《教育管理信息化標(biāo)準(zhǔn)》。
(2)保證數(shù)據(jù)的完整性與一致性:基于網(wǎng)絡(luò)的應(yīng)用系統(tǒng),數(shù)據(jù)的完整性和一致性特別重要,在數(shù)據(jù)庫(kù)設(shè)計(jì)中,嚴(yán)格設(shè)計(jì)相關(guān)字段的參照完成性及當(dāng)用戶數(shù)據(jù)違背完整性規(guī)則時(shí)應(yīng)采取的措施;DBMS不能實(shí)現(xiàn)的完整性要求由觸發(fā)器實(shí)現(xiàn)。
(3)易操作性原則:系統(tǒng)易于操作、更新、管理,并能滿足各層次用戶的使用要求??蛻舳顺绦虮M量采用向?qū)Р僮鞣绞健?/p>
(4)可擴(kuò)充性原則:能滿足系統(tǒng)需求變化的要求;系統(tǒng)的結(jié)構(gòu)設(shè)計(jì)應(yīng)考慮到功能擴(kuò)充;能適應(yīng)技術(shù)更新(如軟、硬件升級(jí)等)的要求。還要考慮與學(xué)院其他系統(tǒng)的集成。
(5)成熟性原則:操作系統(tǒng)采用Windows 2008 Server,數(shù)據(jù)庫(kù)采用微軟的SQL Server2008或MySQL,開發(fā)工具采用Eclipse和Sun公司的Java開發(fā)平臺(tái)。
(6)保證系統(tǒng)的響應(yīng)速度:基于網(wǎng)絡(luò)的程序設(shè)計(jì),系統(tǒng)的響應(yīng)速度和能同時(shí)響應(yīng)的用戶數(shù)量是設(shè)計(jì)成敗的關(guān)鍵。選擇數(shù)據(jù)庫(kù)服務(wù)器和WEB服務(wù)器時(shí)要充分考慮數(shù)據(jù)的存儲(chǔ)量、用戶對(duì)響應(yīng)速度的要求及同時(shí)使用系統(tǒng)的最大用戶數(shù)量等因素。此外,設(shè)計(jì)中還要盡量回避一次從網(wǎng)絡(luò)中傳輸大量的數(shù)據(jù),同時(shí),在訪問(wèn)數(shù)據(jù)庫(kù)時(shí),要盡可能對(duì)SQL語(yǔ)句進(jìn)行優(yōu)化,如多表查詢時(shí)能用子查詢完成的功能不要用連接查詢。
4.2 關(guān)鍵技術(shù)實(shí)現(xiàn)
在線考試系統(tǒng)設(shè)計(jì)需要突破兩個(gè)關(guān)鍵問(wèn)題,一是隨機(jī)抽題的快速響應(yīng),二是考試時(shí)的并發(fā)問(wèn)題。(1)隨機(jī)抽題算法:隨機(jī)抽題算法可以在WEB服務(wù)器端實(shí)現(xiàn)也可以在數(shù)據(jù)庫(kù)端實(shí)現(xiàn)。研究發(fā)現(xiàn),在WEB服務(wù)器端實(shí)現(xiàn),算法相對(duì)簡(jiǎn)單,只需要將試題加載到j(luò)ava的集合對(duì)象中,然后將集合中元素順序打亂(隨機(jī)排序),再按組卷策略的相關(guān)參數(shù)從集合中抽取一套試卷,最后將生成的每套試卷再寫回到數(shù)據(jù)庫(kù)。該算法因?yàn)槔镁彺婕夹g(shù),試題量大、考生人數(shù)多時(shí),對(duì)WEB服務(wù)器的內(nèi)存要求大,對(duì)于學(xué)院現(xiàn)有服務(wù)器在不提高硬件配置的條件下,響應(yīng)速度很慢。而且因?yàn)橐磸?fù)批量寫數(shù)據(jù)庫(kù)操作,并發(fā)度也很低。在ThinkServer RD630中,主機(jī)服務(wù)器內(nèi)存8GB,CPU為Xeon E5-2620 2.00Hz虛擬機(jī)條件下,測(cè)試發(fā)現(xiàn)能同時(shí)進(jìn)行登錄的人數(shù)為200人左右。在開發(fā)機(jī)器上進(jìn)行預(yù)發(fā)試卷測(cè)試,預(yù)發(fā)40份試卷需要近40秒。如要同時(shí)預(yù)發(fā)N份試卷,抽題算法Java實(shí)現(xiàn)的邏輯結(jié)構(gòu)圖如圖3。
圖3 抽題算法Java實(shí)現(xiàn)邏輯圖
隨機(jī)抽題算法數(shù)據(jù)庫(kù)端實(shí)現(xiàn),由于隨機(jī)抽題算法在WEB服務(wù)器端實(shí)現(xiàn)速度較慢,本研究采用數(shù)據(jù)庫(kù)端的存儲(chǔ)過(guò)程實(shí)現(xiàn)。數(shù)據(jù)端編程相對(duì)Java編程要復(fù)雜很多,因?yàn)樵赟QL SERVER中,并不支持集合和數(shù)組這種常用數(shù)據(jù)類型。但是可以巧妙利用查詢和游標(biāo)實(shí)現(xiàn)類似Java中的集合操作。由于存儲(chǔ)過(guò)的優(yōu)勢(shì),在數(shù)據(jù)庫(kù)端實(shí)現(xiàn)的隨機(jī)抽題算法比用java實(shí)現(xiàn)的算法快很多。測(cè)試發(fā)現(xiàn),用數(shù)據(jù)庫(kù)端實(shí)現(xiàn)的隨機(jī)抽題算法,同時(shí)預(yù)發(fā)500份試卷,用時(shí)不到20秒。如要同時(shí)預(yù)發(fā)N份試卷,抽題算法存儲(chǔ)過(guò)程實(shí)現(xiàn)的邏輯結(jié)構(gòu)圖如圖4。
圖4 抽題算法存儲(chǔ)過(guò)程實(shí)現(xiàn)的邏輯結(jié)構(gòu)圖
(2)提高考試時(shí)并發(fā)度:在學(xué)院現(xiàn)有硬件和軟件(tomcat+MySQL)條件下,要實(shí)現(xiàn)2000人以上同時(shí)考試,必需在系統(tǒng)設(shè)計(jì)和參數(shù)配置進(jìn)行最大限度的優(yōu)化。本系統(tǒng)設(shè)計(jì)主要從以下幾個(gè)方面進(jìn)行優(yōu)化:①提供預(yù)發(fā)試卷功能,教師或管理員可以在考試前預(yù)先生成N份試卷,考生登錄成功時(shí),直接從數(shù)據(jù)庫(kù)讀取試卷,這樣可以減少大量考生登錄時(shí)生成試卷的開銷。②登錄驗(yàn)證和讀取試卷用存儲(chǔ)過(guò)程一次實(shí)現(xiàn),這樣可以減少數(shù)據(jù)庫(kù)的連接次數(shù),并提高數(shù)據(jù)庫(kù)的執(zhí)行效率。③對(duì)連接池參數(shù)進(jìn)行合理配置,連接池的最大連接數(shù)并不是越大越好,而是有一個(gè)臨界值,當(dāng)?shù)竭_(dá)臨界值時(shí),并發(fā)度和響應(yīng)速度都會(huì)急劇下降,這個(gè)臨界值受系統(tǒng)內(nèi)存、具體DBMS的processes參數(shù)和操作系統(tǒng)連接數(shù)等多因素影響。具體多大好,要在特定軟、硬件條件下測(cè)試得到。
本系統(tǒng)在設(shè)計(jì)上,根據(jù)在線考試的特點(diǎn)采用了六層B/S架構(gòu)模式來(lái)實(shí)現(xiàn),通過(guò)代碼優(yōu)化及對(duì)TOMCAT線程池和數(shù)據(jù)庫(kù)連接池的合理配置,系統(tǒng)可以同時(shí)容納3000以上人次的考試。另外,為方便學(xué)生和教師進(jìn)行相關(guān)信息查詢,本系統(tǒng)還開發(fā)了基于手機(jī)的WEB應(yīng)用,學(xué)生可以在手機(jī)上查詢考試信息(考試時(shí)間、地點(diǎn)等)及考試成績(jī)等。教師可以通過(guò)手機(jī)查詢監(jiān)考信息(監(jiān)考時(shí)間、地點(diǎn)等),還可以通過(guò)手機(jī)進(jìn)行在線閱卷。經(jīng)長(zhǎng)沙民政職業(yè)技術(shù)學(xué)院試用,系統(tǒng)的功能、穩(wěn)定性、響應(yīng)速度都能滿足學(xué)院所有課程的在線考試及單招考試。
[1]劉淳.提高WEB數(shù)據(jù)庫(kù)應(yīng)用系統(tǒng)執(zhí)行效率研究[J].長(zhǎng)沙民政職業(yè)技術(shù)學(xué)院學(xué)報(bào),2013,(4):145-147.
[2]陳薈慧,張新顏.在線考試系統(tǒng)的分析與設(shè)計(jì)[J].計(jì)算機(jī)技術(shù)與發(fā)展,2009,(10):220-223.
[3]劉淳.數(shù)據(jù)庫(kù)原理與應(yīng)用[M].北京:水利水電出版社,2005.
TP311.52
A
1671-5136(2016)03-0133-03
2016-09-23
劉淳(1963-),男,湖南衡陽(yáng)人,長(zhǎng)沙民政職業(yè)技術(shù)學(xué)院軟件學(xué)院教授。研究方向:數(shù)據(jù)庫(kù)應(yīng)用、java web開發(fā);
吳名星(1978-),男,湖南新化人,長(zhǎng)沙民政職業(yè)技術(shù)學(xué)院軟件學(xué)院副教授、系統(tǒng)分析師、碩士研究生。研究方向:移動(dòng)學(xué)習(xí)與應(yīng)用軟件開發(fā)。
長(zhǎng)沙民政職業(yè)技術(shù)學(xué)院學(xué)報(bào)2016年3期