這個作業屬於哪個課程 | 軟件工程 |
---|---|
這個作業要求在哪里 | 項目系統設計與數據庫設計 |
這個作業的目標 | 項目系統設計與數據庫設計 |
作業正文 | 愛是用心碼——項目系統設計與數據庫設計 |
github鏈接 | 項目地址 |
其他參考文獻 | 無 |
一、預期開發計划時間安排
周數 | 團隊目標與產出 | 當前進度 |
---|---|---|
第一周 | 1、前端完成基礎頁面設計。 2、后端完成各模塊的php代碼。 |
已完成 |
第二周 | 1、前端進行跳轉頁面以及組件功能實現。 2、后端補足各模塊缺失接口代碼。 3、代碼測試修改bug。 |
未完成 |
第三周 | 1、前端進行UI統一以及美化界面。 2、后端測試並完善基礎功能接口。 |
未完成 |
第四周 | 1、前端調用后端小組的接口,並嘗試完成頁面渲染和效果調用。 2、后端輔助前端小組調用,並進行相應的修改調整。 |
未完成 |
第五周 | 1、前端組合成功后進行前端測試。 2、后端進行完整性校驗,根據小程序不足,編寫新的接口,進而完善功能。 |
未完成 |
第六周 | 1、前后端收尾,保證小程序基本功能運行正常,頁面效果對用戶友好。 2、bug修改和后期維護。 |
未完成 |
二、預期開發計划分工安排
學號 | 姓名 | 角色 | 預期任務分配 |
---|---|---|---|
211706206 | 吳秋悅 | 后端 | 1、學生模塊接口功能實現。 2、輔助前端進行接口調用。 3、API接口文檔及測試。 |
211706130 | 王孟玉 | 前端 | 1、學生模塊中“我的”全部功能。 2、UI統一以及美化界面。 3、前端測試。 |
211706205 | 吳娉婷 | 前端 | 1、學生模塊中“首頁”全部功能。 2、UI統一以及美化界面。 3、前端測試。 |
211706152 | 張露 | 前端 | 1、登錄頁面、輔導員模塊中的功能主頁、個人頁面部分。 2、UI統一以及美化界面。 3、前端測試。 |
211706161 | 蔡雨婷 | 前端 | 1、輔導員模塊中的忘記密碼部分、查看查寢結果。 2、UI統一以及美化界面。 3、前端測試。 |
211706197 | 汪鈺瑩 | 前端 | 1、宿舍管理功能、抽取宿舍功能。 2、UI統一以及美化界面。 3、前端測試。 |
211706187 | 林連坤 | 后端 | 1、輔導員模塊接口功能實現。 2、輔助前端進行接口調用。 3、API接口文檔及測試。 |
211706174 | 洪成龍 | 后端 | 1、登錄模塊與輔導員模塊接口功能實現。 2、數據庫建立。 3、API接口文檔及測試。 |
三、設計圖和設計思路
1、體系結構圖
2、功能模塊圖
該功能模塊圖分為兩個模塊:學生端與輔導員端。學生端擁有登錄功能、查看功能、拍照上傳功能以及個人信息管理功能,輔導員端擁有登錄功能、抽取功能、查看功能、宿舍管理功能以及個人信息管理功能,每個功能都帶有子功能。
3、類圖
我們設計了用戶、輔導員、學生、照片、宿舍類,各類所擁有的屬性、操作以及各類之間的關系如下圖,輔導員和學生都繼承於用戶類,輔導員與照片、宿舍類關聯,學生實現照片類、依賴宿舍類。
4、ER圖
我們有輔導員、學生、宿舍、記錄四個實體,分別以id為主鍵,輔導員與宿舍之間為一對多,學生與宿舍之間為一對多,輔導員、學生與記錄之間為多對多。
輔導員【學工號,性別,用戶名(姓名),密碼,電子郵箱,手機號,頭像地址,年級,系別】
學生【學號,性別,用戶名(宿舍號),密碼,電子郵箱,手機號,頭像地址,年級,系別】
宿舍【ID,宿舍號,舍長學號】
記錄【ID,照片地址,宿舍號,隨機號碼,開始時間,上傳時間,結束時間】
5、數據庫設計圖
設計思路:
- student表、counselor表用來存儲學生、輔導員的個人、登陸信息
- dorm表用來存儲宿舍的相關信息
- record表用來存儲用戶的查寢記錄
6、系統安全和權限設計
系統安全
- 數據庫不直接存儲用戶的密碼,而是以MD5或其它等方式加密后存入數據庫,避免密碼明文傳輸過程中被截獲;
- 防止SQL注入:在后台代碼中以預編譯SQL語句等方式防止SQL注入,降低通過原生SQL語句攻擊數據庫的風險;
- 定期備份數據庫中的數據到其他地方,防止數據丟失、損壞等意外;
- 審計:建立審計日志,把用戶對數據庫的所有操作自動記錄下來放入審計日志中,DBA可以利用審計跟蹤的信息,重現導致數據庫現有狀況的一系列事件,找出非法存取數據的人,時間和內容等;
- 用戶標識符和鑒別:該方法由系統提供一定的方式讓用戶標識自己的名字或身份。每次用戶要求進入系統時,由系統進行核對,通過鑒定后才能提供系統的使用權。
用戶權限設計
系統首先對用戶發出的訪問請求進行身份和授權認證,具有合法權限的用戶才能進入系統操作環境,對數據庫進行權限范圍內的訪問。本系統主要面向輔導員和學生兩種角色,系統會根據角色授予具體的功能權限。
四、Q&A與改進
1、Q&A
Q:只有一個輔導員用戶嗎?
A:如果其他輔導員願意使用,我們可以為他提供賬號,並幫助他將學生宿舍信息批量導入數據庫。
Q:如何對宿舍進行管理?
A:我們增加了宿舍管理功能,輔導員可以自己增刪宿舍,或是聯系后台管理員進行批量導入。
Q:抽簽采用什么規則?怎么隨機?
A:使用MySQL的rand()函數隨機抽取宿舍和號碼,如
select dormNumber, round(rand()*999 + 1) as randNumber from dorm order by rand() limit 4;
Q:需求報告中提到的用戶重要信息指哪些,加密方式采用什么?
A:用戶重要信息指的是密碼,采用MD5算法加密。
Q:后端應該會備有相應的數據庫,這應該會有相應的通訊需求的。搜索采用關鍵字完全搜索,如果數據量大了之后會不會性能出現嚴重降低?
A:如果數據量大了會性能會降低。但我們總的數據量不會太大,如果我們系的所有輔導員都在使用,也大概只有300間宿舍,所以在設計數據庫時暫時不考慮性能問題。
2、改進
- 新增輔導員宿舍管理、查看等功能。輔導員可查看或增刪自己名下管理的宿舍名單,也可聯系后台管理員批量增刪。為了解決單個輔導員可能兼職其他年級或系的輔導員,因而加上年級與系的選擇框(注:只顯示自己管理的年級與系的宿舍),為了方便查看宿舍,輔導員可通過宿舍樓進行分量查看。
- 新增用戶的用戶名、系、年級、宿舍號顯示及修改。用戶可登陸至修改個人信息界面,修改自己的信息至數據庫中,方便宿舍樓調動的情況的修改。
- 新增登錄中忘記密碼的驗證身份模塊,及手機驗證與郵箱驗證。增加了用戶使用的安全性。
五、此次工作流程與貢獻度比例
工作流程
分工及貢獻度
學號 | 工作內容 | 貢獻度 |
---|---|---|
211706206 | 分配任務、畫數據流圖、《系統設計說明書》接口設計、整合說明書、編輯博客 | 13% |
211706130 | 畫體系結構圖、《系統設計說明書》驗收標准及引言、審查博客和ppt | 12% |
211706205 | 畫功能模塊圖、《系統設計說明書》驗收標准及引言、審查博客和ppt | 12% |
211706187 | 畫泳道圖、《系統設計說明書》輸入輸出格式、審查博客和ppt | 12% |
211706152 | 畫類圖、編寫《數據庫設計說明書》、PPT制作、演講、審查博客 | 13.5% |
211706161 | 畫ER圖、編寫《數據庫設計說明書》、PPT制作、審查博客 | 12% |
211706197 | 畫ER圖、編寫《數據庫設計說明書》、PPT制作、審查博客 | 12% |
211706174 | 畫類圖、數據庫設計、編寫《數據庫設計說明書》、PPT制作、審查博客 | 13.5% |
六、commit提交記錄
七、github地址與文檔下載地址
系統設計和數據庫設計答辯PPT 提取碼:6jw8