基于springboot的厨艺交流平台的设计与实现代码-程序员宅基地

技术标签: spring boot  java  后端  Java毕设Sptingboot实战案例  

毕 业 设 计(论 文)

题目:厨艺交流平台设计与实现

**
**

*摘 要*

使用旧方法对厨艺交流信息进行系统化管理已经不再让人们信赖了,把现在的网络信息技术运用在厨艺交流信息的管理上面可以解决许多信息管理上面的难题,比如处理数据时间很长,数据存在错误不能及时纠正等问题。

这次开发的厨艺交流平台功能有个人中心,食材分类管理,用户管理,菜品分类管理,菜谱信息管理,食材信息管理,商品分类管理,商品信息管理,美食日志管理,健康文章管理,系统管理,订单管理等。经过前面自己查阅的网络知识,加上自己在学校课堂上学习的知识,决定开发系统选择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;

* **目* *录*

*目* *录*

*1 绪论*

1.1 研究背景

1.2目的和意义

1.3 论文结构安排

*2* *相关技术*

2.1 Spring Boot框架简介

2.2 B/S架构介绍

2.3 MySQL数据库介绍

2.4 JAVA语言介绍

*3 系统分析*

3.1系统可行性分析

3.1.1 技术可行性分析

3.1.2 经济可行性分析

3.1.3 运行可行性分析

3.2系统性能分析

3.2.1 系统安全性

3.2.2 数据完整性

3.2.3系统可扩展性

3.3系统流程分析

3.3.1系统登录流程

3.3.2信息添加流程

3.3.3信息删除流程

*4 系统设计*

4.1系统概要设计

4.2系统功能结构设计

4.3数据库设计

4.3.1数据库E-R图设计

4.3.2 数据库表结构设计

*5 系统实现*

5.1食材分类管理

5.2 用户信息管理

5.3 菜谱分类管理

5.4菜谱信息管理

5.5食材信息管理

*6系统测试*

6.1 本系统测试 

6.1.1登录功能测试

6.1.2修改密码功能测试

6.2测试结果分析

*结 论*

*参考文献*

*致* *谢*

**
**

*1 绪论*

1.1 研究背景

现在大家正处于互联网加的时代,这个时代它就是一个信息内容无比丰富,信息处理与管理变得越加高效的网络化的时代,这个时代让大家的生活不仅变得更加地便利化,也让时间变得更加地宝贵化,因为每天的每分钟,每秒钟这些时间都能让人们处理大批量的日常事务,这些场景,是之前的手工模式无法与之相抗衡的。对于厨艺交流信息的管理来说,传统的通过纸质文档记录信息的方式已经落后了,依靠手工管理这些信息,不仅花费较长的工作时间,在对记录各种信息的文档进行信息统计以及信息核对操作时,也不能及时保证信息的准确性,基于这样的办公低效率环境下,对于厨艺交流信息的处理就要提出新的解决方案。因为这个时代的信息一直都在高速发展,要是不抱着发展的观念看待事情,极有可能被这个市场快速遗忘,甚至被无情地淘汰掉。所以尽早开发一款厨艺交流平台进行信息的快速处理,既跟上了时代的发展脚步,也能让自己的核心竞争力有所提升。

1.2目的和意义

互联网加的时代一方面是加快信息的发展,另一方面也是对传统行业进行筛选,能够继续发展的,肯定是那些能够充分运用互联网技术进行自身升级改革的行业。那些停步不前的行业只能就此结束,进而被大家所遗忘。这次设计出来的厨艺交流平台,它不仅能够让管理人员在信息增加,信息的编辑等事务处理上,节省很多的时间,也会砍掉一部分的人工成本,节省不必要开支的资金。另外,此系统的操作界面是可视化的界面,管理人员无需付费培训就能尽快上手。厨艺交流平台的开发意义如下:

1、管理人员再也不用在查询信息上花费大量宝贵的时间了,通过信息关键词字段就可以在几秒内获取需要的信息,在各种突发事件面前管理人员也不用慌张,可以从容淡定地处理各种相关信息。

2、该系统在每天的24小时期间都是不会停止服务的,只要有信息操作的需要,管理人员都能使用常用的360浏览器,或者百度浏览器,2345浏览器等大众浏览器都能登录系统,然后操作对应的功能。

3、有了这款信息管理类操作软件,所有需要进行处理的数据不用在纸质版本的文档上进行记载,而是基于电脑进行信息录入。

4、厨艺交流信息都是通过网站进行显示,其实质是这些信息都保存在网站对应的数据库里面。只要操作员不去恶意删除信息,那么这些信息将会永久保存。

**1.**3 论文结构安排

编写厨艺交流平台相对应的论文,其实就是对开发完成的程序进行再次解读的过程。本论文从七个方面的内容讲解了开发的程序,具体内容如下:

第一个部分:就是论文的绪论,这个部分就是介绍在什么样的背景下开发的程序,以及这个程序开发出来具有什么意义等内容。

第二个部分:就是介绍开发这个程序使用了什么技术,使用什么数据库保存程序的数据信息,程序开发的语言是使用的什么语言等内容。

第三个部分:就是介绍这个程序开发在现实生活的可行性问题,也讲述了程序开发需要设置什么功能等内容。

第四个部分:就是已经知晓程序的大致功能,需要对程序的功能进行更为严格的细分,也需要出具相应的功能结构图,同时,也要设计程序对应的数据库,包括数据库里面的数据表的设计等内容。

第五个部分:就是在系统的编码阶段,需要使用编程语言完成程序的功能,完成程序的界面设计,最终以界面实现的效果图展示设计成果等内容。

第六个部分:就是程序已经完成了开发的前提之下,需要检测程序的各个模块是否衔接正常,程序各个功能能否在网络等一切外部条件正常的情况下运行,这期间要是出现任何错误都需要及时记录并在后期进行修补完善。

第七个部分:就是论文最后的总结部分,描述遇到的问题,采用的解决思路等内容。

* **2* *相关技术*

*2.**1* *S**pring 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就是开发的程序软件厨艺交流平台它的操作流程图。

img

图3.1 系统操作流程图

*3.**3**.1**系统**登录流程*

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

img

图3.2 系统登录流程图

*3.**3**.2信息添加流程*

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

外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传

图3.3 添加信息流程图

*3.**3**.3信息删除流程*

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

img

图3.4 信息删除流程图

* **4 系统设计*

4.1系统概要设计

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

img

图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菜谱信息管理

管理员管理菜谱信息,可以添加,修改,删除菜谱信息信息。下图就是菜谱信息管理页面。

img

图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.

*致* *谢*

在这个毕业设计即将完成的最后的时刻,我很想对我的老师,还有我周边的朋友以及我的同班同学们表示我的谢意,谢谢你们在毕业设计的制作阶段对我提供的各种帮助,我的指导老师给我的毕业设计提供了许多种指导方案,包括论文大纲的安排,程序功能结构的设计,以及程序的亮点等部分都很有耐心的进行了及时地指导,让我的毕业设计能够达到学院验收的水平。另外还有陪伴我的同学们以及朋友们,我们在这几个月一起泡图书馆,一起讨论以及制作毕业设计,让我在进行毕设作品创作中一直很有动力。特别是在我进行程序文档的编写过程中的时候,有很多格式问题还有文档内容的问题,都是你们一一指出并纠正,让我少走了很多弯路。

最后的时刻,我要感谢我的大学,感谢所有学校的领导还有老师们,正因为有你们,我才能够在大学这几年学到很多有用的知识,才能更好地成长起来!相信我在毕业之后步入社会,我也能把学校所学到的知识进行灵活运用,我也会注重在社会上进行学习!让自己步入一个更高的台阶!遇到更好的自己!

版权声明:本文为博主原创文章,遵循 CC 4.0 BY-SA 版权协议,转载请附上原文出处链接和本声明。
本文链接:https://blog.csdn.net/qq_30169035/article/details/135882087

智能推荐

c# 调用c++ lib静态库_c#调用lib-程序员宅基地

文章浏览阅读2w次,点赞7次,收藏51次。四个步骤1.创建C++ Win32项目动态库dll 2.在Win32项目动态库中添加 外部依赖项 lib头文件和lib库3.导出C接口4.c#调用c++动态库开始你的表演...①创建一个空白的解决方案,在解决方案中添加 Visual C++ , Win32 项目空白解决方案的创建:添加Visual C++ , Win32 项目这......_c#调用lib

deepin/ubuntu安装苹方字体-程序员宅基地

文章浏览阅读4.6k次。苹方字体是苹果系统上的黑体,挺好看的。注重颜值的网站都会使用,例如知乎:font-family: -apple-system, BlinkMacSystemFont, Helvetica Neue, PingFang SC, Microsoft YaHei, Source Han Sans SC, Noto Sans CJK SC, W..._ubuntu pingfang

html表单常见操作汇总_html表单的处理程序有那些-程序员宅基地

文章浏览阅读159次。表单表单概述表单标签表单域按钮控件demo表单标签表单标签基本语法结构<form action="处理数据程序的url地址“ method=”get|post“ name="表单名称”></form><!--action,当提交表单时,向何处发送表单中的数据,地址可以是相对地址也可以是绝对地址--><!--method将表单中的数据传送给服务器处理,get方式直接显示在url地址中,数据可以被缓存,且长度有限制;而post方式数据隐藏传输,_html表单的处理程序有那些

PHP设置谷歌验证器(Google Authenticator)实现操作二步验证_php otp 验证器-程序员宅基地

文章浏览阅读1.2k次。使用说明:开启Google的登陆二步验证(即Google Authenticator服务)后用户登陆时需要输入额外由手机客户端生成的一次性密码。实现Google Authenticator功能需要服务器端和客户端的支持。服务器端负责密钥的生成、验证一次性密码是否正确。客户端记录密钥后生成一次性密码。下载谷歌验证类库文件放到项目合适位置(我这边放在项目Vender下面)https://github.com/PHPGangsta/GoogleAuthenticatorPHP代码示例://引入谷_php otp 验证器

【Python】matplotlib.plot画图横坐标混乱及间隔处理_matplotlib更改横轴间距-程序员宅基地

文章浏览阅读4.3k次,点赞5次,收藏11次。matplotlib.plot画图横坐标混乱及间隔处理_matplotlib更改横轴间距

docker — 容器存储_docker 保存容器-程序员宅基地

文章浏览阅读2.2k次。①Storage driver 处理各镜像层及容器层的处理细节,实现了多层数据的堆叠,为用户 提供了多层数据合并后的统一视图②所有 Storage driver 都使用可堆叠图像层和写时复制(CoW)策略③docker info 命令可查看当系统上的 storage driver主要用于测试目的,不建议用于生成环境。_docker 保存容器

随便推点

网络拓扑结构_网络拓扑csdn-程序员宅基地

文章浏览阅读834次,点赞27次,收藏13次。网络拓扑结构是指计算机网络中各组件(如计算机、服务器、打印机、路由器、交换机等设备)及其连接线路在物理布局或逻辑构型上的排列形式。这种布局不仅描述了设备间的实际物理连接方式,也决定了数据在网络中流动的路径和方式。不同的网络拓扑结构影响着网络的性能、可靠性、可扩展性及管理维护的难易程度。_网络拓扑csdn

JS重写Date函数,兼容IOS系统_date.prototype 将所有 ios-程序员宅基地

文章浏览阅读1.8k次,点赞5次,收藏8次。IOS系统Date的坑要创建一个指定时间的new Date对象时,通常的做法是:new Date("2020-09-21 11:11:00")这行代码在 PC 端和安卓端都是正常的,而在 iOS 端则会提示 Invalid Date 无效日期。在IOS年月日中间的横岗许换成斜杠,也就是new Date("2020/09/21 11:11:00")通常为了兼容IOS的这个坑,需要做一些额外的特殊处理,笔者在开发的时候经常会忘了兼容IOS系统。所以就想试着重写Date函数,一劳永逸,避免每次ne_date.prototype 将所有 ios

如何将EXCEL表导入plsql数据库中-程序员宅基地

文章浏览阅读5.3k次。方法一:用PLSQL Developer工具。 1 在PLSQL Developer的sql window里输入select * from test for update; 2 按F8执行 3 打开锁, 再按一下加号. 鼠标点到第一列的列头,使全列成选中状态,然后粘贴,最后commit提交即可。(前提..._excel导入pl/sql

Git常用命令速查手册-程序员宅基地

文章浏览阅读83次。Git常用命令速查手册1、初始化仓库git init2、将文件添加到仓库git add 文件名 # 将工作区的某个文件添加到暂存区 git add -u # 添加所有被tracked文件中被修改或删除的文件信息到暂存区,不处理untracked的文件git add -A # 添加所有被tracked文件中被修改或删除的文件信息到暂存区,包括untracked的文件...

分享119个ASP.NET源码总有一个是你想要的_千博二手车源码v2023 build 1120-程序员宅基地

文章浏览阅读202次。分享119个ASP.NET源码总有一个是你想要的_千博二手车源码v2023 build 1120

【C++缺省函数】 空类默认产生的6个类成员函数_空类默认产生哪些类成员函数-程序员宅基地

文章浏览阅读1.8k次。版权声明:转载请注明出处 http://blog.csdn.net/irean_lau。目录(?)[+]1、缺省构造函数。2、缺省拷贝构造函数。3、 缺省析构函数。4、缺省赋值运算符。5、缺省取址运算符。6、 缺省取址运算符 const。[cpp] view plain copy_空类默认产生哪些类成员函数

推荐文章

热门文章

相关标签