郭子文 劉平


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