基于Vue与Spring Boot的在线点餐系统

基于 Vue 与 Spring Boot 的在线点餐系统 需求分析 1 需求概述 1,1 文档目的 本文档描述了在线点餐系统系统的用户需求

本文包含相关资料包-----> 点击直达获取<-------

基于 Vue 与 Spring Boot 的在线点餐系统

需求分析

1 需求概述

1.1 文档目的

本文档描述了在线点餐系统系统的用户需求。

1.2 读者对象

本文档的读者范围包括:

1.需求分析人员

2.设计人员

3.开发人员

4.项目管理人员

5.测试人员

1.3 参考文档

[1]《UML 基础与 Rose 建模实用教程》,谢星星,清华大学出版社。

[2]《软件工程与计算(卷二)软件开发的技术基础》,骆斌,机械工业出版社。

1.4 原始功能需求

系统分为管理员、客户两种角色。

管理员功能:登录账号、客户管理(对客户信息进行增删改查)、菜单管理(对菜单进行增删改查)、处理订单(对订单进行增删改查)、统计报表。

客户功能:注册账号、登录账号、查看菜单、点餐、查看订单。

1.5 非功能性需求

1.5.1 精度

本系统涉及到的数据,在显示处理时保留小数点后 2 位。

1.5.2 时间特性

(1)响应时间

操作的执行实际应该控制在 5 秒之内。

(2)更新处理时间

在网络没有故障的情况下,对数据库的操作响应时间控制在 1 秒/条之内。

(3)运行时间

程序启动和初始化时间控制在 5 秒之内。

1.5.3 安全性

系统安全性要求高,能有效控制和管理不同的用户的权限,保护数据的安全性。

1.5.4 稳定性

系统稳定性要求高,能够承载大量用户的并发访问

2 用例模型

2.1 用例列表

系统用例如表 2-1 所示。

表 2-1 系统用例列表

参与者 用例 用例简介
管理员 UC01 登录管理员账号用例 管理员登录该系统
管理员 UC02 增加客户信息 管理员向该系统中添加客户信息
管理员 UC03 删除客户信息 管理员在该系统中删除客户信息
管理员 UC04 修改客户信息 管理员在该系统中修改客户信息
管理员 UC05 查询用户信息 管理员在该系统中查询客户信息
管理员 UC06 增加菜单信息 管理员向该系统中增加菜单信息
管理员 UC07 删除菜单信息 管理员删除菜单信息
管理员 UC08 修改菜单信息 管理员向系统修改菜单信息
管理员 UC09 查询菜单信息 管理员查询菜单信息
管理员 UC10 增加订单信息 管理员向系统中增加订单信息
管理员 UC11 删除订单信息 管理员删除订单信息
管理员 UC12 修改订单信息 管理员修改订单信息
管理员 UC13 查询订单信息 管理员根据订单号查询订单的详细信息
管理员 UC14 统计报表 管理员可以对订单总数进行统计
客户 UC15 注册账号 客户注册该在线点餐系统的账号
客户 UC16 登录账号 客户登录该在线点餐系统的账号
客户 UC17 查看菜单 客户查看所有的菜单
客户 UC18 点餐 客户选择菜品,进行付款点餐
客户 UC19 查看订单 客户点餐完成后可查看订单的状态

2.2 用例图

系统的用例图如图 2-1 所示。

图 2-1 系统用例图

2.3 用例规格说明(用例描述)

2.3.1 UC01 用例

项目 内容描述
ID UC01
名称 登录管理员账号
参与者 管理员
触发条件 管理员进入管理员登录界面
前置条件 管理员需要进行管理员操作
后置条件 管理员登录成功并且进入管理员界面
正常流程 1. 管理员进入登录界面用例开始 2. 管理员输入用户名 3. 管理员输入密码 4. 管理员输入验证码 5. 管理员点击登录,显示登录成功,跳转到管理员界面 6. 用例结束
扩展流程 5a.若管理员输入的验证码有误,则重新输入,跳转到 45a.若管理员输入密码或用户名有误,则输出“账号或密码有误”,返回到 3
特殊需求 验证码为 4 位随机字母。密码为数字,字母或下划线,6-16 位。用户名为纯数字。

2.3.2 UC02 用例

项目 内容描述
ID UC02
名称 增加客户信息
参与者 管理员
触发条件 管理员想添加客户的信息
前置条件 有新客户注册并加入
后置条件 管理员添加成功客户信息
正常流程 1. 管理员点击添加客户信息页面。用例开始 2. 管理员在用户信息添加界面填写信息。3. 管理员点击添加按钮。4. 提示“添加成功”,用例结束。
扩展流程 3a.若数据库中已有该条信息,则提示“该客户已存在”,返回 23a.若输入的数据非法,则提示“数据非法”,返回 2.
特殊需求

2.3.3 UC03 用例

项目 内容描述
ID UC03
名称 删除客户信息
参与者 管理员
触发条件 管理员进入删除客户信息页面
前置条件 客户退出,拉黑或注销
后置条件 成功删除客户信息
正常流程 1. 管理员进入删除客户信息界面,用例开始。2. 管理员点击删除按钮。3. 界面提示“是否确定删除”。4. 管理员点击“是”,则提示删除成功。否则返回 1。5. 用例结束。
扩展流程 4.若该客户已被删除,则提示“不存在该客户信息”。
特殊需求

2.3.4 UC04 用例

项目 内容描述
ID UC04
名称 修改客户信息
参与者 管理员
触发条件 管理员想修改客户信息。
前置条件 客户的信息发生变化。
后置条件 客户信息修改成功。
正常流程 1. 管理员进入修改界面,用例开始。2. 管理员填写需要修改的客户信息。3. 管理员点击修改按钮。4. 系统提示“修改成功”。5. 用例结束。
扩展流程 2a.管理员无法修改客户编号。
特殊需求

2.3.5 UC05 用例

项目 内容描述
ID UC05
名称 查询客户信息
参与者 管理员
触发条件 管理员进入查询页面
前置条件 管理员需要查询某个客户的消费记录或其他基本信息
后置条件 管理员查询成功客户的信息
正常流程 1. 管理员进入查询客户信息界面,用例开始。2. 管理员填写查询条件,点击查询。3. 界面返回符合要求的客户信息。4. 用例结束
扩展流程 2a.若输入的信息非法,则提示查询条件非法。
特殊需求

2.3.6 UC06 用例

项目 内容描述
ID UC06
名称 增加菜单信息
参与者 管理员
触发条件 管理员点击增加菜单信息
前置条件 饭店有了新的菜品。
后置条件 管理员增加菜单信息
正常流程 1. 管理员店家增加菜单信息,用例开始。2. 管理员补充新增的菜品名称,价格和图片。3. 系统审核无误后,提示添加成功。4. 用例结束。
扩展流程 2a.若菜品名称重复,则提示 “菜名重复”。2a.若价格非法,则提示“价格非法”。
特殊需求

2.3.7 UC07 用例

项目 内容描述
ID UC07
名称 删除菜单信息
参与者 管理员
触发条件 当管理员点击“删除菜单信息”时,用例开始。
前置条件 当菜品原料、调料缺少时,需要将菜单中菜品信息删除。
后置条件 管理员成功删除菜单信息,系统保存菜单信息。
正常流程 1)管理员查看“菜单信息”界面,用例开始。2)系统以列表的形式显示菜单信息。3)管理员单击某一菜单信息,系统显示该菜单的详细信息。4)管理员点击“删除”,系统提示此条记录将永久删除,请确认。5)管理员点击“确认”,系统显示“删除菜单信息成功”,用例结束。
扩展流程 5a)管理员点击“取消”,则删除失败。
特殊需求

2.3.8 UC08 用例

项目 内容描述
ID UC08
名称 修改菜单信息
参与者 管理员
触发条件 当管理员点击“修改菜单信息”时,用例开始。
前置条件 当菜单信息需要修改更换时。
后置条件 管理员成功修改菜单信息,系统保存菜单信息。
正常流程 1)管理员点击“修改菜单信息”按钮时,用例开始。2)系统显示管理员的菜单信息。3)管理员对所要修改的信息进行编辑,修改完成点击保存。4)若数据合法,系统保存修改。5)系统保存修改后显示保存成功,用例结束。
扩展流程 4a)若数据不合法,系统显示“修改的数据不合法,请重新修改”。
特殊需求

2.3.9 UC09 用例

项目 内容描述
ID UC09
名称 查询菜单信息
参与者 管理员
触发条件 当管理员点击“查询菜单信息”时,用例开始。
前置条件 管理员登录进在线点餐系统。
后置条件 系统以列表形式列出菜单信息。
正常流程 1)当管理员点击“菜单信息”时,用例开始。2)管理员输入查询条件点击查询按钮。3)系统以列表的形式显示菜单信息。4)管理员选择目标菜单信息,并查看详细的信息。5)用例结束。
扩展流程 2a)若查询不到符合条件的菜单信息,系统显示“未找到相关的记录”。4a)管理员不查看菜单详细信息,用例结束。
特殊需求

2.3.10 UC10 用例

项目 内容描述
ID UC10
名称 增加订单信息
参与者 管理员
触发条件 当管理员点击“增加订单信息”时,用例开始。
前置条件 管理员登录成功,并进入订单信息界面。
后置条件 管理员成功增加订单信息,系统保存订单信息。
正常流程 1)管理员点击“增加订单信息”按钮,用例开始。2)系统显示增加订单信息界面。3)管理员输入订单创建时间(不为空)、订单金额(不为空)、订单状态(不为空)、菜品(不为空)、手机(不为空)、地址(不为空)、备注、以及系统分配的订单编号,并点击保存按钮。4)若输入数据合法,则系统成功添加订单信息。5)系统显示订单信息后,用例结束。
扩展流程 3a)若管理员返回,则没有添加订单信息。4a)若输入数据不合法,则添加失败。
特殊需求

2.3.11 UC11 用例

项目 内容描述
ID UC11
名称 删除订单信息
参与者 管理员
触发条件 当管理员点击“删除订单信息”时,用例开始。
前置条件 用户退餐或其他原因需要删除订单信息时。
后置条件 管理员成功删除订单信息,系统保存订单信息。
正常流程 1)管理员查看“订单信息”界面,用例开始。2)系统以列表的形式显示订单信息。3)管理员单击某一订单信息,系统显示该订单的详细信息。4)管理员点击“删除”,系统提示此条记录将永久删除,请确认。5)管理员点击“确认”,系统显示“删除订单信息成功”,用例结束。
扩展流程 5a)管理员点击“取消”,则删除失败。
特殊需求

2.3.12 UC12 用例

项目 内容描述
ID UC12
名称 修改订单信息
参与者 管理员
触发条件 当管理员点击“修改订单信息”时,用例开始。
前置条件 管理员登录成功,并进入订单信息界面。
后置条件 管理员成功修改订单信息,系统保存订单信息。
正常流程 1)管理员点击“修改订单信息”按钮时,用例开始。2)系统显示订单的详细信息。3)管理员对所要修改的信息进行编辑,修改完成点击保存。4)若数据合法,系统保存修改。5)系统保存修改后显示保存成功,用例结束。
扩展流程 4a)若数据不合法,系统显示“修改的数据不合法,请重新修改”。
特殊需求

2.3.13 UC13 用例

项目 内容描述
ID UC13
名称 查询订单信息
参与者 管理员
触发条件 管理员需要查询订单的信息
前置条件 管理员打开订单查询页面
后置条件 管理员获取到订单的具体信息
正常流程 1. 管理员打开订单查询界面 2. 管理员输入订单号,点击查询 3. 系统接收该订单号,返回相应的结果 4. a.该订单号存在,显示该订单的具体信息 b.该订单号不存在,提示订单不存在
扩展流程
特殊需求

2.3.14 UC14 用例

项目 内容描述
ID UC14
名称 统计报表
参与者 管理员
触发条件 管理员需要统计所有订单内包含的信息,获取餐厅的营业额等信息
前置条件 管理员进入统计报表界面
后置条件 管理员获取统计的信息
正常流程 1. 管理员进入统计界面 2. 管理员选择需要统计的起止日期,点击统计 3. 系统接收该日期,返回统计的结果 4. 管理员可以对该结果进行查看,并进行导出
扩展流程 5. 点击导出按钮后,管理员选择报表要导出的位置
特殊需求

2.3.15 UC15 用例

项目 内容描述
ID UC15
名称 注册账号
参与者 客户
触发条件 客户需要使用在线点餐系统
前置条件 客户点击注册按钮
后置条件 客户注册成功
正常流程 1. 客户点击注册按钮,进入到注册界面 2. 客户输入用户名和密码 3. 系统接收用户名和密码,判断是否合法 4. a.用户名和密码合法,系统为客户自动分配一个 id,保存该客户的信息到数据库 b.用户名或密码不合法,系统拒绝该注册请求 5. 系统返回相应的结果,提示用户是否注册成功
扩展流程
特殊需求 1. 用户名需要大于 3 个长度并且小于 8 个长度 2. 系统为客户分配的 id 唯一 3. 密码需要大于 8 位并且小于 12 位

2.3.16 UC16 用例

项目 内容描述
ID UC16
名称 登录账号
参与者 客户
触发条件 客户需要使用在线订餐系统
前置条件 客户已经有该系统的账户和密码
后置条件 客户登录成功
正常流程 1. 客户点击登录按钮,进入登录界面 2. 客户输入 id 和密码 3. 系统获取到输入的 id 和密码,判断 id 和密码是否匹配 4. a.输入合法,进入客户主界面 b.输入不合法,系统提示登录失败,回到登录界面
扩展流程
特殊需求

2.3.17 UC17 用例

项目 内容描述
ID UC17
名称 查看菜单
参与者 客户
触发条件 客户需要查看所有的菜品,进行点餐
前置条件 客户已经登录到系统内
后置条件 客户能查看每一个菜品的信息
正常流程 1. 客户进入菜单界面 2. 点击某个菜品,跳转到该菜品的详细信息
扩展流程 3. 在菜品详细信息界面,可以将这道菜加入到购物车,在最后进行结算
特殊需求

2.3.18 UC18 用例

项目 内容描述
ID UC18
名称 点餐
参与者 客户
触发条件 客户需要点餐,进行结算
前置条件 客户进入购物车界面
后置条件 客户点餐成功
正常流程 1. 客户选择好了自己需要的菜品 2. 客户进入购物车界面,点击进行结算 3. 系统计算出菜品的总价,客户点击付款按钮 4. 系统判断支付是否成功,对客户进行提示
扩展流程 5. a.支付成功,系统自动生成订单,订单编号唯一 b.支付失败,系统提示客户支付失败,回到购物车界面
特殊需求

2.3.19 UC19 用例

项目 内容描述
ID UC19
名称 查看订单
参与者 客户
触发条件 客户需要查看自己已经下单的订单信息
前置条件 客户已经在在线点餐系统内下单
后置条件 客户看到订单的详细信息
正常流程 1. 客户进入到订单界面 2. 客户选择自己要查看的订单 3. 系统根据订单编号,获取该订单的所有信息,返回到界面中进行显示
扩展流程
特殊需求

设计

1 文档目的

本文档的目的是描述在线点餐系统项目的详细设计,其主要内容包括:

系统功能简介

系统详细设计简述

在 SSH 框架下各个模块的分层结构

2. 数据设计

2.1 数据库表设计

本系统共建立 5 个表来存储数据,分别是管理员信息、客户信息表、菜品信息表、订单信息表、菜品与订单关系信息表。表的结构介绍如下。

1.管理员信息表(admin)

管理员信息表用于存储管理员信息。

表 2-1 admin 表

字段名称 字段描述 数据类型 长度
admin_id 管理员编号 varchar 20
admin_psw 管理员账号密码 varchar 20

2.客户信息表(user)

客户信息表用于存储客户信息。

表 2-2 user 表

字段名称 字段描述 数据类型 长度
user_id 客户编号 varchar 20
user_name 客户账号昵称 varchar 20
user_psw 客户账号密码 varchar 20
phone 客户联系方式 varchar 11

3.菜品信息表(food)

菜品信息表用于存储菜品信息。

表 2-3 food 表

字段名称 字段描述 数据类型 长度
food_id 菜品编号 varchar 20
food_name 菜品名称 varchar 20
food_price 菜品单价 float 1000
food_type 菜品类型 varchar 10
food_msg 菜品备注 varchar 100
food_pic 菜品图片 varchar 100

4.订单信息表(order)

订单信息表用于存储订单信息。

表 2-4 表

字段名称 字段描述 数据类型 长度
order_id 订单编号 varchar 20
user_id 客户编号 varchar 20
order_time 订单创建时间 datetime 20
order_money 订单总金额 float 1000
order_state 订单状态 varchar 10

5.菜品与订单关系信息表(order_food)

菜品与订单关系信息表用于存储每个订单具体的菜品信息。

表 2-5 表

字段名称 字段描述 数据类型 长度
id 关系信息表 id varchar 20
order_id 订单编号 varchar 20
food_id 菜品编号 varchar 20

2.2 数据库逻辑结构设计

数据库表的逻辑结构关系如图 5-1 所示。

图 2-1 数据库逻辑结构图

3. 业务逻辑详细设计

3.1 BUC01 管理员登录用例设计

3.3.1 类的设计

图 3-1 类的设计

3.3.2 业务逻辑动态模型

图 3-2 管理员登录的顺序图

3.2 BUC02 客户信息管理用例设计

3.2.1 类的设计

图 3-3 类的设计

3.2.2 业务逻辑动态模型

图 3-4 客户信息管理的顺序图

3.3 BUC03 菜单信息用例设计

3.3.1 类的设计

图 3-5 类的设计

3.3.2 业务逻辑动态模型

图 3-6 菜单信息的顺序图

3.4 BUC04 订单信息用例设计

3.4.1 类的设计

图 3-7 类的设计

3.4.2 业务逻辑动态模型

图 3-8 订单信息的顺序图

3.5 BUC05 用户登录注册用例设计

3.5.1 类的设计

图 3-9 类的设计

3.5.2 业务逻辑动态模型

图 3-10 用户登录注册的顺序图

3.6 BUC06 点餐用例设计

3.6.1 类的设计

图 3-11 类的设计

3.6.2 业务逻辑动态模型

图 3-12 点餐的顺序图

4. 用户界面原型设计

4.1 系统主界面原型

图 4-1 系统主界面原型

4.2 BUC01 管理员登录界面原型

图 4-2 管理员登录界面原型

4.3 BUC02 客户信息管理用例界面原型

图 4-3 管理员登录界面原型

4.4 BUC03 菜单信息用例界面原型

图 4-4 菜单信息界面原型

4.5 BUC04 订单信息用例界面原型

图 4-5 订单信息界面原型

4.6 BUC05 用户登录注册用例界面原型

图 4-6 用户登录注册界面原型

4.7 BUC06 点餐用例界面原型

图 4-7 点餐界面原型

软件测试

1 引言

1.1 编写目的

为了发现该在线点餐系统在运行时发生的错误,用户在使用时确保基本功能准确无误,扩展功能有待开发。在测试中发现的错误需要记录下来,尽量在以后做到不再犯。

1.2 背景

说明:

a. 被测试软件系统的名称:在线点餐系统;开发背景与目的为方便用户,可以在手机端更加快捷地点餐,同时也节约了现实中商家等待客人点餐的时间和人力;

b. 该软件的任务提出者、开发者、用户,指出测试环境与实际运行环境之间可能存在的差异以及这些差异对测试结果的影响。

3 测试结果

3.1 用户登录界面

用户登录界面测试

测试结果:与预期相同

发现:无

3.2 增加商品信息界面

增加商品信息界面测试

测试结果:与预期相同

发现:无

3.3 修改订单信息界面

修改订单信息界面测试

测试结果:与预期相同

发现:无

参考文献

  • 基于微服务的在线教育系统的设计与实现(华中科技大学·毛颖志)
  • 基于微服务的在线教育系统的设计与实现(华中科技大学·毛颖志)
  • 基于微服务的在线教育系统的设计与实现(华中科技大学·毛颖志)
  • 基于微服务的在线教育系统的设计与实现(华中科技大学·毛颖志)
  • 基于Spring Boot的智能推荐点餐系统研究与设计(南昌大学·李有三)
  • 基于Android平台的订餐系统的设计与实现(西安电子科技大学·赵玉兰)
  • 基于SSH框架的博客用户分享平台的设计与实现(河北工业大学·刘磊)
  • 基于JSP的网上订餐系统的设计与实现(厦门大学·谷岳青)
  • 基于Spring Boot的智能推荐点餐系统研究与设计(南昌大学·李有三)
  • 基于微服务的在线教育系统的设计与实现(华中科技大学·毛颖志)
  • 天润酒店配餐管理系统设计与实现(电子科技大学·陈泓舟)
  • 基于SSH框架的博客用户分享平台的设计与实现(河北工业大学·刘磊)
  • 基于MVC模式学校在线餐厅系统的设计与实现(华中科技大学·王亮亮)
  • 基于SSH框架的博客用户分享平台的设计与实现(河北工业大学·刘磊)
  • 基于安卓平台的平板点餐系统的设计与实现(大连理工大学·郝冰)

本文内容包括但不限于文字、数据、图表及超链接等)均来源于该信息及资料的相关主题。发布者:代码客栈 ,原文地址:https://bishedaima.com/yuanma/35701.html

相关推荐

  • 大学生租房平台

    这是一个🔥🔥基于SpringBoot框架的大学生租房平台设计与实现🔥🔥的项目源码,开发语言Java,框架使用的SpringBoot+vue技术,开发环境Idea/Eclipse
    2024年05月23日
    2 1 1
  • 基于SpringBoot框架的地方旅游网站

    这是一份采用🔥🔥SpringBoot为核心的本地旅游网站开发源代码🔥🔥,主要编程语言为Java,并结合了Vue技术进行构建,开发工具为Idea或Eclipse,此项目适合作为毕业设计或课程实践的任务
    2024年05月23日
    3 1 1
  • 基于SpringBoot框架的线上辅导班系统

    这是一套采用Java语言编写的🔥🔥SpringBoot核心框架的在线辅导平台源代码🔥🔥,该项目运用了SpringBoot和Vue技术栈,支持在Idea或Eclipse开发环境中运行
    2024年05月23日
    2 1 1
  • Python实现基于协同过滤的电影推荐系统

    个性化电影推荐系统 设计总说明 本文设计了一个个性化电影推荐系统,众所周知,现在电影资源是网络资源的重要组成部分,随着网络上电影资源的数量越来越庞大
    2024年05月14日
    10 1 1
  • 基于SpringBoot框架的在线教育系统

    这是一套采用Java编程语言,基于SpringBoot框架构建的在线教育系统源代码,该项目运用了SpringBoot和Vue的技术栈,开发工具为Idea或Eclipse
    2024年05月23日
    11 1 4
  • 基于Python实现的宠物识别系统

    项目简介 心血来潮,想从零开始编写一个相对完整的深度学习小项目,想到就做,那么首先要考虑的问题是,写什么? 思量再三,我决定写一个宠物识别系统,即给定一张图片
    2024年05月14日
    2 1 2
  • 基于Java的员工培训管理系统

    基于Java的员工培训管理系统 摘 要 随着信息技术的迅速发展,信息资源数字化,网络化的进程进一步加快,信息化的管理系统越来越重要,在本次的课程设计中我们小组选择的是员工培训管理系统作为我们课程设计的目标程序
    2024年05月14日
    2 1 2
  • java+javaweb在线网上购物书城-仿当当

    这是一个🔥🔥javaweb在线网上购物书城-仿当当🔥🔥的项目源码,开发语言Java,开发环境Idea/Eclipse,这个 JavaWeb购物书城开发技术栈为SSH项目
    2024年05月23日
    11 1 2
  • 基于Jsp的操作系统页面置换算法程序

    基于Jsp的操作系统页面置换算法程序 1, 实验目的 页面置换算法是虚拟存储管理实现的关键,通过本次实验理解内存页面调度的机制,在模拟实现FIFO,LRU等页面置换算法的基础上
    2024年05月14日
    7 1 1
  • 基于Python实现人脸识别

    Face recognition from camera with Dlib 介绍 调用摄像头进行人脸识别, 支持多张人脸同时识别; 摄像头人脸录入 请不要离摄像头过近
    2024年05月14日
    3 1 1

发表回复

登录后才能评论