随着我国国立等各方面的迅速发展,人民的生活方式逐渐改变,物质追究也在不断地提升。科学管理体制已经成为人们的焦点,传统的点餐方式显然已被大众的需求所淘汰。如何使用更加科学更加系统的管理手段来提高餐馆的管理效率,已经成为当代社会的一个问题。餐厅管理系统是一个让餐厅营业者的管理更加便捷更加系统,让餐厅的服务更加效率的一个平台。
餐厅管理系统能够实现的大致功能有:前台:餐桌的占位与取消占位,购物车功能,下单功能,菜单管理,订单管理,用户登录及记住密码等。后台:餐桌管理,菜品类型管理,菜品管理,订单管理等。不同用户可以使用不同的功能,对餐厅业务进行相应的操作。本文是基于java的应用程序设计,主要涉及到的技术有:JSP,JavaScript,jQuery,servlet,JDBC,Mysql。JDK版本为1.8,Tomcat8.0。通过该系统顾客及餐厅运营人员可以快速的进行所需操作,从而提高了餐厅整体的工作效率。
关键词:java;jquery;餐厅管理
Abstract
With the rapid development of the state and other aspects of our country,people's way of life is gradually changing, and material investigation is also constantly improving.Scientific management system has become the focus of people, the traditional way of ordering food has obviously been eliminated by the demand of the public.How to use more scientific and more systematic management means to improve the management efficiency of restaurants has become a problem in contemporary society.The restaurant management system is a platform to make the management of the restaurant operators more convenient and more systematic, and to make the service of the restaurant more efficient.
Restaurant management system to achieve the general functions are: front desk: table occupancy and cancel the occupancy, shopping cart function, order function, menu management, order management, user login and remember passwords, etc.Background: table management, dish type management, dish management, order management, etc.Different users can use different functions to operate the restaurant business accordingly.This paper is based on JAVA application design, mainly involved in the technology: JSP, JavaScript, JQuery, Servlet, JDBC, MySQL.JDK version 1.8, Tomcat8.0.Through the system, customers and restaurant operators can quickly carry out the required operations, thus improving the overall efficiency of the restaurant.
Key words: java; jquery;restaurant management;
目 录
引言
第一章 绪论
1.1 课题背景
1.2 餐厅管理系统简介
1.3 可行性分析
1.3.1 经济可行性分析
1.3.2 技术可行性分析
1.3.3 操作可行性分析
第二章 需求分析
2.1系统分析
2.2系统总体流程图
2.3系统业务流程图及分析
2.4系统功能模块图
第三章 开发工具和开发语言介绍
3.1 servlet/jsp
3.2 JavaScript与jQuery
3.3 jdbc与mysql
第四章 系统总体设计
4.1
4.2
4.2.1
4.2.2
4.2.3 9
4.2.4 9
第五章 程序实现
5.1
5.2
5.2.1
5.2.2
5.2.3
第六章 软件测试
6.1软件测试方法简介
6.2软件测试实例
6.3软件测试结果
总结
参考文献
引 言
随着改革开放以来,我国人民的生活逐渐得到提高,而享受美食也已经成为了当今广大人民生活中不可或缺的一部分。自从我国对外的开放,大量公司及企业加入到了餐饮行业中,从街边的特色小吃到家喻户晓的传统美食,使得中国有着巨大的餐饮市场,但随着餐饮行业的不断扩张,暴露出来的问题也不能被忽视。首先,大量的餐饮需求如果还是使用以往传统的管理模式必会消耗大量的人力,物力,从而间接降低餐饮业的利润。其次,由于餐饮行业门槛很低,没有雇佣职业经纪人,
在面对餐饮业多元化的经营现状,不同特色、不同出品等不同因素,带给餐饮企业的则是不同的标准和工作流程,面对着这解决方法不一的情况,对人才的专业化程度的要求也相应地提高了,然而在国内市场上,餐饮业人才供应不足,纵而使得餐饮服务效率低下。但随着科技的发展,计算机技术也在不断的迭代更新,对于餐饮行业,利于科学的管理系统来实现菜系增删,订单管理,占位下单付款一体化的系统,无疑会提高餐厅的利润和服务的质量,降低了人力物力的需求量,更能大大提高食客的便利性。
本平台就是要将以往餐饮行业的冗杂数据一体化,在计算机技术与餐饮行业之间进行连接从而解决的问题。本平台设计力求美观得体,使得餐饮运营者和客户都能够轻松的便捷上手。
第一章 绪论
1.1 课题背景
近几年来,餐饮产业已然成为了我国第三产业中一个传统服务性行业,餐饮业的规模以每年18%左右的速度增长一直在不断发展,甚至达到了GDP发展速度的2倍。并于2011年首次突破2万亿大关,预计2012年将达到2.38万亿。当前,旅游餐饮、家宴、婚庆消费成为经营亮点,经营特色随着中国国民经济的快速发展,居民的收入水平越来越高。
当前,旅游餐饮、家宴、婚庆消费成为经营亮点,经营特色化和市场细分化更加明显,大众消费进一步成为餐饮业的消费主流。餐饮企业之间的合并重组增强,企业改制步伐加快,异地扩张和餐饮集团化、连锁化成为发展趋势。
然而,在餐饮行业高速发展的同时,原材料成本升高、劳动力成本提升、租金成本上涨、管理人才匮乏、成本控制困难等多方面问题日益凸显,传统的管理、经营模式遭遇严峻挑战。如何迅速由传统的“粗放式、模糊式、经验式经营”向“精细化、流程化、规模化经营”转型,成为整个餐饮行业需要面对的问题
1.2 餐厅管理系统简介及发展现状
餐厅管理系统就是通过计算机开发对餐厅的各类业务进行系统化的处理。主要是由服务员登录账号并为顾客选择桌号,顾客则可以根据系统选餐也可以在等待桌位前通过系统无门槛的查看各类餐品,服务员下单,营业者在后台更新菜单中的各类菜品,等一系列系统化的操作来对餐厅各类事项进行统一化的处理。中餐因其菜品的多样化和特色化的服务.很难实现标准化管理.这使中餐企业的成本控制很难完全实现.随着中外交流的广泛开展,国外一些比较完善的标准化工作流程和系统管理方式,让中国餐饮业充分认识到提高企业核心竞争力的管理信息工具的重要性和迫切性,许多专业的计算机开发公司也意识到这一点,纷纷立项上马,由此陆续推出了一大批各式各样的餐饮管理系统,由于中餐经营管理的特殊性,以及计算机公司自身经验的缺乏和对餐饮企业管理理解的不够.致使系统开发与实际应用不能完全吻合.系统软件或多或少地存在着缺陷.
1.3 可行性分析
1.3.1 经济可行性分析
餐厅管理系统开发简单,使用的开发工具免费。不需要单另花钱去购买。图书馆相关资源丰富,各类资料齐全,所需的相关资料皆可去图书馆进行借阅,不需开销去购买所需资源,作为一名学生其开发效益远大于经济效益,所以经济上是可行的。
1.3.2 技术可行性分析
Java最早是由SUN公司(已被Oracle收购)的詹姆斯·高斯林(高司令,人称Java之父)在上个世纪90年代初开发的一种编程语言,Java介于编译型语言和解释型语言之间,他最大的优点便是与平台无关,无论是什么平台运行的都是可以,一次编写,到处运行。java语言简洁干练,它省略了底层c++里容易混淆的特性。Java更加适合连网,适合开发分布式计算机的程序。在java语言中能更好的处理多线程,作为一个动态语言,java可以将新代码加入到一个正在运行的程序中,所以技术上是可行的。
1.3.3 操作可行性分析
现如今计算机产业链日益发达,购买计算机所需流程及费用也已经达到普通大众水准。大部分家庭中都有着不同种类的计算机,所以基本都可以使用到本程序。而且本程序页面简洁易懂,操作便利,用户可以立刻上手,所以在操作性上是可行的。
第二章 需求分析
2.1系统分析
目标:采用现有的软件,硬件环境以及合理可行的系统开发方案,建立一个界面友好,操作简单,结构完善,布局规划合理的餐厅管理系统。
需求:
前台需求:
1、项目运行展示首页,自动查询目前未使用的餐桌
2、首页需求:1可根据餐桌名称和餐桌的使用状态查找餐桌。2点击餐桌名称,进入菜单页面占位---加入菜品到购物车---下单
3、菜单页功能:1占位---改变餐桌状态为正在使用 ,记录开始使用的时间。
2、取消占位---改变餐桌状态为未使用。3购物车---加入商品到购物车 ,购物车商品数量修改及删除session。4下单---删除当前餐桌中购物车中商品,保存订单信息到数据库。5付款---下单后可取消订单或付款,同时餐桌的状态改为未使用。
4、登录和注册:1登录拦截器需求3内的功能都需登录才可操作。2记住密码cookie。
后台需求:
1、项目运行展示首页,将页面搭建起来(必须要先登录才可以进点餐系 统首页) .
2、左侧餐桌管理:增加、删除、激活、查:根据餐桌的名字、使用状态、是否已删除查询餐桌
3、左侧菜系管理:增加、删除、激活、修改、查:根据菜系的名字查询菜系
4、左侧菜品管理:增加、删除、激活、修改、查:根据菜品的名字查询菜品
5、登录和注册:登录拦截器一-需1、 2、 3、4内的功能都需登录才可操作。记住密码cookie。注册
2.2系统功能及流程图
2.2.1 自助点餐功能
图(略)
服务员登录后才可对餐桌及订单进行操作,若是没有登录直接选择餐桌,则会自动跳转到登录页面。(1)服务员登录,选择未使用的餐桌进行占座,点击占座后,此餐桌将会从未使用归类到使用中(2)顾客根据系统在订单中添加所需菜品(3)选好菜品后,服务员将进行下单。(4)若是顾客想要退单,则服务员取消订单;若是顾客想要订单结算,则服务员将订单归为已结算。
2.2.2预定功能
(1)顾客电话预定。(2)服务员确定人数,时间,联系方式。(3)服务员分配桌号。(4)在到达预定时间前,顾客可以拨打电话进行退桌(5)在预定前服务员对顾客进行电话提醒,若是顾客想要退单则取消占位。
2.2.3查询餐桌及订单功能
此平台默认首页为选餐桌页面,在此页面中可以查看未使用和已使用的餐桌,并可直接搜索餐桌来查看餐桌的使用情况。
服务员登录后可查看该服务员所处理的订单及订单详情
2.2.4后台员工信息管理及菜品管理
登录后台后,可以进行数据的改动,如添加菜品,更新菜品,删除菜品等操作
2.3系统业务流程图及分析
图(略)
2.4系统功能模块图
图(略)
开发工具,开发技能介绍
图(略)
3.1 servlet/jsp
Java Servlet 是运行在 Web 服务器或应用服务器上的程序,它是作为来自 Web 浏览器或其他 HTTP 客户端的请求和 HTTP 服务器上的数据库或应用程序之间的中间层。使用 Servlet,您可以收集来自网页表单的用户输入,呈现来自数据库或者其他源的记录,还可以动态创建网页。Java Servlet 通常情况下与使用 CGI(Common Gateway Interface,公共网关接口)实现的程序可以达到异曲同工的效果。
JSP全称Java Server Pages,是一种动态网页开发技术。它使用JSP标签在HTML网页中插入Java代码。JSP是一种Java servlet,主要用于实现Java web应用程序的用户界面部分。网页开发者们通过结合HTML代码、XHTML代码、XML元素以及嵌入JSP操作和命令来编写JSP。JSP通过网页表单获取用户输入数据、访问数据库及其他数据源,然后动态地创建网页。JSP标签有多种功能,比如访问数据库、记录用户选择信息、访问JavaBeans组件等,还可以在不同的网页中传递控制信息和共享信息。
3.2 JavaScript与jQuery
JavaScript(简称“JS”) 是一种具有函数优先的轻量级,解释型或即时编译型的编程语言。虽然它是作为开发Web页面的脚本语言而出名,但是它也被用到了很多非浏览器环境中,JavaScript 基于原型编程、多范式的动态脚本语言,并且支持面向对象、命令式和声明式(如函数式编程)风格。
JavaScript在1995年由Netscape公司的Brendan Eich,在网景导航者浏览器上首次设计实现而成。因为Netscape与Sun合作,Netscape管理层希望它外观看起来像Java,因此取名为JavaScript。但实际上它的语法风格与Self及Scheme较为接近。
jQuery是一个快速、简洁的JavaScript框架,是继Prototype之后又一个优秀的JavaScript代码库(或JavaScript框架)。jQuery设计的宗旨是“write Less,Do More”,即倡导写更少的代码,做更多的事情。它封装JavaScript常用的功能代码,提供一种简便的JavaScript设计模式,优化HTML文档操作、事件处理、动画设计和Ajax交互。
3.3 jdbc与mysql
JDBC(Java Data Base Connectivity,java数据库连接)是一种用于执行SQL语句的Java API,可以为多种关系数据库提供统一访问,它由一组用Java语言编写的类和接口组成。JDBC提供了一种基准,据此可以构建更高级的工具和接口,使数 据库开发人员能够编写数据库应用程序,同时,JDBC也是个商标名。
MySQL 是一款安全、跨平台、高效的,并与 PHP、Java 等主流编程语言紧密结合的数据库系统。该数据库系统是由瑞典的 MySQL AB 公司开发、发布并支持,由 MySQL 的初始开发人员 David Axmark 和 Michael Monty Widenius 于 1995 年建立的。目前 MySQL 被广泛地应用在 Internet 上的中小型网站中。由于其体积小、速度快、总体拥有成本低,尤其是开放源码这一特点,使得很多公司都采用 MySQL 数据库以降低成本。MySQL 数据库可以称得上是目前运行速度最快的 SQL 语言数据库之一。除了具有许多其他数据库所不具备的功能外,MySQL 数据库还是一种完全免费的产品,用户可以直接通过网络下载 MySQL 数据库,而不必支付任何费用。
4 系统总体设计
4.1餐厅管理系统功能概述
4.2数据库设计
在仔细调查酒店日常管理过程的基础上,针对本实例,通过对酒店餐饮管理内容的分析,设计的数据项和数据结构如下。
(1)菜谱信息:包括的数据项有(餐桌号、名称、所属种类、价格、描述等)
(2)登录员信息:包括的数据项有(登录员姓名和口令)
(3)定餐信息:包括的数据项有(桌号、菜谱号、菜名、数量、价格和定餐日期)
(4)结算信息:包括的数据项有(桌号、结算日期、打折情况和总计等)
(5)餐桌信息:包括(餐桌号、餐桌位置、餐桌状态等)
(6)支出信息:包括(支出类型、支出金额、支出日期)
有了上面的数据结构、数据项和数据流程,就能进行下面的数据库设计:
菜品类型
CREATE TABLE`tb_food_type`(
`id` int(11)NOT NULL auto_increment,
`typ-name` varchar(20) default NULL COMMENT ‘菜品类型名称’,`create_date` datetime default NULL COMMENT‘菜品类型创建时间’,
`update_date` datetime default NULL COMMENT‘菜品类型更新时间’,`disabled` int(11) default '0' COMMENT‘0未删,1已删’,
PRIMARY KEY (`id`)
ENGINE=InnoDB DEFAULT CHARSET=utf8;
图(略)
2.订单表
CREATE TABLE`tb_order`(
`id` int(11)NOT NULL auto..increment,
`order_code ` varshar(255) default NULL COMMENT'订单编码",
`table_id` int(11) default NULL COMMENT 订单所属餐桌',
`total_Price` double default NULL COMMENT '总价,
`order_Statu`int(11) default '0' COMMENT O已下单未付款1已付款,
`order_Date` datetime default NULL COMMENT‘下单时间",
`pay_date` datetime default NULL COMMENT '付款时间",
disabled int(11) default 'o' COMMENT'0未删1已删',
PRIMARY KEY (id`),
KEY`order_table_id` ( table_id ),
CONSTRAINT`order_table_id` FOREIGN KEY (`table_id`)REFERENCES 'tb _dinner_table` (id)ENGINE=InnoDB DEFAULT CHARSET=utf8;
2.1订单明细表
CREATE TABLE 'tb order detail' (
'id' int(11) NOT NULL auto increment,
'orderld' int(11) default NULL COMMENT'所属订单id',
'food id' int(11) default NULL COMMENT'菜品id',
'buyNum' int(11) default NULL COMMENT‘够买数量',
'discount' double default NULL COMMENT用户购买时的折扣’,
'disabled' int(11) default '0' COMMENT '0表示正常1表示已删除,
PRIMARY KEY ('id'),
KEY' orderDetail order id' ( 'orderId'),
KEY 'orderDetail food id' ('food id'),
CONSTRAINT 'orderDetail food id' FOREIGN KEY ('food id') REFERENCES 'tb food' ('id'),
CONSTRAINT 'orderDetail order. id' FOREIGN KEY ( 'orderld') REFERENCES 'tb order' ('id')
ENGINE=InnoDB DEFAULT CHARSET =utf8;
图(略)
5 程序设计
5.1程序设计说明