王偉勍


摘要:該文介紹了一種基于Spring框架設計實現的教學管理系統。該系統在后端使用成熟的Spring框架集成Redis與MySQL數據庫接口,與前端頁面進行可跨域的JSON數據交互,進而實現不同身份角色的登錄權限驗證、表單的申請與審批、成績錄入與審批、工資條明細展示、教學資產登記與報修等功能,從而滿足一般的教學管理要求。
關鍵詞:Spring框架; 教學管理; JSON數據; 應用軟件
中圖分類號:TP311? ? ? 文獻標識碼:A
文章編號:1009-3044(2021)11-0069-02
1 引言
現代學校的教學管理已經逐步擺脫了傳統的單純依靠教學秘書、教師、輔導員等教職工結合少量學生干部對廣大學生進行組織規制的方式,隨著社會節奏的加快與教師、學生社會身份的多元化,尤其在此次新冠肺炎疫情的影響下,線上線下相結合的教學方式已經成為當前解決教學管理問題的主流思路。此外,學生在教學過程中的參與程度和主動性正在大幅提高,典型的如翻轉課堂、借取場地組織活動、報修宿舍用品等;同時,教職工在進行教學管理的過程中經常會遭遇如教具損壞或過于陳舊、科研教研項目申請不能及時得到審批、因人事和檔案關系變動造成的待遇變動等情況,以上問題無疑給教學管理帶來了新的挑戰。
為嘗試解決這些關乎教職工和學生切身利益的問題,本文設計并實現了一款基于Spring框架的教學管理系統,充分借鑒了現代企業管理中常用的OA辦公系統,將需要領導參與的事務抽象為表單的申請與審批流程,這樣后端系統便能根據表單屬性和領導對應的身份角色自動將表單送達至相關領導,大大縮減了相關事務的處理時間。此外,本系統還將常見的學生成績錄入與審批、工資條明細展示等功能融入進來,力圖使系統更加完備。
2 基本結構
設計開發中使用的工具軟件為Eclipse。應用Spring框架的集成能力,結合Security模塊的權限驗證功能、Redis的內存級高速緩存功能與MySQL的快速持久化功能,在實現設計功能的同時使系統具有初步的抗高并發訪問能力。
前端頁面使用Vue3.0技術開發,設計五個主要頁面,對應登錄與退出、表單的申請與審批、成績錄入與審批、工資條明細展示、教學資產登記與報修等五個主要功能,用戶可根據需要,在登錄后切換功能頁面。
后端程序對應功能頁面進行模塊式開發,Security模塊對應登錄與退出頁面,結合CAS工具包實現用戶的單點登錄。登錄到系統內部后,用戶會獲得對應的身份令牌,并根據令牌信息判別相應權限,如學生的身份令牌只能填寫申請教室的表單或報修宿舍設施,而教師則在此基礎上又可以進行成績錄入、查看工資條等操作。而一旦用戶點擊退出按鈕,后端程序立即在Redis緩存中清除相應的令牌信息,以此禁止未登錄用戶的操作。
對其他四個功能頁面,首先將后端程序劃分為REST、Service和Dao三個層次,并按相應功能在三個層次中劃分出對應的功能模塊,從而完成模塊式開發。從層次的角度上看,REST層直接與前端頁面交互,但在交互過程中需要調用Service層進行數據的具體處理,而后者則要調用Dao層獲取具體數據。綜上,系統的結構框圖如圖1所示。
3 程序設計簡述
3.1 數據庫表設計
根據面向對象的程序設計思路,將教職工與學生統一抽象為用戶類,有用戶名、密碼、姓名、年齡、性別、身份、權限等屬性。在處理具體業務時,根據身份、權限等屬性確定與之關聯的數據庫表,由此實現不同功能。簡要的數據庫表關系如圖2所示。
3.2 Security模塊
使用Spring開源代碼中的Security工具包構建一連串過濾器鏈,包裹在SpringMVC核心外部,并利用配置文件和Authentication Filter等過濾器類對來訪用戶進行身份認定和鑒權,并提供登錄和登出功能。
當用戶執行登錄操作時,Security模塊會根據用戶名和密碼到用戶表中查詢是否存在及正確,從而判斷是否通過驗證。如果通過則在Redis緩存中存入一個專屬令牌(Token),并將此令牌交互給前端頁面存入Cookie,后續操作僅驗證令牌值是否正確或過期,從而省去重復查詢MySQL數據庫的過程,提高響應效率。
3.3 REST層
REST是表述性狀態傳遞的英文單詞縮寫,其本質是一種軟件編程風格,本文使用根據其開發的JSON數據格式實現前后端數據交互。接到前端的數據請求后,REST層中的相應接口會解析出具體的數據要求,而后調用Service層中的服務方法,得到已經按結構要求封裝的數據,而后REST接口將其重新轉換為JSON數據,回傳給前端頁面。
3.4 Service層
在接到REST層的數據請求后,Service層中的方法會根據業務邏輯和所給參數調用Dao層中的接口,對MySQL數據庫中的庫表進行增刪改查操作。得到返回值后,相應的服務方法會對數據進行排序、拼裝、格式轉換等處理,最終將結果返回給REST層,完成一次調用。
3.5 Dao層
Dao實際上是數據訪問對象的英文簡稱,設計此層的目的是封裝對數據庫的訪問操作,從而與具體的業務邏輯區分開。本文使用MyBatis工具包將MySQL數據庫抽象封裝為可供Spring框架調用的類和方法,并將驅動、連接、關閉和操作數據庫的SQL代碼改造為可替換參數的動態語句,從而提高訪問效率、降低訪問錯誤。
4 各界面簡述
4.1 登錄界面
登錄界面采用響應式布局,包含用戶名、密碼和驗證碼的輸入文本框,注冊和登錄按鈕,以及可供勾選的記住密碼選項框。
4.2 表單申請與審批界面
該界面包含事假、項目經費、差旅報銷等常用的十三項申請表單,以及一項自定義表單。在頁面中部采用組件列表的形式展示已申請表單的審批進度。對于相關審批人員,接到表單后,會在頁面右上角進行表單數量提示。
4.3 成績錄入與審批
該界面主要提供下轄學生的詳細列表,并可按專業、班級、科目等類別進行統計展示,以及學生成績的線上和Excel模板上傳兩種錄入方式。頁面下側對教學秘書和院系領導提供成績修改與確認按鈕。
4.4 工資條明細
該界面主要展示當前教職工自入職以來的工資明細情況,并提供Excel文件下載。
4.5 教學資產登記與報修
該界面對后勤人員展示現有教學資產的明細情況,對已報修的資產,可進一步展示修理進度。對教師、輔導員、學生等提供報修選項,供其填寫報修資產的損壞情況。
5 結束語
本文研究設計的基于Spring框架的教學管理系統采用了當前主流的前后端分離的設計方法,使用Spring框架集成Security、CAS、MyBatis等工具包實現單點登錄、數據庫操作、數據緩存等操作,從而完成能夠提供JSON數據服務的后端程序開發。對于前端頁面,本文采用流行的Vue3.0技術進行開發,設計了五個主要頁面,從而實現登錄與退出、表單的申請與審批、成績錄入與審批、工資條明細展示、教學資產登記與報修等五個主要功能。
當然,本系統在設計上仍然存在一定缺陷,在使用Python腳本進行高并發訪問測試時發現系統對大流量訪問的響應仍不理想,前端界面相對于主流OA系統也稍顯簡陋。但根據目前的調研結果,在本系統的基礎上進行界面和高并發性能上的優化,并根據用戶體驗做進一步調整后,相信能夠取得更大的應用價值。
參考文獻:
[1] 閆海發,閆楠,郭亞川,等.基于機智云物聯網智能家居系統[J].電子世界,2018(2):8-10.
[2] 李文杰.基于SSM框架的高校信息采集與管理系統[J].信息記錄材料,2019,20(10):144-145.
[3] 潘承昌,吳戀,劉遠珍,等.基于SSM的商品智能推薦系統的開發研究[J].物聯網技術,2018,8(7):73-75,77.
[4] 馮傳波,彭章友,張鐘浩.基于Vue.js的移動應用可視化平臺的研究[J].工業控制計算機,2019,32(5):102-103.
[5] 朱二華.基于Vue.js的Web前端應用研究[J].科技與創新,2017(20):119-121.
[6] 柴青山.基于MVVM模式的Vue.js框架在物流軟件自動化測試系統中的應用研究[D].北京:北京郵電大學,2019.
【通聯編輯:李雅琪】