郭子文 劉平
摘要:在線考試系統(tǒng)中比較突出的問題是如何高質(zhì)量且高效地組卷。文中通過收集、分析和整理目前常用的在線考試系統(tǒng)的功能以及優(yōu)缺點,提出了一個帶有智能組卷功能的在線考試系統(tǒng)。該系統(tǒng)采用基于UML的面向?qū)ο蠓治雠c設(shè)計方法對在線考試系統(tǒng)的需求、邏輯結(jié)構(gòu)、業(yè)務流程及整個系統(tǒng)的體系結(jié)構(gòu)進行了分析與設(shè)計,形成了系統(tǒng)的用例模型、邏輯模型、動態(tài)模型和部署模型;并基于MVC模式,使用JavaEE技術(shù),對系統(tǒng)進行了實現(xiàn)。
關(guān)鍵詞:在線考試;智能組卷;UML建模;JavaEE技術(shù);MVC模式
考試是教學過程中的一個重要環(huán)節(jié),紙質(zhì)考試的方式往往使人們受到時間和空間等各種各樣的限制,造成很多不利。在IT技術(shù)和因特網(wǎng)快速發(fā)展的今天,考試網(wǎng)絡化是今后的發(fā)展趨勢,讓教師出卷、學生考試,閱卷及成績查詢等都能在網(wǎng)絡上完成,不但解決了傳統(tǒng)考試中大量繁瑣的工作,同時也為學生學習和老師教學管理創(chuàng)造了有利條件,實現(xiàn)真正的“無紙化”考試。
在國外,許多部門和資格認證機構(gòu)都有自己的題庫和考試系統(tǒng);在國內(nèi),也有包括:騰訊課堂,網(wǎng)易云課堂,百度傳課等考試系統(tǒng),這些系統(tǒng)通常包括以下功能:用戶管理、題庫管理、試題管理、試卷管理、手動出卷、在線考試、統(tǒng)計分析、公告管理、留言管理等功能,不僅能夠在線學習,也提供了在線考試,但是在組卷方面通常只支持手工組卷,這種方式費時費力,試卷的質(zhì)量往往因人而異,很難得到控制。為了解決這一問題,本文基于MVC模式,采用JavaEE技術(shù),設(shè)計開發(fā)了一個支持智能組卷的在線考試系統(tǒng),提高了試卷的質(zhì)量和組卷的效率。
1系統(tǒng)采用的開發(fā)技術(shù)
本系統(tǒng)采用Java語言,基于Windows平臺,Tomcat8中間件和Mysq15.7數(shù)據(jù)庫開發(fā),瀏覽器端采用Bootstrap、JQueryEasyUI、Html、Css等技術(shù),服務器端采用實現(xiàn)了MVC模式的Struts2和Hibernate4框架。下面將系統(tǒng)使用的開發(fā)技術(shù)做個簡單的介紹。
Java語言功能強大,易學易用,使用量在所有開發(fā)語言中穩(wěn)居榜首。MVC是一種流行的軟件設(shè)計思想,將業(yè)務邏輯、數(shù)據(jù)、顯示分離,優(yōu)勢是架構(gòu)清晰嚴謹,效率高。Struts2是一個最基礎(chǔ)的MVC開發(fā)框架,采用Struts2開發(fā)的優(yōu)勢在于結(jié)構(gòu)清晰,簡單易用,開發(fā)效率高。Hibernate是一個全自動的ORM框架,使得開發(fā)人員可以使用面向?qū)ο蟮木幊趟枷雭聿倏v數(shù)據(jù)庫,采用Hibernate的優(yōu)點是可以用很少的代碼來執(zhí)行更多的數(shù)據(jù)庫操作。Bootstrap是基于CSS、HTML、JAVASCRIPT的前端快速開發(fā)框架,優(yōu)點是開源、免費、頁面顯示效果好,開發(fā)迅速。JQueryEasyUI是基于JQuery的輕量級開發(fā)框架,開發(fā)組者無需寫太多的Javascript代碼即可開發(fā)出功能強大的界面。
2系統(tǒng)分析
系統(tǒng)由考試子系統(tǒng)和管理員子系統(tǒng)構(gòu)成,每個子系統(tǒng)分別完成不同的功能。
考試子系統(tǒng)的主要功能是學生在登錄系統(tǒng)后可進行在線考試、在線練習、成績查詢、給管理員留言以及個人信息維護等。
管理員子系統(tǒng)的主要功能是給管理員和老師提供人工組卷、智能組卷、題庫管理、題目管理、試卷管理、成績管理、學生管理、留言管理、公告管理和個人信息維護等功能。
另外,要求用戶的每個操作都需要驗證,用戶在未登錄狀態(tài)下或直接輸入地址不能使用系統(tǒng)提供的功能。
3系統(tǒng)設(shè)計
3.1系統(tǒng)總體設(shè)計
系統(tǒng)包括以下模塊:
3.2詳細設(shè)計
本節(jié)中將總體設(shè)計進行細化,主要從數(shù)據(jù)庫設(shè)計和類設(shè)計兩方面進行細化。
3.2.1數(shù)據(jù)庫設(shè)計
系統(tǒng)數(shù)據(jù)庫結(jié)構(gòu)如圖所示:
3.2.2系統(tǒng)類設(shè)計
1)Model類設(shè)計
Model類用于存儲系統(tǒng)中的數(shù)據(jù),包括:學生類(Student),作用是存儲學生信息。試題類(Question),作用是存儲試題的基本信息。考試類(Exanl),作用是存儲考試的基本信息。試卷類(Paper),作用是存儲試卷信息。
2)DAO類設(shè)計
DAO類負責與數(shù)據(jù)庫交互,其主要作用是對數(shù)據(jù)進行添加、修改、刪除、查詢等一系列操作,本系統(tǒng)涉及的DAO類包括:ExamDao類用于保存考試信息,獲取考試列表,獲取考試列表總數(shù)。PaperDao類用于得到試卷列表,獲取試卷下的題目,刪除試卷,保存試卷。QuestionDao類用于獲取試題信息,判斷試卷下面是否有題目,根據(jù)查詢條件得到題目列表和分頁,根據(jù)查詢條件得到題目總記錄數(shù),刪除題目,保存試題。StudentDao類用于登錄系統(tǒng),獲取學生信息,獲取學生列表。
3)Action類設(shè)計
Action類包括以下類:ExamAction用于處理考試請求。JfreeChartAction用于統(tǒng)計題庫信息。ManagerAction用于處理管理員請求。MessageAction用于處理留言請求。NoticeAction用于處理公告請求。PaperAcfion用于處理試卷請求。QuestionAcfion用于處理試題請求。StudentAction用于處理學生請求。TikuAction用于處理題庫請求、試卷請求、考試請求。
4)Util類設(shè)計
ExcelUtil用于導入學生信息,PageBean用于數(shù)據(jù)分頁,PageUtil用于顯示分頁導航條,ResponseUtil用于返回處理結(jié)果,DateUtil用于格式化日期和格式化字符串。
4系統(tǒng)實現(xiàn)
系統(tǒng)實現(xiàn)后的效果如下:
5系統(tǒng)測試
在測試階段,根據(jù)系統(tǒng)需求,使用等價類劃分和邊界值分析方法設(shè)計了大量的測試用例來對系統(tǒng)進行測試,下面給出一個核心的測試用例,如表1所示:
另外,由于目前B/S模式系統(tǒng)使用環(huán)境比較復雜,主要體現(xiàn)在目前主流的瀏覽器較多,而且同一種瀏覽器還存在多個版本,所以還做了兼容性測試。針對兼容性,對Firefox、Google、360瀏覽器進行了兼容性測試,經(jīng)測試,系統(tǒng)可以在所測試的瀏覽器上正常使用。
6結(jié)論
經(jīng)過嚴格的系統(tǒng)測試,測試結(jié)果表明系統(tǒng)的設(shè)計和實現(xiàn)完整、準確地表達了系統(tǒng)的需求,但是系統(tǒng)還存在一些不足的地方,例如界面不夠美觀,智能組卷的條件和靈活性還不夠,系統(tǒng)還需要持續(xù)地完善和改進。