摘 要
当今社会进入了科技进步、经济社会快速发展的新时代。国际信息和学术交流也不断加强,计算机技术对经济社会发展和人民生活改善的影响也日益突出,人类的生存和思考方式也产生了变化。传统购物方式采取了人工的管理方法,但这种管理方法存在着许多弊端,比如效率低下、安全性低以及信息传输的不准确等,同时由于购物管理信息系统中会形成众多的个人文档和信息系统数据,通过人工方法对购物信息进行集中管理会形成检索、更改和维护等较为麻烦的管理问题,同时由于当下人们对购物管理的需求也日益高涨,各级单位需要继续开展全新的改革以满足时代的需求。根据此问题,研发一套外卖系统,既能够大大提高信息的检索、变更与维护的工作效率,也能够方便信息系统的管理运用,从而减少信息管理成本,提高效率。
该外卖系统采用B/S架构、前后端分离以及 B/C模型进行设计,并采用Java语言以及 SpringBoot框架进行开发。本系统主要设计并完成了用户注册、登录,购买餐品过程、个人信息修改等,员工添加套餐信息、对套餐进行发货,管理员对用户信息、员工信息、餐品信息、套餐类型、套餐信息、订单信息等功能,进行维护与管理。该系统操作简单,界面设计简单,不仅能基本满足目前餐厅的日常管理工作,而且能有效降低人员成本和时间成本,为餐厅工作提供方便。
关键词:外卖系统;B/S 架构;SpringBoot框架
Abstract
Today’s society has entered a new era of technological progress and rapid economic and social development. International information and academic exchanges have also been continuously strengthened, and the impact of computer technology on economic and social development and the improvement of people’s lives has become increasingly prominent. Human survival and thinking methods have also undergone changes. The traditional shopping method adopts manual management methods, but this management method has many drawbacks, such as low efficiency, low security, and inaccurate information transmission. At the same time, due to the formation of a large number of personal documents and information system data in the shopping management information system, centralized management of shopping information through manual methods can result in cumbersome management problems such as retrieval, modification, and maintenance, At the same time, due to the increasing demand for shopping management among people, units at all levels need to continue to carry out new reforms to meet the needs of the times. Based on this issue, developing a delivery system can greatly improve the efficiency of information retrieval, change, and maintenance, as well as facilitate the management and application of information systems, thereby reducing information management costs and improving efficiency.
The delivery system is designed using a B/S architecture, front-end and back-end separation, and a B/C model, and is developed using Java language and the SpringBoot framework. This system mainly designs and completes user registration, login, purchase process, personal information modification, etc. Employees add package information and ship packages. Administrators maintain and manage functions such as user information, employee information, package information, package type, package information, and order information. The system is easy to operate and has a simple interface design, which not only meets the daily management needs of the current restaurant, but also effectively reduces personnel and time costs, providing convenience for restaurant work.
Keywords: delivery system; B/S architecture; SpringBoot framework
目 录
摘要 I
Abstract II
1 概 述 1
1.1 课题研究背景 1
1.2 课题研究意义 1
1.3 课题研究内容 2
2 系统开发环境及相关技术 3
2.1 系统开发环境 3
2.2 系统开发技术 3
2.2.1 Java编程语言 3
2.2.2 SpringBoot框架介绍 4
2.2.3 MySQL数据库 4
2.2.4 B/S结构 5
2.2.5 Vue简介 5
3 系统需求分析 6
3.1 可行性分析 6
3.2 功能需求分析 7
3.3 用户功能模块设计 7
3.4 管理员功能模块设计 8
3.5 员工功能模块设计 9
4 系统设计 10
4.1 功能模块设计 10
4.2 系统数据库设计 10
4.2.1 数据库系统 10
4.2.2 数据库概念设计 10
4.2.3 数据表设计 13
4.2.4 数据表的建立 13
5 系统实现 19
5.1用户前台系统模块实现 19
5.2后台管理员模块实现 21
5.3后台员工模块实现 23
6 系统测试 26
6.1软件测试过程 26
6.2测试用例 27
结 论 28
致 谢 29
参 考 文 献 30
1 概 述
1.1 课题研究背景
来到21世纪的今天,伴随着信息技术的飞速发展,已经深入并且影响着我们的生活,伴随着网络、通信技术的突破性进展,电子商务即网上交易也就是我们常说的网购得以蓬勃发展。而外卖作为一种全新的消费模式已成为一个极具潜力的行业,它以多样化的方式为人们的购物提供了便利,但是传统线下购物的方式存在购买费时、费劲、种类不全和价格不合理等问题,这导致了传统的线下购物方式没有移动端的购物方式来的优势。在这一背景下,当前的主要销售通道为传统的线下门店销售与互联网平台的线上销售相结合。目前,线上销售与线下销售之间存在着一定的相同与不相同[1]。
在未来的电子商务竞争中,将会有更多的传统销售门店会转移到互联网销售中, 从而进而形成主流电子商务发展趋势。以当前市场经济趋势而言, 各行各业均会受到电子商务的影响, 并从中挖掘更多的商机, 因此传统实体经济向互联网转型已经成为一种必然的趋势, 在移动网络环境下, 员工将获得更广泛的市场, 进而使发展的市场平台更加高效。从市场角度而言, 现电子商务的主要人群为青年群体, 这一群体人数众多, 且消费能力强, 为移动电子商务的发展提供了更为稳定的市场资源, 这些条件都为传统员工转型为互联网员工创造了良好条件[2]。
移动电子商务其中最为明显的特点便在于其便利性,在技术的发展中,为所有消费者提供的便利性是其他消费模式无法比拟的。在消费者眼中移动消费方式比传统的消费方式有着更加优质的服务。就目前移动电子商务的发展趋势来看,消费者想要更加便利的方式而移动电子商务恰好满足这一条件。但也有其缺陷,商品由员工流通至消费者需等待商品的运输时间。在未来或许能够达到一个相对高效的运作模式[3]。
1.2 课题研究意义
(1) 外卖系统伴随着计算机网络的飞速发展而实现能巧妙的融入我们的日常中,在我们的日常中随着使用网购系统的频率提高,我们的日常生活方式也将得到改善[4]。
(2) 外卖不仅仅只是表面中的“网购”,它能带来更加广阔的交易环境:使我们不在局限与人与人面对面的接触式交易,能通过互联网的方式随时随地线上交易;它能带来更加广阔的消费市场:使我们能接触到网络所能达到的地方,可以在全球任意一家员工购物;它能带来更加丰富的商品,在网络普及的现在我们能接触到比传统购物更加多的商品种类,来提高我们的消费质量;它能带来更加实惠的价格:网购能极大程度的减少卖家到买家手中的流通环节,从而减少中间差价让价格更加实惠。而外卖系统是更加符合时代的潮流,能大大提高消费者的消费体验[5]。
1.3 课题研究内容
本系统结合现今外卖系统的功能模块以及设计方式进行分析,使用Java语言和 SpringBoot框架进行开发设计,具体研究内容如下:
(1) 用户通过注册登录系统后可以个人信息修改,对餐品信息、套餐信息、美食资讯、购物车等进行操作[6]。
(2) 员工登录系统后可以个人信息修改,添加餐品信息、套餐信息、发货等进行操作[6]。
(3) 管理员登录系统后,可以对个人信息进行修改,对用户、员工、菜品分类、餐品信息、套餐类型、套餐信息等进行管理;
2 系统开发环境及相关技术
2.1 系统开发环境
本管理系统采用的集成开发环境为Eclipse,使用Java等语言及 SpringBoot框架进行开发,其中硬件环境和软件环境如下:
(1) 硬件环境
处理器:Intel® Core™ i5-7400 CPU @ 3.00GHz 3.00GHz
内存:8GB
(2) 软件环境
操作系统:windows 10 64位操作系统
开发工具:Eclipse
2.2 系统开发技术
外卖系统采用B/S(Browser/Server)架构和MVC模型进行设计开发。在B/S架构下,用户在浏览器端进行使用,主要工作通过服务器端进行实现,用户通过网站进行访问大大节约了成本。本系统使用Java等语言同时运用了 SpringBoot框架进行开发,使用MySQL进行数据存储。
2.2.1 Java编程语言
Java语言作为现在主流编程语言之一,就是因为它有很多自己的特点和优势。
Java语言具有以下几个特点:
(1)跨平台性
平时所说的一次编译,到处执行,指的就是这个跨平台性。Java的源代码编译后会生成字节码文件,这些文件可以被Java虚拟机执行,得到想要的结果。在设备上安装对应的虚拟机,Java的字节码文件就可以运行。
(2)面向对象
Java是一个面向对象的编程语言。面向对象是指把属性和方法进行封装,通过创建的对象调用里面的方法,实现一些功能。
(3)多线程
Java是支持多线程的,它允许在一个程序中同时开启多个线程,同时处理多个任务,这样可以提高它的效率。
Java语言对于开发工具要求不高,有专业的编程工具Eclipse会更顺利编程,但是,没有专业的编程软件,用记事本也能进行编辑。
2.2.2 SpringBoot框架介绍
随着Java技术发展,为了简化开发而诞生了众多框架。科技是随着人们追求简单且高效的技术的渴望而发展的,在这种情况下,SpringBoot框架应运而生。
SpringBoot是一种轻量级的、非侵入式的Java/JavaEE应用框架。它的出现大幅度的简化了开发步骤。SpringBoot是具有简单高效、轻量级、依赖注入和面向切面编程而深受Java开发程序员的喜爱。现在的众多程序员都使用spring来简化开发。
2.2.3 MySQL数据库
MySQL作为数据库拥有很多优点,其中由于是开放源码,所以使用成本特别低,而它体积小的特点决定了速度快的特性。因此,MySql具有开放性,多线程支持多种API,可跨数据库连接,国际化,数据库体积巨大等特点。简单的来说 ,MySql是一个开放的、快速的、多线程的、多用户的数据库服务器。
2.2.4 B/S结构
B/S结构就是指系统客户端与服务器分离,客户端通过浏览器访问服务端进行操作[10]。
B/S结构目前广泛应用于绝大部分系统搭建中,这种结构摒弃C/S结构客户端服务端不分离的缺点,具有更多的优势:
(1)跨平台性:B/S的标准由标准化组织确立,适用于绝大多数的系统搭建,通用于应用之间。
(2)低维护成本:客户端和服务器端分离,减轻了两端的压力,尤其是客户端,对客户端设备,硬件、软件要求都比较低,并且系统需要升级或维护时,只需要在服务器端升级或维护就可以,使相应的费用减少。
2.2.5 Vue简介
VUE是一套用于构建用户界面的渐进式框架。为了实现前后端分离的开发理念,开发前端 SPA(single page web application) 项目,实现数据绑定,路由配置,项目编译打包等一系列工作的技术框架。与其它大型框架不同的是,Vue 被设计为可以自底向上逐层应用。Vue 的核心库只关注视图层,不仅易于上手,还便于与第三方库或既有项目整合。另一方面,当与现代化的工具链以及各种支持类库结合使用时,Vue 也完全能够为复杂的单页应用提供驱动.
3 系统需求分析
在当今的社会生活中,互联网已经变得非常普遍和重要。充分利用互联网大数据等技术可以解决很多问题。目前,外卖管理也面临着自身的问题。根据这一普遍现象,网上购物制度的出现需求巨大。该系统可以很好地解决这些问题。系统中这三类用户的数据在系统中非常关键,因此系统数据应该被组织起来,因为数据是以某种格式存储的,而不是无序的。其概念是,它可以根据长期稳定的格式在计算机内存中共享。数据库管理系统主要用于保存、修改和添加索引数据以及设置数据库。为了确保系统数据管理的顺利进行,一些有能力的处理器可以在不需要专业人员处理的情况下管理数据。创建数据表时,可以调整、重新组织和重建数据表中的数据,以确保数据可靠性。在数据库系统设计中,MySQL主要用于实现数据的集中管理。各方面表现良好[7]。
2.1 可行性分析
根据外卖系统的功能,通过对经济效益、技术难点和管理方法进行全面的可行性分析,提供准确的可行性依据。以下是本系统的可行性分析:
(1) 经济可行性
使用了免费版的Eclipse节省了开发成本,在购买服务器后部署项目便能通过浏览器进行访问[8]。
(2) 技术可行性
本管理系统采用B/S架构和B/C模型进行设计,通过分层分包的方法,有利于日常的维护,同时降低了代码之间的耦合。
(3) 管理可行性
本管理系统要求管理难度低,只需要有管理员就能够对用户、员工、餐品信息、套餐类型、套餐信息等进行删除、修改和新增操作[9]。
3.2 功能需求分析
外卖系统综合网络空间开发设计要求。目的是将外卖通过网络平台将传统管理方式转换为在线上管理,完成外卖的方便快捷、安全性高、交易规范做了保障,目标明确。外卖系统可以将功能划分为用户、员工的使用功能和管理员功能[10]。
(1)、用户关键功能包含用户注册登录,个人信息修改,查看餐品信息、套餐信息、美食资讯、购物车等有关信息,并进行详细操作。用户用例如下:
图3-1 用户用例图
(2)、员工关键功能包含员工登录,个人信息修改,对餐品信息、套餐信息、订单信息等有关信息,并进行详细操作。员工用例如下:
图3-2 员工用例图
(3)、管理员的权限是最高的,可以对系统所在功能进行查看,修改和删除,包括用户和员工功能。管理员用例如下:
图3-3管理员用例图
3.3 用户功能模块设计
想要使用这个平台进行购买物品或服务的人具体的功能需求分为注册登录、餐品购买,餐品搜索,购物车,个人中心,查看已购买过的餐品,餐品评价。具体功能模块描述:
(1)注册登录
想要使用这个平台进行购买物品或服务的人可以在界面输入自己想要注册的用户名和密码来注册自己的账号。想要使用这个平台进行购买物品或服务的人在完成注册后可以使用自己注册的账号进行登录。注册登录的时序图如图3-4所示:
图3-4 登录注册时序图
(2)餐品购买
想要使用这个平台进行购买物品或服务的人可以在餐品购买模块对外卖的餐品进行发起订单、付款和确认收货。餐品由后台员工发布。
(3)商品搜索
想要使用这个平台进行购买物品或服务的人可以在商品搜索栏里搜索自己想要的商品,如果这个商品是已经上架的,那么会直接显示这个商品,如果这个商品是未上架的,那么将会提示未找到该商品。商品搜索的时序图如图3-5所示:
图3-5 商品搜索时序图
(4)购物车
想要使用这个平台进行购买物品或服务的人可以将自己看上的商品添加进购物车模块中,在最后的时候一起点击结算来进行付款。
(5)个人中心
想要使用这个平台进行购买物品或服务的人可以在个人中心模块中修改自己的个人信息,并可以对自己的登录密码进行修改。
(6)餐品评价
想要使用这个平台进行购买物品或服务的人可以在餐品评价界面对自己确认收货的餐品进行评价,想要使用这个平台进行购买物品或服务的人做出评价后,评价内容会显示在餐品出售界面中。
3.4 管理员功能模块设计
进行平台管理的工作人员具体的功能需求分为进行平台管理的工作人员首页、所有餐品管理、菜品分类管理、用户管理、员工管理、全部订单管理等,具体的功能模块描述如下:
(1)进行平台管理的工作人员首页
进行平台管理的工作人员可以查看上架产品总数、注册用户总数和成交订单总数。
(2)所有餐品管理
进行平台管理的工作人员可以在所有商品管理模块查看所有的商品,并可以对商品按商品名称、商品类型、商品状态和商品价格进行查询,进行平台管理的工作人员还可以在该模块添加新的商品。商品管理的时序图如图3-6所示:
图3-6 商品管理时序图
(3)菜品分类管理
菜品分类模块中,进行平台管理的工作人员可以按分类名称进行查询,也可以添加新的分类,菜品分类将会以导航栏的形式出现在想要使用这个平台进行购买物品或服务的人首页。
(4)用户管理
进行平台管理的工作人员可以在用户管理模块中对想要使用这个平台进行购买物品或服务的人的账号进行管理,进行平台管理的工作人员可以按想要使用这个平台进行购买物品或服务的人用户名或昵称查询到想要使用这个平台进行购买物品或服务的人的账号,并可以点击详情查看想要使用这个平台进行购买物品或服务的人账号的详细信息。
(5)员工管理
管理员可以对员工账号管理模块进行管理。
3.5 员工功能模块设计
(1)首先员工通过自己的账号、密码注册登录系统。
(2)餐品信息管理:添加菜品名称、菜品分类、菜品图片、菜品口味、菜品特色、价格,然后修改、删除等实际操作。
(3)订单管理:员工查看订单信息用户是否支付费用然后对商品进行发货。
员工注册登录时序图,如图3-7所示。
图3-7员工注册登录时序图
4 系统设计
4.1 功能模块设计
外卖系统按照权限的类型进行划分,分为用户、员工和管理员三个模块。用户模块主要实现个人信息修改、对餐品信息、套餐信息、美食资讯、购物车等信息进行操作,增强了用户的操作体验。员工权限范围内操作,管理员模块主要针对整个系统的管理进行设计,提高了管理的效率和标准。系统的总体模块设计如下图所示:
图4-1 系统总体模块设计
4.2 系统数据库设计
4.2.1 数据库系统
本系统采用MySQL来进行数据库的管理。MySQL数据库具有体积小、速度快、成本低等优点。具备同时处理数千万条记录,实现大型数据库的高并发读写和高效读写需求。
4.2.2 数据库概念设计
概念模型用于对信息世界建模,并与指定的数据库管理系统分离。它有助于将真实世界的事物抽象为适合于数据库管理系统的数据库模型。人们倾向于将现实世界抽象为信息世界,再把信息世界变成机器世界。也就是说,将现实世界的目标抽象成独立于专用计算机软件和专用数据库管理系统的信息结构的数据模型,然后将物理模型转化为适合电子计算机的数据库管理系统。事实上,数据模型是从真实世界到机器世界的中间层。
信息世界的基本要素包括实体和关联。现实存在且彼此可区别的事物称为实体。实体可以是实际的人、事或物,还可以是抽象化的概念或联络。以下是对部分主要的关键实体如下:
用户信息实体体属图如下所示。
图4-2用户信息实体属性图
套餐信息实体属图如下所示。
图4-3套餐信息实体属图
员工信息实体属图如下所示。
图4-4员工信息实体属图
根据分析,系统中主要存在实体之间的E-R图如图4-5所示。
图4-5 系统E-R图
4.2.3 数据表设计
本设计根据数据表管理系统的具体流程进行管理,方便用户、员工和管理员对数据的添加、删除、修改和查询等操作。
4.2.4 数据表的建立
系统采用MySQL对数据库进行操作,数据库管理操作简单,数据处理能力强。数据表建立如下:
表4-1:美食资讯
字段名称 类型 长度 字段说明 主键 默认值
id bigint 主键 主键
addtime timestamp 创建时间 CURRENT_TIMESTAMP
title varchar 200 标题
introduction longtext 4294967295 简介
picture longtext 4294967295 图片
content longtext 4294967295 内容
表4-2:套餐信息评论表
字段名称 类型 长度 字段说明 主键 默认值
id bigint 主键 主键
addtime timestamp 创建时间 CURRENT_TIMESTAMP
refid bigint 关联表id
userid bigint 用户id
avatarurl longtext 4294967295 头像
nickname varchar 200 用户名
content longtext 4294967295 评论内容
reply longtext 4294967295 回复内容
表4-3:餐品信息评论表
字段名称 类型 长度 字段说明 主键 默认值
id bigint 主键 主键
addtime timestamp 创建时间 CURRENT_TIMESTAMP
refid bigint 关联表id
userid bigint 用户id
avatarurl longtext 4294967295 头像
nickname varchar 200 用户名
content longtext 4294967295 评论内容
reply longtext 4294967295 回复内容
表4-4:配置文件
字段名称 类型 长度 字段说明 主键 默认值
id bigint 主键 主键
name varchar 100 配置参数名称
value varchar 100 配置参数值
表4-5:用户表
字段名称 类型 长度 字段说明 主键 默认值
id bigint 主键 主键
username varchar 100 用户名
password varchar 100 密码
role varchar 100 角色 管理员
addtime timestamp 新增时间 CURRENT_TIMESTAMP
表4-6:token表
字段名称 类型 长度 字段说明 主键 默认值
id bigint 主键 主键
userid bigint 用户id
username varchar 100 用户名
tablename varchar 100 表名
role varchar 100 角色
token varchar 200 密码
addtime timestamp 新增时间 CURRENT_TIMESTAMP
expiratedtime timestamp 过期时间 CURRENT_TIMESTAMP
表4-7:关于我们
字段名称 类型 长度 字段说明 主键 默认值
id bigint 主键 主键
addtime timestamp 创建时间 CURRENT_TIMESTAMP
title varchar 200 标题
subtitle varchar 200 副标题
content longtext 4294967295 内容
picture1 longtext 4294967295 图片1
picture2 longtext 4294967295 图片2
picture3 longtext 4294967295 图片3
表4-8:订单
字段名称 类型 长度 字段说明 主键 默认值
id bigint 主键 主键
addtime timestamp 创建时间 CURRENT_TIMESTAMP
orderid varchar 200 订单编号
tablename varchar 200 商品表名 taocanxinxi
userid bigint 用户id
goodid bigint 商品id
goodname varchar 200 商品名称
picture longtext 4294967295 商品图片
buynumber int 购买数量
price float 价格 0
discountprice float 折扣价格 0
total float 总价格 0
discounttotal float 折扣总价格 0
type int 支付类型 1
status varchar 200 状态
address varchar 200 地址
tel varchar 200 电话
consignee varchar 200 收货人
remark varchar 200 备注
logistics longtext 4294967295 物流
表4-9:购物车表
字段名称 类型 长度 字段说明 主键 默认值
id bigint 主键 主键
addtime timestamp 创建时间 CURRENT_TIMESTAMP
tablename varchar 200 商品表名 taocanxinxi
userid bigint 用户id
goodid bigint 商品id
goodname varchar 200 商品名称
picture longtext 4294967295 图片
buynumber int 购买数量
price float 单价
discountprice float 会员价
表4-10:员工
字段名称 类型 长度 字段说明 主键 默认值
id bigint 主键 主键
addtime timestamp 创建时间 CURRENT_TIMESTAMP
yuangonggonghao varchar 200 员工工号
mima varchar 200 密码
yuangongxingming varchar 200 员工姓名
xingbie varchar 200 性别
nianling int 年龄
zhaopian longtext 4294967295 照片
yuangongdianhua varchar 200 员工电话
money float 余额 0
表4-11:餐品信息
字段名称 类型 长度 字段说明 主键 默认值
id bigint 主键 主键
addtime timestamp 创建时间 CURRENT_TIMESTAMP
caipinmingcheng varchar 200 菜品名称
caipinfenlei varchar 200 菜品分类
caipintupian longtext 4294967295 菜品图片
caipinkouwei varchar 200 菜品口味
caipintese varchar 200 菜品特色
caipinjieshao longtext 4294967295 菜品介绍
clicktime datetime 最近点击时间
clicknum int 点击次数 0
price float 价格
表4-12:用户
字段名称 类型 长度 字段说明 主键 默认值
id bigint 主键 主键
addtime timestamp 创建时间 CURRENT_TIMESTAMP
yonghuzhanghao varchar 200 用户账号
mima varchar 200 密码
yonghuxingming varchar 200 用户姓名
xingbie varchar 200 性别
nianling int 年龄
touxiang longtext 4294967295 头像
money float 余额 0
表4-13:菜品分类
字段名称 类型 长度 字段说明 主键 默认值
id bigint 主键 主键
addtime timestamp 创建时间 CURRENT_TIMESTAMP
caipinfenlei varchar 200 菜品分类
表4-14:套餐信息
字段名称 类型 长度 字段说明 主键 默认值
id bigint 主键 主键
addtime timestamp 创建时间 CURRENT_TIMESTAMP
taocanmingcheng varchar 200 套餐名称
taocanleixing varchar 200 套餐类型
taocantupian longtext 4294967295 套餐图片
taocanxiangqing longtext 4294967295 套餐详情
clicknum int 点击次数 0
price float 价格
表4-15:地址
字段名称 类型 长度 字段说明 主键 默认值
id bigint 主键 主键
addtime timestamp 创建时间 CURRENT_TIMESTAMP
userid bigint 用户id
address varchar 200 地址
name varchar 200 收货人
phone varchar 200 电话
isdefault varchar 200 是否默认地址[是/否]
表4-16:套餐类型
字段名称 类型 长度 字段说明 主键 默认值
id bigint 主键 主键
addtime timestamp 创建时间 CURRENT_TIMESTAMP
taocanleixing varchar 200 套餐类型
5 系统实现
5.1用户前台系统模块实现
当用户打开系统的网址后,首先看到的就是首页界面。在这里,用户能够看到外卖系统的导航条显示首页、餐品信息、套餐信息、美食资讯、购物车、个人中心等。系统首页界面如图5-1所示:
图5-1 系统首页界面
当用户进入系统前台进行相关操作前必须进行注册、登录,用户注册、用户登录界面如图5-2所示:
图5-2 用户注册、用户登录界面
用户点击餐品信息,在餐品信息页面的搜索栏输入菜品名称、口味、价格,进行查询,然后查看菜品名称、菜品分类、菜品图片、菜品口味、菜品特色、点击次数、价格等信息,如果有需要可以添加到购物车、立即购买、评论操作,页面如图5-3所示:
图5-3餐品信息页面
点击美食资讯,在美食资讯页面,通过查看标题、简介、发布时间、美食资讯内容等信息,如图5-4所示:
图5-4美食资讯页面
在购物车页面可以查看到购买商品、价格、数量、总价等详细信息,并进行点击购买或删除操作,页面如图5-5所示:
图5-5购物车页面
在个人中心页面可以更新个人详细信息,还可以对我的订单、我的地址进行详细操作;如图5-6所示:
图5-6 个人中心界面
5.2后台管理员模块实现
管理员登录,在登录页面正确输入用户名和密码、角色后,点击登录操作;如图5-7所示。
图5-7 管理员登录界面
管理员进入主页面,主要包括对系统首页、个人中心、用户管理、员工管理、菜品分类管理、餐品信息管理、套餐类型管理、套餐信息管理、系统管理、订单管理等进行操作。管理员主页面如图5-8所示:
图5-8 管理员主界面
管理员点击用户管理,在用户管理页面的搜索栏输入用户账号、用户姓名、性别、年龄、头像,进行查询、新增或删除用户信息等操作。如图5-9所示:
图5-9用户管理界面
管理员点击员工管理,在员工管理页面的搜索栏输入员工工号、员工姓名、性别、年龄、照片、员工电话,进行查询、新增或删除员工信息等操作。如图5-10所示:
图5-10员工管理界面
管理员点击菜品分类管理,在菜品分类管理页面的搜索栏输入菜品分类,进行查询、新增或删除菜品分类等操作。如图5-11所示:
图5-11菜品分类管理界面
管理员点击餐品信息管理,在餐品信息管理页面的对菜品名称、菜品分类、菜品图片、菜品口味、菜品特色、点击次数、价格,进行查询或删除餐品信息等操作。如图5-12所示:
图5-12餐品信息管理界面
5.3后台员工模块实现
登录界面,首先双击打开系统,连上网络之后会显示出本系统的登录界面,这是进入系统的第初始页面“登录”,能成功进入到该登录界面则代表系统的开启是成功的,接下来就可以操作本系统所带有的其他所有的功能,如图5-13所示。
图5-13员工登录界面
员工登录进入系统,在员工主页面,主要包括对系统首页、个人中心、餐品信息管理、套餐信息管理、订单管理等功能进行操作。员工主页面如图5-14所示:
图5-14员工主界面
6 系统测试
软件测试是一系列过程活动的总和,本系统采用黑盒测试,用于检测用户、员工和管理员三个角色在操作中存在的问题。黑盒测试注重于测试软件的功能需求[11]。
6.1软件测试过程
软件测试是软件设计的收尾阶段,它是贯穿整个设计过程的,是一个巨大的任务。软件测试需要对程序所有的部分进行测试。且对每个部分的测试都是不一样的,需要在进行测试之前将它们分为以下几个阶段:
软件测试是软件设计的最后阶段,它贯穿于整个设计过程,是一项巨大的任务。软件测试需要测试程序的所有部分[12]。每个部分的测试是不同的,在测试前需要分为以下几个阶段:
(1)模块测试
它是一种检查软件程序代码的测试。用于软件的最小单元部分。单元测试分为手动测试和动态测试。为了保证程序算法的正确性,静态检测应规范程序的逻辑性、规范性和正确性。这一步是检测尽可能多的错误。动态检测是通过比较实际结果和期望结果来发现误差。
(2)集成测试
集成测试是在单元测试的基础上对系统各个功能模块进行测试。任何软件设计都会有集成阶段,因此集成测试是软件测试过程中必不可少的一部分。在集成测试中,由于测试是在各个模块之间进行的,所以在测试过程中可能没有发现问题,但会暴露整个测试。同时,在进行集成测试时要注意模块连接时的数据丢失。还要注意,虽然单个模块的错误可能很少,但它们可以拼凑在一起,对系统产生重大影响。
(3)系统测试
系统测试紧随集成测试之后。系统测试将通过集成测试的部分作为整个系统的一部分。与电子设备的各种软硬件一起,通过实际操作来检测,在模拟的实际环境中是否存在误差。需要将系统测试与计划的理想情况进行比较,并找出与预期不同的地方。通过设计师的分析确定如何修改。在软件的实际操作过程中,会出现很多意想不到的错误,测试人员可能无法在第一时间解决问题。因此,系统测试应尽量在实际操作下进行,以达到更好的测试目的[13]。
(4)验收测试
验收测试是系统设计和发布前的最后测试,需要了解用户和合作伙伴的需求。并与他们一起完成测试,同时根据他们的需求进行具体的修改,使软件更好地满足这三个需求。
6.2测试用例
本管理系统的登录模块测试,主要包括了密码测试,具体测试情况如下:
(1) 密码登录测试
密码登录要求用户输入用户名和密码进行核对,如果用户登录成功,会自动跳转到系统主页,如果登录失败,则会弹出“ 用户名或密码输入有误,请重新输入!”,系统会根据用户不同的角色加载相应的菜单,具体测试用例见表6-1。
表6-1登录测试用例
结 论
通过本次毕业设计对外卖系统的设计与实现,让我能够将所学的一个个知识联系起来形成了一个整体,对于整个系统的运行流程有了一个清楚的认识。从前端通过接口请求数据到后端控制层调用业务层再到数据库访问层对数据库进行查找,然后将数据进行封装后一个一个层传输最后到前端以及前端进行显示的过程中,每一个流程都需要仔细的分析调试。在这之间,也遇到了许许多多的困难,走了很多的弯路,但正是因为克服了这些困难,才能开发出这个系统,实现对外卖信息的电子化管理,提高了工作的效率。
系统的总体设计已经实现了外卖的基本功能,但是还有很多地方需要以后进一步改进,比如:
(1) 优化UI 设计,并且加入总体模块来完善系统功能。
(2) 系统当前只能在网站中使用,若能在App或小程序中使用会更便捷。
(3) 系统中未考虑到数据的备份与恢复功能,手动备份耗时耗力并且安全性不好,需要对其进行完善。
致 谢
晃眼间四年大学时光即将过去。当我在完成大学里最后一个任务模块时,我意识到自己将要毕业了,将离开陪伴了自己四年快乐时光的校园。回首四年往事,让我深有感触学校四年的点点滴滴,有太多无法忘记的事事非非。学校的室友,同学,老师,图书馆,教学楼等,这些都是我无法抹去的记忆,已使我的心里很不是滋味。在此我要首先感谢我的指导老师。从最开始的论文选题、分析,老师就根据我们所选的课题提供了参考资料并且帮助我们进行系统的功能分析。他认真的工作态度、辛勤的工作精神,对我的影响深远,当我遇到问题以及疑惑时,老师总能指出问题的所在,让我收获了许多,再次感谢老师对我的帮助,以及还要感谢我的家人和朋友,正因为有了他们的支持,使我今后的人生有了更多的意义。
同时我还要感谢我的室友们。虽然我这几年的生活一直很困难,但是每当我遇到困难或者不开心的时候,他们都会给我建议,让我不难过。每当我生日的时候,他们都会聚在一起为我庆祝。和他们交流之后,我就会走出坏心情,变得快乐。因此,我感谢他们这四年的努力。
时光飞逝,四年的大学生活转眼就要过去了。此时此刻,四年的时光在我的脑海中再次上演。我的舍友、同学、老师,这一刻,我已经止不住的流泪了。我有太多的记忆永远刻在脑子里,我不会忘记他们的点点滴滴。与此同时,我也会积极准备考研,吸取第一次失败的经验,争取在二战中取得好成绩,考上心中理想的学校。我一定会加油的!
参 考 文 献
[1] 罗旭.宜宾一外卖系统的设计与实现[D].电子科技大学,2020.
[2] 吴丽娟. 基于SpringBoot的贵州省外卖系统设计与实现[D]. 厦门大学, 2019.
[3] 陈键.基于java和MySQL的外卖系统的设计[J].电脑与信息技术,2020, 06:48-49.
[4] 崔炜.基于PowerBuilder外卖系统的研究与实现[J].清远职业技术学院学报,2019,06:63-66.
[5] 刘立. MVVM 模式分析与应用[J].微型电脑应用, 2020, 8(12): 57-60.
[6] 王志任.基于java的开发平台的设计与实现[D].广东工业大学,2019.
[7] 刘敏.基于SpringBoot框架社交网络平台的设计与实现[D].湖南大学,2020.
[8] 姜萍.基于MySql的外卖系统设计与开发[D].吉林大学,2019.
[9] 颜清,苗壮,赖鑫生,等.大数据时代关系数据库MySQL的创新与发展[J].科技风, 2020(20):75-76.
[10] 马景娣,田稷.基于J2EE 的科技查新综合信息系统的设计与实现[J].现代图书情 报技术 2019(08):75-80.
[11] 张玮.浅析白盒测试和黑盒测试[J].无线互联科技,2020(06):136.