JavaEE-期末作業-作業管理系統

1 項目介紹

1.1 技術說明

框架:SpringBoot + Jpa(持久層框架) + layui(前端框架)
數據庫:Mysql
容器:Docker
開發環境:IDEA

1.2 主要功能

主要功能包括:登錄註冊、發佈作業、提交作業、查看作業、作業打分評語
可以將系統劃分爲:登錄註冊、教師端、學生端

1.2.1 登錄註冊

此功能爲教師和學生的公共功能。
在註冊時需選擇自己的身份。
在登錄時會根據選擇的身份自動進入學生系統或教師系統。

1.2.2 教師端

1.發佈新作業
2.查看學生提交的作業
3.給學生提交的作業打分、寫評語
4.作業信息統計(提交人數、平均分)

1.2.3 學生端

1.查看老師發佈的作業要求
2.提交作業
3.查看老師給的分數和評語


2 數據庫說明

一共三張表,爲便於測試,三張表之間不存在外鍵依賴。

2.1 user 表

在這裏插入圖片描述

2.2 student_homework 表

在這裏插入圖片描述

2.3 teacher_homework 表

在這裏插入圖片描述
注:本表中homework_id字段爲逐漸,且自增


3 服務器設計

3.1 項目目錄結構

在這裏插入圖片描述

3.2 各部分代碼

可以在github查看:
https://github.com/13269279918/JavaEE-HomeworkSystem-Final

4 功能細節和容錯

4.1 註冊

在這裏插入圖片描述
用戶可以自定義用戶名,並設置密碼。
並選擇自身身份(以後該身份將再登錄時進行自動識別)。

4.1.1 用戶名重複識別


如果用戶輸入了已存在的用戶名,則會註冊失敗,需更換用戶名。

4.1.2 密碼二次確認

在這裏插入圖片描述
如果用戶兩次輸入的密碼不一致,則會註冊失敗,並提示用戶。

4.1.3 空輸入檢測

在這裏插入圖片描述
如果用戶沒有輸入用戶名、密碼,或沒有選擇身份,就會註冊失敗,並提示用戶進行完整輸入。

4.1.4 長度限制

在這裏插入圖片描述
因爲數據庫的字段長度限制,防止用戶輸入過長的用戶名和密碼,導致越界、泄露等問題,用戶名和密碼進行了長度限制,達到長度上限後將無法繼續輸入。

4.2 登錄

在這裏插入圖片描述
用戶輸入正確的用戶名和密碼後,系統會自動識別用戶身份。給出用戶提示,稍後跳轉至對應身份的頁面。

4.2.1 長度限制——同上

4.2.2 密碼驗證

在這裏插入圖片描述
如果用戶輸入的用戶名和密碼不能匹配,將會提示用戶。

4.3 教師端——作業目錄

在這裏插入圖片描述
教師用戶登錄後會自動跳轉至此頁面。此頁面相當於教師端的首頁面。

4.3.1 表格中按鈕——要求

在這裏插入圖片描述
點擊教師可以查看此次作業的要求。

4.3.2 表格中按鈕——批閱

點擊之後可以查看此項作業的學生提交作業,具體可以參照下文4.4。

4.3.3 表格中按鈕——統計

在這裏插入圖片描述
點擊後會有彈出層顯示本作業的提交人數和平均分。

4.3.4 左側導航欄——批改作業

即爲首頁面,點擊之後原地跳轉,相當於刷新頁面。

4.3.5 左側導航欄——發佈作業

在這裏插入圖片描述
點擊之後跳轉至發佈作業界面,用戶可以輸入作業標題、作業要求,並選擇作業截止日期。
注:此部分也有非空容錯和長度容錯,實現方法同上。

4.3.5.1 截止日期容錯

在這裏插入圖片描述
如用戶指定的截止日期在當前日期之前,那麼就無法發佈。
如圖中指定的日期是6月2日,而當前時間已經是6月19日,作業將無法發佈。

4.4 教師端——批改作業

在這裏插入圖片描述
用戶在教師端首頁,點擊表格中的批閱按鈕後會跳轉至此頁面。
此頁面會過濾顯示所選作業的全部提交情況,如圖中選擇的是第四次作業,那麼只會顯示學生上交的第四次作業,而不會顯示第一二三次。

4.4.1 表格按鈕——內容

在這裏插入圖片描述
點擊之後會有彈出層顯示,此學生提交的作業內容。

4.4.2 表格中按鈕——打分

在這裏插入圖片描述
點擊之後會彈出窗口,用戶可以輸入評分和評語對該學生的本次作業進行評分。
注:此窗口也包含非空容錯和長度限制,同上。
注:此窗口中還包含數值類型容錯,如果用戶輸入不是0-10的數字,則會提醒。
在這裏插入圖片描述

4.5 學生端——查看待提交作業

在這裏插入圖片描述
學生用戶登錄後將會自動跳轉至此界面。

4.5.1 表格中按鈕——要求

在這裏插入圖片描述
用戶點擊之後,彈出窗口顯示本次作業的作業要求。與教師端要求功能相同

4.5.2 表格中按鈕——提交

在這裏插入圖片描述
點擊後,會彈出窗口,用戶可以輸入此次作業提交的題目名和內容。

4.5.2.1 截止日期檢測

如上圖中,前三次作業的截止日期爲6.18.而本日已經是6.19,故前三次作業已經不可提交了。

4.5.2.2 作業重複提交

後提交的作業會以Update的形式,修改覆蓋之前提交的數據記錄。故學生可以在作業的截止日期內無限次提交作業。

4.5.3 左側導航欄——提交作業

即爲學生端的主頁面,點擊之後原地跳轉,相當於刷新頁面。

4.5.4 左側導航欄——查看分數

在這裏插入圖片描述
用戶點擊之後,會跳轉至查看分數頁面。
用戶可以查看本人提交的全部作業的分值和老師的評語。


5 結語

很感謝老師的教導,經過一個學期的學習,我從一個連Maven都不會配置的小白成長爲了對各類框架都能瞭解掌握的大白,並且對企業編程有了一定認識。這門課極大的開闊了我的知識範圍,讓我很是受用。我對自己的進步感到高興,也對老師給我提供的指導和幫助表示由衷的感謝——祝願老師事業順利,身體健康。

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章