1酒店客房管理系统的设计简介本综合课程设计课题为“酒店客房管理系统”。随着社会经济的发展,人们的生活水平得到了极大的提高。作为服务业之一的酒店业也在急速发展。酒店管理者需要及时得到近点的运营情况,以便快速的为消费者提供服务。在这种背景下,人工管理远远不能提供高效的、便捷的处理经营中需要的大量的信息,进而影响的酒店的营业效率。传统的管理模式已经不能满足如今的社会需求。因此便需要一种能够提供高效服务的方式。酒店客房管理系统便是一个能够提供这种服务的管理系统。利用酒店管理系统中合理的数据库存储数据及时了解各个环节的数据信息,通过有效的程序结构来有效的支持各种数据操作,以提高管理效率实现酒店服务的系统化、规范化、自动化。通过该项目的开发与使用,酒店可以改善酒店额管理与运行效率,提高服务质量,节省开支,提高劳动效率。2目录第1章绪论··············································31.1项目背景·······································31.1总体目标·······································3第2章编程语言及工具·····································42.1SQL与MySQL··································42.2Java与Eclipse·································6第3章系统设计··········································73.1需求分析······································73.2数据库设计····································73.3界面设计······································83.4算法设计·····································12第4章系统测试·········································14第5章开发设计总结·····································155.1心得体会·····································155.2结束语·······································16参考书籍················································16源代码以及jdbc包均与上传至百度网盘第1章绪论§1.1项目背景近年来,酒店行业发展迅速,市场竞争日益激烈,为了提高酒店竞争力,酒店管理方式的改进势在必行。传统的人工管理模式已经远远不能有效、便捷地处理酒店经营中产生的大量数据,从而使酒店经营中效率低下。而且人工管理中工人工资产生了巨大的经营成本,使酒店经营效率低下。为了提升酒店的经营效率,降低成本,必须采用更加合理有效的管理模式。只有把管理做到细微,才能够为顾客提供高标准、高质量的服务,从而进一步提升企业竞争力。传统的管理方法已经不能满足现代化的信息社会的需求,因此采用电脑管理已经成为推动酒店发展的重要途径,本课题研究的酒店管理系统就是一个致力于提高酒店经营效率,降低成本,能够更加快速、便捷地为顾客提供服务的信息管理系统。§1.2总体目标建立一套功能完善、设计合理、结构科学的信息管理系统,能满足业务管理人员的需要,提高酒店经营管理过程中的数字化水平,大幅度提高工作效率。从而提高实施管理的准确性、科学性,使负责管理的工作人员能够从大量繁杂的手工劳动中解脱出来。提高服务质量,节约开支,提高劳动生产率,从而赢得高信誉、强实力、好效益。为了达到以上效果,需要实现的功能如下:4查询房间信息(房间号、房间类型、价格、是否空房)快速实现顾客入住,等级客人信息、入住房间查询入住信息,每个客人对应的房间信息快速实现退房服务,计算顾客应付金额第2章编程工具及语言本系统采用C/S模式,一共分为两部分。第一部分为服务器部分,采用语言为SQL使用的编程工具是MySQL;第二部分为客户端部分,采用的语言是Java,编程工具为Eclipse。§2.1SQL与MySQLSQL语言集数据查询(dataquery)、数据操纵(datamanipulation)、数据定义(datadefinition)和数据控制(datacontrol)功能于一体,充分体现了关系数据语言的特点和优点。其主要特点包括:1.综合统一:SQL语言集数据定义语言DDL、数据操纵语言DML、数据控制语言DCL的功能于一体,语言风格统一,可以独立完成数据库生命周期中的全部活动。2.高度非过程化:非关系数据模型的数据操纵语言是面向过程的语言,用其完成某项请求,必须指定存取路径。而用SQL语言进行数据操作,用户5只需提出“做什么”,而不必指明“怎么做”。这不但大大减轻了用户的负担,而且有利于提高数据独立性。3.面向集合的操作方式SQL语言采用集合操作方式,不仅查找的结果是元组的集合,而且一次插入、删除、更新操作的对象也是元组的集合。不用像非关系数据模型那样,任何一个操作对象都是一条记录,每一个操作都需要如何对每一条记录进行操作。4.同一种语法结构提高两种使用方式SQL语言既是自含式语言,又是嵌入式语言。而在这两种不同的使用方式下,SQL语言的语法结构基本上是一致的。这种统一的语法结构提供两种使用方式的做法,为用户提供了极大的灵活性和方便些。MySQL是目前关系型数据库管理系统之一,MySQL数据库因其体积小、速度快、总体拥有成本低受到中小企业的热捧。MySQL是一种关联数据库管理系统,关联数据库将数据保存在不同的表中,而不是将所有数据放在一个大仓库内,这样就增加了速度并提高了灵活性。MySQL所使用的语言是用于访问数据库的最常用标准化语言SQL。它为C、C++、Java等编程语言提供了应用程序编程接口(API),提供TCP/IP、ODBC和JDBC等多种数据库连接途径,提供多语言支持,常见的编码如中文的GB2312、BIG5,日文的Shift_JIS等都可以用作数据表名和数据列名。基于以上特点,在本系统开发中选择SQL与MySQL作为数据6库开发的语言和工具。§2.2Java与EclipseJava语言是一种面向对象的语言,从C++发展而来,有选择的继承了C++语言的语法规则和面向对象的基本机制,放弃了C++语言模糊、过于复杂、安全性差、不适合网络应用的诸多特性。它通过提供最基本的方法来完成指定的任务,只需理解一些基本的概念,就可以用它编写出适合于各种情况的应用程序。Java具有平台无性,一个应用程序可以运行于不同的操作系统平台。Java具有JDBC(JavaDatabaseConnectivity,Java数据库连接)技术,定义了Java应用程序与关系型数据库连接的规范,可以很方便的实现与数据库的通信。Java图形用户界面的组件和事件由java.awt和javax.swing包共同提供。Java.awt称为抽象窗口工具,主要包括组件、事件处理模型、图形和图像工具、布局管理器等,其中的组件统称为AWT组件。Swing组件扩展了AWT组件的功能。使用JDK提供的AWT组件和Swing组件可以很简单的实现图形界面和人机交互。Eclipse是一个开放的、基于Java的可扩展的通用开发平台。Eclipse的核心非常小,其他功能均已插件形式附加到核心上。Eclipse可以与API、JDT、PDE等插件无缝结合,实现强大的功能。第3章系统设计§3.1需求分析本系统旨在减轻酒店工作人员负担,为酒店营业提供服7务。从客房营销开始,从客房的信息查询,到客人入住,到查询住宿信息,退房结账,整个过程都应该能够体现以顾客为本,为顾客提供高效的服务。整个过程可以分为四个阶段,查询房间信息、登记客人信息入住、查询住宿信息、退房结账。则本系统功能就以这四项为主线来依次实现。§3.2数据库设计根据需求分析,按照第三范式设计可画出如下E-R图将E-R图转化为关系模型可得:顾客customer(Cno,Cid,Cname,Cage,Csex);房间等级RLevel(RLno,RLname,RPrice);房间room(Rno,RLno,Usable);住宿信息CR(CRno,Rno,Cno,Btime);通过上面分析,可知我们需要四个表格8Customer客人信息表字段名中文含义数据类型说明Cno客人编号Char(4)PKCid客人身份证号Char(18)UniqueCname客人姓名Char(20)Csex客人性别Char(2)check(Csexin('男','女'))Cage客人年龄IntRoom房间表字段名中文含义数据类型说明Rno房间号Char(4)PKRLno房间等级号Char(4)FKUsable是否空房IntCheck(in(0,1))RLevel房间等级表字段名中文含义数据类型说明RLno等级编号Char(4)PKRLname等级名称Char(20)Rprice价格Int9CR住宿表字段名中文含义数据类型说明CRno住宿号Char(4)PKRno房间号Char(4)FKCno客人编号Char(4)FkBtime入住时间Datetime创建两个视图,分别用于展示住宿详情和房间详情。房间详情(房间号,房间类型,房间价格,是否空房),住宿详情(住宿号,客人号,客人身份证号,客人姓名,客人性别,客人年龄,房间号,房间类型,房间价格,入住时间)。§3.3界面设计1.登陆界面本界面是用于用户打开系统是验证身份。首先需要提供两个文本框,分别输入用户名和密码;其次需要一个“确定”按钮,验证输入的用户名和密码,和一个“取消”按钮,用于退出系统。当身份验证不通过是给出提示对话框(“用户名或密码错误”)。102.主界面本界面为身份验证通过后打开的界面,为本系统操作的主要界面,为了实现需要的四个功能,则需要四个按钮,分别是“客房情况”、“住宿情况”、“入住”和“退房”。3.客房情况界面本界面为客房情况的查询结果,需要一个JTable来展示查询结果,一个“返回”按钮,返回主界面。114.入住界面需要6个文本条分别输入“客人号”、“身份证号”、“姓名”、“性别”、“年龄”和“房间号”;一个“确定”按钮,将文本条中信息转存入数据库;一个“取消”按钮返回主界面。5.查询住宿情况界面本界面为住宿情况查询结果,需要有一个JTable展示住12宿情况查询结果,还要有一个“返回”按钮返回主界面。6.退房界面退房功能要求输入要退房的顾客身份证号,则此界面需要一个文本框,另外需要一个“确定”按钮执行退房操作和一个“取消”按钮返回主界面。7.退房结果本界面要输出顾客应付金额,以及退房结果。需要一个JTable显示顾客应付金额,一个“确定”按钮返回主界面。13§3.4算法设计1.登陆功能将输入的用户名和密码传输到MySQL数据库进行验证,验证成功则进入主界面,验证失败则弹出对话框提醒“用户名或密码错误”。2.查询房间情况直接从数据库中房间详情视图查询数据。其中如果Usable字段对应属性为0,“是否空房”为否;如果Usable字段对应属性为1,“是否空房”为是。3.入住功能将客人信息(客人编号,客人身份证号,客人姓名,客人性别,客人年龄)插入客人表格。更新房间表格,将房间号等于输入房间号的元组中的Usable字段设置为0;将住宿信息(客人编号,房间编号,)插入住宿表格,14其中主键住宿号自动增加,入住时间为当前日期。4.查询住宿情况直接从数据库中住宿详情视图查询数据。5.退房功能从客人信息表格中得到对应“客人身份证号”的“客人编号”,从住宿情况表格中得到对应“客人编号”的“房间编号”,更新房间表格,将“房间