1、 本 科 毕 业 设 计 第 1 页 共 36 页 摘 要 随着我国市场经济的快速发展 , 餐饮业的发展尤为突出 , 但在快速发展的同时,餐饮业在日常经营管理中仍普遍采用手工管理方式, 所以迫切需求专业的计算机 信息系统的 运用和普及。食色无双餐饮管理 系统主要使用 Java 语言,通过线程的方法实现登录界面的闪屏,采用 MyEclipse 平台进行图形界面的开发减少 Swing 代码的复杂度, MYSQL作为数据库,通过 JDBC 进行数据库的连接,并通过 SQL 语句进行数据的增删改查操作进行数据的存储,提高系统的运行速度。 系统主要包括用户的权限登录 、 职员的人事管理 、 餐谱管理 、
2、 成本管理 、点 餐、结账和报表统计 。系统最大的优势在于可以实现点餐和结账功能,节省了员工大量的劳动力,并且方便和快捷,管理员可以方便的记录餐谱和成本利润的数据信息,并且能够及时在系统中做好工作日志的记录。 系统的 使用能使餐饮管理变得轻松、高效,顾客也能够体会到更加人性化的服务。 关键词 餐饮管理 信息系统 Java MYSQL 1 引言 随着改革开放以来我国的快速发展 ,人民的生活水平 有了 迅速 的 提高, 这也 致使 了我国 的传统行业 餐饮业 得到了强大的 发展 动力 , 据有关方面的统计,餐饮业的增长率要比其它行业高出十个百分点以 上 , 这说明了 我国正迎来 了 一个餐饮业 高
3、速 发展的时期,市场潜力巨大,前景非常广阔 。当然, 餐饮需求又是复杂多变的,其消费口味和消费心理,都可能随着社会环境的变化而变化 。传统餐饮企业是靠人工管理的,从 进货到点餐 ,再 到结账 都是 由人工完成 的 ,这样做不仅 人力耗费大,客人等待时间长 而且容易导致 数据丢失遗漏 或重复 劳动 等 诸多问题 , 那么其管理水平也就相对低下了 。这就迫切需要标准 了。 如果 通过 运用 计算机管理企业的日常运作 的话 , 高效的计算机管理方式引导其发展, 给管理者以 快捷的 标准 ,来不断完善管理水平, 讲 提高 相当大的日常 工作效率。 在现实 生活中 ,依靠人工管理日常运作的传统餐饮企业
4、已经 显露 出来了颓势 ,计算机进入餐饮企业 进行管理已经 成为 大势所趋的事情 。 健全餐饮业的 现代化 模式 , 利用计算机管理管理系统对饭店的各种信息进行 处理 ,就可以使杂乱的业务数据具体化 ,使混乱的资本 科 毕 业 设 计 第 2 页 共 36 页 源 合理化 ,使模糊的流程 直观化 , 并且 可以 随时了解饭店的经营情况 1。 目前国内的 餐饮企业 就得 根据自身条件和环境条件的 客观 要求,看清餐饮市场的发展趋势,选择 现代化 的营销方法, 以此作为迈向辉煌的起点。 食色无双餐饮管理系统主要是对餐饮日常工作的管理, 收银员可以进入结账界面进行对客户点餐和结账的 工作,包括对不同
5、桌号的分别管理,极大的节省了工作的劳动力 。管理人员可以不仅可以进入结账界面,还可以进入管理界面,包括菜谱管理模块,及时更新菜谱信息;成本管理模块可以记录原料的成本和每种商品的利润,方便老板对经营状况的掌握,有助于经营策略的调整;还有人事管理模块,可以对人事的调动进行管理,以列表的形势展开,让人一目了然。 还有一些人性化的功能,比如万年历的功能,工作人员不仅可以在里面查询日期,还可以随时记录当次的工作日志和其他重要信息 。 如此这般,将会大大降低网管的劳动强度并且提高工作人员的效率。 食色无双餐饮管 理系统开发的总体目标是实现餐饮管理的系统化、规范化、自动化和人性化,以此来减少 餐饮 管理的工
6、作量 2,为 餐厅 提供 方便 便捷的管理 技术 手段,同时以其人性化的功能 需求 来吸引顾客。 本 科 毕 业 设 计 第 3 页 共 36 页 2 系统技术介绍 食色无双餐饮 系统采用 MyEclipse 作为开发工具,用 JAVA 语言和 JDBC 技术等实现程序开发,用 MYSQL 作为后台数据支持。 以前对这些技术、工具及语言只是了解,对其内部的一些东西都不是很清楚现在有了更系统的认识 。下面对这些技术进行详细的介绍。 2.1 JAVA 程序语言 Java 程序设计语言是新一代语言的代表,它 强调了面向对象的特性,可以用来开发不同种类的软件, 在结构上, Java 语言开始 于 包
7、, 包是 Java 语言的命名空间机制 , 包内是类,类方法,变量,常量 等等, Java 源代码是区分大小写的 , Java 关键字总是小写 , 同时 它具有支持图形化的用户界面、支持网络以及数据库连接等复杂的功能 3。 Java语言主要有以下特点 : a) 易于学习 Java 语言很简单。这里所说的简单,主要是针对熟悉类似 C+语言的程序设计人员来说的, Java 语言是一个 C 语言的衍生工具,所以它的语法规则看上去很像 C 的:例如,模块化方法和分隔代码块大括 号( 和 ),变量的声明在使用它们之前 ,意见之前,在一条线上的两个斜线( / /) / *和 * /多行之间或封闭。当编译器
8、看到它忽略了 / / / /在同一行后的所有文字。 / *当它看到,它会扫描下一个 * / / *和 * /之间忽略任何文本。 但 是它摒弃了 C+中许多低级、困难、容易混淆、容易出错或不经常使用的功能,例如运算符重载、程序的预处理、结构、多重继承以及其他一系列内容, 特别地, Java 语言不使用指针,并提供了自动的废料收集,使得程序员不必为内存管理而担忧。 这样便使其比其他许多编程语言更有利于有程序设计语 言基础的 Java 语言初学者的学习。 b) 高效率的执行方式 用 Java 语言编辑的源程序的执行方法是采用先经过编译器编译、再利用解释器解释的方式来运行的。它综合了解释性语言与编译语
9、言的众多优点,使其执行效率较以往的程序设计语言有了大幅度的提高。 c) 与平台无关性 Java 不同于一般的编译执行计算机语言和解释执行计算机语言。 Java 源程序经过编译器编译,会被转换成一种我们称之为 “字节码( bytecodes) ”的目标程序。 “字节码 ”本 科 毕 业 设 计 第 4 页 共 36 页 的最大特点便是可以跨平台运行,正是这一特性成为 Java 得以迅速普及的重要原因 。 输入是 Java 源代码和输出的是 Java 字节码 , javac 是 JDK 的命令来编译程序。 java 的 JDK命令来运行程序。 它首先将源代码编译成二进制字节码 (bytecode)
10、,然后依赖各种不同平台上的虚拟机来解释执行字节码,从而实现了 “一次编译、到处执行 ”的跨平台特性。不过,每次的编译执行需要消耗一定的时间,这同时也在一定程度上降低了 Java 程序的运行效率。但在 J2SE 1.4.2 发布后, Java 的执行速度有了大幅提升。 d) 分布式 所谓的分布式主要是指数据分布和操作分布两层意思,数据分布是指数据可 以分散在网络中不同的主机上,操作分布是指把一个任务分散在不同的主机上进行处理。 Java语言支持 Internet 应用的开发,在基本的 Java 应用编程接口中有一个网络应用编程接口( ),它提供了用于网络应用编程的类库,包括 URL、 URLCo
11、nnection、 Socket、 ServerSocket 等。 Java 的 RMI(远程方法激活 )机制也是开发分布式应用的重要手段。 e) 多线程 在 Java 语言中,线程是一种特殊的对象,它必须由 Thread 类或其子(孙)类来创建。通常有两种方法来创建线程:其一,使 用型构为 Thread(Runnable) 的构造子将一个实现了 Runnable 接口的对象包装成一个线程,其二,从 Thread 类派生出子类并重写 run方法,使用该子类创建的对象即为线程。值得注意的是 Thread 类已经实现了 Runnable接口,因此,任何一个线程均有它的 run 方法,而 run 方
12、法中包含了线程所要运行的代码。线程的活动由一组方法来控制。 Java 语言支持多个线程的同时执行,并提供多线程之间的同步机制(关键字为 synchronized) 4。 f) Java 语言是一个面向对象的 Java 语言提供类 、接口和继承等原语,为了简单起见,只支持类之间的单继承,但支持接口之间的多继承,并支持类与接口之间的实现机制(关键字为 implements)。 Java语言全面支持动态绑定,而 C+ 语言只对虚函数使用动态绑定。 面向对象编程( OOP),语言的功能支持的概念是基于 Java 语言的编程范式。 总之, Java 语言是一个纯的面向对象程序设计语言。 Sun 公司对
13、Java 编程语言的解释是: Java 编程语言是个简单、面向对象、分布式、解释性、健壮、安全与系统无关、可移植、高性能、多线程和动态的语言。 Java 语言由于语言 简单、语言健壮安全性高、面向对象编程等众多优点,一经推出就受到广大程序本 科 毕 业 设 计 第 5 页 共 36 页 人员的热捧,成为当今 IT 行业中编程用的主流语言。 JVM 是 Java 字节码解释器解释。并且 可以用来开发动态网页。从 Web 浏览器上运行的 Java 程序,被称为“小程序。 Java小应用程序必须嵌入在 HTML 文件使用 标签。 目前已看到 Java 对信息时代的重要作用,未来还会不断发展, Jav
14、a 在应用方面将会有更广阔的前景。 2.2 MyEclipse 开发平台 MyEclipse 由 Genuitec 公司 Eclipse 基金会 的创始成员 创建和维护 的 。 MyEclipse是 Eclipse平台中,集成了既专有的和开放的的源解决方案到开发环境中。MyEclipse 是最全面的 Java EE / J2EE IDE 建立在开源的 Eclipse 平台 MyEclipse 中有两个主要的版本:一个专业和标准版。标准版增加了数据库的工具,可视化网页设计师,持久性工具,以及一些基本的 Eclipse 的 Java 开发人员配置等功能。MyEclipse 是一个完全独立的项目,并
15、提供了不同的功能集。 MyEclipse 结合 了当 今最具创新性的开放标准的技术(包括 Eclipse 平台)提供 的 J2EE WEB, XML, UML 和数据库和一个宽阵列的应用服务器连接器简化开发,部署,测试和开发环境 的 开放标准。开放标准的支持 与 整合远远超过 了其他软件, 即使是最强大的商业工具,如 IBM 的Rational。 MyEclipse 中也取得了可通过 Pulse (ALM), 保持 Eclipse 软件的配置文件,包括那些使用 MyEclipse的配置工具。此外, MyEclipse是 IBM 产品,提供定制的版本 “MyEclipse的蓝版 ”, Ratio
16、nal软件 和 WebSphere 开发,增加了具体的支持。 MyEclipse 可以访问免费 的 在线支持 系统 (众多客户的认可,在同行业中最好的),除了全面的教育材料, 还 包括演示,教程,用户库论坛和常见问题解答贡献的信息, 而且 不是基于社区的支持,而是专业工作人员的支持 。 2.3 MYSQL 数据库平台 MYSQL 是一个关系型数据库管理系统, 比普通的数据库更加的人性化, 关联 的 数据库将数据保存在不同的表中,而不是将所有数据放在一个大的仓库内。这样就增加了速度并提高了灵活性 5。 MySQL的 SQL 指得是 “结构化查询语言 ”。 SQL 是用于访问数据库的最常用标准化语
17、言,它是由 ANSI/ISO SQL 标准定义的。 MySQL 也是最流行的开放源码 SQL 数据库管理系统, 在 2013 年 4 月份各数据库在市场的占用率 中, MySQL列为第二,仅次于 Oracle 数据库。 它是由 MySQL AB 公司开发、发布并支持的。 MySQL 本 科 毕 业 设 计 第 6 页 共 36 页 AB 是由多名 MySQL 开发人创办的一家商业公司。它是一家第二代开放源码公司,结合了开放源码价值取向、方法和成功的商业模型 ,。现 被甲骨文公司收购。 数据库是数据的结构化集合。它可以是任何东西, 从简单的购物清单到画展,或企业网络中的海量信息。要想将数据添加到
18、数据库,或访问、处理计算机数据库中保存的数据,需要使用数据库管理系统,如 MySQL 服务器。计算机是处理大量数据的理想工具,因此,数据库管理系统在计算方面扮演着关键的中心角色,或是作为独立的实用工具,或是作为其他应用程序的组成部分。 MYSQL 在主流数据库里面比较小巧、实用、性能比较高。 MySQL 软件提供了十分快速的多线程、多用户、牢靠的 SQL(结构化查询语言)数据库服务器。 MySQL 服务器定位于任务关键型、重负荷生产系统,并能嵌入在大量部署的 软件中。 最多能够降低90的总体拥有成本( TCO),性能和可伸缩性 , 易于使用和管理 ,拥有较高的 可靠性和广泛的平台支持,并且 可
19、以 集成到 Windows 环境 。 MYSQL 为多种编程语言提供了 API,方便了代码的移植。不仅如此, MYSQL 支持多线程,充分利用了 CPU 资源。虽然相对于其他数据库比较小巧,但也可以处理上千万条记录, MySQL 服务器可以连接含 5 千万条记录的数据库。不仅如此,有些用户将 MySQL 用于含 60000 个表和约 50 亿行的数据库。每个表可支持高达 64 条索引(在MySQL 4.1.2 之前为 32 条)。每条 索引可由 1 16 个列或列元素组成。 所以功能上基本满足了大部分软件,更因为其开发成本比较低 ,经济实用,尤其适合于中小型软件开发 。 MYSQL 具有 十分
20、灵活和安全的权限和密码系统,允许基于主机的验证。连接到服务器时,所有的密码传输均采用加密形式,从而保证了密码安全。 在任何平台上,客户端可使用 TCP/IP 协议连接到 MySQL 服务器。在 Windows 系统的 NT系列中( NT、 2000、 XP 或 2003),客户端可使用命名管道进行连接。在 Unix系统中,客户端可使用 Unix域套接字文件建立连接 6。 2.4 JDBC 简 介 Java 数据库连接 ,( Java Database Connectivity,简称 JDBC)是 Java 语言 中用来规范 客户端 程序如何来访问 数据库 的 应用程序接口 ,提供了诸如查询和更
21、新数据库中数据的方法。 使用这些接口和类, Java 客户端程序可以访问各种不同类型的数据库。比如建立数据库连接,执行 SQL 语句进 行数据的存储操作。 JDBC 也是 Sun Microsystems 的本 科 毕 业 设 计 第 7 页 共 36 页 商标 。它 JDBC 是面向 关系型数据库 的。 JDBC 工作在 Java 的各种平台,如 Windows,Mac OS 和各种版本的 UNIX。 在 J2SE 中,提供了一个称之为 JDBC-ODBC 桥( JDBC-ODBC Bridge)的 API。通过 ODBC, JDBC-ODBC 桥 驱动程序 可以访问所有支持 ODBC 的关
22、系型数据库。与 JDBC API 不同的是,这个驱动程序并不是由 Java 代码而是由 机器码 ( native code)编写,并且不是 开放源代码 的 。 JDBC 驱动程序 由各个数据库厂家根据 JDBC 的规范制作的 JDBC 实现类, 共分四种类型: 类型 1: JDBC-ODBC 桥类型 , 2:本地 API 驱动类型 , 3:网络协议驱动类型 ,4:本地协议驱动 7。 JDBC API 是一个 Java API,可以访问任何类型表列数据,特别是存储在关系数据库中的数据。 JDBC API 主要位于 JDK 中的 java.sql 包中(之后扩展的内容位于 javax.sql包中)
23、,主要包括(斜体代表接口,需驱动程序提供者来具体实现) 。 JDBD 规范采用接口和实现分离的思想设计了 Java 数据库编程的框架。本 科 毕 业 设 计 第 8 页 共 36 页 3 需求分析 3.1 系统 的任务 目标 食色无双餐饮 管理系统,目的在于减少人力劳动,提高自动化程度。 根据客户的需求和可行性研究结果, 系统分为 员工 和管理员两类权限。 员工 可以 通过收款界面 进 行 点餐和 结账 ,并 分别对年,月,日的 销售记录的统计 。管理员用户 不仅可以拥有员工用户的权限,还 可以录入新的员工信息和实现员工信息的管理,可以通过菜谱管理功能更新菜谱的信息 ,可以实现成本的记录与修改
24、 。系统能够满足中小型餐饮店铺的日常管理需求。 3.2 功能需求 本课题是针对中小型 餐厅 的 餐饮 管理系统,目的在于减少人力劳动,提高自动化程度。该系统 主要包括 餐厅 的 人事管理 , 菜谱管理 , 成本管理 , 点餐和结账 , 附带工作记录的万年历 , 报表统计 管理等 功能 。 根据系统的需求分析,本系统 管理员 模块 分成以下主要功能模块: a ) 系统 登 录模块: 包括开始的闪屏效果, 主要功能是实现 登录窗口,根据用户的权限来决定主窗口可用的功能 。 b ) 菜谱管理 模块 :主要功能是 实现 菜谱的更新,修改,删除,添加,显示详细信息,统计菜品数目,按编号,名称,类别进行查
25、询数据,并可以按类别分别显示数据。 c ) 人事 管理模块 : 主要功能是实现员工的更新,修改,删除,添加,显示详细信息,统计员工数目,按员工号,姓名或者职位进行查询数据。 d ) 成本管理 模块 : 主要功能是实现原材料成本的更新,修改,删除,添加,显示详细信息,统计数据数目,按编号或名称进行查询数据。 e ) 登录管理模块: 主要功能是实现具有登录权限的员工的查询和密码修改。 f ) 万年历 模块:主要功能是实现 日期的查询,可以对任何日期进行查询,并可以在任意日期中记录当天的工作日志和重要事项 ,并可以删除无用日志 。 g )系统设置模块:重要功能是实现切换用户和切换到收款界面。 本系统
26、 收银员 模块 分成以下主要功能模块: a ) 台号 模块 : 主要功能是实现 对餐厅座位的添加和删除 。 本 科 毕 业 设 计 第 9 页 共 36 页 b ) 点餐 模块 : 主要功能是实现 对不同座位的点餐服务,将点餐的座位号和所点菜名分别显示在开台列表和签单列表中,并记录开台时间 。 c ) 结账模块 :显示消费金额,实收金额和找零金额,完成结账的功能。 d ) 统计模块: 对年,月,日的销售记录分别进行统计。 3.3 数据字典 餐饮 管理系统的数据字典如表 3.1 所示。 表 3.1 餐饮 管理系统的数据字典 表名 描述 包含的信息 菜谱信息 菜谱的相关 信息 编号、菜名、价格、原
27、料、备注、折扣。 登录信息 人员的登录权限信息 员工号 、 姓名、职位、密码。 人事资料 员工的人事 信息 员工号、姓名、性别、职位、年龄、身份证号、出生日期、学历、籍贯、住址、婚否。 成本信息 原材料的成本信息 编号、 名称、原料价、售价 、利润、净利润、备注。 报表 信息 已消费的报表信息 编号、报表编号、菜品编号、数量、 付款金额 。 报表记录 已消费的报表记录 报表 编号、 台号 、结账时间、付款金额。 菜单信息 点餐时餐单的显示信息 编号、 类别编号 、 菜名 、 助记码 、 单位 、 价格 、 状态 台号 信息 座位号的信息 编号、 座位号。 类别信息 菜名的相关类别信息 编号、
28、类别 名称、 状态。 本 科 毕 业 设 计 第 10 页 共 36 页 4 系统概要设计 4.1 系统实现方案 4.1.1 系统设计思想 食色无双 管理 系统主要完成 餐饮 管理中 人事 和菜谱 信息 的 管理 ,点餐,结账功能的实现。 包括 对人事和菜谱 信息 的编辑操作,为此系统必须 有 能够维护 这些 信息的数据表。与此同时还要维护各种辅助项目 的 信息,例如 菜谱信息 、 报表信息 、 人事信息 等。另外系统还要能够管理 餐饮 管理系统的 登录 用户信息等。 当 收银员 或者管理员系统登录系统时,程序分别从 已有的 登录 表 中读出用户名和密码,并检验该密码与用户 输入的密码是否匹配
29、,只有用户名在数据库中存在并且密码正确时,管理员 才能进入系统 ,而 收银员只能进入 收款 的界面,而不能进入主系统 。当管理员 需要查询 菜谱,人事和成本信息时,程序便 从数据库中读出相应的 记录 信息。 4.2 系统结构设计 4.2.1 系统结构设计 食色无双餐饮 管理 系统 分为管理员和收银员模块。 管理员模块具有 以下 功能: 登陆管理, 菜谱管理,人事管理,成本管理,万年历模块 。 收银员模块具有 以下功能:台号管理、点餐、结账、报表统计。 系统结构设计图如图 4.1 所示。 管 理 员登 陆管 理菜 谱管 理人 事管 理万 年历成 本管 理收 银 员点 餐结 账台 号管 理报 表统 计食 色 无 双 餐 饮 管理 系 统图 4.1 餐饮 管理系统结构图