基于J2SE的酒店管理系统毕业论文.doc_第1页
基于J2SE的酒店管理系统毕业论文.doc_第2页
基于J2SE的酒店管理系统毕业论文.doc_第3页
基于J2SE的酒店管理系统毕业论文.doc_第4页
基于J2SE的酒店管理系统毕业论文.doc_第5页
已阅读5页,还剩50页未读 继续免费阅读

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

科科 技技 大大 学学 毕毕 业业 设设 计(计( 论论 文文 ) 题题 目目基于基于 J2SE 的酒店管理系统的酒店管理系统 作者作者 学院学院 专业专业 学号学号 指导教师指导教师 科科 技技 大大 学学 毕业设计(论文)任务书毕业设计(论文)任务书 1 设计(论文)题目及专题: 基于 J2SE 的酒店管理系统 2 学生设计(论文)时间:自 年 月 日开始至 年 月 日 止 3 设计(论文)所用资源和参考资料: 4 设计(论文)应完成的主要内容: 5 提交设计(论文)形式(设计说明与图纸或论文等)及要求: 6 发题时间: 年 月 日 指导教师: (签名) 学 生: (签名) X X 科科 技技 大大 学学 毕业设计(论文)指导人评语毕业设计(论文)指导人评语 主要对学生毕业设计(论文)的工作态度,研究内容与方法,工作量,文献应用,创新性,实用 性,科学性,文本(图纸)规范程度,存在的不足等进行综合评价 指导人:指导人: (签名) 年 月 日 指导人评定成绩:指导人评定成绩: X X 科科 技技 大大 学学 毕业设计(论文)评阅人评语毕业设计(论文)评阅人评语 主要对学生毕业设计(论文)的文本格式、图纸规范程度,工作量,研究内容与方法,实用性与 科学性,结论和存在的不足等进行综合评价 评阅人:评阅人: (签名)(签名) 年年 月月 日日 评阅人评定成绩:评阅人评定成绩: X X 科科 技技 大大 学学 毕业设计(论文)答辩记录毕业设计(论文)答辩记录 日期:日期: 学生:学生: 学号:学号: 班级:班级: 题目:题目: 提交毕业设计(论文)答辩委员会下列材料:提交毕业设计(论文)答辩委员会下列材料: 1 1 设计(论文)说明书设计(论文)说明书 共共页页 2 2 设计(论文)图设计(论文)图 纸纸 共共页页 3 3 指导人、评阅人评语指导人、评阅人评语 共共页页 毕业设计(论文)答辩委员会评语:毕业设计(论文)答辩委员会评语: 主要对学生毕业设计(论文)的研究思路,设计(论文)质量,文本图纸规范程度和对设计(论 文)的介绍,回答问题情况等进行综合评价 答辩委员会主任:答辩委员会主任: (签名) 委员:委员: (签名) (签名) (签名) (签名) 答辩成绩:答辩成绩: 总评成绩:总评成绩: 摘摘 要要 近年来,随着人民的生活水平的不断提高,餐饮业的消费持续增长,竞争愈来愈 激烈。然而,传统餐饮企业的日常运作还是靠人工管理,由人工完成记录,这样做不 仅耗费人力资源而且容易导致记录丢失或重复等错误,造成管理水平低下。这就迫切 需要标准的、高效率的计算机管理方式引导其发展,通过计算机管理企业的日常运作, 给管理者以决策参考的模型,来不断完善管理水平,提高工作效率。 本系统根据小型酒店管理的现状及未来的发展方向,结合有关小型酒店管理当中 的管理学实践,设计了小型酒店管理系统。 该系统应充分利用信息技术提高小型酒店客房的管理水平、服务水平。经过分析, 本系统运用了 Oracle 为后台数据库,以 Java 为前端开发工具,系统实现了住宿管理, 餐饮管理,顾客服务,员工管理,系统设置等功能。 关键词关键词:酒店管理;Oracle;Java ABSTRACT In recent years, the development of people living level urges the development of catering industry. However, the traditional food service industry still relies on the artificial physical labor which not only cost a lot of manual labor but also made mistakes usually. In this situation, the high speed computer was warmly needed. As a mainly part of the computer , help manager to reduce error with a high efficient, it has an extremely superiority. In this system, we designs the small hotel management system which accords to the present situation of the small hotel service management and the way it develops in the future and small hotel management study practice. This system may make full use of information technology to increase the management level, service level of the hotel. This system use the Oracle as the basic database, use the Java as the main programming language and all the operation on the MyEclipse development tool. In this system, we design it as accommodation management, catering management, customary service, staff management, system settings, etc. Keywords: hotel management; Oracle; Java 湖南科技大学本科生毕业设计(论文) i 目 录 第一章第一章 引言引言- 1 - 1.1 项目背景- 1 - 1.2 编写目的- 1 - 1.3 论文的主要内容- 2 - 第二章第二章 系统理论与技术系统理论与技术- 3 - 2.1 Java- 3 - 2.1.1 Java 简介- 3 - 2.1.2 Java SE.- 3 - 2.1.3 Java 与面向对象程序设计- 3 - 2.1.4 Java 的优势与特点- 4 - 2.2 Oracle 数据库 .- 5 - 2.2.1 Oracle 数据库简介- 5 - 2.2.2 Oracle 数据库的优点- 5 - 2.3 C/S 结构简介- 5 - 2.4 MyEclipse 简介 - 6 - 第三章第三章 系统分析与设计系统分析与设计- 7 - 3.1 系统可行性分析.- 7 - 3.1.1 技术上可行性- 7 - 3.1.2 操作上可行性- 7 - 3.1.3 经济上可行性.- 7 - 3.2 系统功能分析.- 8 - 3.2.1 住宿管理模块.- 8 - 3.2.2 餐饮管理模块.- 8 - 3.2.3 顾客服务模块.- 8 - 3.2.4 员工管理模块.- 8 - 3.2.5 系统设置模块.- 8 - 3.2.6 其他模块.- 9 - 3.3 系统 E-R 图- 9 - 3.4 数据库分析- 9 - 第四章第四章 系统实现系统实现- 11 - 4.1 搭建开发环境- 11 - 4.1.1 安装 JDK 并配置 Java 环境变量 - 11 - 4.1.2 安装 MyEclipse.- 11 - 4.1.3 安装 Oracle.- 11 - 4.2 数据库实现.- 11 - 4.2.1 数据库表结构- 11 - 4.2.2 在 Java 中使用 Oracle 数据库- 15 - 4.3 系统登录界面.- 16 - 4.4 住宿管理模块的实现.- 18 - 湖南科技大学本科生毕业设计(论文) ii 4.4.1 查询空闲房间.- 19 - 4.4.2 添加房间.- 19 - 4.4.3 查看房间占用情况.- 21 - 4.5 餐饮管理模块的实现.- 22 - 4.5.1 菜单信息查询.- 22 - 4.5.2 菜单信息修改.- 23 - 4.5.3 菜单信息删除.- 25 - 4.5.4 菜单信息添加.- 26 - 4.6 顾客服务模块的实现.- 28 - 4.6.1 开房预定.- 28 - 4.6.2 换房续住.- 29 - 4.6.3 顾客订餐.- 30 - 4.6.4 顾客结账.- 30 - 4.6.5 顾客信息管理.- 31 - 4.7 员工管理模块的实现.- 31 - 4.7.1 添加员工信息.- 32 - 4.7.2 查询员工信息- 34 - 4.7.3 修改员工信息.- 36 - 4.7.4 删除员工信息.- 37 - 4.8 系统设置模块的实现.- 39 - 4.8.1 房间维修管理.- 39 - 4.8.2 部门管理.- 39 - 4.8.3 管理员管理.- 40 - 4.9 其他模块的实现.- 40 - 第五章第五章 结论结论- 43 - 参参 考考 文文 献献.44 致致 谢谢.45 湖南科技大学本科生毕业设计(论文) - 1 - 第一章第一章 引言引言 1.1 项目背景项目背景 现代化的酒店系统庞大、服务项目众多、信息量大,要想提高劳动生产、降低成 本、提高服务质量和管理水平,从而达到促进经济效益的目的,必须借助计算机来实 现现代化的信息管理。为此专门设计了酒店管理系统。好的酒店管理系统操作简单方 便,灵活性好,系统安全性高,运行稳定。提供快捷方便的服务,给宾客感受一种顾 客至上的享受。提高管理水平,简化各种复杂操作,在最短的时间内完成酒店业务规 范操作,这样才能让旅客舒适难忘。现代化的酒店是集客房、商务文化及其他各种服 务与设施为一体化的消费场所,酒店宾馆系统庞大,服务项目众多,信息量大,要想 提高劳动生产,降低成本,提高服务质量和管理水平,促进经济效益,必须借助计算 机来实现现代化的管理,然而占着绝大多数的中小型酒店、宾馆由于资金、人员等多 方面原因不易使用酒店管理类软件,全凭原始的手工记录管理,效率低、易出错;结 合酒店前台管理的需要进行扩展性而开发的一套酒店管理系统。从而专门设计了本酒 店管理系统,本系统是一套适用于中小型星级宾馆使用的优秀系统。 1.2 编写目的编写目的 在旅游业发展迅速的今天,宾馆、酒店业的特色经营和个性化管理日趋明显,管 理日趋信息化、网络化,再加上国际、国内名优企业的扩展力度的加大,宾馆、酒店 业集团化的步伐加快,预示着传统的宾馆、酒店正逐步步向信息化管理这也是宾 馆、酒店业经营者们的共识。酒店信息管理系统以信息量大、数据准确、速度快、管 理全面等特点,获得了广大宾馆、酒店业管理者的一致认同,同时满足了对客户的高 质量的服务。另外酒店管理系统以其清晰准确的账单、数据表格,使客人感到高档次 的享受。对于酒店的员工来说严格的数据检查可避免手工操作的疏忽而造成的错误, 减轻职工的工作压力,从而提高工作效率。对于酒店的管理者来说:完备的报表功能 和查询功能使管理者可及时了解饭店各部门的营业情况。为管理者提供准时可靠的信 息,对管理做出酒店管理决策提供依据。酒店管理系统大大的提高了宾馆、酒店的工 作效率,为宾馆、酒店带来了更大的利润。 随着时代的发展,国内越来越多的酒店开始使用酒店管理系统。尤其是小型酒店 的服务水平不同,各自的服务方式不同。所以对于国内大多的小型的宾馆、酒店来说 并不适合使用市场上较为成熟的商品酒店管理系统,所以就需要定制自己的酒店管理 系统来提高酒店的管理效率和服务水平。本酒店管理系统利用 Java 语言来编写程序, 并且使用 Oracle 作为数据库,采用 C/S 模式,认为本系统是适应现今中小型酒店工作 需求的酒店管理系统,具有一定的开发价值和利用价值。 湖南科技大学本科生毕业设计(论文) - 2 - 1.3 论文的主要内容论文的主要内容 随着人民生活水平的不断提高,酒店等消费行业得到了迅猛的发展。现在的酒店 行业正向着规模化,集团化方向发展,传统的经营管理模式已经不能适应这种发展势 趋。如何利用 Java 语言针对中小型酒店的实际需求,设计并实现具有实用价值的酒店 管理系统,就成为本论文的研究内容。 本论文的主要内容安排如下: 第一章,引言。主要介绍本课题的背景和意义。 第二章,系统理论与技术。涉及到开发用的技术与理论概念。 第三章,系统分析与设计。需求分析与技术分析。 第四章,系统实现。这章是全文的核心部分,包括开发运行环境构建,数据库实 现,系统功能实现等。 第五章,结论。首先,对本文聚焦的问题进行总结。接着,对未来的研究和工作 进行展望。 湖南科技大学本科生毕业设计(论文) - 3 - 第二章第二章 系统理论与技术系统理论与技术 本系统的开发是基于 Java 编程语言的,采用了 C/S 模式,使用的数据库为 Oracle,基于 MyEclipse 9.0 平台。下面就采用的这些技术做一下简要介绍。 2.1 Java 2.1.1 Java 简介简介 Java 是一种简单的、面向对象的、分布式的、解释型的、结构中立的、可移植的、 健壮安全的、性能优异和多线程的动态语言,是一种可以撰写跨平台应用软件的面向 对象的程序设计语言。广泛应用于个人 PC、数据中心、游戏控制台、科学超级计算机、 移动电话和互联网,同时拥有全球最大的开发者专业社群。 Java,是由 Sun Microsystems 公司于 1995 年 5 月推出的 Java 程序设计语言和 Java 平台的总称。用 Java 实现的 HotJava 浏览器(支持 Java applet)显示了 Java 的魅力: 跨平台、动态的 Web、Internet 计算。从此,Java 被广泛接受并推动了 Web 的迅速发 展,常用的浏览器现在均支持 Java applet。 Java 平台由 Java 虚拟机(Java Virtual Machine)和 Java 应用编程接口 (Application Programming Interface,简称 API)构成。Java 应用编程接口为 Java 应用 提供了一个独立于操作系统的标准接口,可分为基本部分和扩展部分。在硬件或操作 系统平台上安装一个 Java 平台之后,Java 应用程序就可运行。现在 Java 平台已经嵌入 了几乎所有的操作系统。这样 Java 程序可以只编译一次,就可以在各种系统中运行, 十分方便,这也是其应用的优势。 2.1.2 Java SE Java SE 是 Java 平台标准版的简称(Java Platform,Standard Edition) (also known as Java 2 Platform) ,用于开发和部署桌面、服务器以及嵌入设备和实时环境中的 Java 应用程序。Java SE 包括用于开发 Java Web 服务的类库,同时,Java SE 为 Java EE(Java Platform,Enterprise Edition)提供了基础。Android 平台应用的开发语言使用 的就是 Java SE 版本,需要注意的是,Android 平台并非支持 Java SE 中提供的所有包。 2.1.3 Java 与面向对象程序设计与面向对象程序设计 面向对象程序设计(Object-Oriented Programming)是一种起源于六十年代,发展 已经将近三十年的程序设计思想。其自身理论实践已非常完善,并被多种面向对象程 序设计语言(Object-Oriented Programming Language, OOPL)实现。面向对象程序设计 中的概念主要包括:对象、类、数据抽象、继承、动态绑定、数据封装、多态性、消 息传递。通过这些概念面向对象的思想得到了具体的体现。对象是对现实世界实体的 模拟,由现实实体过程活着信息性来定义。一个对象可以被认为是一个把数据(属性) 湖南科技大学本科生毕业设计(论文) - 4 - 和程序(方法)封装在一起的实体里,在这个程序产生该对象的动作或者对它接受到 的外界信号的反应。这些对象操作有时称为方法。 作为一门高级语言,Java 能够被广大程序员接受和拥护,很大原因是由于其纯面 向对象的特性。Java 吸取了 C+面向对象的概念,将数据封装于类中,利用类的优点, 实现了程序的简洁性和便于维护性。类的封装性、继承性等有关对象的特性,使程序 代码只需一次编译,然后通过上述特性反复利用。Java 提供了众多的一般对象的类, 通过继承即可使用父类的方法。相对于 C+中的多继承,Java 单继承的模式无疑减少 了程序设计上的复杂性,为了实现类似多继承的功能,Java 提供了实现接口这样一种 方式,子类可以在继承一个父类的同时实现多个接口中的方法。Java 提供的 Object 类 及其子类的继承关系如同一棵倒立的树形,根类为 Object 类,Object 类功能强大,经 常会使用到它及其它派生的子类。 2.1.4 Java 的优势与特点的优势与特点 (1)平台无关性:平台无关性是指 Java 能运行于不同的平台。运行于虚拟机,实 现不同平台的 Java 接口之间。使用 Java 编写的程序能够在全世界范围内实现共享。 Java 的数据类型与机器无关,Java 虚拟机(Java Virtual Machine)是建立在硬件和操作 系统之上,实现 Java 二进制代码的解释执行功能, 提供于不同平台的接口的。 (2)安全性:Java 的编程类似 C+,学习过 C+的读者将很快掌握 Java 的精髓。 Java 舍弃了 C+的指针对存储器地址的直接操作,程序运行时,内存由操作系统分配, 这样可以避免病毒通过指针侵入系统。Java 对程序提供了安全管理器,防止程序的非 法访问。 (3)面向对象:Java 吸取了 C+面向对象的概念,将数据封装于类中,利用类的 优点,实现了程序的简洁性和便于维护性。类的封装性、继承性等有关对象的特性, 使程序代码只需一次编译,然后通过上述特性反复利用。程序员只需把主要精力用在 类和接口的设计和应用上。Java 提供了众多的一般对象的类,通过继承即可使用父类 的方法。在 Java 中,类的继承关系是单一的非多重的,一个子类只有一个父类,子类 的父类又有一个父类。Java 提供的 Object 类及其子类的继承关系如同一棵倒立的树形, 根类为 Object 类,Object 类功能强大,经常会使用到它及其它派生的子类。 (4)分布式:Java 建立在扩展 TCP/IP 网络平台上。库函数提供了用 HTTP 和 FTP 协议传送和接受信息的方法。这使得程序员在使用网络上的文件和本机文件一样 容易。 (5)健壮性:Java 致力于检查程序在编译和运行时的错误。类型检查帮助检查出 许多开发早期出现的错误。Java 自己操纵内存减少了内存出错的可能性。Java 还实现 了真数组,避免了覆盖数据的可能,这些功能特征大大提高了开发 Java 应用程序的周 期。并且 Java 还提供了 Null 指针检测、数组边界检测、异常出口、Byte code 校验等 功能。 湖南科技大学本科生毕业设计(论文) - 5 - 2.2 Oracle 数据库数据库 2.2.1 Oracle 数据库简介数据库简介 Oracle 是以高级结构化查询语言(SQL)为基础的大型关系数据库,通俗地讲它 是硬方便逻辑管理的语言操纵大量有规律数据的集合。是目前最流行的客户/服务器 (CLIENT/SERVER)体系结构的数据库之一。它是由 oracle 公司开发的,面向 internet 计算的,支持关系对象型的,分布式的数据库产品。是一个高度集的互联网应 用平台,为企业数据存储提交高性能的数据管理系统。 2.2.2 Oracle 数据库的优点数据库的优点 (1)ORACLE7.X 以来引入了共享 SQL 和多线索服务器体系结构。这减少了 ORACLE 的资源占用,并增强了 ORACLE 的能力,使之在低档软硬件平台上用较少的 资源就可以支持更多的用户,而在高档平台上可以支持成百上千个用户。 (2)提供了基于角色(ROLE)分工的安全保密管理。在数据库管理功能、完整性检 查、安全性、一致性方面都有良好的表现。 (3)支持大量多媒体数据,如二进制图形、声音、动画以及多维数据结构等。 (4)提供了与第三代高级语言的接口软件 PRO*系列,能在 C,C+等主语言中 嵌入 SQL 语句及过程化(PL/SQL)语句,对数据库中的数据进行操纵。加上它有许多优 秀的前台开发工具如 POWER BUILD、SQL*FORMS、VISIA BASIC 等,可以快速开 发生成基于客户端 PC 平台的应用程序,并具有良好的移植性。 (5)提供了新的分布式数据库能力。可通过网络较方便地读写远端数据库里的数 据,并有对称复制的技术。 2.3 C/S 结构简介结构简介 此次的设计采用了 C/S 体系结构。 Client 和 Server 通常是分别处在相距很远的两台计算机上,Client 程序的任务是将 用户的需求提交到 Server 程序,再将 Server 程序返回的结果显示给用户;Server 程序 的任务是接收客户程序提出的服务请求,进行相应的处理,再将结果返回给客户程序。 C/S 结构的基本原则是将计算机应用任务分解成多个子任务,由多台计算机分工完成, 即采用“功能分布”原则。 C/S 模式具有以下优点: (1)交互性强。 在 C/S 模式中,客户端有一套完整的应用程序,在出错提示或者在线帮助等方面 都有很强大的功能,并且可以在程序之间进行自由切换。 (2) 采用 C/S 模式大大降低了网络的通信量。 湖南科技大学本科生毕业设计(论文) - 6 - 此外,基于 C/S 模式开发的系统提供的信息内容和形式比较单一。 2.4 MyEclipse 简介简介 MyEclipse 企业级工作平台(MyEclipse Enterprise Workbench,简称 MyEclipse)是 对 Eclipse IDE 的扩展,利用它我们可以在数据库的开发、发布,以及应用程序服务器 的整合方面极大的提高工作效率。它包括了完备的编码、调试、测试和发布功能。 湖南科技大学本科生毕业设计(论文) - 7 - 第三章第三章 系统分析与设计系统分析与设计 3.1 系统可行性分析系统可行性分析 可行性分析的目的是为了对问题进行研究,以最小的代价尽可能短在时间内确定 问题是否能够解决。因此需要分析几种主要的可能的利弊,从而判断原定的系统规模 和目标是否可以现实,系统完成后所能带来的经济效益是否能够大到值得投资开发这 个系统的程度。 在此研究本系统时可行性分析主要包括经济上的可行性,技术上的可行性和操作 上的可行性,下面将分别介绍三种技术上的可行性: 3.1.1 技术上可行性技术上可行性 酒店管理系统是采用 Java 语言编写的,具有 Java 的“一次编写,到处运行”的优 点,所以此系统在不同的操作系统上都可以运行,具有很强的移植性、健全性和安全 性。并且酒店管理系统要求要求应具备功能完备、易于使用、易于维护等特点,而对 于后者则要求能建立数据一致性和完整性强、数据安全性好的库。基于以上的要求, 本系统采用 MyEclipse9.0 作为开发工具,使得代码编写的过程大大的简化。而数据库 则是采用目前较为流行的 Oracle,Java 对 Oracle 具有很好的支持。因此本系统在技术 上是可行的。 3.1.2 操作上可行性操作上可行性 本酒店管理系统具备界面简洁大方,使用方便,易于维护,操作简单容易被用户 所接受,用户只需熟练操作计算机,和对此系统使用做简单的了解操作即会使用,而 且使用此系统可以大大减少管理人员的负担、提高工作效率。因此从使用操作方面看, 此系统的开发是可行的。 3.1.3 经济上可行性经济上可行性 本酒店管理系统运行的硬件环境只需一台廉价的电脑既可,软件环境则是安装 windows XP 系统,MyEclipse9.0,Oracle 既可。对于一般的中小型酒店来说都是很小 的成本支出。因此本系统在经济上是可行的。 综上所述,此系统在技术方面、操作方面和经济方面都可行,方便简单,因此开发 本系统是完全可行通的。 湖南科技大学本科生毕业设计(论文) - 8 - 3.2 系统功能分析系统功能分析 图图 3.13.1 系统功能分析图系统功能分析图 为了满足客户的需求,实现酒店管理的基本流程,本系统设计主要功能包括住宿 管理,餐饮管理,顾客服务,员工管理,系统设置等模块,以下为各模块的具体功能 要求。 1 住宿管理模块住宿管理模块 在此模块中,能够显示各个类型的空闲房间状况,能够根据自定义条件查询空闲 房间,能够增加房间信息,并且能够查看指定房间的占用状态,从而预定房间。 2 餐饮管理模块餐饮管理模块 在此模块中,能够显示所有菜单并实现分页效果,能够根据菜单号或菜单名称对 菜单进行模糊查找,能够修改或删除指定行的菜单信息,能够添加菜单信息。 3 顾客服务模块顾客服务模块 在此模块中,能够根据房间类型查询对应的空闲房间,可对空闲房间进行开房或 预定;能够实现换房和续住功能;可根据身份证号为顾客进行点餐服务;能够根据身 份证号查询住宿和点餐的消费记录,进行结账,并能够生成账单供顾客打印报销;能 够对顾客的信息进行增删改查等操作。 4 员工管理模块员工管理模块 在此模块中,能够根据编号、姓名或职务查询员工信息,或查询所有员工信息, 能够对员工信息进行修改、删除和添加。 5 系统设置模块系统设置模块 在此模块中,需要先判断当前登录的管理员是否为系统管理员,若是,则可以对 湖南科技大学本科生毕业设计(论文) - 9 - 房间的价格和是否为空闲状态做修改,能够增加、修改和删除部门信息,能够更改所 有管理员的密码和权限,能够新增和删除其他管理员。若不是系统管理员,则在此模 块中没有权限进行任何操作。 3.2.6 其他模块其他模块 登录模块的实现,登录后可更改当前用户的密码,可回到登录页面更改登录身份, 系统安全退出,菜单栏上的帮助栏的实现等。 3.3 系统系统 E-R 图图 房间 菜 N 1 1 吃 N N N 1 价格 描述 顾客 姓名性别年龄 Email 类别 地址 身份证号码 备注 类别 价格 状态 房间编号 员工 职务电话地址email身份证号码姓名性别年龄 管理员 管理 菜名 管理 N 1 分配 密码 等级 用户名 入住 管理 1 N 电话 图图 3.23.2 系统整体系统整体 E-RE-R 图图 3.4 数据库分析数据库分析 为了更好的管理、查阅和操作住宿、餐饮、顾客、员工等信息,采用数据库来保 存和管理其相关信息,现在对系统的数据库做出分析。 经过分析,数据库中应该包含如下表结构: 管理员表:保存管理员信息。 房间表:保存房间号,房间名,房间类型,价格等信息。 房间状态表:保存房间的状态信息。 员工表:保存员工的相关信息。 湖南科技大学本科生毕业设计(论文) - 10 - 工作类型表:保存员工的工作类型信息。 房间账单表:保存房间消费账单信息。 顾客表:保存顾客的相关信息。 用餐账单表:保存用餐消费账单信息。 房间占用信息表:保存房间被占用的相关信息。 菜单表:保存菜名,价格等菜单信息。 湖南科技大学本科生毕业设计(论文) - 11 - 第四章第四章 系统实现系统实现 4.1 搭建开发环境搭建开发环境 开发需要的软件: 1.操作系统:Windows 或 Linux 系统。 2.开发环境:MyEclipse9.0。 3.开发工具包:JDK1.6。 4.数据库:Oracle10g。 4.1.1 安装安装 JDK 并配置并配置 Java 环境变量环境变量 (1) 登陆 ,下载最新版 JDK。这里下载的是 jdk 1.6 版本。 (2) 安装 JDK 1.6。 (3) 安装 JDK 以后,需要配置一下计算机环境变量,点击我的电脑-属性-高级- 环境变量-系统变量中添加以下环境变量(假定 JDK 安装在 C:JDK1.6.0): JAVA_HOME=C:JDK1.6.0 classpath=.;%JAVA_HOME%libdt.jar;%JAVA_HOME%libtools.jar;(.;一定不能少, 因为它代表当前路径) path=%JAVA_HOME%bin 4.1.2 安装安装 MyEclipse 下载 MyEclipse9.0。 安装 MyEclipse9.0。 4.1.3 安装安装 Oracle 下载并安装 Oracle10g。 4.2 数据库实现数据库实现 根据上章中对数据库的需求分析,以及分析后得出的结果,设计出如下数据库表 结构。并介绍 Java 中对数据库的一些主要操作。 4.2.1 数据库表结构数据库表结构 (1)管理员表: 管理员表主要是关于管理员的一些基本信息,主要用来对管理员信息的修改等,主 要信息有:管理员编号,管理员等级,用户名,密码等。如表 4.1 所示。 表表 4.1 管理员表(管理员表(T_admin) 字段名字段说明字段类型字段约束备注 A_id管理员编号Number主键,非空非空 A_grade管理员等级Integer非空 湖南科技大学本科生毕业设计(论文) - 12 - A_username用户名Varchar2(50)非空非空 A_password密码Varchar2(50)非空非空 (2)房间表: 房间表主要是关于房间的基本信息,主要用来对房间信息的管理,查看房间情况等, 主要信息有:房间号,房间编号,房间名,备注,类型名,价格,房间状态号等,如 表 4.2 所示。 表表 4.2 房间表(房间表(T_room) 字段名字段说明数据类型字段约束备注 R_ID房间号number主键、非空非空 R_no房间编号Varchar2(5 0) 非空非空 R_name房间名Varchar2(50)非空非空 R_statement备注Varchar2(255) R_name类型名Varchar2(50)值只能是“单人间,双 人间,商务间,豪华套 房,总统套房”中的任 意一个, 非空 R_price价格Number(8,2)非空非空 R_s_id房间状态号Number外键,非空非空 (3)房间状态表: 房间状态表主要是为了区别房间的不同状态,如空闲、占用、维修等,主要信息有: 状态号,状态名称等。如表 4.3 所示。 表表 4.3 房间状态表(房间状态表(T_roomstate) 字段名字段说明数据类型字段约束备注 S_id状态号Number主键、非空非空 S_Statename状态名Varchar2(50)值只能是“预定, 空闲,维修,入住” 中的任意一个 非空 (4)员工表: 员工表主要是保存员工的基本信息,方便对员工信息的操作,主要信息有:员工号, 员工编号,员工名,员工的薪水,性别,电话,年龄,身份证号,地址,email,职务 号等。如表 4.4 所示。 表表 4.4 员工表(员工表(T_worker) 字段名字段说明字段类型字段约束备注 W_mid员工号Number非空非空 W_no员工编号Varchar2(20)非空非空 湖南科技大学本科生毕业设计(论文) - 13 - W_name员工名Varchar2(20)非空非空 W_sal员工的薪水Varchar2(20)非空非空 W_sex性别Varchar2(10)值只能是“男,女” 中的一个 非空 W_tel员工电话Number非空非空 W_age员工年龄Number非空非空 W_idc员工身份证号Varchar2(30)非空非空 W_address员工地址Varchar2(50)非空 W_email员工 emailVarchar2(50)非空 W_WT_id员工职务号Varchar2(20)外键,非空非空 (5)工作类型表: 工作类型表主要是为了方便对不同工种的分类,通过工作类型对员工进行查询等, 主要信息有:工作类型号,工作编号,工作名等。如表 4.5 所示。 表表 4.5 工作类型表(工作类型表(T_workertype) 字段名字段说明字段类型字段约束备注 WT_id工作类型号Number主键,非空非空 WT_no工作编号Varchar2(50)非空非空 WT_name工作名Varchar2(50)值只能是“主管,前台, 迎宾,清洁工,服务员, 保安”中的一个 非空 (6)房间账单表: 房间账单表主要是记录顾客的住房消费信息,主要用于对住房消费情况的查询,主 要信息有:账单号,账单流水号,顾客编号,房间编号,价格,时间,押金,开单时 间,买单时间,完结状态等。如表 4.6 所示。 表表 4.6 房间账单表(房间账单表(T_rbill) 字段名字段说明字段类型字段约束备注 BR_id账单号Number主键,非空非空 BR_no账单流水号Varchar2(50)非空非空 BR_C_No顾客编号Varchar2(50)外键,非空非空 BR_ R_no房间编号Varchar2(50)外键,非空非空 BR_price价格Number(8,2)非空非空 BR_InTime时间Integer非空天数 BR_cash押金Number(8,2)默认 0 BR_otime开单时间Date非空非空 BR_ctime买单时间Date非空非空 BR_state完结状态Integer非空 0 代表未完结, 1 代表完结 (7)顾客表: 顾客表主要用于记录顾客的基本信息,主要信息有:顾客号,顾客编号,顾客名, 湖南科技大学本科生毕业设计(论文) - 14 - 顾客电话,年龄,身份证号,地址,email,性别,是否 VIP 等。如表 4.7 所示。 表表 4.7 顾客表(顾客表(T_customer) 字段名字段说明数据类型字段约束备注 C_id顾客号Number主键,非空非空 C_No顾客编号Varchar(50)非空非空 C_name顾客名Varchar(50)非空非空 C_tel顾客电话Number非空非空 C_age顾客年龄Number C_idc顾客身份证号Varchar2(50)非空非空 C_address顾客地址Varchar2(50) C_email顾客 emailVarchar2(50) C_sex性别Varchar2(10)值只能是“男,女” 中的一个 非空 C_Type是否 VIP_非空、 vip 和 普 通用户 非空 (8)用餐账单表: 用餐账单表主要是记录顾客的用餐消费信息,主要用于对用餐消费情况的查询,主 要信息有:菜单项编号,账单流水号,顾客编号,菜单编号,数量,价格,开单时间, 买单时间,完结状态等。如表 4.8 所示。 表表 4.8 用餐账单表(用餐账单表(T_mBill) 字段名字段说明字段类型字段约束备注 BM_id菜单项编号Number主键,非空非空 BM_no账单流水号Varchar2(50)非空非空 BR_C_No顾客编号Number外键,非空非空 BM_ M_no菜单编号Number外键,非空非空 BM_number数量Integer非空非空 BM_price价格Number(8,2)非空非空 BM_otime开单时间Date非空非空 BM_ctime买单时间Date BM_state完结状态Integer非空 0 代表未完结, 1 代表完结 (9)房间占用信息表: 房间占用信息表主要用于记录房间被占用情况,主要信息有:房间占用号,入住 时间,退房时间,房间编号,房间状态,预定入住状态等。如表 4.9 所示。 表表 4.9 房间占用信息表(房间占用信息表(T_roomoccupy) 字段名字段说明数据类型字段约束备注 RO_id房间占用号Number主键、非空非空 湖南科技大学本科生毕业设计(论文) - 15 - RO_stime入住时间Date非空非空 RO_etime退房时间Date RO_r_no房间编号Varchar2(50)外键、非空非空 RO_s_no房间状态Varchar2(50)外键、非空非空 ro_state预定、入住状态Integer非空 0 代表预定,1 代表入 住 (10)菜单表: 菜单表主要是关于菜的一些基本信息,主要用来对菜单的基本操作,主要信息有: 菜单项编号,菜编号,菜名,价格,简介等。如表 4.10 所示。 表表 4.10 菜单表(菜单表(T_menu) 字段名字段说明字段类型字段约束备注 M_id菜单项编号Number主键,非空非空 M_no菜编号Varchar2(50)非空非空 M_name菜名Varchar2(100)非空非空 M_price价格Number(8,2)非空非空 M_desc简介Vachar2(255) 4.2.2 在在 Java 中使用中使用 Oracle 数据库数据库 系统中运用 JDBC 实现对数据库的连接操作。通过如下方法的调用可获得与数据 库的连接 Connection。其中 DRV,URL,USER 和 PWD 保存在 perties 文件 中,方便修改,需作修改时,只需要修改配置文件,而不用修改代码。LoadConfig 类 用于读取 perties 文件中的数据。以下是 perties 中的数据: DRV=oracle.jdbc.driver.OracleDriver URL=jdbc:oracle:thin:localhost:1521:orcl USER=scott PWD=tiger 如下是对数据库的数据进行增删改查操作的一个示例: public Connection getConn() Connection conn = null; try Class.forName(config.get(“DRV“); conn = DriverManager.getConnection(config.get(“URL“),config.get(“USER“),config.get(“P WD“); catch (ClassNotFoundException e) e.printStackTrace(); catch (SQLException e) e.printStackTrace(); return conn; 湖南科技大学本科生毕业设计(论文) - 16 - Connection conn = db.getConn();/获得连接 PreparedStatement pstmt = null; String sql = “insert into t_admin values(seq_T_admin_test.nextval,?,?,?)“; try pstmt = conn.prepareStatement(sql);/创建句柄 pstmt.setInt(1, admin.getaGrade(); pstmt.setString(2, admin.getaUserName(); pstmt.setString(3, admin.getaPassword(); int len = pstmt.executeUpdate();/查询时为 executeQuery()方 法,返回 ResultSet 结果集 if(len 0) bool = true; catch (SQLException e) e.printStackTrace(); finally db.free(conn, pstmt); 在对数据库中的数据进行操作的过程中,为了保证数据完整性,有时需要用到事 务,如下是事务应用的一个示例: 4.3 系统登录界面系统登录界面 系统的登录界面如下图 4.1 登录界面图所示: PreparedStatement pstmt = null; PreparedStatement pstmt2 = null; String sql = “update t_room set r_s_id=1 where r_no in(select ro_r_no from t_roomoccupy where ro_etime0 bool = true; else conn.rollback(); 湖南科技大学本科生毕业设计(论文) - 17 - 图图 4.1 登录界面图登录界面图 用户在登录本酒店管理系统的时候,只需要输入正确的用户名和密码即可登录, 用户提交用户名和密码后,系统查询数据库管理员表中看是否存在此用户名和密码, 如果输入的信息有误,系统会提示错误之处,重新登录即可。错误提示界面如下图 4.2 错误提示图所示: 图图 4.2 错误提示图错误提示图 成功登录后的显示界面如下图 4.3 管理界面图,点击即可进入相应模块管理界面: 图图 4.3 管理界面图管理界面图 实现登录的主要方法如下: public void login() 湖南科技大学本科生毕业设计(论文) - 18 - String user = userText.getText().trim(); String pwd = new String(this.pwdText.getPassword(); if(user=null|user.equals(“)|pwd.equals(“) JOptionPane.showMessageDialog(this, “用户名或者密码不能为空“,“ 错误“,JOptionPane.ERROR_MESSAGE|JOptionPane.OK_OPTION); else if(hotelManager.login(user,pwd) admin = hotelManager.getAdmin(user); this.dispose(); this.hotelManager.showMainFrame(); else JOptionPane.showMessageDialog(this, “用户名或者密码错误“,“错 误“,JOptionPane.ERROR_MESSAGE|JOptionPane.OK_OPTION); this.pwdText.setText(“); 4.4 住宿管理模块的实现住宿管理模块的实现 点击住宿管理后进入的模块主界面如图 4.4 住宿管理界面图所示: 图图 4.4 住宿管理界面图住宿管理界面图 在此模块中,能够显

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论