這個作業屬於哪個課程 | 2018級計算機和綜合實驗班 |
---|---|
這個作業要求在哪里 |
|
這個作業的目標 | ① 1篇博客隨筆,發表在團隊博客的博客中,博客標題設置為“XXX(團隊名稱)——項目系統設計與數據庫設計”,並提交作業 ② 1份《系統設計說明書》(pdf文件); ③ 1份《數據庫設計說明書》(pdf文件)數據庫設計要求使用工具PowerDesigner; ④ 04月22日系統設計和數據庫設計答辯准備:1份《系統設計和數據庫設計答辯PPT》(課堂現場評審)。 ⑤ 建立github團隊倉庫,將《系統設計說明書》《數據庫設計說明書》《系統設計和數據庫設計答辯PPT》等團隊文檔提交到團隊倉庫; ⑥ 現場評審要求 |
作業正文 | 見下文 |
其他參考文獻 | 見下文 |
團隊的github倉庫鏈接 | github倉庫 |
目錄
一、系統設計和數據庫設計部分的內容
1.1系統設計部分
《系統設計說明書》中,大致分為引言、功能模塊層次設計、功能模塊層次圖、UML設計圖、接口設計、ER分析、表結構設計、系統安全和權限設計。
1.2數據庫設計部分
《數據庫設計說明書》中,大致分為引言、外部設計、結構設計、運用設計和數據庫驗證驗收標准幾方面的內容。其中結構設計分為概念結構設計、邏輯結構設計和物理結構設計,是分別從學生用戶端和管理員端設計的。
二、細化團隊的開發計划和時間計划、細化組員分工
2.1預期開發計划時間安排
周次 | 任務計划安排 | 完成情況 |
---|---|---|
第七周 | 完成團隊項目的選題 | 已完成 |
第八周 | 完成需求規格說明書以及明確團隊人員的分工 | 已完成 |
第九周 | 完成《系統設計說明書》《數據庫設計說明書》 | 已完成 |
第十周 | 前端完成登錄注冊的GUI界面,后端初步完成各個模塊的代碼,數據庫做完基本的增刪改查 | 未完成 |
第十一周 | 前端完成剩下所有頁面的GUI界面,后端完善模塊代碼和編寫接口,數據庫根據后端需求進行進一步的開發 | 未完成 |
第十二周 | 前端調用后端的接口進行測試,后端校驗是根據小程序不足,重新編寫接口,完善功能 | 未完成 |
第十三周 | 對小程序進行測試,修復Bug | 未完成 |
2.2預期開發計划分工安排
組員 | 角色 | 主要負責 |
---|---|---|
余秀璇 | 前端 | 主要編寫前端所需的GUI代碼 |
王美婉 | 前端 | 界面設計與排版,協助編寫GUI代碼 |
徐譽丹 | 后端 | 主要負責業務邏輯代碼與實體類代碼的編寫 |
陳彤 | 后端 | 編寫接口代碼,協助編寫實體類代碼 |
林婷 | 數據庫 | 數據庫表的設計,后端與數據庫交互代碼的編寫 |
王琪 | 項目總結 | 文案與博客的編寫 |
2.3設計思路
2.3.1設計思路
我們打算做一個微信打卡小程序,對於學生打卡問題做出針對性的措施,用排行榜排名來進行獎勵機制,從而激發學生讀書的興趣,用提醒打卡功能提醒學生不要忘記打卡,用戶登錄注冊模塊就是登錄需要。
管理員模塊的設計思路是為了后台工作人員能夠統計學生的信息並且能知道哪些學生需要提醒打卡並提醒。
2.3.2體系結構設計+功能模塊層次圖
2.3.3設計類圖
2.3.4 ER分析
2.3.5表結構設計
表名 | 功能說明 |
---|---|
Student | 學生表,用於驗證是否是學生以及存儲個人信息 |
Notes | 記錄表,用於存儲打卡記錄 |
Administrator | 管理員表 |
1、Student表
列名 | 數據類型 | 空/非空 | 約束條件 | 其他說明 |
---|---|---|---|---|
id | VARCHAR(255) | 非空 | PRIMARY KEY | 用戶ID |
sno | VARCHAR(5) | 非空 | 學生學號 | |
name | VARCHAR(16) | 非空 | 學生姓名 | |
sex | VARCHAR(9) | 非空 | 性別 | |
major | VARCHAR(255) | 非空 | 專業 | |
grade | VARCHAR(10) | 非空 | 年級 | |
loginAccount | VARCHAR(255) | 登錄賬號 | ||
passwd | VARCHAR(255) | 密碼 |
2、Notes表
列名 | 數據類型 | 空/非空 | 約束條件 | 其他說明 |
---|---|---|---|---|
id | VARCHAR(255) | 非空 | PRIMARY KEY | 用戶ID |
sno | INT(20) | 非空 | 學生學號 | |
name | VARCHAR(20) | 非空 | 學生姓名 | |
time | DATETIME(255) | 非空 | 打卡成功時間 | |
count | INT(255) | 非空 | 個人打卡總天數 |
3、Administrator表
列名 | 數據類型 | 空/非空 | 約束條件 | 其他說明 |
---|---|---|---|---|
id | VARCHAR(255) | 非空 | PRIMARY KEY | 用戶ID |
account | VARCHAR(255) | 非空 | 賬號 | |
password | VARCHAR(255) | 非空 | 密碼 |
2.3.6系統安全和權限設計
- 數據庫系統安全性
當數據庫增刪改操作異常時,對當前修改請求進行撤回,保證數據的安全性和完整性。數據庫系統采用安全的用戶名加口令方式登錄。
用戶在使用此系統時,由於不同的用戶登錄密碼不同,而且增加了密碼設置,相當於對數據的訪問設置了權限。- 用戶請求權限設計
后端設置過濾機制,使用過濾器對沒有注冊登錄用戶的請求進行攔截,不予放行, 防止非法用戶惡意操作,只有經過常規途徑注冊並登錄的用戶才能使用系統。
后端對前端提交的數據進行校驗,防止有用戶通過非正規途徑使用惡意的數據包對服務器發送請求造成服務器端出現異常。- 數據備份和恢復
為防止用戶手機丟失導致數據丟失的情況,應當定時進行數據備份。- 日志管理機制
實現系統使用情況的日志記錄,系統對重要的操作都自動進行日志記錄,管理人員對日志記錄進行查詢、管理;提供用戶訪問系統記錄,目前提供用戶名、用戶密碼、打卡時間、打卡次數等。
2.4Q&A
Q:用戶登錄錯誤時的彈窗信息
A:在具體應用時會添加該彈窗信息
Q:沒有打卡時常計算機制
A:因為我們的打卡是只要去過圖書館就算一次打卡,所以沒有打卡時常的計算
Q:沒有打卡鼓勵機制
A:會增加虛擬勛章獎勵機制,針對不同打卡天數的勛章,不設置實體獎勵
2.5作業貢獻度比例
學號 | 名字 | 工作內容 | 貢獻度 |
---|---|---|---|
211806139 | 余秀璇 | 1. 將《系統設計說明書》、《數據庫設計說明書》和 答辯PPT 提交到團隊倉庫 2.准備答辯,設計《系統設計和數據庫設計答辯PPT》 |
16% |
211808672 | 王琪 | 1.負責《系統設計說明書》的第一章引言部分 2.負責《數據庫說明書》的引言部分和數據庫驗證驗收標准 3.編寫博客 |
16% |
211806157 | 陳彤 | 1.負責《系統說明書》的接口設計部分 2.負責《數據庫說明書》的運用設計部分 3.負責博客的團隊項目的預期開發計划時間安排和分工安排 4.編排《數據庫說明書》 |
20% |
211806230 | 林婷 | 1.負責《系統說明書》的功能模塊層次設計和功能模塊層次圖 2.負責《數據庫說明書》的外部設計部分 |
16% |
211806242 | 徐譽丹 | 1.負責《系統說明書》的UML設計圖 2.負責《數據庫說明書》的結構設計部分 |
16% |
211806184 | 王美婉 | 1.負責《系統說明書》的ER分析+表結構設計、系統安全和權限設計 2.編排《系統說明書》 |
16% |
2.6 github倉庫
系統設計說明書(提取碼:0evx)
數據庫設計說明書(提取碼:df84)
系統設計和數據庫設計答辯PPT(提取碼:8x1t)