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