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