陶瑜



關鍵詞:Java;Spring Boot; VUE; MySQI.;前后端完全分離
1研究背景
互聯網的便利已經覆蓋了人們的衣食住行,特別是疫情的暴發,信息化的管理尤其重要。在線考試系統可以充分發揮網絡優勢,一方面可以自己批改、算分、存檔考試成績等動態管理各種考試信息,另一方面可以不受時間地域的限制,最大限度地提高閱卷速度,可以在考試結束時能夠客觀而又準確地給出考試成績,方便考試組織者工作的同時又有利于考生及時獲取考試成績,無論是對于教學還是公司考核都高效便捷。
基于Spring Boot的前后端分離的在線考試系統,通過建立大型及高效的題庫數據,可以最大限度地發揮網絡優勢,以實現不限時間不限地域進行考試。同時可以減少不必要的外界干擾.降低投入成本,并減少監考老師的負擔以達到節約人力、物力、財力和不必要的自然資源浪費的目的。
2系統整體結構
本系統是基于Spring Boot的前后端分離的在線考試系統,選擇以下技術方案:基于前后端完全分離模式,前端選用VUE,后端采用Java為應用開發工具,持久化存儲選用MySQL為后臺數據庫,采用IntelliJIDEA作為開發平臺,整個系統完全基于B/S( Browser/ Server)模式進行設計,軟件架構風格采用MVC( Model-View-Controller)架構模式。
2.1系統總體目標
(1)系統根據角色權限設計,分為學生、教師、管理員三種角色。學生權限,包括參加考試和查看考試。教師權限,包括學生的所有權限及創建、編輯題目和創建、編輯考試。管理員權限,包括教師的所有權限及對用戶進行管理。
(2)本考試系統可以替代傳統考試所有流程,包括題目的創建、更新,考場的創建、更新,參加考試,考試時間,閱卷及考試記錄查看等。
(3)利用當前主流的存儲數據技術,將考生相關信息、成績、試卷信息等數據持久化存儲到硬盤上。
(4)使用MD5加密存儲技術,保障用戶信息的安全性。
2.2系統整體架構
本系統是基于“Spring Boot+VUE”的架構模式,采用前后端分離restful接口風格來實現應用程序在網絡上傳輸、接收信息。采用restful變成風格,接受前端請求數據,通常為json格式的數據,再由服務器端對每個請求進行分發,與DB交互,通過信息的序列化,把相應信息序列化后再信息流化,然后把數據返回給前端處理,實現兩者之間的數據通信。
2.3系統B/S結構設計
系統的設計架構基于B/S,即瀏覽器端和服務器端,瀏覽器端向服務器端發送數據請求,服務器端對發送的數據請求進行分析和處理,作出相應的控制,并與DB進行交互。B/S結構采取瀏覽器請求,服務器響應的工作模式,可以通過瀏覽器對許多分布于網絡上的服務器進行請求訪問,瀏覽器的請求通過服務器進行處理,并將處理結果以及相應的信息返回給瀏覽器,其他的數據加工、請求全部都是由Web Server完成的[1]。
B/S結構是C/S架構的一種改進,可以說屬于三層C/S架構,主要利用不斷成熟的WWW瀏覽器技術,通過瀏覽器就可以實現原來需要復雜專用軟件才能實現的強大功能,并節約了開發成本,是一種全新的軟件系統架構技術[2]。三層C/S架構圖如圖1所示。
3系統分層結構
3.1系統整體分層結構
本系統分層思路采用了三層C/S設計模式,系統的開發符合軟件工程的管理思想和面向對象的思想,系統模式實現前后端完全分離,前端采用VUE漸進式框架,后端由Spring Boot架構,由此對系統的程序代碼結構進行分層,分層策略圖如圖2所示。
3.2用戶登錄序列結構
用戶在登錄時輸入自己的用戶名和密碼,Web端會將這些信息封裝起來執行sendRequest()方法,該方法會將請求信息進行序列化,通過網絡傳輸將請求數據發送給服務器端。服務器端獲取信息后根據請求URL,調用登錄(login())方法,登錄方法會查詢對應的用戶數據庫,以校驗用戶的登錄請求信息是否正確。若信息無誤就會給請求端返回一個用戶對象,則用戶可以成功登錄:若信息不正確就會提出用戶信息錯誤,服務端拋出異常,則登錄失敗。用戶登錄序列結構圖如圖3所示。
3.3開始考試序列結構
考生進入考試卡片列表后,選擇相應的考試信息,系統會自動獲取考生所選擇的考試信息,并將考試信息賦值給entityContext類去請求考試題目數據。獲取到考試題目信息后,將數據返回給前端進行頁面渲染,組成考卷信息后,考試即可開始正式答題。用戶開戶考試序列結構圖如圖4所示。
4系統設計
4.1系統功能結構
基于Spring Boot前后端分離的在線考試系統可以直接通過瀏覽器端進行操作??忌梢宰灾髯詾樾掠脩?,登錄系統進行考試,考試結束后即可查詢自己的成績,同時可以支持個人信息的查詢和修改。教師登錄系統后可以對考生信息、題庫信息、考場信息進行維護。系統總體通過前后端api調用,并與數據庫進行交互,將數據響應給前端瀏覽器。整個系統的結構圖如圖5所示。
4.2用戶登錄模塊
對于初次使用本系統的用戶,需要先進行注冊操作。注冊成功后,進入登錄界面,輸入正確的用戶名和密碼,則登錄成功,可進入本考試系統,進行相關操作。比如,用戶登錄成功,主界面數據自動更新。
4.3考試主界面模塊
考生登錄到主界面后,系統會根據考生信息自動提取試題及考試記錄等信息。考生進入主界面,可以在考試卡片選項上選擇相應的考試科目進行考試,考試主界面如圖6所示。
當考生選擇相應的考試科目之后,點擊“開始考試”按鈕,系統會自動從數據庫中獲取相應科目的考題并隨機生成考卷。
考試結束,考生點擊交卷按鈕,系統會自動評閱.并生成評閱反饋信息,考生可以在我的考試中查看相關反饋信息。其中,主要代碼與注釋如下。
4.4個人信息模塊
在主界面,用戶可以點擊賬戶設置,進入個人信息窗口,可以查看當前用戶的信息及進行修改密碼操作。用戶填寫完相關個人信息后,當前新填寫的信息會覆蓋以前舊的信息,用戶可以根據系統提示進行相應的修改操作。
4.5教師功能模塊
教師登錄該系統后,頁面會多出兩個選項:問題管理是用于創建開始考試試題,可以按照問題內容、問題分類、問題選項進行創建試題;考試管理則是安排考試任務功能,點擊新建按鈕,可以輸入考試相關信息,如考試名稱、考試限時、考場簡述、每題分數、選擇關聯題目等。
5結束語
基于Spring Boot的前后端分離的在線考試系統,初衷是開發一個易于管理和維護的教學考試系統,能夠滿足學?;蚱髽I多門課程、難易程度多樣的考核要求。本系統采用前后端分離技術,前端使用的是VUE,后端使用的是Spring Boot框架,之所以選用這兩種語言,是為了以后的業務擴展能夠得到很好的維護。在開發的過程中,參考了MVC軟件架構的設計思想,采用動態的程序設計理念,使后續業務擴展可以簡化程序,提高開發效率。