Java基于springboot的厨艺交流平台的设计与实现代码

摘 要

使用旧方法对厨艺交流信息进行系统化管理已经不再让人们信赖了,把现在的网络信息技术运用在厨艺交流信息的管理上面可以解决许多信息管理上面的难题,比如处理数据时间很长,数据存在错误不能及时纠正等问题。
这次开发的厨艺交流平台功能有个人中心,食材分类管理,用户管理,菜品分类管理,菜谱信息管理,食材信息管理,商品分类管理,商品信息管理,美食日志管理,健康文章管理,系统管理,订单管理等。经过前面自己查阅的网络知识,加上自己在学校课堂上学习的知识,决定开发系统选择B/S模式这种高效率的模式完成系统功能开发。这种模式让操作员基于浏览器的方式进行网站访问,采用的主流的Java语言这种面向对象的语言进行厨艺交流平台程序的开发,在数据库的选择上面,选择功能强大的MySQL数据库进行数据的存放操作。
厨艺交流平台被人们投放于现在的生活中进行使用,该款管理类软件就可以让管理人员处理信息的时间介于十几秒之间。在这十几秒内就能完成信息的编辑等操作。有了这样的管理软件,厨艺交流信息的管理就离无纸化办公的目标更贴近了。

关键词:厨艺交流平台;Java;MySQL;Spring Boot;

Abstract
The use of the old method to systematically manage the culinary art exchange information is no longer trusted by people. Applying the current network information technology to the management of culinary art exchange information can solve many problems in information management, such as a long time to process data. , The data has errors and can’t be corrected in time.
The functions of the culinary exchange platform developed this time include personal center, food classification management, user management, dish classification management, recipe information management, food information management, commodity classification management, commodity information management, gourmet log management, health article management, and system management , Order management, etc. After the network knowledge I checked before, plus the knowledge I learned in the school classroom, I decided to choose the B/S mode as a high-efficiency mode for the development system to complete the system function development. This mode allows operators to access the website based on a browser. The mainstream Java language, an object-oriented language, is used for the development of the cooking communication platform program. In the selection of the database, the powerful MySQL database is selected for data. Storage operation.
The culinary art exchange platform is used by people in their daily lives. This management software allows managers to process information within a dozen seconds. Information editing and other operations can be completed within these ten seconds. With such management software, the management of culinary art exchange information is closer to the goal of paperless office.
Key Words:Cooking communication platform; Java; MySQL; Spring Boot;

目 录

目 录 III
1 绪论 1
1.1 研究背景 1
1.2目的和意义 1
1.3 论文结构安排 2
2 相关技术 3
2.1 Spring Boot框架简介 3
2.2 B/S架构介绍 3
2.3 MySQL数据库介绍 3
2.4 JAVA语言介绍 4
3 系统分析 6
3.1系统可行性分析 6
3.1.1 技术可行性分析 6
3.1.2 经济可行性分析 6
3.1.3 运行可行性分析 6
3.2系统性能分析 7
3.2.1 系统安全性 7
3.2.2 数据完整性 7
3.2.3系统可扩展性 8
3.3系统流程分析 8
3.3.1系统登录流程 9
3.3.2信息添加流程 10
3.3.3信息删除流程 10
4 系统设计 12
4.1系统概要设计 12
4.2系统功能结构设计 12
4.3数据库设计 13
4.3.1数据库E-R图设计 13
4.3.2 数据库表结构设计 14
5 系统实现 20
5.1食材分类管理 20
5.2 用户信息管理 20
5.3 菜谱分类管理 21
5.4菜谱信息管理 21
5.5食材信息管理 22
6系统测试 23
6.1 本系统测试  23
6.1.1登录功能测试 23
6.1.2修改密码功能测试 24
6.2测试结果分析 24
结 论 25
参考文献 27
致 谢 28

1 绪论

1.1 研究背景
现在大家正处于互联网加的时代,这个时代它就是一个信息内容无比丰富,信息处理与管理变得越加高效的网络化的时代,这个时代让大家的生活不仅变得更加地便利化,也让时间变得更加地宝贵化,因为每天的每分钟,每秒钟这些时间都能让人们处理大批量的日常事务,这些场景,是之前的手工模式无法与之相抗衡的。对于厨艺交流信息的管理来说,传统的通过纸质文档记录信息的方式已经落后了,依靠手工管理这些信息,不仅花费较长的工作时间,在对记录各种信息的文档进行信息统计以及信息核对操作时,也不能及时保证信息的准确性,基于这样的办公低效率环境下,对于厨艺交流信息的处理就要提出新的解决方案。因为这个时代的信息一直都在高速发展,要是不抱着发展的观念看待事情,极有可能被这个市场快速遗忘,甚至被无情地淘汰掉。所以尽早开发一款厨艺交流平台进行信息的快速处理,既跟上了时代的发展脚步,也能让自己的核心竞争力有所提升。
1.2目的和意义
互联网加的时代一方面是加快信息的发展,另一方面也是对传统行业进行筛选,能够继续发展的,肯定是那些能够充分运用互联网技术进行自身升级改革的行业。那些停步不前的行业只能就此结束,进而被大家所遗忘。这次设计出来的厨艺交流平台,它不仅能够让管理人员在信息增加,信息的编辑等事务处理上,节省很多的时间,也会砍掉一部分的人工成本,节省不必要开支的资金。另外,此系统的操作界面是可视化的界面,管理人员无需付费培训就能尽快上手。厨艺交流平台的开发意义如下:
1、管理人员再也不用在查询信息上花费大量宝贵的时间了,通过信息关键词字段就可以在几秒内获取需要的信息,在各种突发事件面前管理人员也不用慌张,可以从容淡定地处理各种相关信息。
2、该系统在每天的24小时期间都是不会停止服务的,只要有信息操作的需要,管理人员都能使用常用的360浏览器,或者百度浏览器,2345浏览器等大众浏览器都能登录系统,然后操作对应的功能。
3、有了这款信息管理类操作软件,所有需要进行处理的数据不用在纸质版本的文档上进行记载,而是基于电脑进行信息录入。
4、厨艺交流信息都是通过网站进行显示,其实质是这些信息都保存在网站对应的数据库里面。只要操作员不去恶意删除信息,那么这些信息将会永久保存。
1.3 论文结构安排
编写厨艺交流平台相对应的论文,其实就是对开发完成的程序进行再次解读的过程。本论文从七个方面的内容讲解了开发的程序,具体内容如下:
第一个部分:就是论文的绪论,这个部分就是介绍在什么样的背景下开发的程序,以及这个程序开发出来具有什么意义等内容。
第二个部分:就是介绍开发这个程序使用了什么技术,使用什么数据库保存程序的数据信息,程序开发的语言是使用的什么语言等内容。
第三个部分:就是介绍这个程序开发在现实生活的可行性问题,也讲述了程序开发需要设置什么功能等内容。
第四个部分:就是已经知晓程序的大致功能,需要对程序的功能进行更为严格的细分,也需要出具相应的功能结构图,同时,也要设计程序对应的数据库,包括数据库里面的数据表的设计等内容。
第五个部分:就是在系统的编码阶段,需要使用编程语言完成程序的功能,完成程序的界面设计,最终以界面实现的效果图展示设计成果等内容。
第六个部分:就是程序已经完成了开发的前提之下,需要检测程序的各个模块是否衔接正常,程序各个功能能否在网络等一切外部条件正常的情况下运行,这期间要是出现任何错误都需要及时记录并在后期进行修补完善。
第七个部分:就是论文最后的总结部分,描述遇到的问题,采用的解决思路等内容。

2 相关技术

2.1 Spring Boot框架简介
Spring Boot是由Pivotal团队提供的全新框架,其设计目的是用来简化新Spring应用的初始搭建以及开发过程。该框架使用了特定的方式来进行配置,从而使开发人员不再需要定义样板化的配置。通过这种方式,Spring Boot致力于在蓬勃发展的快速应用开发领域(rapid application development)成为领导者。
Spring Boot可以与经典的Java开发工具一起使用或者作为命令行工具安装。无论如何,需要JavaSDK1.6或者更高版本,本项目用到的是JDK1.8版本。
2.2 B/S架构介绍
在早期的程序开发中,使用得最多的莫过于C/S架构了,现在的生活中软件在生活的各个方面落地,使用了C/S架构开发出来的软件也是不在少数的,比如企业日常办公使用到的微软的OFFICE软件,我国自己研发的文档处理软件WPS,还有娱乐软件腾讯的QQ,腾讯的微信,以及电脑上安装的杀毒软件金山杀毒软件,瑞金杀毒软件等都是C/S架构。但是在Internet网络盛行之后,鉴于大家对数据信息共享的需求,在原来的C/S架构上进行了升级改进之后,有了现在的主流架构B/S架构,B/S架构就是在C/S架构上多了一个浏览器,让原来的直接访问服务器的方式,变成了通过浏览器去访问服务器。充分运用到了当下不断成熟的浏览器技术。也让软件的开发成本以及维护成本降低了。可以说B/S这种新型的架构模式让软件的开发变得便利化。
2.3 MySQL数据库介绍
有了程序功能的操作,也需要对程序操作的各个功能所产生的数据信息存放在一个固定的仓库里面,这个所谓的仓库就是大家最熟悉的程序开发需要使用的数据库了,数据库能够发展到至今的模样,其实也是经历了很多的变化历程的,在最开始由于数据信息处理的需要开始推出最低级的数据管理,这个阶段也是数据库早期的人工管理的阶段,后来也经历了文件管理的阶段,这个阶段的数据管理因为信息不能够进行共享,加上管理的数据对配套的程序产生了较强的依赖性,在数据信息管理上也存在很多数据的重复记载造成数据冗余等问题。所以为了解决上述一系列文件管理阶段所产生的数据管理的问题,对数据管理方式进行了全方位的升级改造,也就让数据管理进入了一个全新的阶段——数据库系统的阶段。这个阶段也是数据库管理数据的一个全新的相当高级的阶段。
说到数据库,也不得不说数据库的模型,数据库拥有的数据模型有网状,还有层次,以及关系型这三样数据库模型。网状的结构就是把记录的每条信息都比喻成一个点,点跟点之间也有联系,最终就形成了一个像网一样的结构,就是所谓的网状数据模型。也有对数据记录使用树状结构的方式进行数据保存,这个就是层次数据模型,关系数据库模型运用在现在市面上常见的数据库当中了,像本系统开发使用的MySQL数据库,还有安装过程比较复杂的Sqlserver数据库,也有一些比较小巧的关系型数据库,像Access数据库,FoxPro数据库等数据库。这样的关系型数据库将数据表里面的行还有列进行相互关联形成一个二维矩阵的方式来保存程序所产生的数据信息。
本次之所以选择MySQL数据库来当程序数据存放的仓库,则是因为此数据库安装不用费时,也不需要各种百度信息去解决安装过程中出现的任何问题,而且由于自己的电脑内存比较小,才4个G,为了更好的开发项目程序,针对低配置的电脑选择MySQL数据库也是情理之中。
2.4 JAVA语言介绍
在1995年这一年的5月份,著名的Sun Microsystems公司在程序开发设计上面郑重推出一种面向对象开发的程序设计语言——Java,最开始的时候Java是由詹姆斯.高斯林这位伟大的JAVA之父来进行主导,但是在后来由于各种原因,让甲骨文公司这个针对商业程序创建了oracle大型数据库的公司收购了Java。Java的平台总共算下来有3个,分别为javaME和javaSE以及javaEE这3个java平台。下面将对其进行分别介绍。
1.在电脑桌面程序的开发上面需要选择JavaME,这个用得也比较多。
2.企业也会根据工作以及业务需要开发各种软件,那么就会选用JavcEE这个支持企业版软件的开发的Java平台,JavcEE主攻运用在企业领域上面的web应用,JavcEE也在javaSE的基础上获得了比如jsp技术 ,Servlet技术等程序开发技术的支持。
3.现在生活中手机的普及化,也使得手机端这样的移动设备的软件的兴起,JavaME这个迷你版java平台就能运用于移动端的软件开发操作。

3 系统分析

3.1系统可行性分析
需要使用大部分精力开发的厨艺交流平台为了充分降低开发风险,特意在开发之前进行可行性分析这个验证系统开发是否可行的步骤。本文就会从技术角度,经济角度,还有用户使用的程序的运行角度进行综合阐述。
3.1.1 技术可行性分析
开发程序选择的是面向对象的,功能强大的,简单易用的Java程序设计语言,数据库的开发工具使用到了MySQL数据库,由于自己之前接触过一些简单的程序开发方面的设计作品,所以对Eclipse工具的使用比较熟练,对于数据库的操作技巧也有一定的积累。另外,程序开发需要在自己电脑上安装的软件并不多,在win7操作系统的大环境下,能够完全搭建好程序开发的操作环境,比如Eclipse工具,MySQL数据库工具,以及处理程序图片的Photoshop工具等都能安装在自己的电脑上。总的说来,开发这个程序在技术上是可以实现的。
3.1.2 经济可行性分析
开发出来的程序并不是朝着商业程序的方向进行设计开发的,它只是作为一个毕业设计项目进行开发,主要用于检验学生在学校所学知识的一个检验,也锻炼学生运用网络,图书等工具进行自学的能力。所以开发这个程序软件并不会涉及到经济上面的开销,在开发软件的选择上也不会额外付费安装软件,在开发软件的官网上面就可以下载需要的软件,并根据提示的安装步骤安装软件到自己的电脑上面。总的说来,开发这个程序在经济上也不存在经费支出。
3.1.3 运行可行性分析
因为这个程序软件从开始开发到开发截止都是根据用户的需求进行定制,考虑到此程序软件是面向广大普通操作用户,鉴于他们的知识文化水平,特意开发出一个可操作性强的,能够很容易让使用用户上手的,具有可视化操作界面的一个程序软件。总的说来,这个程序站在用户运行程序的角度上分析,是不存在操作难的问题的。用户只要打开程序就可以免去专人培训进行程序功能操作。
经过上面从技术的角度,从经济的角度,从程序运行的角度这三个角度分析现打算开发的程序,可以得出该程序软件是可以进行开发操作的。
3.2系统性能分析
3.2.1 系统安全性
程序在使用中是不允许其他访问者随意窃取程序里面的隐秘信息,也不允许其他操作者越权操作其他管理用户操作的功能,要真正杜绝这些现象就必须在程序开发之前把程序的安全性给考虑进去。
比如现在很多程序都会把用户注册的功能给考虑进去,让用户在注册页面功能区填写自己的个人信息,这些数据信息涵盖了用户本人的姓名,用户对程序登录设置的密码,用户经常使用的邮箱,用户的常用联系方式还有用户的所住地址等信息,这些信息都是设计到用户本人的隐私,那么这些信息在传输给程序后台时,是需要进行管理并保存至对应的数据库文件里面。要是有人恶意窃取程序的数据信息,也就会让那些注册了此程序软件的用户的个人隐秘信息都会遭到泄露。这些信息落入其他不法分子手里,他们极有可能根据用户的隐私信息去骚扰用户,并把这些信息用于各种商业用途谋取其他非法的利益。所以数据安全性是一个系统能不能使用的首要标准。
3.2.2 数据完整性
数据完整性是确保数据信息是否具有可靠性,是否具有参考价值的一个重要因素,数据信息只描述一部分,或者必有的数据信息反而为空等现象都是代表着这个数据信息不完整,有数据缺陷,这是个很严肃的问题,因为这样的数据信息跟垃圾信息没什么两样。
说到数据完整性,不得不提最常用的程序表单功能。这些表单主要就是提取广大用户的数据信息的,需要广大用户根据表单上的要求,填写自己的姓名信息,以及自己的联系方式信息,有些也会有额外的信息填写要求,有必须要填的选项,也有不需要必填的选项。假如广大用户为了保护自己的隐私,或者不想受到其他人的骚扰,不填写必填项等信息,广大用户在最后提交此表单的时候,往往都是提交不了的。
数据完整性不仅仅限于登记的数据要完整,它也需要程序里面的所有数据信息之间存在关联,而且这种联系也是要求不能出差错的。
由于数据表之间也会存在一定的联系,所以同一个数据也会出现在另一个表格里面,那么这两个表格记录的同一个数据应该是一样的。不能够是同样的数据信息在不同表中不一样。
3.2.3系统可扩展性
一切事物都是一直在发展,程序员开发软件也需要带着发展的思维去进行软件开发操作,这样的话,开发出来的程序在应对管理所需时,也会相对应的进行程序升级与更新。不论是功能完善还是数据库升级都能在原来的基础上对原有程序进行迭代升级。让开发出来的程序能够走得越来越远。这也是广大用户对程序软件的使用要求。
3.3系统流程分析
管理员假如要操作系统提供的功能,那么管理员就要在系统的登录界面,填写管理员登录的账号信息,填写相应的密码信息,管理员需要保证这两者能够验证身份的账号以及密码信息的正确性,这样管理员就可以通过登录界面进入系统后台操作界面。图3.1就是开发的程序软件厨艺交流平台它的操作流程图。
在这里插入图片描述

图3.1 系统操作流程图
3.3.1系统登录流程
厨艺交流平台的登录流程,针对的角色就是操作员的操作角色。在登录界面需要的必填信息就是账号信息,配上登录的密码信息就能登录厨艺交流平台,需要注意的就是必填的账号信息和登录密码信息,都需要进行验证,系统会判断账号还有填写的密码信息的正确性,只有这两者信息都正确了,就能成功登录厨艺交流平台了。系统登录流程图如下图。
在这里插入图片描述

图3.2 系统登录流程图
3.3.2信息添加流程
用户在添加信息的界面填写的任何数据信息也是需要验证的,系统会判断用户填写信息的格式还有数据信息是不是合法信息,如果用户填写的信息是合法内容,系统就会在数据库对应的数据表里面添加信息。添加信息流程如下图。
在这里插入图片描述

图3.3 添加信息流程图
3.3.3信息删除流程
对于那些已经失效的信息,需要用户及时进行删除,这样有利于腾出空间存放其他信息。删除信息也是先从数据库对应数据表里面删除数据,接着就是更新数据表的信息。这样删除的数据,在用户操作界面就查看不到了。信息删除流程如下图所示。
在这里插入图片描述

图3.4 信息删除流程图

4 系统设计

4.1系统概要设计
厨艺交流平台并没有使用C/S结构,而是基于网络浏览器的方式去访问服务器,进而获取需要的数据信息,这种依靠浏览器进行数据访问的模式就是现在用得比较广泛的适用于广域网并且没有网速限制要求的B/S结构,图4.1就是开发出来的程序工作原理图。
在这里插入图片描述

图4.1 程序工作的原理图
4.2系统功能结构设计
下图就是系统功能结构图。
在这里插入图片描述

图4.1 系统功能结构图
4.3数据库设计
4.3.1数据库E-R图设计
程序设计是离不开对应数据库的设计操作的,这样的做法就是减少数据对程序的依赖性,所以数据库的设计也是需要花费大量的日常时间来进行设计的,在设计中对程序开发需要存储的数据信息进行实体划分,先确认实体,然后设计实体的属性等操作,这种设计就是数据库设计里面不能少的必须有的E-R模型设计。为了降低程序设计的对应的数据库设计难度,开发人员也可以使用相应的工具来进行E-R模型设计,现在市面上设计E-R模型的工具有PowerDesigner建模工具,Navicat制作工具,还有微软的Visio绘图工具。为了简便起见,本程序在设计E-R模型的时候,就选用了微软的Visio这款功能强大,操作便利的绘图工具。
下面就展示厨艺交流平台的实体E-R图。
(1)下图就是商品信息实体E-R图
在这里插入图片描述

图4.7 商品信息实体E-R图
(2)下图就是菜谱分类实体E-R图
在这里插入图片描述

图4.8 菜谱分类实体E-R图
(3)下图就是商品分类实体E-R图
在这里插入图片描述

图4.9 商品分类实体E-R图
4.3.2 数据库表结构设计
本次程序开发选用的数据库管理工具是MySQL数据管理工具,使用它存放数据也需要创建程序对应的数据库文件,并命名刚创建的数据库文件,有了数据库也需要创建各种数据表来充实数据库,在数据表的创建中,不仅需要对数据表命名,也需要对数据表的字段进行设计,包括每个数据表里面需要设置的字段名称,字段对应的数据类型信息,字段的主键设置这个也是不可缺少的,因为每个数据表里面的主键就是标记着这个数据表跟其他数据表相区分的唯一标志。就相当于生活中的每个人都有姓名,但是上网搜索自己的名字,会发现全国上下有很多人的名字跟自己的名字一模一样,包括姓氏以及名字,区分每个人的唯一信息就是每个人的身份证号信息,主键在数据表里面也是起着这样的重要作用。下面就介绍本次开发的程序厨艺交流平台的数据表结构信息。
表4.1 菜谱分类
字段 类型 空 默认 注释
id (主键) bigint(20) 否 主键
addtime timestamp 否 CURRENT_TIMESTAMP 创建时间
caipufenlei varchar(200) 否 菜谱分类
表4.2 菜谱信息
字段 类型 空 默认 注释
id (主键) bigint(20) 否 主键
addtime timestamp 否 CURRENT_TIMESTAMP 创建时间
caipinbianhao varchar(200) 是 NULL 菜品编号
caipinmingcheng varchar(200) 是 NULL 菜品名称
caipufenlei varchar(200) 是 NULL 菜谱分类
kouwei varchar(200) 是 NULL 口味
nandu varchar(200) 是 NULL 难度
pengrenshizhang varchar(200) 是 NULL 烹饪时长
tupian varchar(200) 是 NULL 图片
yuancailiao longtext 是 NULL 原材料
caipinjieshao longtext 是 NULL 菜品介绍
thumbsupnum int(11) 是 0 赞
crazilynum int(11) 是 0 踩
clicknum int(11) 是 0 点击次数
表4.3 购物车表
字段 类型 空 默认 注释
id (主键) bigint(20) 否 主键
addtime timestamp 否 CURRENT_TIMESTAMP 创建时间
tablename varchar(200) 是 shangpinxinxi 商品表名
userid bigint(20) 否 用户id
goodid bigint(20) 否 商品id
goodname varchar(200) 是 NULL 商品名称
picture varchar(200) 是 NULL 图片
buynumber int(11) 否 购买数量
price float 是 NULL 单价
discountprice float 是 NULL 会员价
表4.4 健康文章
字段 类型 空 默认 注释
id (主键) bigint(20) 否 主键
addtime timestamp 否 CURRENT_TIMESTAMP 创建时间
wenzhangbiaoti varchar(200) 是 NULL 文章标题
wenzhangfengmian varchar(200) 是 NULL 文章封面
wenzhangleixing varchar(200) 是 NULL 文章类型
fabushijian datetime 是 NULL 发布时间
wenzhangneirong longtext 是 NULL 文章内容
表4.5 美食日志
字段 类型 空 默认 注释
id (主键) bigint(20) 否 主键
addtime timestamp 否 CURRENT_TIMESTAMP 创建时间
rizhibianhao varchar(200) 是 NULL 日志编号
rizhibiaoti varchar(200) 是 NULL 日志标题
rizhifengmian varchar(200) 是 NULL 日志封面
yonghuzhanghao varchar(200) 是 NULL 用户账号
yonghuxingming varchar(200) 是 NULL 用户姓名
fabushijian datetime 是 NULL 发布时间
meishirizhi longtext 是 NULL 美食日志
thumbsupnum int(11) 是 0 赞
crazilynum int(11) 是 0 踩
表4.6 订单
字段 类型 空 默认 注释
id (主键) bigint(20) 否 主键
addtime timestamp 否 CURRENT_TIMESTAMP 创建时间
orderid varchar(200) 否 订单编号
tablename varchar(200) 是 shangpinxinxi 商品表名
userid bigint(20) 否 用户id
goodid bigint(20) 否 商品id
goodname varchar(200) 是 NULL 商品名称
picture varchar(200) 是 NULL 商品图片
buynumber int(11) 否 购买数量
price float 否 0 价格/积分
discountprice float 是 0 折扣价格
total float 否 0 总价格/总积分
discounttotal float 是 0 折扣总价格
type int(11) 是 1 支付类型
status varchar(200) 是 NULL 状态
address varchar(200) 是 NULL 地址
tel varchar(200) 是 NULL 电话
consignee varchar(200) 是 NULL 收货人
表4.7 商品分类
字段 类型 空 默认 注释
id (主键) bigint(20) 否 主键
addtime timestamp 否 CURRENT_TIMESTAMP 创建时间
shangpinfenlei varchar(200) 否 商品分类
表4.8 商品信息
字段 类型 空 默认 注释
id (主键) bigint(20) 否 主键
addtime timestamp 否 CURRENT_TIMESTAMP 创建时间
shangpinmingcheng varchar(200) 是 NULL 商品名称
shangpinbianhao varchar(200) 是 NULL 商品编号
shangpinfenlei varchar(200) 是 NULL 商品分类
tupian varchar(200) 是 NULL 图片
shangpinxiangqing longtext 是 NULL 商品详情
price float 否 价格
onelimittimes int(11) 是 -1 单限
alllimittimes int(11) 是 -1 库存
表4.9 食材分类
字段 类型 空 默认 注释
id (主键) bigint(20) 否 主键
addtime timestamp 否 CURRENT_TIMESTAMP 创建时间
shicaifenlei varchar(200) 否 食材分类
表4.10 食材信息
字段 类型 空 默认 注释
id (主键) bigint(20) 否 主键
addtime timestamp 否 CURRENT_TIMESTAMP 创建时间
shicaimingcheng varchar(200) 是 NULL 食材名称
shicaichandi varchar(200) 是 NULL 食材产地
shicaididian varchar(200) 是 NULL 食材地点
shicaireliang varchar(200) 是 NULL 食材热量
fabushijian datetime 是 NULL 发布时间
shicaifengmian varchar(200) 是 NULL 食材封面
shiyongyiji longtext 是 NULL 食用宜忌
xuangoujiqiao longtext 是 NULL 选购技巧
thumbsupnum int(11) 是 0 赞
crazilynum int(11) 是 0 踩
表4.11 收藏表
字段 类型 空 默认 注释
id (主键) bigint(20) 否 主键
addtime timestamp 否 CURRENT_TIMESTAMP 创建时间
userid bigint(20) 否 用户id
refid bigint(20) 是 NULL 收藏id
tablename varchar(200) 是 NULL 表名
name varchar(200) 否 收藏名称
picture varchar(200) 否 收藏图片
表4.12 管理员信息表
字段 类型 空 默认 注释
id (主键) bigint(20) 否 主键
username varchar(100) 否 用户名
password varchar(100) 否 密码
role varchar(100) 是 管理员 角色
addtime timestamp 否 CURRENT_TIMESTAMP 新增时间
表4.13 用户
字段 类型 空 默认 注释
id (主键) bigint(20) 否 主键
addtime timestamp 否 CURRENT_TIMESTAMP 创建时间
yonghuzhanghao varchar(200) 否 用户账号
yonghuxingming varchar(200) 否 用户姓名
mima varchar(200) 否 密码
xingbie varchar(200) 是 NULL 性别
nianling int(11) 是 NULL 年龄
lianxidianhua varchar(200) 是 NULL 联系电话
dianziyouxiang varchar(200) 是 NULL 电子邮箱
money float 是 0 余额

5 系统实现

5.1食材分类管理
管理员管理食材分类,可以添加,修改,删除食材分类信息。下图就是食材分类管理页面。
在这里插入图片描述

图5.1 食材分类管理页面
5.2 用户信息管理
管理员管理用户信息,可以添加,修改,删除用户信息信息。下图就是用户信息管理页面。
在这里插入图片描述

图5.2用户信息管理页面
5.3 菜谱分类管理
管理员管理菜谱分类,可以添加,修改,删除菜谱分类信息。下图就是菜谱分类管理页面。
在这里插入图片描述

图5.3 菜谱分类管理页面
5.4菜谱信息管理
管理员管理菜谱信息,可以添加,修改,删除菜谱信息信息。下图就是菜谱信息管理页面。
在这里插入图片描述

图5.4 菜谱信息管理页面
5.5食材信息管理
管理员管理食材信息,可以添加,修改,删除食材信息信息。下图就是食材信息管理页面。
在这里插入图片描述

图5.5 食材信息管理页面

6系统测试

为了保证所开发出来的系统质量过关,让所开发出来的系统具备可靠性并能够投入运行使用,这就需要进行系统开发的最后一个关键步骤,那就是系统测试。可以说系统测试就是对系统开发前面的步骤,比如系统分析与设计等进行复查。尽管在程序开发期间,人们一直很注意避免系统出错,但这样还是会让很多的潜在的系统缺陷不容易被人们肉眼察觉,只有经过反复不断地测试才能及时暴露系统的运行问题,这个时候进行系统问题的纠正就能真正避免财产损失,截止到目前,市面上还没有从根本上解决开发出的程序的正确性证明。所以发现系统的错误以及缺陷的重要手段还是要依赖于系统测试。
6.1 本系统测试 
本系统的测试结合了计算机的软件以及硬件系统,对程序的全部功能,还有程序的运行稳定性等性能上进行了测试,测试过程中也再次对程序配套数据库的连接问题进行了系统化地测试操作。接下来就选取系统的一些功能进行测试演示。
6.1.1登录功能测试
程序的登录界面实际上就是为了系统的安全,需要验证用户的身份信息而进行设置的,用户的身份信息就是依靠自己的账号,还有登录密码信息进行验证。用户的登录信息有一个存在问题,系统就会一直停在登录界面,并给出错误原因的提示。表6.1 就是登录功能测试的数据。
表6.1 登录功能测试的数据
用户名 密码 角色 结果
aaa bbb 管理员角色 失败登录
bbb aaa 管理员角色 失败登录
aaa aaa 管理员角色 成功登录

6.1.2修改密码功能测试
修改密码其实就是害怕用户的密码信息遭到泄露,导致系统的安全系数下降,因此,就要要求用户每个月修改一次密码。表6.2就是修改密码功能测试数据。
表6.2 修改密码功能测试数据
旧密码 新密码 结果
aaa 修改失败
bbb ccc 修改失败
aaa ccc 修改成功
6.2测试结果分析
经过了程序开发的最后一个测试环节,对开发的程序软件厨艺交流平台也下了定论,在测试期间程序的功能能够跟最开始的用户需求文档保持一致性,程序的界面设计以及数据库设计也都是参照用户的需求完成设计的。另外,程序开发也充分解决了系统的升级以及长时间保持稳定运行的问题,说明该程序软件还是挺可靠的,进行验收上交也是达标的。总的说来,截止到目前,该厨艺交流平台功能可靠,有着简单的操作流程,能够从一定程度上解决数据信息操作方面出现的各种问题。

结 论

开发厨艺交流平台是作为毕设作品进行设计的,这个毕设作品是我在校进行知识学习的一个毕业考核项目,也是检验我通过网络工具,图书工具等学习工具进行自学的能力水平,让我在根据程序开发的需求分析初步完成程序功能之外,还接触了程序的测试过程,了解程序测试的具体的过程,以及遇到问题怎么去寻找相应的解决办法等等,毕业作品的制作以及设计才是学校对我真正的考验。
在程序软件没能进行开发之前,我去了学校的图书馆借了有关数据库操作的书籍,在查看了sqlserver和MySQL两种数据库的相关知识之后,我最后选择了我比较熟悉的MySQL数据库。在编程语言的抉择上,由于自己之前接触过Java程序的开发,所以为了让我尽快在短时间内完成程序制作,我确定用Java编程语言进行程序编程。另外我从百度上下载了很多的有关信息增加,信息删除等操作的源代码,并通过不断调试以及完成配套的数据库的设计,开始完成程序的各个部分的功能。每当我粗心大意,致使我深陷程序开发困扰不能自拔之时,值得庆幸的是,我就会得到老师,还有我的寝室同学的耐心指导。
历经长达几个月的毕业作品制作,我凭借自己的知识技能,还有大家的指导帮助,能够在学校规定的时间段之内提交毕业作品。虽然已经算是完成了毕业作品,但是付出了这么多心血,还是想把这个作品做得更加完美一点。针对我的毕业作品厨艺交流平台,我觉得还有很多方面需要完善,第一就是界面上需要细微调整,比如色彩搭配有点违背广众的审美,需要细微调整,还有系统里面的字体大小也需要调大一点,太小的字体看起来有些费眼。然后在程序的功能上因为自己的入门开发水平的影响,所以目前只能做到这个境界,这个系统相比其他类似系统来说功能很简单,逻辑结构设计得也比较合理。
自己一个人完成程序的开发,我不仅亲自体验了程序的开发流程,体验到了程序开发的各种不易。这种体验也还加深了我对知识的尊重。学海无涯,知识不是大学短短四年就能学完的,在大学学到的知识在最终经历检验时,才会深深地明白自己的知识积累原来还很浅薄。所以今后不管身在何处,自己的学习心态一定要时刻体现出来,要深刻明白知识学到手里就是自己的。同时,自己也不必过多抱怨学到的知识没有用处,相信学到的知识总会有派上用处的那天。不要等到需要用时再去学习知识,那样就会导致自己错失很多本该属于自己的机遇。

参考文献

[1]张孝祥,徐明华.JAVA基础与案例开发详解[M].清华大学出版社,2012.
[2]康牧.JSP动态网站开发实用教程[M].清华大学出版社,2011.
[3]刘亚宾.精通Eclipse–JAVA技术大系[M].电子工业出版社,2015.
[4]张知青.基于关系数据库的查询方法及优化技术分析[J].煤炭技术,2012,31(05):218-220.
[5]赵钢.JSP Servlet+EJB的Web模式应用研究[J].电子设计工程,2013,21(13):47-49
[6]肖英.解决JSP/Servlet开发中的中文乱码问题[J].科技传播,2011,(1)11-25
[7]卫红春.信息系统分析与设计[M].北京:清华大学出版社,2009.
[8]于万波.网站开发与应用案例教程[M].清华大学出版社,2009.
[9]黎连业,王华,李淑春.软件测试与测试技术[M].清华大学出版社,2009.
[10]宋丽娜.基于JSP的Web开发中文乱码问题的研究与解决[J].电子技术,2013,42(11):5-7.
[11]汪君宇.基于JSP的Web应用软件开发技术分析[J].科技创新与应用,2018(16):158-160.
[12]王建国.数据库设计在网站开发中的应用[J].山东农业工程学院学报,2017,34(04):158-159+164.
[13]曾志明.网站开发技术的比较研究[J].电脑知识与技术,2010,6(05):1075-1078.
[14]朱钧.基于角色的jsp通用权限系统设计与实现[D].山东大学,2014.
[15]陈志誉. Java工具及其调度方法研究[D].华南理工大学,2018.

致 谢

在这个毕业设计即将完成的最后的时刻,我很想对我的老师,还有我周边的朋友以及我的同班同学们表示我的谢意,谢谢你们在毕业设计的制作阶段对我提供的各种帮助,我的指导老师给我的毕业设计提供了许多种指导方案,包括论文大纲的安排,程序功能结构的设计,以及程序的亮点等部分都很有耐心的进行了及时地指导,让我的毕业设计能够达到学院验收的水平。另外还有陪伴我的同学们以及朋友们,我们在这几个月一起泡图书馆,一起讨论以及制作毕业设计,让我在进行毕设作品创作中一直很有动力。特别是在我进行程序文档的编写过程中的时候,有很多格式问题还有文档内容的问题,都是你们一一指出并纠正,让我少走了很多弯路。
最后的时刻,我要感谢我的大学,感谢所有学校的领导还有老师们,正因为有你们,我才能够在大学这几年学到很多有用的知识,才能更好地成长起来!相信我在毕业之后步入社会,我也能把学校所学到的知识进行灵活运用,我也会注重在社会上进行学习!让自己步入一个更高的台阶!遇到更好的自己!

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

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

相关文章

WINDOWS内存管理 - 返回状态值

DDK大部分函数的返回值类型是NTSTATUS类型。查看DDK.h文件,可以看到 typedef LONG NTSTATUS; NTSTATUS的定义和LONG等价。为了函数的形式统一,所有函数的返回值都是NTSTATUS类型。NTSTATUS就是一个32位的整数,其每位有着不同的含义&#xf…

【分类讨论】【割点】1568. 使陆地分离的最少天数

作者推荐 动态规划的时间复杂度优化 本文涉及知识点 分类讨论 割点 LeetCode1568. 使陆地分离的最少天数 给你一个大小为 m x n ,由若干 0 和 1 组成的二维网格 grid ,其中 1 表示陆地, 0 表示水。岛屿 由水平方向或竖直方向上相邻的 1 …

wayland(xdg_wm_base) + egl + opengles 使用 Assimp 加载3D model 最简实例(十三)

文章目录 前言一、3D model 文件介绍1. 3d model 介绍1.1 如何获取3d model 文件1.2 3d model 的文件格式1.3 obj模型数据格式2. 3d 立方体 model 实例——cube.obj二、Assimp 介绍1. Assimp 简介2.ubuntu 上安装libassimp3. 使用Assimp 解析 cube.obj 文件3.1 assimp_load_cub…

舟山群岛 “垃圾不落海”的“她力量”

2月28日下午,天气阴雨绵绵,浙江省舟山市岱山县长涂岛沿港边的一间平房内,渔嫂杨淑雯、杨淑清、庄亚芬正在认真梳理从渔船上、渔港街巷捡回来的一大堆饮料瓶。 分类、装袋、打包,记者发现,这间不大的仓库内&#xff0c…

JavaScript练手小技巧:一文看懂<script>标签的 ansyc 和 defer

<script>标签的 ansyc 和 defer 属性。只对外部加载 JS 文件有效。 <script src"js/app.js" async></script> <script src"js/app.js" defer></script> 普通加载 js&#xff08;同步加载&#xff09;&#xff1a;会打断 …

NCDA设计大赛获奖作品剖析:UI设计如何脱颖而出?

第十二届大赛简介 - 未来设计师全国高校数字艺术设计大赛&#xff08;NCDA&#xff09;开始啦&#xff01;视觉传达设计命题之一: ui 设计&#xff0c;你想知道的都在这里。为了让大家更好的参加这次比赛&#xff0c;本文特别为大家整理了以往NCDA大赛 UI 设计的优秀获奖作品&a…

STM32标准库——(14)I2C通信协议、MPU6050简介

1.I2C通信 I2C 通讯协议(Inter&#xff0d;Integrated Circuit)是由Phiilps公司开发的&#xff0c;由于它引脚少&#xff0c;硬件实现简单&#xff0c;可扩展性强&#xff0c; 不需要USART、CAN等通讯协议的外部收发设备&#xff0c;现在被广泛地使用在系统内多个集成电路(IC)间…

利用IP地址识别风险用户:保护网络安全的重要手段

随着互联网的发展和普及&#xff0c;网络安全问题日益突出&#xff0c;各种网络诈骗、恶意攻击等风险不断涌现&#xff0c;给个人和企业的财产安全和信息安全带来了严重威胁。在这样的背景下&#xff0c;利用IP地址识别风险用户成为了保护网络安全的重要手段之一。IP数据云探讨…

Pytest插件pytest-selenium-让自动化测试更简洁

在现代Web应用的开发中&#xff0c;自动化测试成为确保网站质量的重要手段之一。而Pytest插件 pytest-selenium 则为开发者提供了简单而强大的工具&#xff0c;以便于使用Python进行Web应用的自动化测试。本文将深入介绍 pytest-selenium 插件的基本用法和实际案例&#xff0c;…

搜索算法(算法竞赛、蓝桥杯)--DFS迭代加深

1、B站视频链接&#xff1a;B25 迭代加深 Addition Chains_哔哩哔哩_bilibili 题目链接&#xff1a;Addition Chains - 洛谷 #include <bits/stdc.h> using namespace std; int n,d;//d为搜索的深度 int a[10005];//存储加成的序列bool dfs(int u){//搜索第u层 if(ud)r…

QT实现机器视觉图片查看窗口

QT实现机器视觉常用图像查看器 在机器视觉行业中最常见的控件就是图像查看器了&#xff0c;使用QT实现其实也非常简单&#xff0c;在我出的项目【降龙&#xff1a;算法软件框架】和【重明&#xff1a;工业相机二次开发】中都有用到。可以说只要你要开发一个和机器视觉相关的软…

基于YOLOv8/YOLOv7/YOLOv6/YOLOv5的钢材表面缺陷检测系统(Python+PySide6界面+训练代码)

摘要&#xff1a;开发钢材表面缺陷检测系统对于保障制造质量和提高生产效率具有关键作用。本篇博客详细介绍了如何运用深度学习构建一个钢材表面缺陷检测系统&#xff0c;并提供了完整的实现代码。该系统基于强大的YOLOv8算法&#xff0c;并对比了YOLOv7、YOLOv6、YOLOv5&#…