餐厅线上点菜系统/JAVA 语言

 

国内餐饮行业的快速发展,人们为了能够更加方便地管理用户点菜,餐厅线上点菜系统被人们开发出来从而更好地方便管理用户点菜,一个完美的餐厅线上点菜系统已经成为各个餐厅的追求目标。

本系统利用SSM技术进行开发餐厅线上点菜系统是未来的趋势。该系统使用的编程语言是Java,数据库采用的是MySQL数据库,基本完成了系统设定的目标,建立起了一个较为完整的系统。建立的餐厅线上点菜系统用户使用浏览器就可以对其进行访问,管理员在操作上面能够方便管理,因此用户和管理员能够方便对这个系统进行操作。论文全面介绍系统数据库,功能设计和业务流程设计。数据库能够存储餐厅线上点菜系统需要的数据。

本系统的功能有:用户:个人中心、餐桌预定管理、预定取消管理、用户点菜管理、费用清单管理。

管理员:个人中心、用户管理、餐桌信息管理、餐桌预定管理、预定取消管理、菜品信息管理、饮品信息管理、用户点菜管理、样式分类管理、饮品分类管理、费用清单管理、支出记录管理、收入记录管理、通知公告管理、系统管理。

关键词:餐厅线上点菜系统;Java;MySQL

Pick to

With the rapid development of the domestic catering industry, in order to manage users' ordering more conveniently, the restaurant online ordering system has been developed so as to better manage users' ordering. A perfect restaurant online ordering system has become the pursuit goal of all restaurants.

This system uses SSM technology to develop the restaurant online order system is the future trend. The programming language used in the system is JAVA, and the database is MYSQL database. It has basically completed the goal set by the system and established a relatively complete system. The establishment of the restaurant online ordering system users can use the browser to access it, the administrator in the operation of the above can be convenient management, so the user and administrator can be convenient to operate the system. The paper comprehensively introduces the system database, functional design and business process design. The database can store the data needed by the restaurant's online ordering system.

The functions of this system are: user: personal center, table reservation management, reservation cancellation management, user ordering management, cost list management.

Administrator: personal center information management, user management, table, table management, cancel management, information management of food, drink order information management, user management, classification management style, drinks classification management, expenses listing management, record management, revenue management, announcements, management, systems management.

Key words: restaurant online ordering system; Java; MySQL

 

1 绪论

1.1课题研究背景和意义

1.2 国内外现状分析

1.3 课题研究主要内容

2 核心技术介绍

2.1 mysql技术介绍

2.2 idea编译器介绍

2.3 Spring框架简介

2.4 springmvc框架简介

3 需求分析

3.1 系统的设计模式

3.2 系统的设计目标

3.3 系统模块设计

3.4 经济可行性研究

3.5 技术可行性研究

3.6 社会可行性研究

4 系统数据库详细设计

4.1系统模块设计

4.2 系统流程分析

4.2 建立概念性数据模型

4.2 数据库逻辑结构分析设计

5 系统的详细设计

5.1 系统网页设计原则

5.2 系统登录

5.3 用户管理

5.4 样式分类管理

5.5 餐桌预定管理

5.6 餐桌取消管理

5.7菜品信息管理

5.8饮品信息管理

5.9商品展示

5.10商品详细信息

6 系统测试运行

6.1 模块测试

6.2 系统整体测试

6.3 测试过程

结论

参考文献

致谢

附录:部分代码截图

附录:核心代码截图

1 绪论

1.1课题研究背景和意义

餐厅线上点菜系统是一个信息处理的库系统,通过调用编程语言的库函数来进行编写餐厅线上点菜系统,能够提高编程效率,降低开发成本。计算机的快速发展已经为餐厅线上点菜系统在社会发展奠定了基础[4]。落后的手工服务也不能够满足广大用户的需求,随着计算机的快速发展,餐厅开始突破传统的模式,和计算机技术相结合。紧密联系社会的需求,提供的服务是信息化的,能够满足用户的需求,简化了餐厅线上点菜系统,间接提高了系统的安全性。随着大数据时代来临,信息存储要比以往大得多。在计算机快速发展的今天,有必要采用一套智能化高,操作简单的餐厅线上点菜系统,这样可以方便管理员和用户,所以开发一个便于操作的管理系统是很有必要的。

21世纪是大数据时代,在信息管理方面,数据量非常多,因此要对大量数据进行处理,所以人们利用计算机开发大量管理系统。计算机的最大好处在于自动化,因此使用计算机处理数据,大大地提高了效率,还提高了系统的安全性。对于越复杂的数据处理,就越能体现计算机的优势。餐厅线上点菜系统中数据众多,需要处理很多数据。刚开始,对信息处理方式主要是手工的方式进行管理。由于数据量巨大并且还用人工的方式进行管理,则容易出现问题。而且当数据量多起来的时候,数据容易丢失,查找起来也不容易。这样会导致效率低下。 

1.2 国内外现状分析

餐厅线上点菜系统的发展可以追溯到上个世纪的八十年代,第一代餐厅线上点菜系统出现。而到了世纪末,我国的餐厅线上点菜系统才开始出现,虽然经过了不少的时间发展,但是现在已经发展得较为完善了。基本可以实现计算机的自动化管理。

到了九十年代,餐厅线上点菜系统出现了很大的改变,我国餐厅线上点菜系统的开发出现了高潮,当时推出了在国内有很大影响的自动化系统。从九十年代到至今,餐厅线上点菜系统发展速度相对缓慢,在技术上和理论研究上都没有很大的突破。总的来说,国外发展餐厅线上点菜系统的速度快于中国,餐厅点菜自动化系统真正开始发展时间是在1964年,当时的餐厅线上点菜系统是由大型餐厅进行开发的,餐厅线上点菜系统由单一功能系统转化为集成系统。商品化的自动系统的出现更是体现出了社会分工的不同。使得餐厅线上点菜系统能够更加专注于服务质量的提高。事实上,发展迅速的学校已经不是自己研制餐厅线上点菜系统了,而是直接购买别人开发好的餐厅线上点菜系统。通过从国外汲取经验,结合发展趋势实现餐厅线上点菜系统。

第三代餐厅线上点菜系统虽然还未开发出来,但是这是一种必然的趋势。随着信息时代的来临,人们对餐厅线上点菜系统有了更大的需求,个人电脑的普及和数据库技术的发展都使得更加新型的餐厅线上点菜系统出现。友好的界面和数据库都会使得管理员的工作越来越简单。  

1.3 课题研究主要内容

通过对餐厅线上点菜系统的编写,使得自己对于javaweb技术和数据库理论有了更深的认识。课题设计javaweb,能够学习网页编程知识。此课题设计的知识有HTML,CSS和MVC模式等。还跟javaScript的知识有关。在不断的学习过程中提高自己的编程能力。本餐厅线上点菜系统编译器是利用idea,数据库MySQL来进行实现的。将理论和系统的实际应用在操作上结合在一起。希望能够在编码实现的过程中更加熟练。所以这就是本课题研究的主要内容。

2 核心技术介绍

2.1 mysql技术介绍

随着技术的不断发展,数据库从只能处理数据表格,到现在能够处理大量数据,MySQL数据库属于关系类型数据库,在安装的时候很方便,可以为其添加索引从而更快的查询出数据。数据库还有多种版本,能够在不同的操作系统中使用数据库。能够在不同的平台部署。Microsoft MySQL工具可以为数据库进行一个可视化的管理[2]。用户可以在软件上进行测试连接数据库是否成功,可以轻松对数据库的字段进行操作[8]。

2.2 idea编译器介绍

 编写idea编译器的编程语言是java,因此idea编译器的最底层是java,因此很多程序员都利用idea编译器进行编写代码,idea本身内部集成了很多环境,是由java代码进行编写而成的idea编译器,内部代码是对外进行公开的,开源的[3]。为用户提供了一个容易开发便利的平台。idea包括四个部分:JDK,PDE,Platform和CDT。idea设计师是凭借着很多原则从而制造出编译器idea,原则包括高可用,安全等。idea设计得最成功的地方在于其占用内存可以忽略不计[1]。

,非常的好用,能够满足此次开发的需求。

2.3 Spring框架简介

Spring框架的底层语言是java,其中很多类都是由java编程语言进行编写而成的,spring框架首次出现的时间是在2005年,经过多年的发展,spring已经更新到5.4[2]。Spring框架一直以来受到开发者的关注,spring最大的特点是面向接口进行编程,需要通过配置文件进行配置框架之间的关系。有效地组织了中间层对象。提供了AOP编程,能够限定程序的权限问题[3]。这样的好处是能将接口的复杂性降到最低。采用了分层结构,在后续程序修改的时候较为方便。spring框架相比其它框架容易使用并且比较简单配置框架之间的结合。

2.4 springmvc框架简介

spring框架包含springmvc框架,mvc是一种设计模式,model表示实体层,视图用V表示,用来表示jsp页面,控制器用C表示,用于jsp页面传递数据到控制器当中。处理请求和数据处理。springmvc框架的核心类是dispatcherServlet,将请求进行拦截,将请求转移到适配器当中进行处理,寻求合适的方法对用户从页面中发出来的请求进行处理。发挥MVC框架的作用把数据展示在页面当中。MVC框架和spring框架是无缝连接的。MVC框架继承了ajax,所以可以在jsp页面当中使用ajax传递数据到controller类中。在controller中使用response body注解进行交互。mvc框架在和其它框架进行整合的时候要简单得多[4]。

3 需求分析

3.1 系统的设计模式

浏览器服务器模式相比于图形界面更加容易操作,用户的请求会传送到服务器端进行处理,客户端获取的数据由服务器传递到网页页面中,这是一种新的软件体系技术,逐渐成为潮流。使用MVC模式能够快速设计交互程序,MVC中M代表的是模型,能够表示系统中的实体,V代表的是视图层,表示的是显示在浏览器的前端页面,C表示的是控制器,负责后端逻辑处理代码的编写,能够对前端页面传递过来的数据进行处理。

3.2 系统的设计目标 

设计而成的系统要有以下目标:管理员和用户能够跳转到不同的页面当中。因此要把系统的目标设置为如下几项:

(1)系统在操作上不能过于复杂。

(2)用户对应着不同的角色

(3)设计完成的数据库要有能够处理并发和安全的作用

(4)设计完成的管理系统要能够多个用户进行登录

(5)管理员在后台对基本信息的管理

结合完成了以上的基本目标之后,能够帮助管理人员对系统的方便管理,从而能够为管理员节省时间,给了用户极大的方便。系统中的数据要存储于数据库当中,能够通过SQL代码把数据库中的数据取出,映射到实体类中,通过控制器类从而展示在页面当中,能够使得系统的效率变得很快。

3.3 系统模块设计

考虑到餐厅线上点菜系统拥有各种关系,结合餐厅线上点菜系统的各个特点,可以将餐厅线上点菜系统分为不同的层次:视图层(jsp页面),表现层(控制器类),业务层(接口类)和持久层(持久层框架)。

视图层其实质就是jsp页面,通过编写jsp页面从而展示在浏览器中,编写完成的jsp页面要能够和控制器类进行交互,从而使得用户在点击网页进行操作时能够正常。在编写jsp页面的时候,要注意url的编写,用户在点击按钮的时候,url要能够传递到表现层当中,表现层利用业务层进行完成数据库的交互。

持久层依赖于框架的作用,能够负责让dao类进行操作数据库,利用xml文件进行实现,框架的结合使得系统的前后端能够正常地完成信息的传递,把在浏览器中传递的数据保存在数据库当中,在持久层当中,需要定义接口实现类,接口实现类处理前端页面传递过来的数据,在接口实现类当中把数据进行业务逻辑处理完成后传递到前端页面当中。

在遇到困难的问题时,人们常常会把困难的问题进行简化,分别研究各个小问题,最后把小问题结合起来进行解决。同样把系统分成模块也是同样的,将系统分成模块的方法才可以使得软件体系更加清晰。

3.4 经济可行性研究

餐厅线上点菜系统从设计到最后做成系统所花的时间需要几个月,总体来说不是很多,在经济上面也不用购买实物,因此经济相对来说不是很多,系统运行的时候对电脑没什么要求,只需要安装有必要的环境即可进行安装运行,总体上对硬件的要求是比较低的。所以管理员在操作的时候是相对比较简单的,在操作上面简化了许多。管理员在操作上面不用花费很多时间,能够有更多时间进行改善系统。用户只要输入正确的网址就可以对系统进行访问使用其功能。

3.5 技术可行性研究

根据前期对系统功能的设计、确定,选择使用可行的软件结构和开发技术来完成系统的开发,系统在设计开发中的软件、架构、开发技术选择上均是使用了简单好用的开发的模型和别人成熟的解决办法,综合市面上的同类型平台,本次开发使用的技术是可行的,且能够在满足系统功能开发的前提下做到最少的开发开支以及学习成本和时间成本。且此次开发使用的WEB开发模式能够极大地快速构建、有大量的样本参考学习,所以也无需担心后期的技术维护和升级,通过对于事先调查研究的一些成熟的案例范本来看,本次的系统在设计完成上是可以的。

3.6 社会可行性研究

餐厅线上点菜系统没有违法,从法律上来说是合法的,在道德方面也没有违反,本次制作的管理系统操作界面比较简单,页面采用的是jsp页面,用户能够很容易地进行交互。随着当今时代计算机的快速发展,网页已经在很多行业中有应用,各种各样的管理系统也出现了,计算机技术已经在餐饮行业中普遍使用,因此能为这次设计的餐厅线上点菜系统奠定基础,餐厅线上点菜系统在学校食堂能够普遍见到,餐厅线上点菜系统带来了很多的好处。

4 系统数据库详细设计

4.1系统模块设计

在遇到困难的问题时,人们常常会把困难的问题进行简化,分别研究各个小问题,最后把小问题结合起来进行解决。同样把系统分成模块也是同样的,将系统分成模块的方法才可以使得软件体系更加清晰。

        图4-1 功能结构图

4.2 系统流程分析

(1) 注册

在注册功能中,用户需要输入用户名和密码进行注册,如果填写的信息跟数据库的记录相同,则不能够成功注册。

   图4-2注册流程图

(2) 登录

在登录功能当中用户需要输入用户名和密码选择登录,输入的信息要跟数据库的记录相匹配。

图4-3登入流程图

4.2 建立概念性数据模型

利用数据模型可以表示不同的类,概念性模型没有固定的模型,因此用户可以按照自己的想法进行建立概念性数据模型。概念结构设计的第一步就是对需求分析阶段收集到的数据进行分类、组织,确认实体、实体的属性、实体之间的联系类型,形成E-R图,故概念模型可以用E-R图表示。设计中存在着大量的数据,因此需要建立数据模型。

(1)用户实体属性图,如图4-4所示。

图4-4用户实体图 

(2)餐厅预定实体属性图,如图4-5所示。

图4-5餐桌预定实体图 

(3)餐桌信息实体属性图,如图4-6所示。

4-6餐桌信息实体图

(4)用户管理实体属性图,如图4-7所示。

图4-7预定取消实体图 

(5)菜品信息实体属性图,如图4-8所示。

图4-8菜品信息实体属性图

(6)饮品信息实体属性图,如图4-9所示。

图4-9饮品信息实体属性图

(7)用户点菜实体属性图,如图4-10所示。

图4-10用户点菜实体属性图

4.2 数据库逻辑结构分析设计

可以利用MySQL进行创建系统所需要的表,表用来保存系统所需的数据,数据库表的详细结构设计如下:

(1)地址表。该表在表示地址信息会用到。表中字段为表示地址信息。对地址编号作为主键,原因是设置为主键可以标识表中每一行。

表4-1 地址

列名

数据类型

长度

主键

主键

bigint

20

  是

创建时间

timestamp

0

      否

用户id

bigint

20

  否

地址

varchar

    200

收货人

varchar

200

  否

电话

varchar

200

  否

是否默认地址

varchar

200

      否

(2)菜品信息表。该表在表示菜品信息会用到。表中字段为表示菜品信息。对菜品信息编号作为主键,原因是设置为主键可以标识表中每一行。

表4-2 菜品信息表

列名

数据类型

长度

主键

主键

bigint

20

  是

创建时间

timestamp

0

      否

菜品编号

varchar

200

      否

菜品名称

varchar

200

  否

菜品样式

varchar

200

使用材料

longtext

0

  否

菜品特色

longtext

0

  否

详情介绍

varchar

0

      否

菜品图片

varchar

200

      否

int

11

  否

int

11

最近点击时间

datetime

0

  否

点击次数

int

11

  否

价格

 float

0

      否

(3)餐桌信息表。该表在表示餐桌信息会用到。表中字段为表示餐桌信息。对餐桌信息编号作为主键,原因是设置为主键可以标识表中每一行。

表4-3 餐桌信息表

列名

数据类型

长度

主键

主键

bigint

20

  是

创建时间

timestamp

0

      否

桌台号

varchar

    200

  否

桌台位置

varchar

    200

  否

 桌台状态

varchar

200

  否

可坐人数

int

11

  否

桌台介绍

 longtext

0

  否

预约说明

 longtext

0

  否

详情

 longtext

0

  否

图片

varchar

200

  否

(4)餐桌预定表。该表在表示餐桌预定信息会用到。表中字段为表示餐桌预定信息。对餐桌预定编号作为主键,原因是设置为主键可以标识表中每一行。

表4-4 餐桌预定

列名

数据类型

长度

主键

主键

bigint

20

  是

创建时间

timestamp

0

      否

桌台号

varchar

    200

  否

桌台位置

varchar

    200

  否

可坐人数

int

    11

  否

预定人数

int

    11

  否

预约时间

date

    0

  否

备注

 longtext

    0

  否

账号

varchar

    200

  否

姓名

varchar

    200

  否

是否审核

varchar

    200

  否

审核回复

 longtext

     0

  否

  • 10
    点赞
  • 6
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值