Examstack開源考試系統是一款基于JAVA與MYSQL開發的網絡考試系統,在Exam++考試系統第一版的基礎上,ExamStack V2.0進行了大量代碼重構,同時也對數據模型做了部分調整。為了減小學員考試交卷時大量并發帶來的系統風險,我們嘗試采用成熟的消息隊列框架RabbitMQ來解決這一問題,因此我們的數據庫以及系統的架構同第一版相比,發生了不小的變化。
【運行環境】
Java 8
Tomcat 8
RabbitMQ
MySql 5.0以上
【更新日志】
1、系統架構:
管理后臺現在獨立成一個新項目,不再和第一版一樣和前臺合在一起。
引入RabbitMq,用于接受用戶提交的答題卡,通過ScoreMarker從消息隊列獲取答題卡并交卷,減小大量用戶提交導致的服務器故障幾率。
試題內容存儲格式由xml改為json
增加教師角色,現在教師用戶可以正確地使用自己的權限管理學員、試題、試卷、考試以及培訓。
優化系統界面,新的界面看起來更加清爽、專業。
新增了DashBoard,管理界面看起來會更專業。
練習歷史現在專門用一張表記錄,使開發相關統計變得更容易。
2、考試和練習:
考試現在分為正式考試和模擬考試兩種,正式考試需要教師或管理員審核,而模擬考試不需要審核。正式考試又分為公有和私有兩種類型,公有考試是可以申請的考試,私有考試則需要教師或管理員指定學員(這里由管理員指定也被我們認為是審核的一種方式)。
新增審核功能,現在教師創建的試卷、考試都需要超級管理員審核。超級管理員自己創建的不需要審核。同時,超級管理員和教師也可以審核學員的考試申請。
新增人工閱卷功能。包含主觀題的考試試卷,教師或超級管理員通過人工閱卷后可以確定最終分數。全部是客觀題的試卷不需要閱卷。
新增考試成績統計功能,可以查看特定考試下學員的分數,同時可以對分數進行排序。
新增學習記錄查詢功能,教師和管理員現在可以方便地查看學員的練習記錄、培訓記錄和考試記錄。
新增快速考試模式,通過輸入準考證號即可直接進入到對應的考試頁面。
新增繼續考試功能,現在學員在考試過程中中斷考試后,繼續進入考試后,學員的答題記錄會恢復到中斷前的狀態。
3、題庫管理:
優化試題修改功能,現在可以正確地修改試題的基本信息。
4、其他:
新增培訓功能,教師或超級管理員可以發布培訓資料(視頻和pdf文檔)。學員可以選擇自己需要參加的培訓進行學習,培訓分為視頻和pdf格式的文檔兩種。
新增虛擬班級功能,教師或管理員現在可以通過虛擬班組很方便地管理學員。