博主介绍:java高级开发,从事互联网行业六年,熟悉各种主流语言,精通java、python、php、爬虫、web开发,已经做了六年的毕业设计程序开发,开发过上千套毕业设计程序,博客中有上百套程序可供参考,欢迎共同交流学习。
🍅文末点击卡片获取联系🍅
技术:springboot+mysql+vue+tomcat
目录
1 系统介绍
随着我国经济的飞速发展,人们的生活速度明显加快,在餐厅吃饭排队的情况到处可见,近年来由于新兴IT行业的空前发展,它与传统餐饮行业也进行了新旧的结合,很多餐饮商户开始通过网络建设订餐系统,通过专门的网上订餐系统,一方面节省了用户订餐的时间,给用户带来方便,另一方面给商户带来了新的销售模式,同时也使订餐的管理规范化,系统化,给人们的生活带来了很大的便利。
本文重点阐述了网上订餐系统的开发过程,以实际运用为开发背景,基于Spring Boot框架,运用了JSP技术和MYSQL作为系统数据库进行开发,充分保证系统的安全性和稳定性。本系统界面良好,操作简单方便,通过系统概述、系统分析、系统设计、数据库设计、系统测试这几个部分,详细的说明了系统的开发过程,最后并对整个开发过程进行了总结,实现了用户通过网络进行订餐的重要功能。
本基于Spring Boot的网上订餐系统运行效果稳定,操作方便、快捷,界面友好,是一个功能全面、实用性好、安全性高,并具有良好的可扩展性、可维护性的订餐平台。
2 系统背景
2.1 研究背景
随着互联网技术的快速发展,网络时代的到来,网络信息也将会改变当今社会。各行各业在日常企业经营管理等方面也在慢慢的向规范化和网络化趋势汇合[13]。电子商务必将成为未来商务的主流,因此对于餐饮行业来说,建立一个网上订餐系统是必不可少的一种销售模式;由于现在人们的生活节奏越来越快,就餐时间过于集中,为了实现用户通过计算机平台进行订餐的功能[1],开发了本网上订餐系统。
近几年随着互联网的飞速发展,我国的电子商务也得到了较快的发展,人们的生活方式也随之改变。人们在快节奏的生活中寻找快捷的生活方式,其中电子商务技术为人们提供了更加便利的购物方式[4]。人们网上购物不受时间地点的限制,同时商户实现通过网络平台来进行商品的销售,不仅客户群体,而且还可以为商户进行宣传,能大大的增加营业额。为了满足大量网友网上进行订餐的需求,跟随电子商务发展的步伐,建设一个网上订餐系统为广大用户服务,实现快速订餐功能。
2.2 研究现状
在国外他们的信息技术的发展是我国的许多倍,从1946年诞生在美国的世界上第一台计算机开始,国外的信息技术就一直在飞速地发展,一些计算机应用软件也纷纷出现,软件技术也一直在不断完善和更新。软件行业早已遍布各个地方。
在国内,我国信息技术发展起步比较晚,后期慢慢的不断地进行优化和改革,才让我们的信息技术上升到新的阶段。在现在软件开发的技术经过大量研究和生活实践基本能够达到独立开发系统应用的水平,生活中的各个行业也把软件操作替换成传统的记录模式。软件行业正是现在比较热门的行业。
信息数字化的节奏已经在逐步影响生活中的人们,人们也逐渐感受到信息化说到信息不得不感叹现在人们的各种信息都在迅速流通,信息资源利用充分。信息背后的软件支持也得到广大范围的宣传和使用。软件开发团队愈来愈专业,开发技术愈来愈成熟。有了软件的存在,信息处理效率得到大幅度提升,帮助信息处理者省去了大部分时间。对于订餐方面来讲,传统的实体店进行订餐的方式,已经无法满足用户的需求,因此需要我们利用软件技术开发本网上订餐系统来进行快速实现网络订餐的功能,这个网站提供给用户一个快速订餐的平台,相信这款软件的出现会真正提高用户订餐的效率。
3 系统功能结构
4 数据库结构
本基于Spring Boot的网上订餐系统采用了MYSQL数据库管理系统,主要数据库表详细信息如下:
表4-1 users管理员信息表
字段名 | 数据类型 | 是否允许空 | 字段含义 |
`id` | bigint(20) | NOT NULL | 编号 |
username | varchar(100) | NULL | 用户名 |
password | varchar(100) | NULL | 密码 |
role | varchar(100) | NULL | 角色 |
`addtime | timestamp | NULL | 新增时间 |
表4-2 caipinfenlei菜品分类信息表
字段名 | 数据类型 | 是否允许空 | 字段含义 | |
`id` | bigint(20) | NOT NULL | 编号 | |
addtime | timestamp | NULL | 创建时间 | |
`caipinfenlei | varchar(200) | NULL | 菜品分类 |
表4-3 caipinxinxi菜品信息表
字段名 | 数据类型 | 是否允许空 | 字段含义 | |
`id` | bigint(20) | NOT NULL | 编号 | |
addtime | timestamp | NULL | 创建时间 | |
caipinmingcheng | varchar(200) | NULL | 菜品名称 | |
tupian` | varchar(200) | NULL | 图片 | |
caipinfenlei | varchar(200) | NULL | 菜品分类 | |
tuijianzhishu | varchar(200) | NULL | 推荐指数 | |
jiage | varchar(200) | NULL | 价格 | |
kouwei | varchar(200) | NULL | 口味 | |
shicai | varchar(200) | NULL | 食材 | |
caipinxiangqing | longtext | NULL | 菜品详情 | |
clicktime | datetime | NULL | 最近点击时间 | |
`clicknum | int(11) | NULL | 点击次数 |
表4-4 dingdanxinxi订单信息表
字段名 | 数据类型 | 是否允许空 | 字段含义 | |
`id` | bigint(20) | NOT NULL | 编号 | |
addtime | timestamp | NULL | 创建时间 | |
`dingdanbianhao | varchar(200) | NULL | 订单编号 | |
caipinmingcheng | varchar(200) | NULL | 菜品名称 | |
caipinfenlei | varchar(200) | NULL | 菜品分类 | |
`jiage | varchar(200) | NULL | 价格 | |
`shuliang | varchar(200) | NULL | 数量 | |
zongjine | float | NULL | 总金额 | |
xiadanshijian` | datetime | NULL | 下单时间 | |
beizhu | varchar(200) | NULL | 备注 | |
`huiyuanzhanghao | varchar(200) | NULL | 会员账号 | |
huiyuanxingming | varchar(200) | NULL | 会员姓名 | |
shoujihaoma | varchar(200) | NULL | 手机号码 | |
dizhi | varchar(200) | NULL | 地址 | |
huiyuanzhekou | varchar(200) | NULL | 会员折扣 | |
ispay | varchar(200) | NULL | 是否支付 |
表4-5 huiyuan会员信息表
字段名 | 数据类型 | 是否允许空 | 字段含义 | |
`id` | bigint(20) | NOT NULL | 编号 | |
addtime | timestamp | NULL | 创建时间 | |
`huiyuanzhanghao | varchar(200) | NULL | 会员账号 | |
mima | varchar(200) | NULL | 密码 | |
huiyuanxingming | varchar(200) | NULL | 会员姓名 | |
touxiang | varchar(200) | NULL | 头像 | |
xingbie | varchar(200) | NULL | 性别 | |
nianling | varchar(200) | NULL | 年龄 | |
shoujihaoma | varchar(200) | NULL | 手机号码 | |
dizhi | varchar(200) | NULL | 地址 | |
huiyuandengji | varchar(200) | NULL | 会员等级 | |
huiyuanzhekou | varchar(200) | NULL | 会员折扣 |
5 系统功能
5.1 用户功能模块的实现
用户进入本系统可查看系统信息,包括网站首页、菜品信息等,系统主界面展示如图5-3所示。
图5-1系统登录界面
5.1.1用户注册界面
未有账号的用户可进入注册界面进行注册操作,用户注册界面展示如图5-2所示。
图5-2用户注册界面
5.1.2用户登录界面
用户在登录界面可输入用户名和密码,点击登录按钮进行登录系统,用户登录界面展示如图5-3所示。
图5-3 用户登录界面
5.1.3菜品详情界面
用户可选择菜品查看菜品详情信息,登录后可进行下单操作,菜品详情界面展示如图5-4所示。
图 5-4 菜品详情界面
5.1.4下单订餐界面
用户登录后可选择菜品进行下单订餐操作,下单订餐界面展示如图5-5所示。
图5-5 下单订餐界面
5.1.5订单信息界面
用户对个人订单可进行查看、支付等,订单信息界面展示如图5-6所示。
图5-6 订单信息界面
5.1.6订单配送界面
用户能够查看个人订单配送信息,订单配送界面展示如图5-7所示。
图5-7 订单配送界面
5.2 管理员功能模块的实现
5.2.1管理员登录界面
管理员要想进入后台对系统进行管理操作,必须登录系统后台,管理员登录界面展示如图5-8所示。
图5-8 管理员登录界面
5.2.2会员管理界面
管理员可查看、添加、修改和删除会员信息,会员管理界面展示如图5-9所示。
图5-9 会员管理界面
5.2.3菜品信息管理界面
管理员可添加、修改和删除菜品信息,菜品信息管理界面展示如图5-10所示,添加菜品信息界面展示如图5-11所示。
图5-10菜品信息管理界面
图5-11添加菜品信息界面
5.2.4菜品分类管理界面
管理员能够增删改查菜品分类信息,菜品分类管理界面展示如图5-12所示。
图5-12 菜品分类管理界面
5.2.5订单信息管理界面
管理员可进入订单信息管理界面查看所有订单信息,并可对其进行安排配送、修改和删除操作,订单信息管理界面展示如图5-13所示。
图5-13订单信息管理界面
5.2.6订单配送管理界面
管理员可增删改查订单配送信息,订单配送管理界面展示如图5-14所示。
图5-14 订单配送管理界面
6 系统测试
6.1测试定义
系统测试主要是判断系统是否可以正常运行,功能模块是否可以实现操作。程序代码中是否有错误出现。测试程序是开发过程中的一个主要问题。就算系统完成的再好,再进行程序测试时也会也会发现一个重来没有被发现的错误信息。
测试不仅是系统开发的开始,而且应该贯穿整个系统的整个生命周期。评估系统质量的方法不局限于系统编码和过程,应该与软件设计工作和历史需求分析密切相关。系统错误,不一定是代码错误,可能是阶段的设计摘要和设计细节存在问题,问题也可能出现在需求分析阶段。从实际情况来看,最初的问题很可能是一个小错误,根据按钮的原理,按钮后的按钮位错将是所有位错。该系统的原因也同样适用,随着后续的开发工作,误差将越来越严重。为了避免问题在后续编码,测试和设计,避免扩大国家的问题。在测试系统中,开发人员应该站在客户的角度来处理测试工作,而现在主要的测试方法是黑盒测试。测试的目的可以概括为以下几点:首先,用户界面和客户需求是一致的,设置界面和设计风格统一;第二,创新设计接口规范设计标准,具有独特的审美特征;最后,人类传统的接口以满足审美需求,不能盲目地追求一种独特的,合理的规划布局,符合审美标准。
6.2测试方案
对测试计划的把握是测试方案的重中之重。所有的技术难点应该都被包含在这个测试计划之中。而且我们要保证能与目标形成一致性,以至于能够测试出一些主要存在的错误和一些错误的漏洞。可以完美解决这些问题就只有白盒测试或者黑盒测试。
构造测试是白盒测试的另一个名字,了解与分析程序的结构以及性能功用的,从而我们可以得到最终想要的结果并且观察出是不是每一条程序都能得到。
性能测试是黑盒测试别称,程序本身的运作通过程序的进程来观察,主要是看一下程序是不是能够像我们预期的目标那样发展,看一看我们的程序最终能不能完整的得到我们最后想要的功能和储存想得到的数据,到最后看一下我们的这个程序完整性能不能达到要求。
(1)模块测试
单元测试就是模块测试,顾名思义就是测试每个模块所承担的功能是否能够实现,这个测试就是为了找出代码在实际的设计运转中某一些小的程序所出现的偏差,很好地改正这些错误,就说明我们模块测试进行很成功过。
(2)集成测试:
集成测试就是对系统的测试以及对他子系统的一些性能测试,他检查的事系统的包装程序信息。找出其中的问题。他的优势主要有以下这几点:
软件耗费较少。
可以提前发现端口的错误。
更好的地位系统中错误的位置。
从底部往上面进行的方案针对于偏下层的结构,而中间的结构就采用折中的方法。
(3)验收测试:
终于到了结尾性的工作了。就是为了给用户看一下我们的系统功能是否达到了预期的效果。我采用了性能测试也就是黑盒测试对系统进行测试。
其结果是分别是:
有一定的差异在用户的需求。
再者就是结果与之差不了多少。
到了最后了,我们发现的问题都是与用户的需求存在一定的关联。
6.3测试方式
总体程序测试的话,通常有两种测试方式,白盒的测试和黑盒的测试。
白盒的测试方式:总的来说就是以程序内部逻辑结构为依据而用来进行设计测试用例的方式
黑盒的测试方式:总的说来黑盒的测试会有这么几个方法方式:同等价值的一个分类方式、对于系统的一个边界数值的一个分析方式、对与错的一个猜想方式、还有最后一种就是图什么样的图,称之为因果图的方式。
整个的系统测试包括了最为重点的两种方式,从而“保障了系统测试的用例完全性和效果性”的一个原则。进行测试总体而言就是要检查功能齐全、是否能够接收信息或输送信息、数据的结构、性能需求是否到位、是否能够正确的初始化和终止。
6.4测试结论
经过对上述的测试结果分析,本基于Spring Boot的网上订餐系统满足用户的要求和需求。所有基本功能齐全,操作简单,系统运行性能良好,是一个值得推广的大众化的订餐平台。
测试的时候要考虑到每个细节功能,除了要输入正确的数据进行测试,还要进行错误数据,这就需要我们有足够的耐心和细心,因为设计的这个网站是我个人设计的,所以难免会有很多问题和不足,希望在以后的使用中,老师和同学们多提意见。
总体说来,软件通过测试
7 总结
在这次毕业设计中,我发现在生活和工作中,网络和数据库应用隐藏着巨大的潜力。在学校的四年中,我全力学习计算机网络专业知识和本文使用,我相信所有困难终都会被解决的。
毕业设计是最能体现出我们所学知识的应用情况,是对我们大学期间所学知识的应用巩固和提高的时刻。设计基于Spring Boot的网上订餐系统的过程不仅仅是对我学计算机知识的一次考验,更是对我运用所学知识解决处理现实问题能力的培养和锻炼。通过这次的毕业设计让我对软件的开发有了很深的认识了解,我的编程能力也得到了很大的提升。整个系统设计下来花费了好几个月,从确定做这个题目来,就一直在图书馆里翻阅各种资料,并参考了很多别人做的系统,有了一个整体的构思后,开始付之于行动,把我所学的JSP和MYSQL又都重新学习了一遍,仔细用于实践,通过这次的毕业设计,让我对所学知识进行了一个整体联合,有了一个很大的提高,从开始的一筹莫展,不知从何下手,到进行到中间总是出错,编不下去,又到最后的渐入佳境,最终,终于完成了我的设计。从定题到研究背景到可行性分析,到功能的各个设计,到详细实现,总算设计出了一个达到预期目的系统。
本系统基于Spring Boot框架,利用了我相对熟悉的JAVA编程语言和MYSQL数据库进行设计,中间出现了很多问题,查阅了大量的资料,最后慢慢实现了整个系统。做了整个系统下来,我感觉我的沟通能力和自学能力,解决问题的能力都有了很大的提高,这也将为我以后出社会找工作提供了宝贵的财富。使我明白,只要肯努力,肯学习,再大的困难也不是问题,世上无难受,只要肯登攀。我以后会不断的继续努力的。我知道设计的这个系统肯定还有很多没想到的地方,因为时间比较短,学习的有限,又没有实际经历实践过,所以设计出的这个系统的不足地方也比较多,希望老师们多多指导,让系统越来越完整,我会继续努力的。