计算机专业毕业设计-校园外卖订餐系统-程序-文档-ppt


此文章为本人亲自指导加编写,禁止任何人抄袭以及各类盈利性传播, 相关的代码+部署+论文+ppt+代码讲解+答辩指导文件都有可私要-
计算机专业毕业设计任何项目-程序-论文-想单独指导的可以私我


计算机毕业设计-基于SPringboot的校园外卖订餐系统开题报告-任务书程序编码-文档

摘    要

现在,我们正处于经济发展、科技发展快速的时代,大家生活中的方方面面都变的快速方便起来,而且在如今各大企业竞争压力打的情况下,上班族的人们会因为工作繁忙而没有时间去吃饭,高校同学也通常如此,这就使得外卖行业的迅速诞生。但是在客户需求如此大的行业中,而且还需要为客人提供更加便捷、高效的食物配送服务,这就需要一个信息化的系统来帮助商家和客人建立联系的桥梁,这就使得高校校园订餐系统就此产生。而且随着互联网和智能手机的普及,人们对各种服务的期望也在提高,外卖系统也是这样。它为用户提供了多样选择、订单方便、支付方式灵活等功能,大大的提高了用户的点餐体验。

本次设计的课题为高校校园订餐系统,结合对系统的技术分析,系统采用MVC设计理念,基于B/S模式设计,后台整体架构为Springboot、Mybatis,前端主要为JSP、JavaScript,接口基于Restful进行对接。在系统中主要是的角色为用户,管理员,系统整体模块包含餐品分类,餐品管理,会员管理,餐品检索展示,餐品推荐,购物车,订单查询,评价,通过对此系统的设计,可以让方便用户进行点单操作,还让商家可以更加方便的看到用户的订单信息。

关键词: 线上点餐;菜品销售;商品管理;购物车添加;SpringBoot

 

Abstract

Now, we are in an era of rapid economic and technological development, where every aspect of our lives has become faster and more convenient. In addition, under the competitive pressure of major enterprises, office workers also have no time to eat due to busy work, which has led to the rapid birth of the delivery industry. However, in an industry with such high customer demand and the need to provide customers with more convenient and efficient food delivery services, an information-based system is needed to help businesses and customers establish a bridge of contact, which has led to the emergence of online takeout ordering systems. And with the popularization of the Internet and smartphones, people's expectations for various services are also increasing, and so is the delivery system. It provides users with various options, convenient ordering, and flexible payment methods, greatly improving their ordering experience.

The topic of this design is an online takeaway ordering system. Based on technical analysis of the system, the system adopts the MVC design concept and is designed based on B/S mode. The overall backend architecture is Spring and Mybatis, and the front-end is mainly JSP and JavaScript. The interface is based on Restful for docking. The main roles in the system are users and administrators. The overall module of the system includes food classification, food management, member management, food retrieval and display, food recommendation, shopping cart, order query, and evaluation. Through the design of this system, it is convenient for users to order and merchants to see user order information more conveniently.

Keywords: Online ordering; Milk tea sales; Product management; Add shopping cart; SpringBoot

目    录

摘    要........................................... I

Abstract.......................................... II

第1章 绪论........................................ 1

1.1课题背景..................................... 1

1.2网站研究现状................................. 1

1.3研究内容..................................... 1

第2章 开发核心技术................................ 2

2.1Springboot架构............................... 2

2.2Mybatis架构.................................. 2

2.3JSP技术...................................... 2

第3章 系统分析.................................... 3

3.1可行性分析................................... 3

3.2用例需求分析................................. 3

第4章 系统设计.................................... 5

4.1系统模块设计................................. 5

4.2数据库设计................................... 5

第5章 系统实现.................................... 8

5.1 用户前端功能实现............................ 8

5.1.1 商品信息展示实现....................... 8

5.1.2 商品详情展示实现....................... 8

5.1.3 商品购物车添加实现..................... 9

5.1.4 商品订单结算实现....................... 9

5.2 系统后台管理实现........................... 10

5.2.1 商品分类实现.......................... 10

5.2.2 商品新增实现.......................... 10

5.2.3 会员信息管理实现...................... 11

5.2.4 订单信息管理实现...................... 12

5.2.5 轮播图信息管理实现.................... 12

第6章 系统测试................................... 13

6.1测试描述.................................... 13

6.2测试用例.................................... 13

菜品商品类别设置模块........................... 14

注册会员信息管理模块........................... 14

商品新增模块测试............................... 15

总    结.......................................... 16

参考文献.......................................... 17

致    谢.......................................... 18

第1章 绪论

1.1课题背景

传统的实体餐厅面临着空间限制和人员成本等问题,而在线外卖点餐系统可以帮助餐厅将销售渠道变多,吸引更多顾客。同时,通过信息化系统的数据分析和用户反馈,商家可以优化服务、推广活动等,提高行业竞争力。系统可以自动的对订单进行分配,发送配送路线给客户、平台外卖员、商家等,提高了配送效率,减少了资源浪费,合理的安排资源分配和库存管理,提高自身资源的利用率。

在系统中不仅可以方便了商家和客户,还为食品供应商、配送员等提供了更多的业务。消费者也可以通过系统享受到更多不同累些的餐饮选择,促进了餐饮行业的争相发展,进而提高了行业的进步。

1.2网站研究现状

通过调查显示,现代年轻人点外卖的现象非常普遍,不管是周末在家不想出门的人、学校内的学生,还是上班族的人们,他们对于解决餐食的第一选择基本上都是外卖,这就使得现在网站上所存在的在线外卖点餐系统多之又多,最受大家欢迎且使用率最高的莫过于是“美团外卖”,用户通过系统进入外卖专区,首先系统会对用户的地址进行定位,然后为用户展示出自己周边的各种美食,用户还可以在搜索框内直接进行自己想吃类别的搜索,选定好一个商家后,在界面就展示出了这个商家所贩卖的各种美食,用户就直接进行挑选,每个单独的美食都有自己的详情信息页面,系统还为用户提供了评价功能,用户在用完餐后,可以在对应的商家美食下面进行评论,也可以在点餐之前看到其他用户的评论,对自己的但点餐也提供了很大的参考性。而在商家端,可以对自己所制作的餐品进行信息上传,用户端进行下单后,在商家端就可以直接对订单信息进行打印,方便商家进行制作;而用户下完单,骑手端就可以看到用户的下单信息,然后进行订单的配送。

由此看来,我们设计系统时,除了要把系统功能做好之外,还需要注意的是,我们应该考虑用户隐私保护和信息安全等问题,确保用户信息和支付安全。在这条规范的前提下,再去提高每个用户对于系统的使用体验。

1.3研究内容

在本次的系统设计中采用的主要是文献法和实践法来进行整体开发,采用文献法主要是对一些系统背景调研以及一些资料文献搜集、对比分析、学习等进行研究,梳理出自己的核心要素,然后是对开发语言Java以及开发架构Springboot等进行学习,搭建对应的架构支撑,通过实践法对一些需求进行梳理以及对核心模块和中转业务进行开发,对前端界面交互和后台服务层、orm层等进行开发,最后采用黑盒和白盒测试方法验证完成了此次项目。

第2章 开发核心技术

2.1Springboot架构

Springboot是目前Java的继SSM架构后的又一大优秀架构,作为一款快速开发的架构,主要是自身将一些第三方的插件以及一些常用的jar包进行依赖整合,通过maven的一些父子工程模式进行引入。在Springboot架构中主要是对XML的配置简化,且通过注解的形式对一些类等进行定义配置。在Springboot中可通过Springboot Starter项目管理提供所有的依赖的版本,通过对Springboot的jar包进行升级,对应的一些依赖包的版本也会升级,因此在maven中只需要自定义Springboot的总体版本号即可,在Springboot中也内置了类似于Tomcat的服务器可简化部署的流程。且在yml文件中可对一些数据库链接、端口以及一些变量等都可进行定义,在启动时即可自动化进行类的注入。

2.2Mybatis架构

Mybatis架构为Java的orm层架构,在架构中核心为SQLSessionFactory,在Mybatis中通过Mybatis.config.xml对全局进行配置,包含对数据链接源JDBC的一些基础配置,以及Mapper的映射配置。通过解析文件配置,将Mybatis基于XML生成Configuration,以及对应的Mapper.xml文件,在mappedstatement中包含了对参数的映射的配置以及动态的SQL参数语句,在xml中包含一些标签项,例如Select、update等,且可进行自定义标签进行设计,在Mapper的整个请求过程中,主要是通过sqlsession对象完成对数据库的底层交互,然后通过Mybatis进行底层接口层的API的对接,通过Executor进行动态的SQL的生成以及对象进行解析,包括SQL的参数化,以及动态SQL的自动化配置,最后底层JDBC进行SQL执行,让SQL与Java进行分离,保证了代码的耦合度降低。

2.3JSP技术

JSP全称为Java-Server-Pages,主要是是Javaweb的前端的动态网页技术,在JSP中可将Java代码嵌入到代码中,JSP也可理解为Java、JavaScript、Html的组合集合,但Html为静态界面,只需浏览器即可访问,而JSP为动态语言,可以理解为Servlet,因为JSP为后端代码,JSP通过Tomcat服务器编译后为Class文件。在JSP技术中提供了丰富的框架以及标准库,类似与JSTL,EL等,可快速有效的对后台交互的数据进行动态化处理。而且JSP从性能以及扩展性方面都非常的强,作为Javaweb的前端的开发非常合适。

第3章 系统分析

3.1可行性分析

技术可行性:本次系统研究采用的是MVC设计模式,通过三层分离有利于代码的阅读和维护。通过采用前端JSP进行动态交互,结合jstl对前端的数据进行展示,前端采用ajax进行动态交互。后台则采用Java语言开发,采用Springboot架构进行设计,通过controller层的SpringMVC进行基于restful的风格的接口设计,采用Mybatis完成底层的数据处理。。

操作可行性:本次系统设计主要分为管理员后台和会员前端,在系统中前后台两种角色通过不同界面进行登录,会员进入到前端主要是进行一些购买操作以及一些自己的个人信息编辑和订单查询工作,后台主要是一些管理类以及平台的一些数据类操作,各司其职,做到分工明确,思路清晰。

3.2用例需求分析

在商家端可以对上线的菜品信息进行分类,可以对分类信息进行维护,对上架的商品信息进行新增操作以及上传对应的菜品图片信息。可以对商品的库存以及内容等信息进行编辑,可以对注册的会员信息进行维护,在后台端可以对一些菜品的宣传轮播图信息进行发布。对商品的推荐热度等进行设置。

在会员端,主要作为前端的操作人员可以对自己的账号填写个人信息完成注册,可以对菜品信息进行检索,通过分类方式以及通过关键词儿进行检索。可以对意向菜品添加到购物车,对购物车信息进行查看以及进行结算操作。可以对自己的收货地址进行设置。

第4章 系统设计

4.1系统模块设计

4.2数据库设计

在数据库设计中一定要遵从第三范式,做到数据的完整性、数据的一致性,针对于数据与业务模块的关联可通过E-R图来直观表达,在图中可通过1对n,n对m来对一些对应关系进行映射,通过实体、中间关系等有效表达业务之间的联系,从而映射出对应的表关系,在数据库中表作为存储的单元,要对表字段进行详细设计,保证表中的主键id,表所对应的业务,表字段的拓展性和查询SQL时的关联性等都要进行考虑。

图4-8 系统E-R图

注册用户详情存储信息,如表4-1所示。

表4-1用户详情信息表

设计字段

属性类型

设计长度

主键

属性描述

renyuanId

int

4

用户主键

renyuanname

varchar

45

用户登录名

renyuanrword

varchar

80

用户密码

renyuanRegtime

Date

10

注册时间

renyuanererhone

varchar

15

用户手机号

菜品商品详情信息表,如表4-2所示。

表4-2菜品详情信息表

设计字段

属性类型

设计长度

主键

属性描述

naixxId

Int

8

在售菜品id

naixxName

varchar

90

在售菜品名称

naixxPrice

Int

65

在售菜品单价

naixxNum

Int

8

在售菜品上架数

naixxUime

Date

10

在售菜品原价格

naixxtype

Int

6

在售菜品分类

naixxDesc

varchar

55

在售菜品介绍

naixxActid

Int

6

在售菜品关键词

naixxPhoto

file

150

在售菜品图片

后台商户如表4-3所示。

表4-3商户后台信息表

设计字段

属性类型

设计长度

主键

属性描述

houtaisd

Int

6

主键

后台商家id

houtaissuer

varchar

35

后台商家登录号

houtaispwd

varchar

55

后台商家密码

菜品大类信息如表4-4所示。

表4-4在售菜品大类表

设计字段

属性类型

设计长度

主键

属性描述

fenleiId

Int

8

主键

在售菜品大类id

fenleiname

varchar

75

在售菜品大类名称

fenleides

varchar

55

在售菜品大类介绍

fenleifullNum

Int

11

在售菜品大类层级

购买添加购物车如表4-5所示。

表4-5购物车表

设计字段

属性类型

设计长度

主键

属性描述

cartid

Int

8

主键

编号

naixxid

Int

8

商品id

cartsdDate

Date

11

选购车日期

renyuanid

Int

11

外键

购买用户id

cartdanjia

Int

11

购买单价

naixxNum

Int

8

数量

菜品购买订单如表4-6所示。

表4-6菜品购买订单信息表

设计字段

属性类型

设计长度

主键

属性描述

shanpinid

int

8

主键

购买编号

reguserid

Int

5

购买用户id

Naixxid

Int

9

 菜品商品id

shijian

date

购买时间

buyNum

Int

6

购买数量

第5章 系统实现

5.1 用户前端功能实现

5.1.1 商品信息展示实现

在系统首页端可以对所有的菜品信息进行展示,左侧为菜品的类型信息,下侧为菜品的推荐信息,可以对菜品通过类型或者是关键词进行检索操作。也可以点击查看产品详情信息。

核心代码如下:

    List<NewBeeMallIndexCarouselVO> newBeeMallIndexCarouselVOS = new ArrayList<>(number);

        List<Carousel> carousels = carouselMapper.findCarouselsByNum(number);

        if (!CollectionUtils.isEmpty(carousels)) {

            newBeeMallIndexCarouselVOS = BeanUtil.copyList(carousels, NewBeeMallIndexCarouselVO.class);

        }

        return newBeeMallIndexCarouselVOS;

    }

5.1.2 商品详情展示实现

在首页对商品信息进行查看后,进入到商品详情页面,可以对商品的名称、商品的描述以及商品的金额信息进行查看。可以点击进行购物车的新增操作,添加到购物车,可以对库存进行查看。

5.1.3 商品购物车添加实现

用户可以点击商品信息添加到购物车,可以对自己的购物车信息进行查看,对购物车数据可进行清除操作,以及对购物车数据进行结算,结算后即可生成订单。

核心代码如下: newBeeMallShoppingCartItemMapper.selectCountByUserId(newBeeMallShoppingCartItem.getUserId()) + 1;

              if (newBeeMallShoppingCartItem.getGoodsCount() > Constants.SHOPPING_CART_ITEM_LIMIT_NUMBER) {

            return ServiceResultEnum.SHOPPING_CART_ITEM_LIMIT_NUMBER_ERROR.getResult();

        }

        if (totalItem > Constants.SHOPPING_CART_ITEM_TOTAL_NUMBER) {

            return ServiceResultEnum.SHOPPING_CART_ITEM_TOTAL_NUMBER_ERROR.getResult();

        }

5.1.4 商品订单结算实现

在人员对订单进行结算时,需要点击对应的付款类型以及对输入的商品信息进行查看。点击提交订单,生成订单数据。同时从购物车将数据进行清除操作。

5.2 系统后台管理实现

5.2.1 商品分类实现

在后台可以对订餐平台的所有商品类型信息进行设定,包括对类型的分类名称、排序值以及添加时的时间进行定义,可以对类型二级分类和三级分类进行定义。可以点击进行分类的维护操作。

5.2.2 商品新增实现

在后台可以对订餐商品的信息进行新增操作,点击新增按钮,输入商品的名称、简介描述以及对应的类型和库存信息,以及图片信息进行新增操作,后台要对输入的图片上传进行格式和大小的验证,提交后即可在首页进行展示。

核心代码如下:

@Override

    public String saveNewBeeMallGoods(NewBeeMallGoods goods) {

        if (goodsMapper.insertSelective(goods) > 0) {

            return ServiceResultEnum.SUCCESS.getResult();

        }

        return ServiceResultEnum.DB_ERROR.getResult();

    }

5.2.3 会员信息管理实现

在后台可以对注册的所有人员信息进行查看,对注册时的时间以及人员的状态进行查询。可以对账号进行启用和禁用操作。

5.2.4 订单信息管理实现

后台可以对所有的订单信息进行查询以及对订单详情进行查询,可以对订单状态进行更新,对订单可进行配货操作以及进行出库,出库完成后即可对库存进行减少,生成订单结束操作。

5.2.5 轮播图信息管理实现

在后台可以对系统的轮播图进行设置,可新增轮播图信息以及上传对应的图片信息,图片要保证对应的格式信息。然后对轮播图信息进行编辑和维护,在新增完成后,可以在首页对轮播图进行展示。

第6章 系统测试

6.1测试描述

在这部分要进行的就是系统的测试环节,在这个环节我们要进行的就是对我们所设计的系统功能做出的检测行为,这个步骤目的是为了让我们多设计出来的系统能够正常的、顺利的得出结果,当然,在测试的过程中所出现的问题也会被测试出来。在测试过程中我们要进行的就是对数据的输入,界面的点击等,完毕后就能展示出系统是否可以正确的输出数据,是否可以正常的对我们所输入的数据进行正常存储。

项目难度: 中等难度
适用场景: 相关题目的毕业设计
配套论文字数: 13500个字35页
包含内容: 整套源码+完整毕业论文
大家点赞、收藏、关注、评论啦 。
资源下载|如果你正在做毕业设计,需要源码和论文,不局限于该项目,私聊我。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值