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

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

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

原文地址:https://www.cnblogs.com/blogMorningStar/p/11992830.html

时间: 2024-10-06 19:22:20

设计文档1.0的相关文章

什么是功能需求设计文档

在很多软件公司,特别是一些创业型的团队中,对于这样的情景可能大家都很熟悉:项目经理或者产品经理(产品狗)口头或者简单记录一下软件产品的大致要做的功能,直接就让研发团队的兄弟(程序猿)去狂撸代码.然后他就去喝茶撩妹或者回家陪老婆了... 这种撸起袖子就开干的方式,看似简单高效,便于直接沟通,能够快速迭代.却不知,发现没有一份正规且实时更新的功能需求设计文档,会付出三四倍的代价来弥补. 最终会引发一场产品狗和程序猿之间的"猿狗大战"... WHY - 为什么需要功能需求设计说明书 在没有功

定向数据爬虫和搜索引擎(Directional Spider)设计文档

  定向数据网络爬虫和搜索引擎项目设计 (新闻数据抓取.分析.加工.检索) 版本号:            v 1.0.0 编写人:          张  文  豪 日  期:       2014年6月10日 文档说明:这个文档还在编写之中,文章中很多写在“保留”二字的不是每月东西,而是没有写.虽然没有具体实现,但是我觉得我把我的经验和思考都写进去了.虽然对于读者来说这个文档相当粗糙,但是是我一个很看重的东西.如果真的有人愿意认真阅读这篇文章,我会很开心和大家交流探讨,欢迎留言和联系我. [

炉石传说 C# 设计文档(序)

经过3个月的开发,有很多感触. 以前一直以为技术是开发成败的第一因素,现在发现,等到你代码写的时间够长,经验够丰富,什么功能都能随手完成,对于业务的分析能力变成了第一位. 炉石山寨版的BS版本用到的HTML5的SVG,我看了一个下午的教程,借鉴以前GUI+和HTML的经验,很快就能写点东西出来了. WebSocket,Github上找了一个开源的C#项目,通讯这块也是几个小时就搞定了.Javascript不是很熟悉,当时闭包这样的一些概念也算听说过,Js也是无障碍就写成了. 整个项目的技术壁垒其

java智能四子棋人机大战游戏设计(附项目,以及原创PSD,设计文档)

本项目是使用java技术+自创"假设下子"算法开发的人机大战四子棋游戏客户端. 具体项目,以及原创PSD,设计文档,在文件末尾的百度云连接. 一. 小组说明: 组名:CST 组长:陈飞良(C): 组员: 沈珂 (S): 谭明航 (T): 二.分工说明: ①算法思想上: 本程序的代码实现思想由三人共同讨论得出,其中组员沈珂的"假设下子"思想尤为精妙,让代码实现更为简单,在这基础上,组员谭明航 ,心思缜密,考虑到各种特殊情况,让整个更加智能.组长陈飞良则负责在他们的基础

朱晔的互联网架构实践心得S1E9:架构评审一百问和设计文档五要素

朱晔的互联网架构实践心得S1E9:架构评审一百问和设计文档五要素 [下载文本PDF进行阅读] 本文我会来说说我认为架构评审中应该看的一些点,以及我写设计文档的一些心得.助你在架构评审中过五关斩六将,助你写出能让人收藏点赞的设计文档. 技术架构评审 架构评审或技术方案评审的价值在于集众人的力量大家一起来分析看看方案里是否有坑,方案上线后是否会遇到不可逾越的重大技术问题,提前尽可能把一些事情先考虑到提出质疑其实对项目的健康发展有很大的好处.很多公司都有架构评审委员会都有架构评审的流程,做业务的兄弟要

《团队-科学计算器-设计文档》

设计文档: 项目:科学计算器 编辑器:python 所运用知识: 1.字符串的处理 2.正则表达式的运用 3.函数递归 基本思路: 需要优先处理内层括号运算--外层括号运算--先乘除后加减的原则: 1.正则处理用户输入的字符串,然后对其进行判断,判断计算公式是否有括号,有就先将计算公式进行正则处理,先获取最里层的每一个数据,然后一一计算 2.把有括号的计算公式计算出来的结果替换原来初始公式的位置,计算之前分别对重复运算符进行处理需要处理的重复运算 3.然后依次从里到外去除括号并进行计算,和位置替

《结对编项目作业名称-设计文档》

项目:关灯游戏,所用软件,pygame 成员:祁昊,刘孝东 关灯游戏设计文档: pygame作为一种游戏编程语言,以其简单性.可移植性等优点,得到了广泛地应用,特别是py使用比c,c++等语言简便,使其成为网络编程首选编程语言.,Pygame是跨平台Python模块,专为电子游戏设计.基于这样一个设想,所有需要的游戏功能和理念都(主要是图像方面)都完全简化为游戏逻辑本身,所有的资源结构都可以由高级语言提供,如Python.工具tile编辑器和一个关卡编辑器.得到广大程序员的接受和认可. "关灯游

Storm项目:流数据监控1《设计文档…

该文档为实实在在的原创文档,转载请注明作者及出处. 类型 详细 备注 2 该文档为原创模拟项目:流数据监控<1>文档<流数据监控设计文档>,相继会给出流数据监控<2>文档<流数据监控代码解析>及其他文档 2  该部分有源码(熬夜写出来的哦) CSDN中相应项目CODE链接:戳这里     相关描述 2  有任何其他想法,可以邮件[email protected] 2 文档及相关资料下载请到个人360云盘http://yunpan.cn/QGf2GDaRFpc

Atitit.atiagent &#160;agent分销系统 代理系统 设计文档

Atitit.atiagent  agent分销系统 代理系统 设计文档 1. 启动项目1 2. 首也2 3. 登录功能2 4. 用户中心2 5. 充值查询3 6. 授权下级代理4 7. 我的提成5 8. 查看下级玩家6 9. 查看下级代理7 10. 数据库文档 agent7 10.1. Acc 用户帐号以及上级代理id关联字段7 10.2. 充值记录表8 1. 启动项目 C:\0workspace\AtiPlatf_cms\resin run q2b_game.bat Prj::cms 数据库