一、啓動說明
- 項目爲maven管理,最近集成了redis,所以在運行項目是先要下載redis並啓動客戶端,方可正常運行項目,除了基本的maven,mysql外,只需要下載redis,無需其他配置,這裏就不做過多說明。
二、相關技術說明
- 集成redis來保存用戶登錄信息,添加過濾器重置用戶登錄有效期。攔截器實現統一登錄和權限校驗(相關重構還未完成)。
- 項目採用前後端分離技術實現
- 框架:SSM(Spring,SpringMVC,Mybatis)
- 緩存:redis
- 數據庫:MySQL
- IDE:Intellij IDEA
- 其他:Maven,Git
三、項目亮點
- 前後端分離。
- 用戶登錄權限區分和控制。
- 防止橫向越權和縱向越權。
- 密碼MD5明文加密。
- 設計高複用的服務器響應對象。
- guava緩存。
- pojo,vo抽象模型。
- 數據綁定對象。
- Mybatis分頁
- Bootstrap。
- artTemplate,artDialog,iframe前端模板使用。
- select2、toastr、sweetalert等等前端插件的使用。
- redis緩存。
- 全局異常處理,攔截器權限統一檢驗。
用例分析
學生主要操作的是網站前臺,他的用例主要有登錄、瀏覽課程信息、下載課程資料、在線測評考試、查看考試成績、查看公告通知。對於沒有登錄的學生來說,他的操作權限比較小,所以只能查看網站的課程信息以及下載課程的資源。而登錄後的學生就可以有權限操作系統前臺的所有內容了,比如在線測評考試,查看考試成績,修改個人用戶信息,查看通知公告信息等等。學生首次進入教學網站是沒有進行登錄的,如果沒有登錄的學生操作這些內容,則系統會提示登錄。學生用例圖如圖3-1所示。
教師端的功能比較複雜,它主要由題庫管理,試卷管理和資源管理組成。在題庫管理中,有添加試題,修改試題,刪除試題等功能。試卷管理中負責將題庫的試題進行組裝,進而發佈給學生進行作答。最後的資源管理中主要用來給學生上傳教學過程中的資料,比如文檔,視頻等。教師通過這些模塊和功能可以對學生進行線上的學習溝通和交流,爲教學資源提供更全面的平臺。教師用例圖如圖3-2所示。
管理員的主要功能是負責維護學生和教師的信息,還有對學生年級和專業科目的管理,以及發佈一些通知公告,管理員在管理學生和教師管理功能中主要負責添加學生和教師的個人信息。管理員主要分爲公告管理,教師管理,學生管理,專業年級管理。並且管理員還可以進行個人信息的管理。管理員用例圖如圖3-3所示。
系統功能模塊設計
學生功能
(1)登錄功能
學生登錄是爲了存儲學生的個人信息,在學生進行在線測試的時候方便記錄學生的姓名已經分數,學生的賬號和密碼由管理員統一錄入,所以不需要學生自己註冊賬號。如果輸入的密碼或者賬號不正確,則系統會提示相應的錯誤信息。
(2)課程查看
課程查看是開放在系統的前端首頁中的,學生不需要登錄就可以看到各種課程的相關信息,比如學生想查看關於數據庫的課程,只需要點擊課程查看中的數據庫菜單就可以進入數據庫欄目的教學課程之中。
(3)資源下載
資源下載也不需要學生進行登錄,學生只要找到資源下載模塊,就可以進入資源下載列表,資源列表中包含所有教師上傳的資源包括PPT、文檔、圖片等。類似於一個線上的FTP服務器,學生只需要選擇自己需要的資源點擊下載,就可以在本地下載。在資源下載的列表中,還會顯示資源的大小以及上傳的時間,方便學生有選擇性的進行下載。
(4)在線考試
在線考試是整個系統的核心功能,它包括了學生在線作答,以及系統的自動評分。
進入在線考試時,學生必須進行登錄,否則提示無權限進入。當學生登錄後,可以選擇考試,通過選擇試卷名稱來進行相應的試題答卷。學生答題完畢後,系統進行自動評分,通過計算學生答卷的正確個數,給出相應的題目得分,並算出總分。
(5)查看成績
當學生答題完畢後,點擊提交按鈕,試卷便會提交併且自動覈實答案進行給出相應的分數。本次的考試試卷以及分數自動保存在考試成績中,方便學生進行查看。學生也可以點擊成績查詢來查看歷次的考試成績。
(6)查看公告
在前臺首頁中有系統公告欄目,欄目信息由管理員發佈,學生可以進行查看公告欄目中的信息。這個通知按照時間線順序,學生可以很清楚的知道管理員發佈的通知內容和發佈的時間。
教師功能
(1)查看公告
教師模塊是爲老師提供教學服務的一個模塊,教師通過登錄賬號進入到教師管理頁面進行管理。老師進入到教師系統後,同樣也可以看到管理員發佈的通知。
(2)管理題目
教室進入到題目管理,老師可以查看題庫,題庫中是所有類型的題目,老師可以啓用和停用題庫中的題,也可以對題庫中的題進行查找。若題庫中找不到考點相關的題目,老師也可以新增試題,並將新題加入到題庫中。
(3)管理試卷
試卷管理是讓老師從題庫中進行選擇題型,然後組裝成一張試卷,最後發佈給學生進行作答。試卷管理中可以進行老師的手動組卷,也可以讓系統自動組卷,做裝好的試卷存放在試卷中心中,老師可以進入試卷中心查看試卷,並可以選擇試卷是否啓用,啓用試卷在試卷發佈中可以進行發佈,發佈成功的試卷學生就可以進行選擇作答。
(4)管理成績
教師發佈後的試卷當學生做完後,系統會自動進行打分,並且保存在數據庫中。當學生做完試卷後,教師的成績管理自動進行更新,出現學生考試的成績。並且老師可以查看所有學生所做試卷的成績。
(5)管理資源
在教學管理中,老師可以根據自己的教學目標,將資料上傳。上傳使用批量進行上傳,教師選擇所需要上傳的資料,等待系統加載完畢後,點擊上傳,資料便會上傳至系統服務器之中。
(6)個人中心
在教師的個人管理中,老師也同樣可以在個人中心中修改自己的密碼以及密保問題。即使教師忘記了自己的密碼,也可以通過找回密碼進行重新設置密碼。
管理員功能
(1)管理公告
管理員模塊僅提供給系統管理員,其功能主要是管理學生和教師的信息。管理員登錄系統後,可以向老師和學生髮出通知。默認情況下,系統將獲取當前發佈時間,發佈的信息將按照發布時間的順序進行排序。同樣,除了發佈公告信息,管理員還可以修改和刪除已經發布的信息。
(2)管理教師
管理員進入教師管理,可以看到所有老師的信息,管理員可以進行添加教師,也可以對老師的信息進行修改或者刪除操作。
(3)學生管理
管理員進入學生管理,可以看到所有的學生信息,可以對學生進行添加,也可以對學生的信息進行修改和刪除。這裏的學生信息即爲學生登錄的信息。
(4)專業管理
專業年級管理主要是對年級和專業進行操作,管理員可以通過專業年級來增加新的年級或者新的專業。同樣,管理員也可以對已經添加的專業或者年級進行刪除或者修改操作。專業年級也將和學生的個人信息以及學科的類別進行關聯。
項目展示
學生可以通過瀏覽器輸入網站地址就可以進入到教學網站的前臺頁面,在前臺頁面中,有課程的相關信息,這些課程根據自己的技術進行分類。學生在沒有登錄網站的情況下可以進行查看網站課程的相關信息,點擊課程類,可以進入到此類課程的相關教程,相關課程中包括本課程的相關信息。前臺教學網站首頁展示圖如圖5-1所示。
在網站首頁的右上角有登錄按鈕,這是爲學生專門設計的登錄接口。學生通過管理員錄入的學生信息和密碼進行登錄。如果學生沒有輸入任何信息進行登錄時,前端會進行判斷,並且提醒學生輸入用戶名和密碼。當學生正確的輸入自己的用戶名和密碼時,系統自動跳轉到網站首頁,在右上角會顯示已登錄學生的姓名。此時,學生登錄成功,登錄成功的學生就可以進行在線考試和查看成績。學生登錄頁面如圖5-2所示。
如果學生進入網站後沒有進行登錄就點擊在線測試,系統會提示學生進行登錄。當用戶點擊登錄並且成功登錄系統後,方可進入在線考試。當學生進入在線考試系統後,可以看見教師發佈的專業試卷信息列表,並且有對應的發佈時間和相應的操作。如果學生選擇一個專業試卷後,點擊試卷後的答卷操作就可以進行試卷的答卷。當學生進入考試系統後,會出現本次考試試卷的試題信息,以及出卷老師和試卷的總分。學生通過選擇正確的試題答案就可以進行在線的作答。學生在線考試頁面圖如圖5-3所示。
老師通過登錄後,進入到老師管理頁面,老師首頁同樣可以看到管理員所發佈的通知。在左側的教師功能欄目中包括題目管理,試卷管理,學生管理以及資源管理。同樣在右上方中有老師的相關信息,老師可以通過設置進入個人信息進行密碼等信息的修改。教師首頁展示圖如圖5-4所示。
在題目管理中,包括了題庫中心,試卷管理以及新增試卷功能。點擊題庫,可以進入到試題管理列表,列表中存放所有的試題信息,教師可以對試題進行查詢和查看詳情。在試題中心中,存放的是該教師所出的題目,與題庫不同的是,該教師可以對自己所出的試題進行刪除和修改,啓用或停用。而在題庫中存放的是所有教師所出的試題,只有查看的權限。在新增試題中,教師可以選擇新增試題的類型,然後進行出題和提交。試題管理界面圖如圖5-5所示。
具體項目功能展示視頻:https://www.bilibili.com/video/av81396646
下載地址
項目由本人設計,由於下載區下架了程序源碼,所以需要的小夥伴可以加羣下載,有什麼部署問題可以留言或者羣中討論。