設計文檔1.0


 

今天吃啥APP設計文檔

 

項目組長:楊乾成 張陳傑
成員:林朝洋 梁翹楚 孟蘇 李景怡 葉沛玟 趙昕穎

 


 

1 設計概述

1.1 條件與限制

  • 建議系統的運行壽命:5 年
  • 經費、投資方面的來源和限制:自營
  • 法律和政策方面的限制:不得侵犯學生和商家權利,不得與相關政策違背
  • 硬件環境:性能良好的服務器
  • 開發環境:Android Stdio、MySQL、JAVA 相關的開發軟件等
  • 可利用的信息和資源:參考文獻,所學的高級編程語言和數據庫知識
  • 系統投入使用的最晚時間:2 個月

1.2 運行環境概述

  • 支持環境:Android ?及以上。
  • 數據庫:MYSQL。
  • 開發平台:Android Stdio。
  • 編程語言:JAVA。

1.3 需求概述

見需求文檔。

1.4 詳細設計方法和工具

  • 數據庫設計工具:MySQL
  • 界面設計工具:Android Stdio
  • 原型設計工具:spring+springmvc+mybatis

2 總體設計

2.1 系統體系結構

功能模塊的划分功能模塊的划分

2.2 系統功能結構

2.2.1 主功能清單

主功能模塊清單

功能編號 功能名稱 功能簡述
F1 用戶接口模塊 在此模塊用戶可以注冊后享受美食推薦服務、進行周邊美食探索。
F2 管理員接口模塊 對於美食信息進行管理,也可以審核用戶評價。
F3 數據服務模塊 對美食的信息,用戶的喜好進行管理,實現推薦算法。

2.2.2 子功能清單

子功能清單

功能編號 子功能編號 子功能名稱 子功能簡述
F1 F1-1 用戶注冊 用戶可以注冊個人信息。
  F1-2 用戶登錄 用戶登錄后可以修改個人口味,享受推薦功能。
  F1-3 個人愛好設置 用戶對甜、辣、酸、咸、油屬性的食物設置口味愛好。
  F1-4 每日推薦 向用戶於各個飯點,根據用戶喜好、當天天氣和用戶身體狀況等進行菜品推薦。
  F1-5 喜好反饋 用戶對於推薦的菜品,可以點贊或點踩,反饋給數據庫新的喜好特性值。
F2 F2-1 美食信息管理 管理員對美食信息進行管理,可以進行增、刪、改操作。
  F2-2 用戶評價管理 管理員對用戶提交的評價進行審核。

2.3 功能設計

用例圖: 用戶用例圖用戶用例圖

管理員用例圖管理員用例圖

類圖:

類圖類圖

3 程序模塊設計說明

3.1 F1 用戶接口模塊

3.1.1 F1-1 用戶注冊

功能要求:用戶使用本 app 需先注冊,方便軟件根據用戶口味喜好進行推薦。

性能要求:要求 1 秒內作出相應。

界面要求:簡單美觀。

輸入項:由用戶初次點擊“推薦”觸發該事件,或在登錄界面選擇注冊。

輸出項:無

程序流程: f1-1

3.1.2 F1-2 用戶登錄

功能要求:用戶登錄后可以點擊首頁的“開始推薦”按鈕進行美食推薦。

性能要求:要求 1 秒內作出相應。

輸入項:由用戶點擊登錄觸發該事件。

輸出項:登錄是否成功。

程序流程: f1-2

3.1.3 F1-3 個人愛好設置

功能要求:用戶對於甜、辣、酸、咸、油屬性的食物設置口味愛好。

性能要求:要求 1 秒內作出相應。

輸入項:注冊成功后自動跳轉觸發,或登錄后在個人中心選擇設置。

輸出項:用戶是否喜愛。

3.1.4 F1-4 每日推薦

功能要求:向用戶於各個飯店,根據用戶喜好、當天天氣和用戶身體狀況等進行美食推薦。

性能要求:要求 1 秒內作出相應。

輸入項:時間、用戶喜好、天氣、用戶身體狀況,用戶點擊“推薦”觸發。

輸出項:根據推薦算法得到的結果。

3.1.5 F1-5 喜好反饋

功能要求:用戶對於推薦的菜品進行點贊或點踩,進一步反饋數據庫口味喜好特征。

性能要求:要求 1 秒內作出相應。

輸入項:點贊或點踩。

輸出項:用戶對某美食的喜好特征。

3.1.6 F1-6 探索

功能要求:用戶根據距離、地區、評價等條件進行篩選或以關鍵字進行搜索。用戶可以點進各結果查看詳細信息。

性能要求:要求 1 秒內作出相應。

輸入項:篩選條件,關鍵字,查看詳細信息的請求。

輸出項:篩選或搜索結果,商家詳情。

>3.2 F2 管理員接口模塊

3.2.1 F2-1 美食信息管理

功能要求:管理員對美食信息進行管理,可以進行增加、刪除、修改等操作。

性能要求:要求 1 秒內作出相應。

輸入項:美食,相應的操作。

輸出項:修改的結果。

3.2.2 F2-2 用戶評價管理

功能要求:管理員對用戶提交的評價進行審核。

性能要求:要求 1 秒內作出相應。

輸入項:用戶提交的評價。

輸出項:通過或不通過。

3.3 數據結構

3.3.1 數據庫環境說明

軟件開發用到的數據庫是 MySQL。MySQL 是一個關系型數據庫管理系統,由瑞典 MySQL AB 公司開發,目前屬於 Oracle 旗下產品。關系數據庫將數據保存在不同的表中,而不是將所有數據放在一個大倉庫內,這樣就增加了速度並提高了靈活性。MySQL 所使用的 SQL 語言是用於訪問數據庫的最常用標准化語言。

3.3.2 數據庫表設計

(1)用戶信息

字段名 數據類型 長度 主鍵 非空 描述
UID Varchar 20 用戶 id
Phone Varchar 11 手機號(登錄賬號)
Password Varchar 20 密碼
Feature Int   特征值(暫定)

(2)菜品信息

字段名 數據類型 長度 主鍵 非空 描述
DID Varchar 20 菜品編號
ImagePath Varchar 50 圖片存放路徑
Feature Int   特征值
Season Int   季節屬性
AID Varchar 20 否(外鍵) 所在場所編號
Remark Float   評價值

(3)場所信息

字段名 數據類型 長度 主鍵 非空 描述
AID Varchar 20 場所編號
Name Varchar 50 場所名
Address Varchar 50 所屬地

(4)用戶反饋日志

字段名 數據類型 長度 主鍵 非空 描述
UID Varchar 20 用戶編號
DID Varchar 20 菜品編號
Time Date   最后一次用餐時間
Count Int   一周內用餐次數
Comment Int   評價值(單次)

分工

UI 界面:趙昕穎、李景怡

推薦算法:張陳傑、孟蘇、林朝洋

服務器端:梁翹楚、楊乾成、葉沛玟


免責聲明!

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



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