设计文档1.0

Posted blogmorningstar

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了设计文档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 秒内作出相应。

界面要求:简单美观。

输入项:由用户初次点击“推荐”触发该事件,或在登录界面选择注册。

输出项:无

程序流程: 技术图片

3.1.2 F1-2 用户登录

功能要求:用户登录后可以点击首页的“开始推荐”按钮进行美食推荐。

性能要求:要求 1 秒内作出相应。

输入项:由用户点击登录触发该事件。

输出项:登录是否成功。

程序流程: 技术图片

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 界面:赵昕颖、李景怡

推荐算法:张陈杰、孟苏、林朝洋

服务器端:梁翘楚、杨乾成、叶沛玟

以上是关于设计文档1.0的主要内容,如果未能解决你的问题,请参考以下文章

Vlang官网文档(中文翻译)-vlang中文文档--v0.1.0_20180625

PyTorch 1.0 中文文档:torch.Tensor

PyTorch 1.0 中文文档:torchvision.transforms

ASP.NET Core 1.0 中使用 Swagger 生成文档

PyTorch 1.0 中文文档:数据类型信息

PyTorch 1.0 中文文档:广播语义