1、 本科生毕业论文 (设计 ) 题 目: 基于 JAVA的餐饮管理系统 学生姓名: 学 号: 专业班级: 指导教师: 完成时间: 2011年 5月 1 1.3 本课题研究的目的及意义 酒店餐饮管理系统也是典型的管理信息系统( MIS),其开发主要包括后台 数据库的建立和维护以及前端应用程序的开发以及后厨等自动化管理这几个方面。该系统中,应用 SQL Server 2005数据库管理系统、 SQL语言原理、 JSP应用程序设计, JSP数据库技术 ,采用成熟的B/S(浏览器 /服务器端)结构,根据分析和讨论,实现酒店订餐管理,提供与用户交互的界面,完成酒店餐饮管理系统的设计和开发。 根据该系统的具
2、体情况,应能完成以下功能: (1)前台管理:开台管理、客人买单、结账数据分析; (2)基础信息管理:餐具信息设置、酒水信息设置、菜谱信息设置、房间台号管理、商品基础信息登 记; (3)服务管理:点菜、上单下单、退菜等; (4)系统管理:系统维护向导、权限管理、数据备份、帮助说明; 另外,酒店餐饮管理系统要确保信息安全,以系统安全为主要目标,保护系统资源免受恶意的毁坏、替换、盗窃和丢失。其系统资源包括:硬件设备、存储介质、软件、数据等。具体来说,应达到以下安全要求: (1)保密性,机密或敏感数据在存储、处理、传输等过程中要完全保密,确保仅授权用户在授权后才能进行查询、删除及修改等操作; (2)完
3、整性,保证系统中的信息处于一种完整和未损害的状态,防止因非授权访问,部件故障或其他人 为错误而引起的信息篡改、破坏或丢失。 (3)可靠性,必须保障系统在复杂的网络环境下能够提供持续、稳定、可靠的服务。 1.4 开发工具及相关技术 1.4.1 JAVA 程序开发技术 java 不仅是编程语言,还是一个开发平台, java 技术给程序员提供了许多工具:编译器、解释器、文档生成器和文件打包工具等等。同时 java 还是一个程序发布平台,有两种主要的 “2 发布环境 “,首先 java 运行时环境( java runtime environment,简称 JRE)包含了完整的类文件包,其次许多主要的浏
4、览器都提供了 java 解释器和 运行时环境。目前 Sun 公司把 java 平台划分成 J2EE、 J2SE、 J2ME 三个平台,针对不同的市场目标和设备进行定位。 J2EE 是 Java2 Enterprise Edition,主要目的是为企业计算提供一个应用服务器的运行和开发平台。 J2EE 本身是一个开放的标准,任何软件厂商都可以推出自己的符合 J2EE 标准的产品,使用户可以有多种选择 。 java 主要有以下 特性 1、 Java 语言是简单的。 Java 语言的语法与 C 语言和 C+语言很接近,使得大多数 程序员很容易学习和使用 Java。另一方面, Java 丢弃了 C+
5、中很少使用的、很难理解的、令人迷惑的那些特性,如操作符重载、多继承、自动的 强制类型转换 。特别地, Java 语言不使用 指针 ,并提供了自动的废料收集,使得程序员不必为 内存管理 而担忧。 2、 Java 语言是一个面向对象的。 Java 语言提供类、接口和继承等原语,为了简单起见,只支持类之间的单继承,但支持接口之间的多继承,并支持类与接口之间的实现机制( 关键字 为 implements)。 Java 语言全面支持动态绑定,而 C+ 语言只对 虚函数 使用动态绑定。总之, Java 语言是一个纯的 面向对象程序设计 语言。 3、 Java 语言是分布式的。 Java 语言支持 Inte
6、rnet 应用的开发,在基本的 Java 应用 编程接口 中有一个网络应用编程接口( java net),它提供了用于网络应用编程的类库,包括 URL、URLConnection、 Socket、 ServerSocket 等。 Java 的 RMI(远程方法激活 )机制也是开发分布式应用的重要手段。 4、 Java 语言是健壮的。 Java 的 强类型 机制、异常处理、废料的自动收集等是 Java 程序健壮性的重要保证。对指针的丢弃是 Java 的明智选择。 Java 的安全检查机制使得 Java 更具健壮性。 5、 Java 语言是安全的。 Java 通常被用在网络环境中,为此, Java
7、 提供了一个安全机制以防恶意代码的攻击。除了 Java 语言具有的许多 安全特性 以外, Java 对通过网络下载的类具有一个安全防范机制(类 ClassLoader),如分配不同的名字空间以防替代本地的同名类、 字节代码 检查,并提供安全管理机制(类 SecurityManager)让 Java 应用设置安全哨兵。 3 6、 Java 语言是体系结构中立的。 Java 程序(后缀为 java 的文件)在 Java 平台上被编译为体系结构中立的 字节码 格式(后缀为 class 的文件) , 然后可以在实现这个 Java 平台的任何系统中运行。这种途径适合于异构的网络环境和软件的分发。 7、
8、Java 语言是可移植的。这种可移植性来源于体系结构中立性,另外, Java 还严格规定了各个基本 数据类型 的长度。 Java 系统本身也具有很强的可移植性, Java 编译器是用 Java 实现的, Java 的运行环境是用 ANSI C 实现的。 8、 Java 语言是解释型的。如前所述, Java 程序在 Java 平台上被编译为字节码格式, 然后可以在实现这个 Java 平台的任何系统中运行。在运行时, Java 平台中的 Java 解释器 对这些字节码进行解释执行,执行过程中需要的类在联接阶段被载入到运行环境中。 9、 Java 是高性能的。与那些解释型的高级 脚本语言 相比, J
9、ava 的确是高性能的。事实上,Java 的运行速度随着 JIT(Just-In-Time)编译器技术的发展越来越接近于 C+。 1.4.2 Web 应用程序开发环境 JSP 技术 在传统的网页 HTML 文件( *.htm, *.html)中加入 Java 程序片段( Scriptlet)和 JSP 标记( tag),就构成了 JSP 网页( *.jsp)。 JSP 页面看上去象标准的 HTML 和 XML 页面,并附带有 JSP 引擎能够处理和抽取的额外元件。 Web 服务 器在遇到访问 JSP 网页的请求时,首先执行其中的程序片段,然后将执行结果以 HTML 格式返回给用户。 程序片段可
10、以操作数据库、重新定向网页以及发送 E-mail 等,这就是建立动态网站所需要的功能。 所有程序都在服务器端执行,网络上传送给客户端的仅是得到的结果,对客户浏览器的要求最低。它基于强大的 Java 语言,具有良好的伸缩性,在网络数据库应用开发领域具有得天独厚的优势。 JSP 技术在多个方面加速了动态 Web 页面的开发: 1、 将内容的生成和显示进行分离 使用 JSP 技术, Web 页面开发人员可以使用 HTML 或者 XML 标 识来设计和格式化最终4 页面。使用 JSP 标识或者小脚本来生成页面上的动态内容(内容是根据请求来变化的,例如请求帐户信息或者特定的一瓶酒的价格)。生成内容的逻辑
11、被封装在标识和 JavaBeans 组件中,并且捆绑在小脚本中,所有的脚本在服务器端运行。如果核心逻辑被封装在标识和 Beans 中,那么其他人,如 Web 管理人员和页面设计者,能够编辑和使用 JSP 页面,而不影响内容的生成。 在服务器端, JSP 引擎解释 JSP 标识和小脚本,生成所请求的内容(例如,通过访问JavaBeans 组件,使用 JDBCTM 技术访问数据库,或者包含 文件),并且将结果以 HTML(或者 XML)页面的形式发送回浏览器。这有助于作者保护自己的代码,而又保证任何基于 HTML的 Web 浏览器的完全可用性。 2、 强调可重用的组件 绝大多数 JSP页面依赖于可
12、重用的,跨平台的组件( JavaBeans或者 Enterprise JavaBeansTM组件)来执行应用程序所要求的更为复杂的处理。开发人员能够共享和交换执行普通操作的组件,或者使得这些组件为更多的使用者或者客户团体所使用。基于组件的方法加速了总体开发过程,并且使得各种组织在他们现有的技能和优化结果的开发努力中得到 平衡。 3、 采用标识简化页面开发 Web 页面开发人员不会都是熟悉脚本语言的编程人员。 JavaServer Page 技术封装了许多功能,这些功能是在易用的、与 JSP 相关的 XML 标识中进行动态内容生成所需要的。标准的JSP 标识能够访问和实例化 JavaBeans
13、组件,设置或者检索组件属性,下载 Applet,以及执行用其他方法更难于编码和耗时的功能。 通过开发定制化标识库, JSP 技术是可以扩展的。今后,第三方开发人员和其他人员可以为常用功能创建自己的标识库。这使得 Web 页面开发人员能够使用熟悉的工具和如同标识一样的 执行特定功能的构件来工作。 4、 JSP 能提供所有 Servlets 功能 与 Servlets 相比, JSP 能提供所有 Servlets 功能,它比用 Println 书写和修改 HTML 更方便。可以更明确地进行分工, Web 页面设计人员编写 HTML,只需留出空间让 Servlets 程序员插入动态部分即可。 JSP
14、 技术能够支持高度复杂的基于 Web 的应用。 5 5、 健壮的存储管理和安全性 由于 JSP 页面的内置脚本语言是基于 Java 编程语言的,而且所有的 JSP 页面都被编译成为 Java Servlet, JSP 页面就具有 Java 技术的所有好处 ,包括健壮的存储管理和安全性。 6、 一次编写,各处运行 作为 Java 平台的一部分, JSP 拥有 Java 编程语言 “一次编写,各处运行 ”的特点。随着越来越多的供应商将 JSP 支持添加到他们的产品中,您可以使用自己所选择的服务器和工具,更改工具或服务器并不影响当前的应用。 1.4.3 Tomcat 应用服务器 目前支持 JSP 的
15、应用服务器是较多的, Tomcat 是其中较为流行的一个 Web 服务器,被JavaWorld 杂志的编辑选为 2001 年度最具创新的 Java 产品,可见其在业界的地位。 Tomcat 是一个免费的开源的 Serlvet 容器,在 Tomcat 中,应用程序的部署很简单,你只需将你的 WAR 放到 Tomcat 的 webapp 目录下, Tomcat 会自动检测到这个文件,并将其解压。你在浏览器中访问这个应用的 JSP 时,通常第一次会很慢,因为 Tomcat 要将 JSP转化为 Servlet 文件,然后编译。编译以后,访问将会很快。另外 Tomcat 也提供了一个应用: manage
16、r,访问这个应用需要用户名和密码,用户名和密码存储在一个 xml 文件中。通过这个应用,辅助于 FTP,你可以在远程通过 Web 部署和撤销应用。当然本地也可以。 Tomcat 也具有 传统的 Web 服务器的功能:处理 HTML 页面。但是与 Apache 相比,它的处理静态 HTML 的能力就不如 Apache。我们可以将 Tomcat 和 Apache 集成到一块,让Apache 处理静态 HTML,而 Tomcat 处理 JSP 和 Servlet。这种集成只需要修改一下 Apache和 Tomcat 的配置文件即可。 Tomcat 确实是一个很好的工具,不仅仅因为其免费,功能强大,更
17、因为其开放性。如今,开源软件越来越收到人们的重视, Linux 就是一个成功的典型。人们不再限于只使用软件,而且已经关心起软件的具体实现。我们有理由相 信 Tomcat 会走得更远。 6 第二章 系统分析 2.1 可行性分析 可行性分析是需求分析的基础上进行的,对系统的开发从技术、经济、营运等方面进行分析,并得出系统的开发工作可行、不可行、需要修改、追加投资、暂缓开发、分步实施等方案和结论,最后完成可行性分析。可行性分析一般可定义为 :可行性分析是在建设的前期对工程项目的一种考察和鉴定,对拟议中的项目进行全面与综合的技术、经济能力的调查,判断它是否可行。可行性分析阶段的主要工作包括以下几个方面
18、 : 2.1.1 技术可行性分析 技术可行性分析是根据新系统的目标来衡量是否具 各所需要的技术,包括系统开发人员数量和水平,硬件方面,软件方面及其它应用技术。从各个网站及许多局域网的建设中可以看到, 目前基于 Web 的系统开发技术已经十分成熟 ,相信随着 Internet/Intranet 技术的进一步发展,基于 Web 的信息系统开发将有更为明朗的前景。 2.1.2 经济可行性分析 经济可行性分析主要是对开发新系统所投入的资金与系统投入使用后所带来的经济效益进行比较,确认新系统是否会给企业带来一定的经济效益。 开发此餐饮管理系统,不仅能提高企业的管理水平给管理者提供一个企业运作的信息平台还
19、能提升企业的 形象及增强竞争力。使用餐饮管理系统能将餐饮企业业务管理和人员管理信息化,使企业从原材料进货到客人消费都由计算机管理并记录,可随时掌握酒店里房间的使用状况,客人点单,挂账等情况,并能尽可能的降低使用者的劳动强度,同时提高工作质量和效率。用最少的成本获得最好的经济效益,增强了餐饮企业的市场竞争力 2.1.3 安全可行性 在系统运行后,就用户方而言,由于用户使用本系统时不会也不必关心系统内部的结构7 及实现方法,即对用户来说是透明的,所以本系统对用户而言是定位在界面友好、操作方便、功能齐全的原则上的,用户只需简单的用鼠 标点击各页面上的链接或按钮就能执行相应的功能。就管理者而言,关心的
20、是如何处理用户信息,只要把用户的信息放入服务器端的数据库或专门的数据库服务器,管理者就可运行相应的后台程序进行处理。 2.1.4 操作可行性 目前资源的利用情况和可操作性,只需根据相关需要对数据库中的相应表数据直接操作就可以实现系统的完整、稳定的运行,不会造成系统的巨大压力,可以保证系统的正常运行。 综上所述,通过技术可行性 ,经济可行性,安全可行性 ,操作可行性分析,本系统的开发是可行的。 2.2 需求分析 项目需求分析就是描述系统需求,通过定义系 统中的关键域类来建立模型。分析的根本目的是在开发者和提出需求的人之间建立一种理解和沟通的机制,因此,酒店餐饮管理系统的需求分析也是开发人员和用户
21、一起完成的。需求分析的第一步是描述酒店餐饮管理系统的功能,即定义用例,以此确定系统的功能需求。该系统主要从酒店的订餐方面来分析。 酒店餐饮管理系统的核心思想就是以顾客是上帝为核心,这就意味着酒店将把客人作为其运作的核心,提升客人满意程度,获得更大的利润。随着行业竞争的加剧和市场的快速膨胀,增长率的下降,利润的降低,消费行为的理性化是必然的发展趋势。各大酒店更多的将目 光专注于如何提高服务质量,提高经营管理,而提高经营管理最重要的保证就是信息技术。 酒店餐饮管理系统也是一个酒店不可缺少的部分,它的内部无论对于客户还是员工来说都至关重要,所以一个系统应该能够为用户提供充足的快捷的信息和方便的查询方
22、式,而且不应有时间和地域的限制。 随着科学技术的不断提高,计算机科学日渐成熟,其强大的功能已成为人们深刻认识,它已进入人类社会的各个领域并发挥着越来越重要的作用。作为计算机应用的部分,使用计算机对酒店餐饮的管理具有着手工管理所无法比拟的优点: 8 ( 1)客户和工作人员可以随时了解有关酒 店餐饮的相关信息。 ( 2)减轻了工作人员的工作负担。 ( 3)查询、修改更加方便、快捷。 2.2.1 系统的主要功能 根据餐饮行业的特点和该企业的实际情况,该系统以餐饮业务为基础,突出前台管理,从专业角度出发,提供科学有效的管理模式。点菜方面采取图形界面加数据的方式,使用户能直观地管理数据信息,并能有效地管
23、理每个开台的房间台号所点的酒菜。点菜收银管理可实现点菜、转台、并台、结账、清台。库房管理可记录商品入库、出库情况。营业分析可对客人点单情况、房台营业情况、酒菜销售情况、销售收入等进行分析。点菜收银、营业分析、库房管理的有机结合,可为酒店经营方向提供依据,为酒店餐馆的发展提供重要保证。 根据该企业的具体情况,系统主要功能设计有七大部分,分别为前台管理、后台管理、财政管理、应收应付管理、系统初始化、系统管理、帮助。 1、前台管理:主要是对酒店前台收银的管理。包括开台管理、买单管理、当日结账数据分析、日结算管理。 2、后台管理:主要是对酒店后台进货管理。包括进货管理、进货查询、库存查询、房间台号管理
24、、商品信息管理、员工信息管理。 3、财政管理:主要是对酒店财务方面的管理。包括月结算管理、月营业分析、年营业分析。 4、 应收应付管理:主要是对酒店的往来账款进行管理。包括应付账款管理、挂账管理、历史挂账查询。 5、系统初始化:主要是对酒店的基础设置信息的管理。包括供应商管理、房间台号类型管理、部门信息管理、仓库信息设置、员工级别管理。 6、系统管理:主要是对权限进行管理。 7、帮助:主要是对软件的使用帮助。 9 2.2.2 系统的实现目标 面对服务行业的高速发展和餐饮企业信息化发展的过程中出现的各种情况,该餐饮管理系统在实施后应能够达到以下目标: 1、采用汉字图形用户界面,系统界面友好美观,
25、操作简单易行。 2、业务管理信息化,可随 时掌握进货、客人点单、挂账等情况。 3、采用流行的客户机 /服务器方式,响应速度快,安全性高,扩充方便。 4、支持多种付款方式。现金、支票、免单、挂账等多种方式混合收银。 5、该软件应尽可能地降低使用者的劳动强度,同时提高工作质量和效率。 6、系统维护方便可靠,具有灵活性、通用性及安全性的特点。 2.2.3 系统的性能需求 1系统的安全性 系统运行安全是决定软件质量的重要因素,虽然此餐饮系统不需要接入 Internet,但系统中涉及多方信息,有厨房请购信息、盘点信息、原材料信息、菜品信息等等,如果有人蓄意破坏任意 信息,都可能会导致系统的停用,会带来损
26、失,因此仍然需要保证它的安全。为了保证系统的安全性,必须采取一定的安全措施,防止用户越权使用,防止工作数据被非法篡改、破坏和泄露等。既要考虑操作系统的安全性,还要考虑到餐饮系统本身的安全性。 2系统的合理性 在设计系统时要考虑实际的系统性能和硬件要求,不能忽视所处环境,也不能一味地追求新技术,要保证系统的合理性。 3系统的简单性、易用性 要考虑到不同层次服务人员及领导人员的计算机操作水平,一般而言,大部分服务员的计算机操作水平偏低,因此开发时要本着“简单易用”的原则,方 便各层次人员的使用,使人员的培训降到最低。对于收银的服务员只需要简单且快捷地收银方式,既利于他们使用,也提高收银速度,同样对于领导人员,也需求简单、一目了然的界面,这样即使是没有操作过计算机的人来说,只需要进行简单的操作培训就可以达到熟练,使之能顺利地完成系统各