springboot校园外卖配送系统


目 录

第一章 绪 论

1.1背景及意义

1.2国内外研究概况

1.3 研究的内容

第二章 关键技术的研究

2.1开发技术

2.2 Springboot框架介绍

2.3 Vue.js 主要功能

2.4 MVVM模式介绍

2.4  B/S体系工作原理

2.5 MySQL数据库

第三章 系统分析

3.1 系统设计目标

3.2 系统可行性分析

3.3 系统功能分析和描述

3.4系统UML用例分析

3.4.1管理员用例

3.4.2配送员用例

3.5系统流程分析

3.5.1添加信息流程

3.5.2操作流程

3.5.3删除信息流程

第四章 系统设计

4.1 系统体系结构

4.2 数据库设计原则

4.3 数据表

第五章 系统实现

5.1管理员功能模块

5.2配送员功能模块

第六章  系统测试

6.1测试定义及目的

6.2性能测试

6.3测试模块

6.4测试结果

总  结

致  谢

参考文献

第一章 绪 论

1.1背景及意义

系统管理将通过计算机进行整体智能化操作,对于校园外卖配送系统所牵扯的管理及数据保存都是非常多的,这给管理者的工作带来了巨大的挑战,面对大量的信息,传统的管理系统,都是通过笔记的方式进行详细信息的统计,后来出现电脑,通过电脑输入软件将纸质的信息统计到电脑上,这种方式比较传统,而且想要统计数据信息比较麻烦,还受时间和空间的影响,所以为此开发了校园外卖配送系统,为用户提供了方便。对于管理员而言,方便管理员查看及维护,并且可以通过需求进行设备信息内容的编辑及维护等;对于用户而言,可以随时进行查看配送订单信息和配送信息,管理员可以足不出户就可以获取到系统的数据信息等,而且还能节省用户很多时间,所以开发校园外卖配送系统给管理者带来了很大的方便,同时也方便管理员对用户信息进行处理。

本论文校园外卖配送系统主要牵扯到的程序,数据库与计算机技术等。覆盖知识面大,可以大大的提高系统人员工作效率。

1.2国内外研究概况

随着国内经济形势的不断发展,中国互联网进入了一个难得的高峰发展时期,这使得中外资本家纷纷转向互联网市场。 然而,许多管理领域的不合理结构,人员不足以及市场管理需求的增加使得更多的人具备了互联网管理的意识。

在当今高度发达的信息中,信息管理改革已成为一种更加广泛和全面的趋势。 “校园外卖配送系统”是基于Mysql数据库,在springboot框架的基础上实现的。为确保中国经济的持续发展,信息时代日益更新,服务业仍在蓬勃发展。同时,随着信息社会的快速发展,各种管理系统面临着越来越多的数据需要处理,如何用方便快捷的方式使管理者在广阔的数据海洋里面查询、存储、管理和共享有效的数据信息,对我们的学习,工作和生活具有重要的现实意义。因此,国内外学术界对此进行了深入而广泛的研究,一个新的研究领域——校园外卖配送系统诞生了。

1.3 研究的内容

目前许多人仍将传统的纸质工具作为信息管理的主要工具,而网络技术的应用只是起到辅助作用。在对网络工具的认知程度上,较为传统的office软件等仍是人们使用的主要工具,而相对全面且专业的信息管理软件仍没有得到大多数人的了解或认可。本选题则旨在通过标签分类管理等方式,实现校园外卖配送系统的各种功能,从而达到对校园外卖配送系统的管理。

详细内容介绍,将在以下六章中详细阐述:

第一章,绪论,介绍了研究课题选择的背景及意义、研究现状,简要介绍了本文的章节内容。

第二章,引入技术知识,通过引入关键技术进行开发,向系统中涉及直观表达的技术知识。

第三章,重点分析了系统的分析,从系统强大的供需市场出发,对系统开发的可行性,系统流程以及系统性能和功能进行了探讨。

第四章,介绍了系统的详细设计方案,包括系统结构设计和数据库设计。

第五章,系统设计的实现,通过对系统功能设计的详细说明,论证了系统的结构。

第六章,系统的整体测试,评判系统是否可以上线运行。

2.1开发技术

本系统前端框架采用了比较流行的渐进式JavaScript框架Vue.js。使用Vue-Router和Vuex实现动态路由和全局状态管理,Ajax实现前后端通信,Element UI组件库使页面快速成型。后端部分:采用springboot作为开发框架,同时集成MyBatis、Redis等相关技术。

2.2 Springboot框架介绍

Spring框架是Java平台上的一种开源应用框架,提供具有控制反转特性的容器。尽管Spring框架自身对编程模型没有限制,但其在Java应用中的频繁使用让它备受青睐,以至于后来让它作为EJB(EnterpriseJavaBeans)模型的补充,甚至是替补。Spring框架为开发提供了一系列的解决方案,比如利用控制反转的核心特性,并通过依赖注入实现控制反转来实现管理对象生命周期容器化,利用面向切面编程进行声明式的事务管理,整合多种持久化技术管理数据访问,提供大量优秀的Web框架方便开发等等。Spring框架具有控制反转(IOC)特性,IOC旨在方便项目维护和测试,它提供了一种通过Java的反射机制对Java对象进行统一的配置和管理的方法。Spring框架利用容器管理对象的生命周期,容器可以通过扫描XML文件或类上特定Java注解来配置对象,开发者可以通过依赖查找或依赖注入来获得对象。Spring框架具有面向切面编程(AOP)框架,SpringAOP框架基于代理模式,同时运行时可配置;AOP框架主要针对模块之间的交叉关注点进行模块化。Spring框架的AOP框架仅提供基本的AOP特性,虽无法与AspectJ框架相比,但通过与AspectJ的集成,也可以满足基本需求。Spring框架下的事务管理、远程访问等功能均可以通过使用SpringAOP技术实现。Spring的事务管理框架为Java平台带来了一种抽象机制,使本地和全局事务以及嵌套事务能够与保存点一起工作,并且几乎可以在Java平台的任何环境中工作。Spring集成多种事务模板,系统可以通过事务模板、XML或Java注解进行事务配置,并且事务框架集成了消息传递和缓存等功能。Spring的数据访问框架解决了开发人员在应用程序中使用数据库时遇到的常见困难。它不仅对Java:JDBC、iBATS/MyBATIs、Hibernate、Java数据对象(JDO)、ApacheOJB和ApacheCayne等所有流行的数据访问框架中提供支持,同时还可以与Spring的事务管理一起使用,为数据访问提供了灵活的抽象。Spring框架最初是没有打算构建一个自己的WebMVC框架,其开发人员在开发过程中认为现有的StrutsWeb框架的呈现层和请求处理层之间以及请求处理层和模型之间的分离不够,于是创建了SpringMVC。

2.3 Vue.js 主要功能

Vue.js是一套构建用户界面的渐进式框架。与其他重量级框架不同的是,Vue采用自底向上增量开发的设计。Vue 的核心库只关注视图层,并且非常容易学习,非常容易与其它库或已有项目整合。另一方面,Vue 完全有能力驱动采用单文件组件和Vue生态系统支持的库开发的复杂单页应用。

Vue.js 的目标是通过尽可能简单的 API 实现响应的数据绑定和组合的视图组件。

Vue.js 自身不是一个全能框架——它只聚焦于视图层。因此它非常容易学习,非常容易与其它库或已有项目整合。另一方面,在与相关工具和支持库一起使用时,Vue.js 也能驱动复杂的单页应用。

2.4 MVVM模式介绍

MVVM是Model-View-ViewModel的简写。它本质上就是MVC 的改进版。MVVM 就是将其中的View 的状态和行为抽象化,让我们将视图 UI 和业务逻辑分开。当然这些事 ViewModel 已经帮我们做了,它可以取出 Model 的数据同时帮忙处理 View 中由于需要展示内容而涉及的业务逻辑。微软的WPF带来了新的技术体验,如Silverlight、音频、视频、3D、动画……,这导致了软件UI层更加细节化、可定制化。同时,在技术层面,WPF也带来了 诸如Binding、Dependency Property、Routed Events、Command、DataTemplate、ControlTemplate等新特性。MVVM(Model-View-ViewModel)框架的由来便是MVP(Model-View-Presenter)模式与WPF结合的应用方式时发展演变过来的一种新型架构框架。它立足于原有MVP框架并且把WPF的新特性糅合进去,以应对客户日益复杂的需求变化。

2.4  B/S体系工作原理

B/S架构采取浏览器请求,服务器响应的工作模式。

用户可以通过浏览器去访问Internet上由Web服务器产生的文本、数据、图片、动画、视频点播和声音等信息;

而每一个Web服务器又可以通过各种方式与数据库服务器连接,大量的数据实际存放在数据库服务器中;

从Web服务器上下载程序到本地来执行,在下载过程中若遇到与数据库有关的指令,由Web服务器交给数据库服务器来解释执行,并返回给Web服务器,Web服务器又返回给用户。在这种结构中,将许许多多的网连接到一块,形成一个巨大的网,即全球网。而各个企业可以在此结构的基础上建立自己的Internet。

在 B/S 模式中,用户是通过浏览器针对许多分布于网络上的服务器进行请求访问的,浏览器的请求通过服务器进行处理,并将处理结果以及相应的信息返回给浏览器,其他的数据加工、请求全部都是由Web Server完成的。通过该框架结构以及植入于操作系统内部的浏览器,该结构已经成为了当今软件应用的主流结构模式。

2.5 MySQL数据库

Mysql的语言是非结构化的,用户可以在数据上进行工作。MySQL因为其速度、可靠性和适应性而备受关注。大多数人都认为在不需要事务化处理的情况下,MySQL是管理内容最好的选择。并且因为Mysql的语言和结构比较简单,但是功能和存储信息量很强大,所以得到了普遍的应用。

Mysql数据库在编程过程中的作用是很广泛的,为用户进行数据查询带来了方便。Mysql数据库的应用因其灵活性强,功能强大,所以在实现某功能时只需要一小段代码,而不像其他程序需要编写大段代码。总体来说,Mysql数据库的语言相对要简洁很多。

数据流程分析主要就是数据存储的储藏室,它是在计算机上进行的,而不是现实中的储藏室。数据的存放是按固定格式,而不是无序的,其定义就是:长期有固定格式,可以共享的存储在计算机存储器上。数据库管理主要是数据存储、修改和增加以及数据表的建立。为了保证系统数据的正常运行,一些有能力的处理者可以进行管理而不需要专业的人来处理。数据表的建立,可以对数据表中的数据进行调整,数据的重新组合及重新构造,保证数据的安全性。介于数据库的功能强大等特点,本系统的开发主要应用了Mysql进行对数据的管理。

第三章 系统分析

3.1 系统设计目标

校园外卖配送系统主要是为了用户方便对外卖信息的查看和交流论坛,也是为了更好的让管理员进行更好存储所有数据信息及快速方便的检索功能,对系统的各个模块是通过许多今天的发达系统做出合理的分析来确定考虑用户的可操作性,遵循开发的系统优化的原则,经过全面的调查和研究。

系统所要实现的功能分析,对于现在网络方便的管理,系统要实现用户可以直接在平台上进行管理:后台首页、系统用户(管理员、配送员)、模块管理(配送订单、配送接单、取消配送、送达信息、收入提现、通知公告)等,根据自己的需求可以进行查看配送订单信息、送达信息等,这样既能节省用户的时间,不用在像传统的方式,需要查询、由于很多用户的时间的原因,很难去满足用户的各种需求。所以校园外卖配送系统的开发不仅仅是能满足用户的需求,还能提高管理员的工作效率,减少原有不必要的工作量。

3.2 系统可行性分析

系统的开发环境和配置都是可以自行安装的,系统使用springboot、JAVA、MyEclipse等开发工具,使用比较成熟的Mysql数据库进行对系统用户和管理员之间相关的数据交互,根据技术语言对数据库,结合需求进行修改维护,可以使得系统运行更具有稳定性和安全性,从而完成实现系统的开发。

(1)硬件可行性分析

校园外卖配送系统及信息分析的设计对于所使用的计算机没有什么硬性的要求,计算机只要可以正常的使用进行代码的编写及页面设计就可行,主要是对于服务器有些要求,对于平台搭建完成要上传的服务器是有一定的要求的,服务器必须选择安全性比较高的,然后就是在打开系统必须顺畅,不能停顿太长时间;性价比高;安全性高。

(2)软件可行性分析

开发整个系统使用的是云计算,流量的可扩展性和基于流量的智能调整云计算的优点就是流量的可扩展性和基于流量的智能调整,保障系统的安全及数据信息的及时备份。

因此,我们从两个方面进行了可行性研究,可以看出系统的开发没有问题。

3.3 系统功能分析和描述

使用校园外卖配送系统的用户分为管理员、配送员两个角色的权限子模块。

管理员所能使用的功能主要有:首页、系统用户(管理员、配送员)、模块管理(配送订单、配送接单、取消配送、送达信息、收入提现、通知公告)等。

配送员可以实现首页、配送订单、配送接单、取消配送、送达信息、收入提现、通知公告等。

3.4系统UML用例分析

3.4.1管理员用例

管理员登录后可进行首页、系统用户(管理员、配送员)、模块管理(配送订单、配送接单、取消配送、送达信息、收入提现、通知公告)等操作,管理员的用例如图3-1所示。

图3-1 管理员用例图

3.4.2配送员用例

配送员注册登录后可进行首页、配送订单、配送接单、取消配送、送达信息、收入提现、通知公告等操作,配送员用例如图3-2所示。

图3-2 用户用例图

3.5系统流程分析

3.5.1添加信息流程

添加信息,编号系统使用自动编号模式,没有用户填写,用户添加信息输入信息,系统将自动确认的信息和数据,验证的成功是有效的信息添加到数据库,信息无效,重新输入信息。添加信息流程如图3-3所示。

图3-3 添加信息流程图

3.5.2操作流程

用户想进入系统,首先进入系统登录界面,通过正确的用户名、密码,选择登录类型登录,系统会检查登录信息,信息正确,然后输入相应的功能界面,提示信息错误,登录失败。系统操作流程如图3-4所示。

图3-4操作流程图

3.5.3删除信息流程

用户选择要删除的信息并单击Delete按钮。系统提示是否删除信息。如果用户想要删除信息,系统将删除信息。系统数据库删除信息。删除信息流程图如图3-5所示。

图3-5 删除信息流程图

第四章 系统设计

4.1 系统体系结构

校园外卖配送系统开发系统的结构图4-1所示:

图4-1  系统结构

模块包括管理员:首页、系统用户(管理员、配送员)、模块管理(配送订单、配送接单、取消配送、送达信息、收入提现、通知公告)等进行相应的操作。

登录系统结构图,如图4-2所示:

图4-2 登录结构图

这些功能可以充分满足校园外卖配送系统的需求。此系统功能较为全面如下图系统功能结构如图4-3所示。

图4-3系统功能结构图

4.2 数据库设计原则

每个数据库的应用它们都是和区分开的,当运行到一定的程序当中,它就会与自己相关的协议与客户端进行通讯。那么这个系统就会对使这些数据进行连接。当我们选择哪个桥段的时候,接下来就会简单的叙述这个数据库是如何来创建的。当点击完成按钮的时候就会自动在对话框内弹出数据源的名称,在进行点击下一步即可,直接在输入相对应的身份验证和登录密码。 

校园外卖配送系统的数据流程:

图4-4  系统数据流程图

(2) 系统实体属性如下图3-4所示

图4-5系统实体属性图

4.3 数据表

将数据库概念设计的E-R图转换为关系数据库。在关系数据库中,数据关系由数据表组成,但是表的结构表现在表的字段上。

表access_token (登陆访问时长)

编号

名称

数据类型

长度

小数位

允许空值

主键

默认值

说明

1

token_id

int

10

0

N

Y

临时访问牌ID

2

token

varchar

64

0

Y

N

临时访问牌

3

info

text

65535

0

Y

N

4

maxage

int

10

0

N

N

2

最大寿命:默认2小时

5

create_time

timestamp

19

0

N

N

CURRENT_TIMESTAMP

创建时间:

6

update_time

timestamp

19

0

N

N

CURRENT_TIMESTAMP

更新时间:

7

user_id

int

10

0

N

N

0

用户编号:

表auth (用户权限管理)

编号

名称

数据类型

长度

小数位

允许空值

主键

默认值

说明

1

auth_id

int

10

0

N

Y

授权ID:

2

user_group

varchar

64

0

Y

N

用户组:

3

mod_name

varchar

64

0

Y

N

模块名:

4

table_name

varchar

64

0

Y

N

表名:

5

page_title

varchar

255

0

Y

N

页面标题:

6

path

varchar

255

0

Y

N

路由路径:

7

position

varchar

32

0

Y

N

位置:

8

mode

varchar

32

0

N

N

_blank

跳转方式:

9

add

tinyint

3

0

N

N

1

是否可增加:

10

del

tinyint

3

0

N

N

1

是否可删除:

11

set

tinyint

3

0

N

N

1

是否可修改:

12

get

tinyint

3

0

N

N

1

是否可查看:

13

field_add

text

65535

0

Y

N

添加字段:

14

field_set

text

65535

0

Y

N

修改字段:

15

field_get

text

65535

0

Y

N

查询字段:

16

table_nav_name

varchar

500

0

Y

N

跨表导航名称:

17

table_nav

varchar

500

0

Y

N

跨表导航:

18

option

text

65535

0

Y

N

配置:

19

create_time

timestamp

19

0

N

N

CURRENT_TIMESTAMP

创建时间:

20

update_time

timestamp

19

0

N

N

CURRENT_TIMESTAMP

更新时间:

表cancel_delivery (取消配送)

编号

名称

数据类型

长度

小数位

允许空值

主键

默认值

说明

1

cancel_delivery_id

int

10

0

N

Y

取消配送ID

2

order_number

varchar

64

0

Y

N

订单编号

3

food_name

varchar

64

0

Y

N

美食名称

4

quantity_of_delicious_food

int

10

0

Y

N

0

美食数量

5

shipping_address

varchar

64

0

Y

N

配送地址

6

user_name

varchar

64

0

Y

N

用户姓名

7

delivery_personnel

int

10

0

Y

N

0

配送员

8

name_of_deliveryman

varchar

64

0

Y

N

配送员姓名

9

cancel_time

datetime

19

0

Y

N

取消时间

10

reason_for_cancellation

text

65535

0

Y

N

取消原因

11

examine_state

varchar

16

0

N

N

未审核

审核状态

12

examine_reply

varchar

16

0

Y

N

审核回复

13

recommend

int

10

0

N

N

0

智能推荐

14

create_time

datetime

19

0

N

N

CURRENT_TIMESTAMP

创建时间

15

update_time

timestamp

19

0

N

N

CURRENT_TIMESTAMP

更新时间

表delivery_information (送达信息)

编号

名称

数据类型

长度

小数位

允许空值

主键

默认值

说明

1

delivery_information_id

int

10

0

N

Y

送达信息ID

2

order_number

varchar

64

0

Y

N

订单编号

3

food_name

varchar

64

0

Y

N

美食名称

4

quantity_of_delicious_food

int

10

0

Y

N

0

美食数量

5

shipping_address

varchar

64

0

Y

N

配送地址

6

delivery_price

int

10

0

Y

N

0

配送价格

7

order_time

datetime

19

0

Y

N

下单时间

8

user_name

varchar

64

0

Y

N

用户姓名

9

contact_information

varchar

64

0

Y

N

联系方式

10

delivery_personnel

int

10

0

Y

N

0

配送员

11

name_of_deliveryman

varchar

64

0

Y

N

配送员姓名

12

id_number

varchar

64

0

Y

N

身份证号

13

completion_date

date

10

0

Y

N

完成日期

14

recommend

int

10

0

N

N

0

智能推荐

15

create_time

datetime

19

0

N

N

CURRENT_TIMESTAMP

创建时间

16

update_time

timestamp

19

0

N

N

CURRENT_TIMESTAMP

更新时间

表delivery_order (配送订单)

编号

名称

数据类型

长度

小数位

允许空值

主键

默认值

说明

1

delivery_order_id

int

10

0

N

Y

配送订单ID

2

order_number

varchar

64

0

Y

N

订单编号

3

food_name

varchar

64

0

Y

N

美食名称

4

food_pictures

varchar

255

0

Y

N

美食图片

5

food_prices

int

10

0

Y

N

0

美食价格

6

quantity_of_delicious_food

int

10

0

Y

N

0

美食数量

7

total_food_price

varchar

64

0

Y

N

美食总价

8

shipping_address

varchar

64

0

Y

N

配送地址

9

delivery_price

int

10

0

Y

N

0

配送价格

10

order_status

varchar

64

0

Y

N

订单状态

11

order_time

datetime

19

0

Y

N

下单时间

12

user_name

varchar

64

0

Y

N

用户姓名

13

contact_information

varchar

64

0

Y

N

联系方式

14

recommend

int

10

0

N

N

0

智能推荐

15

create_time

datetime

19

0

N

N

CURRENT_TIMESTAMP

创建时间

16

update_time

timestamp

19

0

N

N

CURRENT_TIMESTAMP

更新时间

表delivery_personnel (配送员)

编号

名称

数据类型

长度

小数位

允许空值

主键

默认值

说明

1

delivery_personnel_id

int

10

0

N

Y

配送员ID

2

name_of_deliveryman

varchar

64

0

Y

N

配送员姓名

3

gender_of_delivery_personnel

varchar

64

0

Y

N

配送员性别

4

id_number

varchar

64

0

Y

N

身份证号

5

delivery_revenue

int

10

0

Y

N

0

配送收入

6

examine_state

varchar

16

0

N

N

已通过

审核状态

7

recommend

int

10

0

N

N

0

智能推荐

8

user_id

int

10

0

N

N

0

用户ID

9

create_time

datetime

19

0

N

N

CURRENT_TIMESTAMP

创建时间

10

update_time

timestamp

19

0

N

N

CURRENT_TIMESTAMP

更新时间

表delivery_receipt (配送接单)

编号

名称

数据类型

长度

小数位

允许空值

主键

默认值

说明

1

delivery_receipt_id

int

10

0

N

Y

配送接单ID

2

order_number

varchar

64

0

Y

N

订单编号

3

food_name

varchar

64

0

Y

N

美食名称

4

quantity_of_delicious_food

int

10

0

Y

N

0

美食数量

5

shipping_address

varchar

64

0

Y

N

配送地址

6

delivery_price

int

10

0

Y

N

0

配送价格

7

order_time

datetime

19

0

Y

N

下单时间

8

user_name

varchar

64

0

Y

N

用户姓名

9

contact_information

varchar

64

0

Y

N

联系方式

10

delivery_personnel

int

10

0

Y

N

0

配送员

11

name_of_deliveryman

varchar

64

0

Y

N

配送员姓名

12

id_number

varchar

64

0

Y

N

身份证号

13

recommend

int

10

0

N

N

0

智能推荐

14

create_time

datetime

19

0

N

N

CURRENT_TIMESTAMP

创建时间

15

update_time

timestamp

19

0

N

N

CURRENT_TIMESTAMP

更新时间

表hits (用户点击)

编号

名称

数据类型

长度

小数位

允许空值

主键

默认值

说明

1

hits_id

int

10

0

N

Y

点赞ID:

2

user_id

int

10

0

N

N

0

点赞人:

3

create_time

timestamp

19

0

N

N

CURRENT_TIMESTAMP

创建时间:

4

update_time

timestamp

19

0

N

N

CURRENT_TIMESTAMP

更新时间:

5

source_table

varchar

255

0

Y

N

来源表:

6

source_field

varchar

255

0

Y

N

来源字段:

7

source_id

int

10

0

N

N

0

来源ID:

表income_withdrawal (收入提现)

编号

名称

数据类型

长度

小数位

允许空值

主键

默认值

说明

1

income_withdrawal_id

int

10

0

N

Y

收入提现ID

2

delivery_personnel

int

10

0

Y

N

0

配送员

3

name_of_deliveryman

varchar

64

0

Y

N

配送员姓名

4

id_number

varchar

64

0

Y

N

身份证号

5

delivery_revenue

int

10

0

Y

N

0

配送收入

6

withdrawal_card_number

varchar

64

0

Y

N

提现卡号

7

withdrawal_amount

int

10

0

Y

N

0

提现金额

8

recommend

int

10

0

N

N

0

智能推荐

9

create_time

datetime

19

0

N

N

CURRENT_TIMESTAMP

创建时间

10

update_time

timestamp

19

0

N

N

CURRENT_TIMESTAMP

更新时间

表notice_announcement (通知公告)

编号

名称

数据类型

长度

小数位

允许空值

主键

默认值

说明

1

notice_announcement_id

int

10

0

N

Y

通知公告ID

2

announcement_title

varchar

64

0

Y

N

公告标题

3

announcement_label

varchar

64

0

Y

N

公告标签

4

release_date

date

10

0

Y

N

发布日期

5

announcement_content

text

65535

0

Y

N

公告内容

6

publishing_personnel

varchar

64

0

Y

N

发布人员

7

recommend

int

10

0

N

N

0

智能推荐

8

create_time

datetime

19

0

N

N

CURRENT_TIMESTAMP

创建时间

9

update_time

timestamp

19

0

N

N

CURRENT_TIMESTAMP

更新时间

表upload (文件上传)

编号

名称

数据类型

长度

小数位

允许空值

主键

默认值

说明

1

upload_id

int

10

0

N

Y

上传ID

2

name

varchar

64

0

Y

N

文件名

3

path

varchar

255

0

Y

N

访问路径

4

file

varchar

255

0

Y

N

文件路径

5

display

varchar

255

0

Y

N

显示顺序

6

father_id

int

10

0

Y

N

0

父级ID

7

dir

varchar

255

0

Y

N

文件夹

8

type

varchar

32

0

Y

N

文件类型

表user (用户账户:用于保存用户登录信息)

编号

名称

数据类型

长度

小数位

允许空值

主键

默认值

说明

1

user_id

mediumint

8

0

N

Y

用户ID:[0,8388607]用户获取其他与用户相关的数据

2

state

smallint

5

0

N

N

1

账户状态:[0,10](1可用|2异常|3已冻结|4已注销)

3

user_group

varchar

32

0

Y

N

所在用户组:[0,32767]决定用户身份和权限

4

login_time

timestamp

19

0

N

N

CURRENT_TIMESTAMP

上次登录时间:

5

phone

varchar

11

0

Y

N

手机号码:[0,11]用户的手机号码,用于找回密码时或登录时

6

phone_state

smallint

5

0

N

N

0

手机认证:[0,1](0未认证|1审核中|2已认证)

7

username

varchar

16

0

N

N

用户名:[0,16]用户登录时所用的账户名称

8

nickname

varchar

16

0

Y

N

昵称:[0,16]

9

password

varchar

64

0

N

N

密码:[0,32]用户登录所需的密码,由6-16位数字或英文组成

10

email

varchar

64

0

Y

N

邮箱:[0,64]用户的邮箱,用于找回密码时或登录时

11

email_state

smallint

5

0

N

N

0

邮箱认证:[0,1](0未认证|1审核中|2已认证)

12

avatar

varchar

255

0

Y

N

头像地址:[0,255]

13

create_time

timestamp

19

0

N

N

CURRENT_TIMESTAMP

创建时间:

表user_group (用户组:用于用户前端身份和鉴权)

编号

名称

数据类型

长度

小数位

允许空值

主键

默认值

说明

1

group_id

mediumint

8

0

N

Y

用户组ID:[0,8388607]

2

display

smallint

5

0

N

N

100

显示顺序:[0,1000]

3

name

varchar

16

0

N

N

名称:[0,16]

4

description

varchar

255

0

Y

N

描述:[0,255]描述该用户组的特点或权限范围

5

source_table

varchar

255

0

Y

N

来源表:

6

source_field

varchar

255

0

Y

N

来源字段:

7

source_id

int

10

0

N

N

0

来源ID:

8

register

smallint

5

0

Y

N

0

注册位置:

9

create_time

timestamp

19

0

N

N

CURRENT_TIMESTAMP

创建时间:

10

update_time

timestamp

19

0

N

N

CURRENT_TIMESTAMP

更新时间:

第五章 系统实现

5.1管理员功能模块

管理员登录,通过填写注册时输入的用户名、密码、权限进行登录,如图5-5所示。

图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配送订单管理界面图

第六章  系统测试

6.1测试定义及目的

关于系统实现的测试,英文名称是System TEST,简称ST,ST是使用完整其系统的各种功能多次、多案例、多环境测试,这是ST的简单描述。ST可以证明该功能对系统的要求是否得到满足以及是否有效。

对于系统开发的实现,不管开发过程多么努力,在系统运行的时候多少都会出现一些错误信息,所以为了系统的安全性及提高系统的使用率及给用户带来更好的体验,系统在完成之前,一定要进行一遍系统的测试,再完美的程序也会有漏洞,再细心的技术开发员也会有疏忽的时候,所以对于程序的测试是必须要做的一步。通过系统测试找到系统存在的问题,并根据问题的原因进行在线解决问题,如果找不到解决问题的办法可以进行通过咨询指导老师或者通过同学帮忙,一定将问题找出,否则将会出现更多的错误。所以程序出现错误时不可避免,系统测试虽然耗时费力,但是为了确保后期系统的长期使用,必须要进行系统测试,问题解决完成后还要再一步测试,直到没有任何问题后方可进行使用。

6.2性能测试

任何一款程序开发成功后都必须通过软件测试,它是保障软件稳定运行的前提。测试最主要的一步就是性能测试,性能测试内容如下:

(1)对于测试的速度有一定的要求,速度必须快,而且对于测试出来的错误问题一定以最快的速度进行处理解决,并且进行再次测试,保证整个系统运行的安全性。

(2)在系统测试的时候要将测试所用到的测试计划和测试报告保管好,方便后期系统的运行使用后的整体维护操作。

(3)软件测试整个过程中的聚类现象应优先考虑。

(4)对于整体系统测试,不要用自己的思想去认可整个系统,而是从公正的角度的进行对系统进行认可,是否符系统的整合应用。

6.3测试模块

测试系统是最新的Windows 10系统,通过对系统实现的功能模块进行每个功能模块的操作测试,查看每个用户的功能模块所对应的权限信息是否可以操作并且数据信息更新一致。

测试需求

测试重点

是否达成需求

结果

用户登录

输入账号密码

需求达成

通过

用户注册

创建新的账号密码

需求达成

通过

登录失败

输入错误账号密码

需求达成

通过

修改信息

修改成功

需求达成

通过

添加信息管理

增删查改

需求达成

通过

搜索查询管理

增删查改

需求达成

通过

                                                                                                                                                      

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。
如若转载,请注明出处:http://www.tpcf.cn/pingmian/90930.html

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

【智慧物联网平台】安装部署教程——仙盟创梦IDE

一、部署前准备1. 环境要求基础环境:JDK 1.8、MySQL 5.7/8.0、Maven 3.6、Redis(用于缓存)、Node.js(用于前端构建,可选)。依赖服务:若需对接门禁、道闸等硬件设备,需确保设备网络可…

【安全漏洞】防范未然:如何有效关闭不必要的HTTP请求方法,保护你的Web应用

在构建和维护Web应用的过程中,安全问题总是我们最关心的话题之一。今天,我们要探讨的是一个经常被忽视的Web漏洞——未关闭或限制不必要的HTTP请求方法。 虽然我们在日常开发中主要使用 GET 和 POST 这两种请求方法,但像 PUT、DELETE、HEAD、…

嵌入式Linux裸机开发笔记8(IMX6ULL)主频和时钟配置实验(1)

引言在前几章实验中我们都没有涉及到 I.MX6U 的时钟和主频配置操作,全部使用的默认配置, 默认配置下 I.MX6U 工作频率为 396MHz。但是 I.MX6U 系列标准的工作频率为 528MHz,有些 型号甚至可以工作到 696MHz。本章学习 I.MX6U 的时钟系统&…

设计模式(四)创建型:生成器模式详解

设计模式(四)创建型:生成器模式详解生成器模式(Builder Pattern)是 GoF 23 种设计模式中的核心创建型模式之一,其核心价值在于将一个复杂对象的构建过程与其表示分离,使得同样的构建过程可以创建…

《Angular+Spring Boot:ERP前端采购销售库存协同架构解析》

基于Angular与Spring Boot构建的全栈ERP前端,绝非技术的简单叠加,而是通过深度融合两者特性,打造出兼具稳定性与灵活性的业务载体。Angular的组件化架构将复杂界面拆解为可复用的独立单元,依赖注入机制则让服务调用与数据流转条理…

Java 排序

文章目录排序插入排序分析希尔排序分析选择排序分析堆排序分析冒泡排序分析快速排序霍尔法分析挖坑法找基准前后指针法题目快排的优化三数取中法非递归实现快排归并排序分析非递归实现归并排序海量数据的排序非比较的排序计数排序分析基数排序桶排序排序 稳定的排序&#xff1…

日本IT就职面试|仪容礼仪篇分享建议

日系企業で好印象を与える「身だしなみ」と「面接マナー」ガイドこんにちは。 日系企業への就職・転職活動をされている方にとって、「第一印象」は合否を左右する大切なポイントですよね。実は、面接の評価は入室の瞬間から始まっていると言っても過言ではありません。 今回は…

英语听力口语词汇-8.美食类

1.crispy,crisp adj.酥脆的,易碎的 2.sweet adj.甜的 比如说chocolate is so sweet and delicious 3.chewy adj.难嚼的,难咽的 4.oatmeal n.燕麦粉 5.pickle n.泡菜 7.stir-fry v.炒菜 8.bacon n.咸肉,熏肉 9.yummy adj.美味可口的 1…

力扣7:整数反转

力扣7:整数反转题目思路代码题目 给你一个 32 位的有符号整数 x ,返回将 x 中的数字部分反转后的结果。 如果反转后整数超过 32 位的有符号整数的范围 [−2^31, 2^31 − 1] ,就返回 0。 思路 这道题我们可以分成两部分来做,一是完成反转二…

PWM信号控制电机

1:环境 STM32F103C8T6 KEIL5.38 2个电机 2个轮子 1个L298N STLINKV2 CH340 1个4位独立按键 杜邦线若干 2:代码 key.h #ifndef __KEY_H #define __KEY_H#include "stm32f10x.h"extern volatile uint8_t key_t ; extern volatile uint8_t …

开源赋能产业,生态共筑未来 | 开源科学计算与系统建模(openSCS)分论坛圆满举行

2025开放原子开源生态大会于7月23日-24日在北京国家会议中心召开。本届大会以“开源赋能产业,生态共筑未来”为主题,汇聚政、产、学、研、用、金、创、投等各领域开源力量,聚焦开源政策导向、生态发展趋势、开源产业实践,共探中国…

Android广播机制体系初识

Android广播机制体系大白话把Android的广播机制想象成小区里的“大喇叭”谁在喊话?任何App或系统都能当“大喇叭”,比如喊一嗓子“电量不足啦!”(这就是发送广播)谁在听?其他App只要“竖起耳朵”&#xff0…

微信小程序点击输入框时,顶部导航栏被遮挡问题如何解决?

前言 不知道大家开发微信小程序的时候有没有遇到这么一个问题,就是在表单页面中,点击输入框后,输入框顶起会把顶部栏给遮挡住,如下图所示:遇到这种情况有没有解决的办法呢?能不能既将页面顶起,同…

通过具有一致性嵌入的大语言模型(LMMs)实现端到端乳腺癌放射治疗计划制定|文献速递-医学影像算法文献分享

Title题目End-to-end breast cancer radiotherapy planning via LMMs with consistencyembedding通过具有一致性嵌入的大语言模型(LMMs)实现端到端乳腺癌放射治疗计划制定01文献速递介绍近年来,受大型语言模型(LLM)启发…

vscode npm run build打包报ELIFECYCLE

npm run build打包报ELIFECYCLE 是内存溢出解决方案:修改build脚本 :"build": "node --max_old_space_size4096 node_modules/vue/cli-service/bin/vue-cli-service.js build",

【lucene】BlockMaxConjunctionScore

BlockMaxConjunctionScorer 是 Lucene 8.5 引入的一个高性能交集打分器(conjunction scorer),专门用于处理 多条件“与”查询(AND 查询) 的场景。它基于 Block-Max WAND(BMW)算法,可…

Androidstudio 上传当前module 或本地jar包到maven服务器。

1.设置gradle版本到8.0 gradle-wrapper.properties文件中设置: distributionUrlhttps\://mirrors.aliyun.com/macports/distfiles/gradle/gradle-8.0-bin.zip 2.设置项目根目录build.gradle 设置agp版本和maven插件版本(和gralde版本有对应关系&#xff…

Python动态规划:从基础到高阶优化的全面指南

动态规划(Dynamic Programming)是解决复杂优化问题的核心技术,也是算法领域的明珠。本文将深入探讨Python实现动态规划的全方位技术,涵盖基础概念、经典问题、优化技巧和实际工程应用,带您掌握这一强大工具的精髓。一、…

视觉大模型部署实践篇(Docker+dify+ollama安装)

一、概述 目的:实现一个本地化部署的大模型,通过工作流对图像进行一些处理。基于此,我选择了Docker+Dify+Ollama的部署。 具体实现逻辑:Docker来运行dify,dify用来绘制大模型的工作流或者rag等,Ollama用来部署本地大模型,dify调用Ollama部署的大模型进行推理。 二、Dock…

服务器启动日志等级

目录 标准日志等级 服务器启动阶段常见日志 日志配置建议 常见服务器/工具的日志等级配置方式 ET框架 Apache/Nginx 等 Web 服务器 Docker 容器 服务器启动过程中的日志等级是帮助开发者和运维人员理解系统状态的重要工具。常见的日志等级及其含义如下: 标准…