陳 娟
(山西大學商務學院, 太原030031)
目前,紙質考試仍是我國在各類考試中最常見的考試形式,這種考試不僅耗費大量資源,學生在答題完成后也無法立即獲取答案并對比學習,很難高效率的完成課程測評。 在互聯網技術快速發展的勢頭下,將在線網站與考試進行統一的整合,成為一種主流的在線考試形式,最終達到無紙化考試的目標。
網站的操作簡單上手快,使考試脫離課堂的束縛,一個優秀的在線測評系統,可以使學生在課堂上學習過后,可及時在線測試、檢查學習效果,發現學習的盲點和不足,提升學習效率。 在線測評系統可以實現自動組卷、自動提交、即時閱卷。 創建一個相關課程的題庫就可以實現對其課程考試的自動化。通過流程優化,教師只需研究出題、維護題庫,而不用花費人力物力來組織考試、閱卷,大大減輕了教師和學校的負擔,具有一定的經濟性和實用性。
系統采用B/S 模式作為基礎,方便校內用戶進行即時測評,可以提高學生自主學習能力,減少教師的部分工作量。 系統數據庫和服務器全部在學校內網中運行,為確保系統的穩定運行,前期對行業以及相關系統的所用技術進行了調研,并根據學校的軟、硬件實際情況和現有教學需求進行設計,進一步提升學生和老師的工作的效率。 系統主要為確保并下發用戶答題的問題,針對客觀題的判卷部分、查看學生成績和學生進行自主學習的相關問題和流程進行了剖析,建立模型和數據庫表。
通過對《數據結構》課程在線測評系統進行經濟可行性分析,集成開發環境采用IntelliJ IDEA 社區版。 選用Java 語言進行編寫,并使用JDK1.8 作為運行環境。 數據庫選用免費開源的MySQL 數據庫。 因此從經濟成本來說該系統的日常開銷完全是可行的。
軟件開發中對系統使用技術,需要客觀地分析其成熟度,并兼顧設備、開發成本等相關方面。 系統選取JAVA 作為系統的開發語言,其主要相關技術分 別 為 SpringBoot、 MyBatis、 MySQL 數 據 庫、Thymeleaf 模板引擎、JS 腳本語言以及AJAX 技術。
系統功能模塊包括:教師管理、學生管理、試題管理、試卷管理、待考試卷、歷史試卷、在線答題等。詳情如圖1 所示。

圖1 系統功能模塊圖Fig. 1 System function module diagram
系統主要設計了user(用戶表)、teacher(教師表)、student(學生表)、test(試卷表)、test_topic(考生成績表)、topic(試題表)、status(數據字典)7 個數據表,系統E-R 圖如圖2 所示。

圖2 系統E-R 圖Fig. 2 System E-R diagram
在線測評系統的主要設計目標要求操作簡單、安全性高以及功能完善等。 考慮到系統兼顧服務器性能與大量并發的處理,系統將本著輕量化的方向來進行,盡可能減少大型插件的使用。
試題的相關數據保存在TOPIC 表中,進行新增試題時需要設置章節、題型、難度、關鍵字等相關屬性。 由于題目的編寫使用textarea 的格式輸入不能很好解決排版和圖片顯示的問題。 因此,系統使用文本的方式,通過復制粘貼完成該試題的創建。 題目使用HTML+CSS 與原本題目拼接而成。 圖片采用BASE64 進行保存,可以保留相關格式,后續無需再調整相關展示的問題。 試題管理界面如圖3 所示。
新增試卷時需要選擇并填寫試卷名稱、選修、班級、章節、各種題型的數量和分數以及開始、結束時間等相關屬性設置。 選修、班級、章節這些屬性會在數據庫中檢索試題中的相關信息并展示出來提供用戶進行選擇,題目數量填寫完成后,將轉去數據庫中檢查題庫中題的數量是否滿足需求,全部滿足之后便可成功創建試卷。 當時間超過開始時間之后不允許編輯。
考試完成之后,可通過試卷管理查看成績。 查看成績時會顯示該套試卷的全部考生用戶。 如果考生多次對試題進行作答則顯示得分最高的分數,并可對成績單進行導出操作,查看成績界面如圖4 所示。

圖3 試題管理界面Fig. 3 Test management interface

圖4 查看成績界面Fig. 4 View results screen
學生登錄之后,可查看當前是否擁有待考試卷。點擊考試即可進行在線答題,目前試卷主要有三種類型的題目(選擇題、判斷題、簡答題)供測試。 測試中,根據得分點來確定分數(大部分情況下,字符長度都非常小,因為KMP 和Boyer-Moore 算法都需要預先計算處理來獲得輔助數組,需要一定的時間和空間,這可能在短字符串查找中相比較原始實現耗費更大的代價,所以采用BF 來實現字符串的匹配問題),考生在每道題目下方直接填寫正確答案即可,無需手動提交,后臺將會采用AJAX 的方式進行自動提交,在線考試界面如圖5 所示。
答題完成即可退出頁面,可在歷史試卷中查看已作答試卷。 歷史試卷會將正確答案與錯誤答案進行不同顏色的對比。 下面也會展示這道題的詳細的試題解析,幫助學生了解答題思路,幫助學生進行高效率的學習,歷史試卷的界面如圖6 所示。
(1)首先進行系統的壓力測試。 主要是對用戶答題過程進行模擬,并對在線答題模塊進行壓力測試。 具體壓力測試如圖7 所示。

圖5 在線考試界面Fig. 5 Online test interface

圖6 歷史試卷界面Fig. 6 History paper interface

圖7 響應時間匯總圖Fig. 7 Response time summary chart
系統能夠滿足高于200 以上的用戶使用,上述數據使用系統最復雜業務邏輯耗時的并發量為50時取得該圖表。 具體測試如表中所示,當并發數是50 個時,系統的平均響應時間是0.628 秒,且全部響應完成,用戶操作能在短時間內響應。
(2)針對穩定性測試,系統經過了長達30 天的運行,運行期間模擬執行了各種操作,系統的穩定性依舊保持了較高的水準。
系統經過30 日的穩定運行之后,后臺運行正常,系統未出現崩潰等未知情況。 即使是某個模塊的即時響應不佳,運行期間未出現宕機等情況,說明系統的穩定性表現良好。
(3)第三是系統的流暢性測試。 當有200 個用戶同時使用系統時,系統的響應時間不能超過1 000 ms,響應時間圖如圖8 所示。

圖8 響應時間圖Fig. 8 Response time diagram
由圖8 可知,當同時訪問的用戶數量達到200時,系統響應時間每次不高于1 000 ms,系統的流暢性得到了充分的保障。
根據上述測試表明,設計初期的各項基本功能都符合項目預期效果,經過測試暴露出來的問題也進行了即時的改進并完善,用戶的體驗度得到了較為充分的保障。 在線測評系統還處于初期階段,業務需求和模塊的拓展都需要進一步的完善。