1、 顾客就餐管理系统的设计与实现 34 2020年4月19日 文档仅供参考 JIANGXI AGRICULTURAL UNIVERSITY 本 科 毕 业 论 文(设 计) 题目: 顾客就餐管理系统的设计与实现 学 院: 软件学院 姓 名: 刘川 学
2、 号: 1889 专 业: 软件工程 班 级: 软件工程1307班 指导教师: 胡昶 职 称: 讲师 二零一七年四月 摘要 毕业的论文选题题目为 - 顾客就餐管理系统的设计与实现,我走访了几个餐厅。针对她们的经营模式和管理方式进行研究,分析。最终确定了一套相关的系统。采用最有效的技术手段,完美的分析设计,良好的用户界面。设计出令客户满意的顾客就餐管理系统。 顾客就餐管理系统结构简单,设计朴实,清晰明了,客户能够很快掌握和使用。它分为三个模块,系统管理员,服务员和
3、收银员。针对餐厅最普遍的操作,设计了比如点餐和付账、会员等功能。 物联网时代到来,在餐饮业竞争越来越激烈的现在,很多人都采用现代网络技术去管理餐厅,因为这样非常的有效和方便。 根据综合分析几家餐厅的功能需要,采用Win7系统作为服务器平台,采用J2EE + MYSQL+JSP的开发模式,利用MYSQL作为系统数据存储的数据库, 用MyEclipse做为开发工具,最终实现顾客就餐管理系统的设计与实现。顾客就餐管理系统使用简单,让使用者不会觉得很难操作,大大缩短了员工的工作量,是一个不错的系统。 关键词:数据管理;J2EE;MYSQL;JSP
4、 ABSTRACT Graduation thesis topic titled - customers dining management system design and implementation, I visited several restaurants. For their operation mode and management mode, analysis. Eventually determine a set of related systems. Using the most effective technical means, the an
5、alysis of the perfect design, good user interface. Design the customer satisfaction of the customer dining management system. Customers dining management system structure is simple, design is simple, clear, customers can quickly grasp and use. It is divided into three modules, the system administra
6、tor, the attendant and cashier. According to the operation of the restaurant is the most common, design such as the order and pay, members, etc. Internet era, the catering industry is more and more competitive now, a lot of people are using modern network technology to manage the restaurant, becaus
7、e it is very effective and convenient. According to the function of the comprehensive analysis of several restaurants need, using Windows 7 system as a server platform, adopting J2EE + JSP + MYSQL development mode, using MYSQL as a database of data storage system, use MyEclipse as a development too
8、l, the realization of ultimate customers dining management system design and implementation. Customers dining management system is simple to use and let the user won't find it difficult to operate, greatly shorten the workload of staff, is a good system Key words: Data management Information manage
9、ment; J2EE; MYSQL;JSP 目录 摘 要 I ABSTRACT II 1 绪论 1 1.1 项目背景 1 1.2 研究意义 1 1.3 相关领域介绍 1 1.4 本系统概述 2 1.5 本文的主要内容 2 2 顾客就餐管理系统分析 3 2.1 系统需求分析 3 2.1.1 系统功能概述 3 2.2 系统可行性分析 4 2.3 业务流程图 5 2.4 业务流程分析 5 3 系统设计概要 6 3.1 系统物理环境配置 6 3.2 系统概要设计 6 3.3 数据库设计 8 3.3.1 模型设计
10、 8 3.3.2 数据库表设计 9 4 详细设计 13 4.1 登录界面设计 13 4.2 餐桌管理 14 4.3 办理会员卡 15 4.4 会员卡管理 16 4.5 为顾客点餐 17 4.6 顾客点餐记录查询 18 4.7 为顾客结账 19 5 系统测试 21 5.1 测试模块 21 5.1.1登录模块 21 5.1.2 数据长度,类型测试 21 5.1.3 数据删除测试要点 21 5.2 测试用例 21 5.2.1 用户登录测试用例 21 5.2.2 修改会员卡信息 22 5.2.3 删除会员卡测试 22 5.2.4
11、添加餐桌测试 22 5.2.5 添加菜单测试 23 总结 24 参考文献 25 1 绪论 1.1 项目背景 社会在发展,科技在发展,如果你不跟上,迟早会被淘汰,每行每业都是如此,我们在不停的学习中成长,在借鉴中壮大。餐厅看似和软件没有关系,其实当今社会不论是哪个行业之间,她们或多或少会有些关系。特别是物联网时代的今天,几乎每一个行业都和物联网有关。物联网已经走进了人们生活的每一个角落。 作为一家餐厅,你想好发展就必须和互联网结合起来,才能够在市场中生存下来,许多餐厅都是采用软件来管理商品的进、销、存,这样比起原始的管理方式大大提高了效率和质量。 餐厅想要迅速
12、发展,跟上时代潮流很重要,让顾客消费感受到高、大、上,这样回头客的几率将会大大提升。因此在这样的形式下各种各样的餐厅管理系统应运而生。 1.2 研究意义 很多小型的餐厅记账方式还是采用手工的方式进行的,这对于小型餐厅来说并没有什么影响,可是稍大点的餐厅,还采用这种方式,那么就不合适了。这种方式有很多的漏洞,管理账目常常会出现问题,特别是有胆大的不法分子从中渔利。这样对于企业来说损失非常大。随着餐厅的日益壮大,以前的管理方式越来越不适合餐厅的管理和运营了,为了高效的管理数据和提高管理模式。餐厅就需要有一套自己的管理系统,对员工进行管理,对菜单、餐桌、会员、点餐、结账进行管理。员工经过这样
13、一套系统,能够很方便的对顾客进行点餐,结账,节省了员工很多工作量。这样对于加强餐厅的竞争力起到很大的作用。 当前餐饮业的竞争是非常大的,吃饭是个大问题,民以食为天,因此许多餐厅在这方面下了不少的功夫,可是有时候却收效甚微。可是有了这样一套管理软件将会大大提高餐厅的档次,给餐厅带来更多的收益。 1.3 相关领域介绍 经济发展了,人们有钱了,去餐厅用餐成为了时尚,很多城市大街小巷都开满了各种各样的餐馆。大家都会挑选最时尚,最高大上的餐厅去消费,这样也显得自己也很有面子和身份,因此为了餐厅在餐营业占有一席之地,很多餐厅都有自己一套管理系统。 各行各业最早都是在纸质上手工记录数据,餐饮业也不
14、例外。这种方式记录数据存在很多问题。 小企业问题还不是很明显,大企业,一旦数据过大,就会出现数据冗余,出错率高,查找困难,每次查找都需要耗费不少人力物力,而且容易丢失数据,如果数据丢失,对企业会造成很大的损失。总之,这种原始的方式效率非常低,不易管理。随着科技的发展,计算机技术和网络的发展,人们就想到了利用计算机来管理数据,这样大大的提高的数据的安全性和管理效率。 当前国内外有许多这样的餐厅管理系统,采用的设计模式可能各种各样,可是功能都是大同小异。就是对数据库进行操作,删除,修改,添加。利用数据库技术对数据进行统一管理,进而满足用户的需求。 本顾客就餐管理系统有三个子系统,管理员系统、
15、服务员系统和收银员系统。三个子系统各有分工,对餐厅进行合理的管理,提高餐厅的工作质量和效率。 1.4 本系统概述 本系统是基于java的餐厅管理系统,设计这样一个系统就是为了能够高效、便捷的管理餐厅,能够非常快速的为顾客提供服务,病令顾客满意。经过顾客就餐管理系统,我们能够做到这些。满足了餐厅的需求。 顾客就餐管理系统是在Win7操作系统上完成的额,采用J2EE + MYSQL + JSP的开发模式,利用MYSQL作为系统数据存储的数据库, MyEclipse为程序开发工具。 系统界面简单明了,首页是登录界面,有三种身份登录。管理员有管理员的账号登录,服务员有服务员的账号登录,收银员
16、有收银员的账号登录。管理员对餐厅的餐桌,对餐厅的菜单和会员进行添加和管理。服务员为顾客点餐,为顾客顾客预约餐桌。收银员为顾客结账等等。 1.5 本文的主要内容 第一章绪论主要阐述了顾客就餐管理系统的项目背景、研究意义、相关领域介绍和对本系统的概述以及本文的主要内容。第二章就顾客就餐管理系统进行分析,主要包括:系统需求分析、系统可行性分析、业务流程图、业务流程分析。第三章是系统设计概要,就系统物理环境配置、系统概要设计、数据库设计进行描述。第四章详细设计,本章节摘用系统源代码进行详细的分析,主要描述了本系统的一些功能界面。比如:登录界面设计、餐桌管理、办理会员卡、会员卡管理、为顾客点餐、为
17、顾客结账等等。第五章阐述在完成顾客就餐管理系统过程中进行的测试用例。 2 顾客就餐管理系统分析 需求分析,需求分析是很重要的一个过程,只有了解了需求,我们程序员才能够尽量的去满足客户的需求,如果在不知道需求的情况下就去做产品,那样做出的产品再好也没有用,因为那可能不是客户所需要的。因此最先就应该了解餐厅的日常业务流程,然后确定我们需要做什么样的功能。 2.1 系统需求分析 我走访了多家餐厅,了解她们的运营方式,向她们的工作人员了解情况,从而确定她们的需求。然后整理分析,确定整个系统的业务流程,发现其中的问题,想出具体解决方案,尽量满足客户需求。 了解了餐厅的需求和运营
18、模式之后,我们才能够有效的满足客户的需求,如果不了解客户的需求,不对客户的需求进行分析,就开始开发,那很可能做一些无用功,最后没有满足用户需求,客户不满意那就出大问题了。因此需求分析是必不可少的。 2.1.1 系统功能概述 本管理系统主要完成了一下功能,包括:餐馆经营菜单管理,添加和删除修改菜单;会员卡管理模块:添加、修改和删除会员;订餐模块:为顾客订餐;点餐消费模块:为顾客点餐,和添加菜品;结算模块:为顾客结账。查询账单,查询顾客点餐,查询会员等功能。 具体功能描述如下。 1. 员工权限管理 本系统分为三中身份,管理员,服务员,收银员,每个模块的操作基本相同,就是对数据进行添加、
19、修改和删除。 2.经营菜单管理 菜单管理,对餐厅的菜单进行添加,删除,和修改以及查询。 添加:添加菜品名,菜品单价等。 删除:直接能够删除 修改:对菜品进行适当修改。 查询:统过商品编号、商品名称进行查询菜单,显示出具体信息。 3. 餐桌管理 餐桌管理,对餐桌进行添加,删除,和修改。 添加:添加餐桌编号。 删除:直接删除。 修改:修改餐桌编号 4.会员卡管理 会员管理主要是对会员进行添加、删除、
20、修改、和查询。 添加:填写会员卡号、会员姓名、电话、身份证等。 删除:直接删除。 修改:对会员的相关信息进行修改 查询,根据会员卡号,姓名,身份证号等查询会员 5.就餐预定管理 能够经过电话等方式让服务员帮助客户预定餐桌,点菜等等。这样顾客到了时间点,就能够直接进行用餐,而不会耽误顾客的时间。给顾客良好的就餐体验。 6.顾客消费管理 顾客经过服务员进行点餐,加点菜品等等。这样点了餐之后,能够经过餐桌进行查询顾客点的所有菜品等其它商品。 7.消费结算 收银员根据餐桌编号进行查询,查出该餐桌一共消费了多少菜品和其它商品。然后进行统一结算。 2.2 系统可行性分析 本系
21、统我采用了java语言进行开发,数据库用的是MYSQL数据库,MYSQL免费,开源,轻量型,运用比较广。我采用JSP插入java代码的方式进行的,这种最原始的方式。JSP底层是SERVLET。 java语言是SUN公司开发的一门面向对象的编程语言,Java语言具有很强大的库,给我们提供了很多方法,让我们编程更加简单,方便快捷,大大缩短了我们开发软件的周期,在过去的十几年中,java语言一直是比较流行的语言,运用在很多的软件中。 JSP是配合java而诞生的一门技术,一般只是作为view层。可是本系统不是如此,我还在JSP中插入了大量的java代码,作为后台控制作用去连接数据库。 我所开发
22、的这个系统是一个小型的系统,因此对于这种在JSP中插入java代码的最原始的开发方式对系统的影响不会太大,系统功能很少,需要交互的地方也很少,最多的就是和数据库进行交互,对数据进行存储修改和删除。 2.3 业务流程图 图2-1 系统业务流程图 2.4 业务流程分析 根据2.3章的业务流程图我们能够清晰的看出各个成员之间的关系,我们做每一件事之前,首先就应该理清她们之间的逻辑关系,才能够合理的,准确的做出想要的结果。理清了业务流程就能够按部就班的按照流程去实现各个功能和需求。这给我们工作带来了许多便捷,使我们在工作过程中不会像没头苍蝇一样。 系统设计之前,要对系统的需求进行分析。
23、分析成员之间的关系,把她们相关活动和流程清晰的制定出来。最终设计出流程图。 3 系统设计概要 3.1 系统物理环境配置 系统硬件平台的配置:CPU:Intel Core(TM)i5-3230M ,内存:4GB ,硬盘:500GB,基本的输入、输出设备。 系统软件平台的配置:操作系统:Win7,数据库软件:MYSQL,系统开发软件:MyEclipse。 3.2 系统概要设计 本系统用的是java语言来编程的,经过在JSP中插入java后台代码来访问数据库,数据存储是用MYSQL,MY数据库体积小,开源,成本低,因此很多小型企业非常喜欢用这
24、种数据库来开发。根据对餐厅的调查和分析,我设计了顾客就餐管理系统。这个系统结构清晰,模块划分明确,每个模块都有人对她进行操作和管理。正真做到了满足用户的需求。一下是本系统的一些功能模块介绍: 1.员工权限管理:这个权限管理是直接在数据库添加的,可是管理员登录后能够自己修改密码,对用户进行修改。 2. 经营菜单管理:对菜单进行添加、删除、修改、查询等操作。 3.会员客户管理:对会员进行添加、删除、修改、查询等。 4.座位预定管理:包括添加顾客预订单信息,查询顾客预订单,删除顾客预订单等。 5.顾客消费管理:查询出顾客的消费情况。 6.消费结算:查询出顾客的消费情况,然后为顾客结账
25、 本系统详细功能模块图如图3-1,3-2,3-3所示。 图3-1 管理员功能结构图 图3-2 服务员功能结构图 图3-3 收银员功能结构图 3.3 数据库设计 3.3.1 模型设计 在数据库设计的时候,我们首先要明白每一个实体与实体之间的关系,分析它们是一对多,一对一,还是多对多的关系,哪些表之间有主外键关系或者级联关系。只有弄清楚这些,我们才能够顺利的设计出数据库表,然后编写SQL语句。 最常见的概念性数据模型就是E-R模型。 图3-4 餐桌实体图 图3-5 用户实体
26、图 图3-6 经营菜单实体图 图3-7 会员卡实体图 图3-8 账单信息实体图 图3-9 账单明细实体图 3.3.2 数据库表设计 以下是数据库表设计: 表3-1、 系统用户信息表 (AdminInfo) 字段名 类型 长度 主键 为空 默认值 自增 备注 ID int 8 YES 不为空 1 自增长 ADName varchar 32 不为空 用户账号 ADPass varchar 32 不为空 用户密码 ADFlag int 8 不为空 0 权限标识
27、 表3-2 餐桌信息表(TableInfo) 字段名 类型 长度 主键 为空 默认值 自增 备注 ID int 8 YES 不为空 1 自增长 CNo varchar 32 不为空 餐桌编号 State Int 8 不为空 0 使用状态 表3-3 会员信息表(MemberInfo) 字段名 类型 长度 主键 为空 默认值 自增 备注 ID int 8 YES 不为空 1 自增长 UserFlag int 8 不为空 0 会员级别ID UNo varch
28、ar 32 不为空 会员卡编号 UName Varchar 32 不为空 会员名字 UCardID varchar 32 不为空 身份证号码 AllPrice float 8 不为空 账户余额 UPhone varchar 32 不为空 电话 addtime DateTime 不为空 GetDate() 办卡时间 表3-4 会员级别表(UserFlag) 字段名 类型 长度 主键 为空 默认
29、值 自增 备注 ID int 8 YES 不为空 1 自增长 UFName Varchar 32 不为空 级别名称 UFContent Varchar 300 不为空 级别备注 UFAgo int 8 不为空 0 会员折扣 表3-5 帐单信息表(OrderList) 字段名 类型 长度 主键 为空 默认值 自增 备注 ID int 8 YES 不为空 1 自增长 OrderNo Varchar 32 不为空 帐单编号 UID int 8
30、 不为空 0 会员ID CID Int 8 不为空 0 就餐桌位 FAgo float 8 不为空 0 会员折扣 BegTime DateTime 不为空 Getdate() 点餐时间 EndTime DateTime 不为空 结账时间 AllPrice Float 8 不为空 0 总价 表3-6 消费明细表(ObjectList) 字段名 类型 长度 主键 为空 默认值 自增 备注 ID int 8 YES 不为空 1 自增长 O
31、rderNo Varchar 32 不为空 帐单编号 OInfoNo Varchar 32 不为空 消费明细编号 ObjName Varchar 32 不为空 菜单商品名称 Objprice float 8 不为空 单价 ObjCount int 8 不为空 消费数量 OICont Varchar 300 不为空 备注说明 表3-7 消费表 (xiaofeiInfo) 字段名 类型 长度 主键 为空 默认值 自增 备注 ID int
32、8 是 不为空 1 自增长 TabID int 8 不为空 就餐桌位 ObjID int 8 不为空 菜单ID ObjCount int 8 不为空 数量 State int 2 不为空 状态 表3-8 经营菜单商品表 (ObjectInfo) 字段名 类型 长度 主键 为空 默认值 自增 备注 ID int 8 是 不为空 1 自增长 ObjName Varchar 32 不为空 菜单名称 price float 8 不
33、为空 0 单价 ObjCont Varchar 300 不为空 备注说明 表3-9 预定信息(BookingList) 字段名 类型 长度 主键 为空 默认值 自增 备注 ID int 8 是 不为空 1 自增长 BookNO varchar 32 不为空 预订单号 UName Varchar 32 不为空 会员名字 UPhone varchar 32 不为空 电话 BookContent varchar 300 不为空 就餐备注
34、BookTime Varchar 32 不为空 就餐时间 state int 8 不为空 状态 addtime DateTime 不为空 GetDate() 预定时间 4 详细设计 4.1 登录界面设计 顾客就餐管理系统有三种身份,选择一种,输入账号和密码,点击确认,就能够成功登陆某个子系统。如图4-1所示 图4-1 系统用户登录 用户只有输入对应的账号和密码才能够正常登陆成功,否则
35、就会提示登陆失败按钮控件组合实现用户权限的选择、控件实现用户名和密码框的输入内容,点击””按钮执行事件,确认是不是输入了正确的登陆信息。 正确 不正确 选择用户权限输入账号和密码 提示用户名和密码错误 登陆成功 验证用户名和密码是否正确 管理员用户 图4-2是登陆流程图:
36、 图4-2 登陆流程图 4.2 餐桌管理 管理员能够对餐桌进行管理,修改或者删除。修改会跳到修改页面,删除就会直接删除,如图4-3 所示 图4-3 餐桌管理 页面加载创立SQL查询语句,从数据库中获取当前存储的餐桌信息,并经过循环遍历显示到页面中。 图4-4是餐桌管理流程图: 查询出所有的餐桌 选择操作 修改 删除 跳转到修改页面 直接删除 图4-4 餐桌管理流程图 4.3 办理会员卡 管理员用户登录系统后,如果有顾客需要办理会员卡业务,就能够在办理会员卡界面为顾客办理会员卡,
37、如图4-5所示 图4-5 办理会员卡 管理员点击办理会员卡,然后输入表单信息,点击保存。就能够添加会员了,这些数据会被保存到数据库中存储下来。 页面经过点击调用按钮执行保存操作,首先经过调用ck()方法,验证用户是否完整输入顾客会员卡信息,以及验证输入的信息是否符合条件。 符合添加条件后,经过执行
©2010-2025 宁波自信网络信息技术有限公司 版权所有
客服电话:4009-655-100 投诉/维权电话:18658249818