團隊作業第四次—項目系統設計與數據庫設計


這個作業屬於哪個課程 班級鏈接
這個作業要求在哪里 團隊作業第四次—項目系統設計與數據庫設計
團隊名稱 鐵華組
這個作業的目標 <完成項目系統設計及數據庫設計>
作業正文 就是這里
其他參考文獻 ...

一、團隊項目的預期開發計划時間安排

時間 具體安排
第8周(4.4-4.10) 系統設計與數據庫設計
第9周(4.11-4.17) 編寫數據庫與實體類,初步分析所需要的接口類並且攥寫相應代碼
第10周(4.18-4.24) 完善類操作,按照原型設計界面逐步完成前端界面
第11周(4.25-5.1) 完成項目1.0版本,用戶商家買賣評論等相關功能的基本實現
第12周(5.2-5.8) 管理員相關的審核等功能的實現
第13周(5.9-5.15) 增加模糊搜索等功能,問卷調查意見反饋
第14周(5.16-5.22) 實現首頁等區域推廣
第15周(5.23-5.29) 前端美化
第16周(5.30-6.5) 測試,糾錯

二、團隊項目的預期開發計划分工安排

學號 具體安排
081700308 用戶端首頁、搜索頁、菜品評論頁、商家評價頁、登錄頁(用戶、商家、管理員)
221701140 用戶端商家頁(商家端預覽頁)、菜品詳細信息頁、店鋪介紹頁面、菜品信息編輯/新增頁面
221701130 訂單詳情以及購物車相關頁面、用戶個人主頁、商家個人主頁、管理員管理頁(評論、用戶、商家)
221701111 商家信息接口、菜品信息接口;搜索頁、首頁內功能模塊的邏輯代碼編寫、過濾器
041701602 用戶信息、管理員信息、評論信息接口;評論頁、登錄頁、管理頁功能模塊的邏輯代碼編寫
021700915 代金券、訂單、購物車接口、數據庫建立;購物車、訂單頁功能模塊的邏輯代碼編寫

三、各種設計相關圖

結構層次圖

基於原型很快就完成了功能模塊層次圖

類圖


思路:

我們根據日常的點餐app點餐的流程提取出其中的類。並且根據了老師和助教們的建議新增和修改了部分類和關聯。
首先從使用者中我們建立了用戶類、商家類、管理員類,然后根據各自的用例建立其他相關的類,比如從最核心的用戶點餐用例,建立了訂單、訂單項目、購物車三個類。
從商家使用者的角度建立了菜品,菜品預覽圖、菜單類。根據不同的權限我們也從管理員父類派生出了四個管理員子類。
根據評論功能建立了評論類,根據優惠券功能建立了優惠券類。
然后我們根據實際使用情況和上次答辯的建議改進了各個類之間的關聯。

修改如下:

新增了購物車類、菜品類、菜品預覽圖類,調整了訂單類、訂單項目的屬性以及訂單類、訂單項目類和用戶類的關聯。
現在商家對應若干菜品,一個商家的所有菜品組成該商家的菜單。
購物車類對應若干不同商家的訂單,也對應若干不同的菜品。
因為一個菜品可能有多於一張圖片所以新增了菜品預覽圖類存儲菜品圖片。
刪除了預約類。

ER圖

ER圖做了相應調整。

數據流圖

泳道圖

表結構設計

設計了十張表,具體如下:

用戶表(customer)

項目 字段名 類型寬度 主鍵 允許空值 備注
編號 id int 自增ID
學號 studentid varchar(8)
賬號名 name varchar(20)
密碼 password varchar(20)
積分 point Int
狀態 State bit 1:可用,0禁封

商家表(merchant)

項目 字段名 類型寬度 主鍵 允許空值 備注
編號 id int 自增ID
賬號名 name varchar(20)
密碼 password varchar(20)
電話 phonenumber varchar(11)
狀態 State bit 1:可用,0:禁封

管理員表(administrator)

項目 字段名 類型寬度 主鍵 允許空值 備注
編號 id int 自增ID
賬號名 name varchar(20)
密碼 password varchar(20)
評論管理 commentmanage bit 1:可用,0:無權
用戶管理 usermanage bit 1:可用,0:無權
商家管理 merchantmanage bit 1:可用,0:無權
權限管理 privilegemanage bit 1:可用,0:無權

食物表(food)

項目 字段名 類型寬度 主鍵 允許空值 備注
編號 id int 自增ID
食物名 name varchar(20)
商家編號 merchantid int 關聯merchant表主鍵
簡單描述 description varchar(255)
價格 price double
剩余數量 quantity Int

食物圖片表(foodimage)

項目 字段名 類型寬度 主鍵 允許空值 備注
編號 id int 自增ID
食物編號 foodid int 關聯food表主鍵
圖片地址 url varchar(255)

評論表(comment)

項目 字段名 類型寬度 主鍵 允許空值 備注
編號 id int 自增ID
用戶編號 customerid int 關聯customer表主鍵
商家編號 merchantid int 關聯merchant表主鍵
食物編號 foodid int 關聯food表主鍵
評價內容 content varchat(255)
發送時間 sendtime varchat(12)
總體評價 overallscore bit
態度評價 attitudescore bit
美味評價 tastescore bit
價格評價 pricescore bit
等待時間 waitingtime int
可見狀態 State bit 1:可見,0:不可見

代金券表(coupon)

項目 字段名 類型寬度 主鍵 允許空值 備注
編號 id int 自增ID
商家編號 merchantid int 關聯merchant表主鍵
用戶編號 customerid int 關聯customer表主鍵
使用門檻 threshold double
價值 voucher double
使用期限 servicelife varchar(12)

訂單表(order)

項目 字段名 類型寬度 主鍵 允許空值 備注
編號 id int 自增ID
用戶編號 customerid int 關聯customer表主鍵
商家編號 merchantid int 關聯merchant表主鍵
下單時間 ordertime varchar(12)
預約時間 appointment varchar(12)
取消訂單 cancel bit 1:未取消,0:取消
關閉時間 closetime varchar(12)

訂單項表(orderitem)

項目 字段名 類型寬度 主鍵 允許空值 備注
編號 id int 自增ID
訂單編號 orderid int 關聯order表主鍵
食物編號 foodid int 關聯food表主鍵
數量 number int

購物車表(shoppingcart)

項目 字段名 類型寬度 主鍵 允許空值 備注
編號 id int 自增ID
用戶編號 customerid int 關聯customer表主鍵
商家編號 merchantid int 關聯merchant表主鍵
食物編號 foodid int 關聯food表主鍵
數量 number int

除了菜單類其他有獨自的屬性的類都建立了對應的表。菜單由查詢食物表中商家編號對應的記錄得到所以不建立表。

系統安全和權限設計

1.網絡安全設計

1.1網絡設備與訪問控制

在網絡邊界部署訪問控制設備,采用分級管理,可能會啟用訪問控制功能對登錄網絡設備的用戶進行身份鑒別,對網絡設備的管理員登錄地址進行限制。對口令設置必須在8位以上且為字母和數字組合,限制非法登錄次數為3次,必要時采取加密措施防止鑒別信息在網絡傳輸過程中被竊聽。

1.2安全審計

對網絡系統采用網絡安全審計系統,對網絡設備運行狀況、網絡流量、用戶行為等進行日志記錄。記錄包括:事件的日期和時間、用戶、事件類型、事件是否成功等審計相關的信息。可以根據記錄數據進行分析,並生成審計報表,系統對審計記錄進行保護,避免受到未預期的刪除、修改或覆蓋等

情況。

1.3結構安全

保證網絡設備的性能具有一定的冗余以應對突發情況,采用高速寬帶並設計合理的網絡拓撲結構。

1.4入侵防范

如果有可能將使用一些入侵檢測及防火牆的產品來保證網絡安全。

1.5漏洞掃描

如果技術上允許將采用漏洞掃描系統對系統漏洞進行掃描

2.主機安全設計

2.1身份鑒別

對登錄后台的管理員和前台登錄用戶、商家進行身份識別和鑒別。未經過鑒別的用戶不能對數據庫進行對部分數據查,不能對所有數據增刪改。多次輸錯用戶名或者密碼、登錄異常的用戶身份鑒別也將失敗。系統會采取必要的措施防止用戶賬戶信息泄露,如對用戶密碼加密等。

2.2訪問控制

根據管理用戶的角色分配權限,實現管理用戶的權限分離,僅授予管理用戶所需的最小權限,如用戶和商家無法刪除評價。及時刪除多余的、過期的帳戶,避免共享帳戶的存在,安全策略設置登錄終端的操作超時鎖定;設定終端接入方式、網絡地址范圍等條件限制終端登錄。

2.3安全審計

審計用戶行為、系統資源的異常使用和重要系統命令的使用等系統內重要的安全相關事件。

2.4入侵防范和反病毒

采用防毒軟件進行病毒防范

3.應用安全設計

3.1應用安全措施

強制要求用戶密碼滿足相應的用戶密碼復雜度策略密碼,登陸時強制用戶修改密碼,並不能和上次密碼一樣密碼連續三次輸入錯誤就凍結帳戶十分鍾。

3.2通信完整性和保密性

采用加密技術和校驗技術保障通信完整性和保密性

4.數據安全設計

4.1數據完整性和保密性

釆用數據傳輸加密技術,對傳輸中的數據流加密,以防止通信線路上的竊聽、泄漏、篡改和破壞。數據傳輸的完整性通過數字簽名的方式來實現,數據的發送方在發送數據的同時利用單向的不可逆加密算法Hash函數或者其它信息文摘算法計算出所傳輸數據的消息文摘,並把該消息文摘作為數字簽名隨數據一同發送。接收方在收到數據的同時也收到該數據的數字簽名,接收方使用相同的算法計算出接收到的數據的數字簽名,並把該數字簽名和接收到的數字簽名進行比較,若二者相同,則說明數據在傳輸過程中未被修改,數據完整性得到了保證。

4.2數據庫安全

數據庫系統是整個系統的核心,是所有業務管理數據以及清算數據等數據存放的中心。數據庫的安全直接關系到整個系統的安全。控制對數據庫中每個對象的讀寫權限利用數據庫的審計功能,以對用戶的某些操作進行記錄。使用視圖以及存儲過程,保護基礎數據表。對於不同的應用系統應建立不同的數據庫用戶,分配不同的權限。

4.3備份恢復

會定期備份數據庫中的數據到其他地方,防止數據丟失、損壞等意外


四、上次作業中老師助教和其他隊伍在評審中給項目提出的問題

問:類圖中有錯誤的類操作
答:我們將預約訂單、取消訂單放到了訂單類中,新增了評論類來存放發表評價、修改評價、刪除操作,新增了優惠券類來存放兌換優惠券、使用優惠券操作。

問:一個訂單只能訂購一種菜品嗎?如果一個學生在一個攤位買兩種菜品,目前的類圖能支持嗎?
答:經老師提醒,我們添加了一個訂單項類關聯訂單類來解決這個問題。

問:預約就餐功能有哪些類支持?不需要增加預約類嗎?
答:小組討論后目前還是認為可以將預約操作放到訂單類中,不額外增加預約預約類。可能這個討論結果有一些錯誤的地方還希望老師能指點迷津


五、作業的工作流程、組員分工、組員貢獻度比

首先是改進上次作業的類圖,再由類圖衍生制作其他圖,完成數據庫部分的相關設計,這些工作基本完成后開始系統設計的相關工作,最后花一些時間整合一下兩個部分的工作

學號 工作內容 貢獻度
221701111 改進類圖、制作ER圖、制作泳道圖、制作數據流圖 16.5
041701602 小組匯報與答辯、制作《數據庫使用說明書》、校對類圖、部分博客編輯 17.5
081700308 制作數據庫設計部分答辯PPT 、部分博客編輯、校對類圖 16.5
021700915 制作系統設計部分答辯PPT、系統安全和權限設計、校對功能模塊層次圖 16
221701130 編輯博客及完成《系統設計說明書》、校對功能模塊層次圖 17
221701140 制作功能模塊層次圖 、部分博客內容編輯、《系統設計說明書》部分編輯 16.5

六、附件列表

附件 下載地址
github團隊倉庫鏈接 github團隊倉庫
系統設計說明書 鐵華組_系統設計說明書.pdf
數據庫設計說明書 鐵華組_數據庫設計說明書.pdf
系統設計和數據庫設計答辯PPT 鐵華組_系統設計和數據庫設計答辯PPT.pdf


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM