1.项目目标与要求

1.1 目标:

本项目旨在为买家与卖家搭建一个在线食品交易平台,既能帮助不方便出门的顾客购买食物,又能帮助食品实体店的店家通过本平台赚钱。通过天黑黑外卖系统卖家可以发布各种各样食品的信息(价格、简介、图片等),买家可以通过浏览店铺或者搜索菜名找到心仪的食品并下单购买。

1.2 项目功能需求:

  • 数据库建表,服务器平台搭建,网页界面设计
  • 用户登录,包括商家、用户
  • 用户修改个人信息,电话,送餐地址,密码等
  • 管理员可对用户信息进行查看和管理;管理员对商家进行查看和管理;
  • 商家录入菜单;
  • 餐点信息包括:
  • 餐点名称
  • 餐点类型(饮料、小吃、主食)
  • 库存数量
  • 餐点单价
  • 餐点图片
  • 菜单的修改、删除
  • 根据类型或关键字筛选相关菜单
  • 用户登录,选择餐点加入购物车
  • 购物车内餐点数量的修改、删除
  • 用户订单提交
  • 商家确认点单,库存数量修改
  • 历史订单查询,根据用户号或者用户信息查询用户历史订单
  • 餐点欢迎度分析,统计各类餐点的选购频率,按频率排序

2.项目内容

2.1 功能需求

2.1.1业务流程描述

系统功能模块的划分:

Java外卖项目的设计模式是怎么实现的 javaweb外卖系统源码_java


Java外卖项目的设计模式是怎么实现的 javaweb外卖系统源码_java_02

2.1.2处理流程的分析(顾客寻找菜品并且下单):

Java外卖项目的设计模式是怎么实现的 javaweb外卖系统源码_Web_03

2.2 界面设计

顾客界面设计

顶部导航

顶部导航

左部导航

个人信息展示区

左部导航

其他简略信息展示区

店家界面设计

顶部导航

顶部导航

左部导航

店家信息展示区

左部导航

其他简略信息展示区

首页界面设计

Logo 区

登录入口

搜索框

搜索框

展示店铺区(自动按销量排序)

展示店铺区(自动按销量排序)

店铺界面设计

顶部导航

顶部导航

用户状态

商家信息展示区

商家信息展示区

商家信息展示区

菜品展示区

公告区

公告区

菜品展示区

顾客购物车区

顾客购物车区

2.3 系统设计

2.3.1 软件层次结构:

Java外卖项目的设计模式是怎么实现的 javaweb外卖系统源码_外卖系统_04

2.3.2 类图:

Java外卖项目的设计模式是怎么实现的 javaweb外卖系统源码_Web_05


Java外卖项目的设计模式是怎么实现的 javaweb外卖系统源码_Java外卖项目的设计模式是怎么实现的_06

2.3.3 时序图

Java外卖项目的设计模式是怎么实现的 javaweb外卖系统源码_Java外卖项目的设计模式是怎么实现的_07

2.3.4 数据库表

表 1 顾客表

字段名称

数据类型

数据大小

存储信息

customerID

VCHAR

20

顾客的 ID

customerName

VCHAR

50

名字

customerPassword

VCHAR

32

用户密码

customerTel

VCHAR

20

用户电话

customerPhoto

VCHAR

500

用户头像

customerAddress

VCHAR

500

送餐地址

securityQuestion

VCHAR

500

密保问题

securityAnswer

VCHAR

500

密保问题答案

customerMoney

DOUBLE

消费者的余额

表 2 店家表

字段名称

数据类型

数据大小

存储信息

sellerID

VCHAR

20

店家的 ID

sellerName

VCHAR

50

店家名字

sellerPassword

VCHAR

32

店家密码

sellerTel

VCHAR

20

店家电话

shopID

VCHAR

20

店铺电话

securityQuestion

VCHAR

500

密保问题

securityAnswer

VCHAR

500

密保问题答案

表 3 店铺表

字段名称

数据类型

数据大小

存储信息

shopID

VCHAR

20

店铺的 ID

shopName

VCHAR

50

店名

shopType

VCHAR

10

店铺主营类型

shopTel

VCHAR

20

店铺电话

shopID

VCHAR

20

商家所开店铺 ID

shopAddress

VCHAR

500

商家地址

shopPhoto

VCHAR

500

店铺图片

shopLicense

VCHAR

10

店铺是否有执照

shopIntroduction

VCHAR

500

店铺简介

notice

VCHAR

500

店铺公告

state

INT

店的状态信息

表 4 菜品表

字段名称

数据类型

数据大小

存储信息

dishID

VCHAR

10

菜 ID

dishName

VCHAR

50

菜名

dishType

VCHAR

10

菜品类型(主食,小吃,饮料)

dishIntroduction

VCHAR

500

菜的介绍

shopID

VCHAR

20

菜所属店铺 ID

dishPrice

DOUBLE

菜单价

dishStock

INT

菜的库存

dishPhoto

VCHAR

500

菜的照片

hot

INT

菜的销量

表 5 订单表

字段名称

数据类型

数据大小

存储信息

orderID

VCHAR

10

订单 ID

shopID

VCHAR

20

店铺 ID

customerID

VCHAR

20

顾客 ID

dishID

VCHAR

10

菜品 ID

quantity

INT

购买数量

totalPrice

DOUBLE

本份订单总价

dealTime

DATE

下单时间

表 6 管理员表

字段名称

数据类型

数据大小

存储信息

adminID

VCHAR

20

管理员 ID

userName

VCHAR

50

用户名

password

VCHAR

32

管理员密码

2.4 系统测试

2.4.1 测试环境:

  • 所有实现与测试都是在 Windows10 操作系统的 PC 下实现的;
  • JSP 页面和 servlet 代码的编写是在 Eclipse;
  • 用 Tomcat 来响应 JSP 页面的请求;
  • 所有数据都保存在 MySQL 数据库下。

2.4.2 测试截图:

首页:

Java外卖项目的设计模式是怎么实现的 javaweb外卖系统源码_Web_08

店铺的浏览:

Java外卖项目的设计模式是怎么实现的 javaweb外卖系统源码_外卖系统_09

登录:

Java外卖项目的设计模式是怎么实现的 javaweb外卖系统源码_Java外卖项目的设计模式是怎么实现的_10

注册:

Java外卖项目的设计模式是怎么实现的 javaweb外卖系统源码_外卖平台_11

用户个人中心

Java外卖项目的设计模式是怎么实现的 javaweb外卖系统源码_Java外卖项目的设计模式是怎么实现的_12

用户订单查询:

Java外卖项目的设计模式是怎么实现的 javaweb外卖系统源码_Web_13

用户资料修改:

Java外卖项目的设计模式是怎么实现的 javaweb外卖系统源码_外卖系统_14

店家店铺中心:

Java外卖项目的设计模式是怎么实现的 javaweb外卖系统源码_外卖系统_15

店家订单处理:

Java外卖项目的设计模式是怎么实现的 javaweb外卖系统源码_Web_16

店家食品编辑:

Java外卖项目的设计模式是怎么实现的 javaweb外卖系统源码_外卖系统_17