SpringBoot在線選課系統設計研究
時間:2022-06-07 11:53:18
導語:SpringBoot在線選課系統設計研究一文來源于網友上傳,不代表本站觀點,若需要原創文章可咨詢客服老師,歡迎參考。
摘要:針對高校學生紛繁不一的選課要求,設計了一款基于springboot的在線選課系統,以解決傳統選課過程煩瑣,排課工作量大的問題。系統基于SpringBoot技術進行開發,設計了課程信息管理、用戶信息管理、教室信息管理、班級信息管理、排課管理、選課管理等功能。學生可以使用系統在線進行選課,教師可以使用系統在線選擇任教課程,高校管理員可以方便快捷使用系統進行課程編碼,并通過系統算法避免課程編排時間和地點沖突。能夠有效提高工作效率,節約人力成本。同時,通過SpringSecurity進行安全訪問控制,防止越權操作,確保系統的安全性。
關鍵詞:SpringBoot;SpringSecurity;在線選課系統
1引言
公共選修課是高校日常教育體系中的重要一環,其內容豐富,覆蓋范圍廣,有助于學生在學習專業基礎知識之外根據自己的興趣需要擴展人文、科技、藝術等相關知識,能夠優化學生的知識機構和見識的廣度[1]。公共選修課在提高學生知識的同時,還能提高學生的綜合素質,促進學生的個性全面發展[2]。學生選課在高校教學管理中是一項紛繁復雜的工作,而各大高校辦學規模的不斷加大也讓選課管理難度日益增加[3-4],因此設計出一款方便高效的在線選課系統便越來越受到高校教育體系的重視[5-7]。本文設計了一個基于SpringBoot的在線選課系統,學生可以使用系統在線進行選課,教師可以使用系統在線選擇任教課程,高校管理員可以方便快捷使用系統進行課程編碼,并通過系統算法避免課程編排時間和地點沖突。以此來提高工作效率,節約人力成本。
2需求分析
2.1功能需求分析
在高校教學過程中,讓學生根據自己的興趣愛好選擇相關選修課程,可以提高學生的綜合素質,增廣學生的見聞,并激發學生學習的主觀能動性,因此在線選課系統應運而生。在線選課系統除了能讓學生方便快捷的選擇自己喜愛的選修課程外,也能大大提升選課和排課效率,節約選課排課過程中的人力成本。如上圖1所示,系統總體功能有課程信息管理、用戶信息管理、教室信息管理、班級信息管理、排課管理和選課管理六個部分。管理員具有課程信息管理、用戶信息管理、教室信息管理、班級信息管理等功能。教師和學生都具有選課管理的功能。
2.2安全需求
不同角色的用戶登錄系統后,會進入到不同的頁面,執行不同的操作。為了保證系統運行的安全性,防止越權訪問和惡意操作,需要建立基于角色的訪問控制(RBAC)策略。根據上文1.1所示的功能需求為管理員、教師和學生三個不同的角色賦予不同的權限。當用戶登錄系統后,針對其每一個操作,系統判斷當前用戶所對應角色是否具有指定的操作權限,若具有該權限,則允許當前操作執行;否則禁止當前操作,并強制當前用戶退出系統。
3系統功能設計與實現
3.1系統功能設計
(1)課程信息管理模塊設計管理員登錄系統后,可以對課程信息進行維護:包括添加課程信息、修改課程信息、查詢課程信息、刪除課程信息等操作。此外,課程信息中還需要指明課總課時數量。(2)用戶信息管理模塊設計用戶包含三種,分別是管理員、教師和學生,通過給不同用戶設置不同的角色編碼來進行區分。管理員賬戶由系統擁有者在數據庫中直接創建,并賦予其角色編碼ADMIN,使其具有管理員角色,管理員可以有多個。然后由管理員負責收集學校所有教師和學生的基本信息,登錄到系統中進行教師和學生信息的維護。教師信息維護包括添加教師信息、修改教師信息、查詢教師信息和刪除教師信息。學生信息維護則包括添加學生信息、修改學生信息、查詢學生信息、刪除學生信息。(3)教室信息管理模塊設計管理員登錄系統后,可以對教室信息進行維護:包括添加教室信息、修改教室信息、查詢教室信息、刪除教室信息等操作。(4)班級信息管理模塊設計管理員登錄系統后,可以對班級信息進行維護:包括添加班級信息、修改班級信息、查詢班級信息、刪除班級信息等操作。所有班級都屬于選修課下的臨時班級,伴隨著選修課而存在,因此需要指明班級所關聯的課程。每個選課周期開始時,新的班級開始創建,一個選課周期結束時,該班級的生命周期也隨即結束。在本選課系統中,一門課程下可以包含多個班級,但一個班級只對應一門課程。此外還需要指定班級人數上限,以控制每個班級的人數。(5)選課管理模塊設計教師和學生登錄系統后,都可以進行選課。學生可以選擇多門課程學習,但每門課程下只能選擇一個班級,也就是說一個學生不能出現在同一門選修課下的兩個不同的班級中;另外,一個班級中選課的學生人數如果已經到達上限,則該門課程將不允許學生再選課;學生也可以取消選擇,取消成功后,該課程即空出一個名額可給其他學生選擇。教師可以選擇多門課程任教,并且可以選擇同一門課程下的多個班級;此外,如果課程下的某個班級已經被教師選擇,則該班級將不允許其他老師再選;教師也可以取消選課,即取消對某課程下所有已選班級的選擇,取消成功后,原先被該教師所選的班級即可被其他教師選擇。(6)排課管理模塊設計為了合理安排所有課程的場次信息,保證所有教師所上課程時間及地點不相互沖突,管理員需要對課程實行排課。排課時首先指定所排課程、班級及任課教師;其次選擇排課周次,包括起始周次和結束周次。然后是查看當前教師已排課程所占用的時間,并避開這些時間;再次是選擇相應的教室,查看對應的教室在指定時間是否空閑。最后選擇空閑時間及空閑教室,并重復以上步驟直到課程中的全部課時都已經安排妥當為止。選課及排課流程如下圖2所示。
3.2安全性能設計
(1)用戶登錄控制為了保證系統運行的安全性,避免數據被惡意獲取和篡改。系統所有功能都必須在用戶成功登錄后才能訪問,并使用SHA-256哈希算法對數據庫中的用戶密碼進行加密,防止用戶密碼泄露。(2)用戶操作權限控制為了控制不同用戶的操作權限,防止越權訪問,系統采用RBAC訪問控制策略,并使用SpringSecurity進行安全訪問的控制。如前3.1所述,本系統中,數據庫中用戶表結構中每個用戶都有一個角色編碼,用于標識用戶的角色信息。同時數據庫中還存在一個角色權限關聯表,包含了角色與操作權限的對應關系,當用戶登錄成功后,系統將根據用戶角色,從數據庫的角色權限關聯表中讀取用戶的操作權限信息。當用戶執行某項的操作時,若包含對應的操作權限,則允許用戶進行操作,反之則禁止當前操作,并強制用戶退出系統。
3.3數據庫設計
本系統采用開源的MySQL數據庫系統進行數據存儲。包含的數據表有課程信息表、用戶信息表、教室信息表、班級信息表、排課信息表、排課詳情表、角色權限關聯表、班級學生關聯表等。課程信息表(課程id、課程名、總課時量、課程描述、刪除標志位、創建人id、創建時間、修改人id、修改時間);用戶信息表(用戶id、用戶名、密碼、昵稱、性別、聯系電話、電子郵箱地址、角色編碼、刪除標志位、創建人id、創建時間、修改人id、修改時間);教室信息表(教室id、教室名稱、所在樓棟、刪除標志位、創建人id、創建時間、修改人id、修改時間);班級信息表(班級id、班級名稱、人數上限、已選課程人數、課程id、刪除標志位、創建人id、創建時間、修改人id、修改時間);排課信息表(排課id、所屬學期、課程id、教師id、班級id、已排課時量、刪除標志位、創建人id、創建時間、修改人id、修改時間);排課詳情表(詳情id、所屬學期、周次信息、所在星期、所在節數、排課id、刪除標志位、創建人id、創建時間、修改人id、修改時間);權限信息表(角色編碼、權限編碼);班級學生關聯表(班級id、學生id);系統的E-R圖如圖4所示:
4總結
本文設計了一款在線選課系統,能夠實現學生及教師方便快捷在線選課的需要,并方便管理處理課程編排,避免排課的時間地點沖突,有效提升高校選課工作的效率。同時使用SpringSecurity進行訪問權限控制,確保了系統的安全性能。
參考文獻:
[1]張剛華,聶潔珠.高校公選課混合式教學創新研究[J].西部學刊,2020(11):76-78.
[2]徐曼曼.基于在線課程資源的高職公選課教學效果研究[J].科技資訊,2019,17(21):85-87.
[3]張俊,宋雪勦,曹慧敏,等.高校教務管理系統選課算法研究綜述[J].攀枝花學院學報,2017(2):49-52.
[4]王倩,徐寶磊.網絡在線選課模塊建設研究——以四川文理學院教務管理系統為例[J].四川文理學院學報,2019,29(05):30-33.
[5]白偉麗.學生選課系統的設計與實現[J]電腦與電信,2018(10):38-40.
[6]李帥,黃克敏,楊義,等.高校學生選課系統的研究與設計[J].電腦知識與技術,2017(9):99-100.
[7]楊博森,嚴張凌.微服務架構下學生選課系統的設計與實現[J].信息與電腦(理論版),2020,32(20):84-86.
作者:楊晟 羅奇 單位:湖南信息職業技術學院
- 上一篇:物理實驗教學改革創新與實踐
- 下一篇:基層疾控機構科技檔案管理發展策略