当前位置: 首页 > news >正文

餐饮管理系统的设计与实现(代码+数据库+LW)

摘  要

互联网发展至今,无论是其理论还是技术都已经成熟,而且它广泛参与在社会中的方方面面。它让信息都可以通过网络传播,搭配信息管理工具可以很好地为人们提供服务。针对信息管理混乱,出错率高,信息安全性差,劳动强度大,费时费力等问题,采用餐饮管理系统可以有效管理,使信息管理能够更加科学和规范。

餐饮管理系统在Eclipse环境中,使用Java语言进行编码,使用Mysql创建数据表保存本系统产生的数据。系统可以提供信息显示和相应服务,其管理员增删改查菜品信息和菜品信息资料,审核菜品信息预订订单,查看订单评价和评分,通过留言功能回复用户提问。

总之,餐饮管理系统集中管理信息,有着保密性强,效率高,存储空间大,成本低等诸多优点。它可以降低信息管理成本,实现信息管理计算机化。

关键词:餐饮管理系统;Java语言;Mysql

  

   

1 绪论 

1.1 课题背景 

1.2 课题意义 

1.3 研究内容 

2 开发环境与技术 

2.1 MYSQL数据库 

2.2 vue技术 

2.3 Spring Boot框架 

3 系统分析 

3.1 可行性分析 

3.1.1 技术可行性 

3.1.2 经济可行性 

3.1.3 操作可行性 

3.2 系统流程 

3.2.1 操作流程 

3.2.2 登录流程 

3.2.3 删除信息流程 

3.2.4 添加信息流程 

3.3 性能需求 

4 系统设计 

4.1 设计原则 

4.2 功能结构设计 

4.3 数据库设计 

4.3.2 数据库物理设计 

5.1用户信息管理 

5.2 菜品信息管理 

5.3菜品评论管理 

5.1公告信息管理 

6章 系统测试 

6.1 功能测试 

6.1.1 登录功能测试 

6.1.2 修改密码功能测试 

6.2 测试结果 

结  论 

   

参考文献 

1 绪论

1.1 课题背景

互联网发展至今,无论是其理论还是技术都已经成熟,而且它广泛参与在社会中的方方面面。它让信息都可以通过网络传播,搭配信息管理工具可以很好地为人们提供服务。所以各行业,尤其是规模较大的企业和学校等都开始借助互联网和软件工具管理信息,传播信息,共享信息等等,以此可以增强自身实力,提高在同行业当中的竞争能力,并从各种激烈的竞争中获取发展的机会。针对菜品信息信息管理混乱,出错率高,信息安全性差,劳动强度大,费时费力等问题,经过分析和考虑,在目前的情况下,可以引进一款餐饮管理系统这样的现代化管理工具,这个工具就是解决上述问题的最好的解决方案。它不仅可以实时完成信息处理,还缩短菜品信息信息管理流程,使其系统化和规范化。同时还可以减少工作量,节约菜品信息信息管理需要的人力和资金。所以餐饮管理系统是信息管理环节中不可缺少的工具,它对管理者来说非常重要。

4 系统设计

一个成功设计的系统在内容上必定是丰富的,在系统外观或系统功能上必定是对用户友好的。所以为了提升系统的价值,吸引更多的访问者访问系统,以及让来访用户可以花费更多时间停留在系统上,则表明该系统设计得比较专业。

4.1 设计原则

本系统在设计过程中需要依照一定的设计原则进行,目的就是为了让开发的系统具备高质量,齐全完备的功能,方便简单的操作,如此才可以最大限度的满足使用者的要求。系统设计原则除了基本的易操作原则外,还有安全性原则,准确性原则。

第一个设计原则:易操作原则,针对本系统设计的功能要完备齐全,编码时,设计的各个接口要具备友好性,使用者一旦使用本系统时,要能够轻松上手,操作本系统处理数据时,要具备便利性。此外,也需要设计一些必要提示,引导使用者操作系统。

第二个设计原则:安全性原则,本系统在登录模块要对各个访问者进行身份验证,系统会通过访问者输入的信息进行判断,使用提前编写的安全验证代码进行数据比对,引导匹配成功的访问者进入指定的操作界面。这样可以避免无关性访问者窃取系统的数据。

第三个设计原则:准确性原则,为了保证使用者登记的数据是正确的,需要提前设计数据纠错机制,让使用者可以通过系统的报错提示,仔细检查登记的错误信息,并及时纠正错误,填写规范正确的信息。比如设置密码时,要求密码的长度不能低于6个字符,且数据类型要求不能全部是数字等都能进行规范。

4.2 功能结构设计

在前面分析的管理员功能的基础上,进行接下来的设计工作,最终展示设计的系统总体功能结构图(见下图)。

4.3.2 数据库物理设计

本数据库是关系型数据库,因此对二维表的结构设计也比较关键。毕竟二维表格模型就是关系型数据库中的关系模型。而一些常用的关系模型中的概念也需要了解,才可以对关系模型进行设计。下面就简单介绍关系,元组,属性,域,关键字等常用概念的含义。

关系:关系就是数据库中的一张数据表,每张数据表都有命名,也就是每个关系也有名字,那就是数据表名;

元组:元组就是数据表中的一行记录;

属性:属性就是数据表中的字段,也就是数据表中的一列;

域:域就是对数据表中属性的取值进行限定;

关键字:关键字就是数据表中的主键;

在了解了表结构设计的常用概念后,接下来就需要使用前面绘制的E-R模型完成表结构的设计工作,并在数据库中创建数据表,并为各个数据表进行命名。以下就对设计的结果通过表格形式进行展示。

表4.1菜品表

序号

列名

数据类型

说明

允许空

1

id

Int

编号

2

caipin_uuid_number

String

菜品编号

3

caipin_name

String

菜品名称

4

caipin_photo

String

菜品照片

5

caipin_types

Integer

菜品类型

6

caipin_price

Integer

购买获得积分

7

caipin_kucun_number

Integer

菜品库存

8

caipin_old_money

BigDecimal

菜品原价

9

caipin_new_money

BigDecimal

现价

10

caipin_clicknum

Integer

点击次数

11

caipin_content

String

菜品介绍

12

shangxia_types

Integer

是否上架

13

caipin_delete

Integer

逻辑删除

14

create_time

Date

创建时间

表4.2菜品收藏表

序号

列名

数据类型

说明

允许空

1

id

Int

编号

2

caipin_id

Integer

菜品

3

yonghu_id

Integer

用户

4

caipin_collection_types

Integer

类型

5

insert_time

Date

收藏时间

6

create_time

Date

创建时间

表4.3菜品评价表

序号

列名

数据类型

说明

允许空

1

id

Int

编号

2

caipin_id

Integer

菜品

3

yonghu_id

Integer

用户

4

caipin_commentback_text

String

评价内容

5

insert_time

Date

评价时间

6

reply_text

String

回复内容

7

update_time

Date

回复时间

8

create_time

Date

创建时间

表4.4菜品订单表

序号

列名

数据类型

说明

允许空

1

id

Int

编号

2

caipin_order_uuid_number

String

订单号

3

caipin_id

Integer

菜品

4

yonghu_id

Integer

用户

5

buy_number

Integer

预定数量

6

caipin_order_time

Date

预定时间

7

caipin_order_true_price

BigDecimal

实付价格

8

caipin_order_types

Integer

订单类型

9

caipin_order_payment_types

Integer

支付类型

10

insert_time

Date

订单创建时间

11

create_time

Date

创建时间

表4.5字典表

序号

列名

数据类型

说明

允许空

1

id

Int

编号

2

dic_code

String

字段

3

dic_name

String

字段名

4

code_index

Integer

编码

5

index_name

String

编码名字

6

super_id

Integer

父字段编号

7

beizhu

String

备注

8

create_time

Date

创建时间

表4.6论坛表

序号

列名

数据类型

说明

允许空

1

id

Int

编号

2

forum_name

String

帖子标题

3

yonghu_id

Integer

用户

4

yuangong_id

Integer

员工

5

users_id

Integer

管理员

6

forum_content

String

发布内容

7

super_ids

Integer

父编号

8

forum_state_types

Integer

帖子状态

9

insert_time

Date

发帖时间

10

update_time

Date

修改时间

11

create_time

Date

创建时间

表4.7供应商表

序号

列名

数据类型

说明

允许空

1

id

Int

编号

2

gongyingshang_name

String

供应商名称

3

gongyingshang_phone

String

联系方式

4

gongyingshang_email

String

供应物品

5

gongyingshang_types

Integer

物品类型

6

gongyingshang_money

BigDecimal

供应价格

7

gongyingshang_content

String

供应物品简介

8

create_time

Date

创建时间

表4.8公告信息表

序号

列名

数据类型

说明

允许空

1

id

Int

编号

2

news_name

String

公告标题

3

news_types

Integer

公告类型

4

news_photo

String

公告图片

5

insert_time

Date

添加时间

6

news_content

String

公告详情

7

create_time

Date

创建时间

表4.9单页数据表

序号

列名

数据类型

说明

允许空

1

id

Int

编号

2

single_seach_name

String

名字

3

single_seach_types

Integer

数据类型

4

single_seach_content

String

内容

5

create_time

Date

创建时间

表4.10用户表

序号

列名

数据类型

说明

允许空

1

id

Int

编号

2

yonghu_name

String

用户姓名

3

yonghu_phone

String

用户手机号

4

yonghu_id_number

String

用户身份证号

5

yonghu_photo

String

用户头像

6

yonghu_email

String

电子邮箱

7

new_money

BigDecimal

余额

8

yonghu_sum_jifen

BigDecimal

总积分

9

yonghu_new_jifen

BigDecimal

现积分

10

huiyuandengji_types

Integer

会员等级

11

create_time

Date

创建时间

表4.11员工表

序号

列名

数据类型

说明

允许空

1

id

Int

编号

2

yuangong_name

String

员工姓名

3

yuangong_phone

String

员工手机号

4

yuangong_id_number

String

员工身份证号

5

yuangong_photo

String

员工头像

6

yuangong_email

String

电子邮箱

7

create_time

Date

创建时间

表4.12管理员表

序号

列名

数据类型

说明

允许空

1

id

Int

编号

2

username

String

用户名

3

password

String

密码

4

role

String

角色

5

addtime

Date

新增时间

5.1用户信息管理

如图5.1显示的就是用户信息管理页面,此页面提供给管理员的功能有:用户信息的查询管理,可以删除用户信息、修改用户信息、新增用户信息,

还进行了对用户名称的模糊查询的条件

5.2 菜品信息管理

如图5.2显示的就是菜品信息管理页面,此页面提供给管理员的功能有:查看已发布的菜品信息数据,修改菜品信息,菜品信息作废,即可删除,还进行了对菜品信息名称的模糊查询 菜品信息信息的类型查询等等一些条件。

5.3菜品评论管理

如图5.3显示的就是菜品评论管理页面,此页面提供给管理员的功能有:根据菜品评论进行条件查询,还可以对菜品评论进行新增、修改、查询操作等等。

5.1公告信息管理

如图5.4显示的就是公告信息管理页面,此页面提供给管理员的功能有:根据公告信息进行新增、修改、查询操作等等。

结  论

采用Java+Mysql的方式设计制作的餐饮管理系统,在功能上可以满足管理人员对于信息的管理需求;在界面的设计上,尽最大努力用自身的美工知识做到界面美观简洁。在操作方面上,让系统可以方便操作,同时对用户常见的误操作行为进行分析总结,并尽力在系统中避免同样的由于用户的误操作所带来的错误现象。

作为毕业设计,分配给本系统的设计与制作时间还是不足的,所以,餐饮管理系统还有许多需要完善的地方。

第一个就是本系统的编程代码问题,各个程序文件的代码存在冗余的地方非常多,导致代码不够简洁,同时对代码的注释也比较麻烦。编码期间,对于很多页面可以共享的函数与方法都没有单独列出来,而是在需要用到函数和方法的页面上都重新编写了代码,通过后期的技术学习,以及对编码过程的分析总结,发现可以把共用的函数或方法编写在同一个页面上,在之后的页面中,需要使用此函数的页面,则可以直接调用函数,无需再编写代码了,这样可以简化代码,也能节省时间和存储空间。

第二个就是对数据库的设计不够好,在数据处理中,影响程序运行速度。因此需要对数据库的性能进行优化。通过这方面知识的学习,在某个开发技术类的博客中,发现可以用数据库连接池技术来解决数据库的性能问题,另外还需规范数据库里面的关系模式,降低数据库的冗余率,提高运行速度。

如果说平时的作业也是检查对知识的掌握情况,那么制作毕业设计,将是对自身所有知识的一个全面检测。因为系统能够制作完成则是经历了很多阶段,正如文中所展示的那样,先有可行性分析,对功能的分析,对功能的设计,对数据库的设计,对程序功能的编码实现,对完成编码程序的测试等,这些环节缺一不可,而且还都需要认真对待,大学学到的所有知识在制作系统时,才会发现不够用。所以这个项目制作,在检测自身能力的同时,也对问题分析,资料搜集,问题解决等能力进行了培养。

我通过制作本系统,熟悉了程序开发的流程,提高了对程序的编码能力,培养了独立分析与解决问题的能力;但也让我明白自身的不足之处,所以在接下来的时间,我还是要加强对技术知识的学习,去逐渐完善本系统。

http://www.dtcms.com/a/88981.html

相关文章:

  • 新书速览|云原生Kubernetes自动化运维实践
  • 2024年数维杯数学建模B题生物质和煤共热解问题的研究解题全过程论文及程序
  • Linux运维篇-系统io调优
  • 《基于Python的财务数据可视化与决策支持系统开发》开题报告
  • 如何用大模型评估大模型——PAI-Judge裁判员大语言模型的实现简介
  • 2. 初识go-zero
  • Linux系统还可以在做一层虚拟化安装虚拟机吗
  • 基于Python的超导体金属研制探索与展望
  • 嵌入式c学习八
  • ASP.NET Core部署Docker教程
  • CentOS 7上配置虚拟用户的FTP服务
  • 【论文阅读】大型语言模型能否实现软件漏洞的检测与修复?
  • a-date-picker 格式化日期格式 YYYY-MM-DD HH:mm:ss
  • 金融行业 UE/UI 设计:解锁高效体验,重塑行业界面
  • python 传文件
  • VSCODE上ckg_server_linux进程占用CPU过多
  • Linux centos7 虚拟用户访问脚本
  • 【Excel使用技巧】某列保留固定字段或内容
  • 数据结构模拟-用栈实现队列
  • 搭建Redis主从集群
  • 学习c++多线程前,回顾一下Linux的多线程
  • Linux网络相关概念和重要知识(3)(TCP套接字编程、远程命令的实现)
  • C/S与B/S架构
  • this.centerDialogVisible = true this.$nextTick(()=>{ this.resetForm(); })
  • this(执行上下文)
  • 1 存储过程学习: 使用DMSQL程序的优点
  • 如果vue加载页面的时候,需要加载很多子vue ,能不能先加载一个,让页面处于能用的状态,多余的在后台加载。
  • Java 基础入门代码示例解析
  • 使用Python调用Jenkins Api之获取构建日志使用说明文档
  • SpringBoot 3.0之后为什么移除了spring.factories