简介 本综合课程设计课题为“酒店客房管理系统”。随着社会经济的发展,人们的生活水平得到了极大的提高。作为服务业之一的酒店业也在急速发展。酒店管理者需要及时得到近点的运营情况,以便快速的为消费者提供服务。在这种背景下,人工管理远远不能提供高效的、便捷的处理经营中需要的大量的信息,进而影响的酒店的营业效率。传统的管理模式已经不能满足如今的社会需求。因此便需要一种能够提供高效服务的方式。酒店客房管理系统便是一个能够提供这种服务的管理系统。 利用酒店管理系统中合理的数据库存储数据及时了解各个环节的数据信息,通过有效的程序结构来有效的支持各种数据操作,以提高管理效率实现酒店服务的系统化、规范化、自动化。通过该项目的开发与使用,酒店可以改善酒店额管理与运行效率,提高服务质量,节省开支,提高劳动效率。 目录 第1章 绪论 .1项目背景 .1总体目标 第2章 编程语言及工具4 .1 SQL与MySQL4 2.2 Java与Eclipse6 第3章 系统设计 .1 需求分析7 3.2 数据库设计7 3.3 界面设计8 3.4 算法设计12 第4章 系统测试14 第5章 开发设计总结15 .1 心得体会·15 5.2 结束语16 参考书籍16 源代码以及jdbc包均与上传至百度网盘 第1章 绪论 1.1 项目背景 近年来,酒店行业发展迅速,市场竞争日益激烈,为了提高酒店竞争力,酒店管理方式的改进势在必行。传统的人工管理模式已经远远不能有效、便捷地处理酒店经营中产生的大量数据,从而使酒店经营中效率低下。而且人工管理中工人工资产生了巨大的经营成本,使酒店经营效率低下。 为了提升酒店的经营效率,降低成本,必须采用更加合理有效的管理模式。只有把管理做到细微,才能够为顾客提供高标准、高质量的服务,从而进一步提升企业竞争力。传统的管理方法已经不能满足现代化的信息社会的需求,因此采用电脑管理已经成为推动酒店发展的重要途径,本课题研究的酒店管理系统就是一个致力于提高酒店经营效率,降低成本,能够更加快速、便捷地为顾客提供服务的信息管理系统。 1.2 总体目标 建立一套功能完善、设计合理、结构科学的信息管理系统,能满足业务管理人员的需要,提高酒店经营管理过程中的数字化水平,大幅度提高工作效率。从而提高实施管理的准确性、科学性,使负责管理的工作人员能够从大量繁杂的手工劳动中解脱出来。提高服务质量,节约开支,提高劳动生产率,从而赢得高信誉、强实力、好效益。 为了达到以上效果,需要实现的功能如下: 查询房间信息(房间号、房间类型、价格、是否空房) 快速实现顾客入住,等级客人信息、入住房间 查询入住信息,每个客人对应的房间信息 快速实现退房服务,计算顾客应付金额 第2章 编程工具及语言 本系统采用C/S模式,一共分为两部分。第一部分为服务器部分,采用语言为SQL使用的编程工具是MySQL;第二部分为客户端部分,采用的语言是Java,编程工具为Eclipse。 2.1SQL与MySQL 语言集数据查询(data query)、数据操纵(data manipulation)、数据定义(data definition)和数据控制(data control)功能于一体,充分体现了关系数据语言的特点和优点。其主要特点包括: .综合统一: 语言集数据定义语言DDL、数据操纵语言DML、数据控制语言DCL的功能于一体,语言风格统一,可以独立完成数据库生命周期中的全部活动。 .高度非过程化: 非关系数据模型的数据操纵语言是面向过程的语言,用其完成某项请求,必须指定存取路径。而用SQL语言进行数据操作,用户 只需提出“做什么”,而不必指明“怎么做”。这不但大大减轻了用户的负担,而且有利于提高数据独立性。 .面向集合的操作方式 SQL语言采用集合操作方式,不仅查找的结果是元组的集合,而且一次插入、删除、更新操作的对象也是元组的集合。不用像非关系数据模型那样,任何一个操作对象都是一条记录,每一个操作都需要如何对每一条记录进行操作。 .同一种语法结构提高两种使用方式 SQL语言既是自含式语言,又是嵌入式语言。而在这两种不同的使用方式下,SQL语言的语法结构基本上是一致的。这种统一的语法结构提供两种使用方式的做法,为用户提供了极大的灵活性和方便些。 是目前关系型数据库管理系统之一,MySQL数据库因其体积小、速度快、总体拥有成本低受到中小企业的热捧。MySQL 是 不是将所有数据放在一个大仓库内,这样就增加了速度并提高了灵活性。MySQL 所使用的语言是用于访问数据库的最常用标准化语言SQL。它为C、C 、Java等编程语言提供了应用程序编程接口(API),提供TCP/IP、ODBC和JDBC等多种数据库连接途径,提供多语言 都可以用作数据表名和数据列名。 基于以上特点,在本系统开发中选择SQL与MySQL作为数据 库开发的语言和工具。 2.2 Java与Eclipse 语言是一种面向对象的语言,从C 发展而来,有选择的继承了C 语言的语法规则和面向对象的基本机制,放弃了C 语言模糊、过于复杂、安全性差、不适合网络应用的诸多特性。它通过提供最基本的方法来完成指定的任务,只需理解一些基本的概念,就可以用它编写出适合于各种情况的应用程序。Java具有平台无性,一个应用程序可以运行于不同的操作系统平台。 具有JDBC(Java Database Connectivity,Java 数据库连接)技术,定义了Java应用程序与关系型数据库连接的规范,可以很方便的实现与数据库的通信。 图形用户界面的组件和事件由java.awt和javax.swing包共同提供。Java.awt称为抽象窗口工具,主要包括组件、事件处理模型、图形和图像工具、布局管理器等,其中的组件统称为AWT组件。Swing组件扩展了AWT组件的功能。使用JDK提供的AWT组件和Swing组件可以很简单的实现图形界面和人机交互。 是一个开放的、基于Java的可扩展的通用开发平台。Eclipse的核心非常小,其他功能均已插件形式附加到核心上。Eclipse可以与API、JDT、PDE等插件无缝结合,实现强大的功能。 第3章 系统设计 3.1 需求分析 本系统旨在减轻酒店工作人员负担,为酒店营业提供服 务。从客房营销开始,从客房的信息查询,到客人入住,到查询住宿信息,退房结账,整个过程都应该能够体现以顾客为本,为顾客提供高效的服务。整个过程可以分为四个阶段,查询房间信息、登记客人信息入住、查询住宿信息、退房结账。则本系统功能就以这四项为主线来依次实现。 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); 通过上面分析,可知我们需要四个表格 客人信息表 房间表 RLevel房间等级表 住宿表 创建两个视图,分别用于展示住宿详情和房间详情。房间详情(房间号,房间类型,房间价格,是否空房),住宿详情(住宿号,客人号,客人身份证号,客人姓名,客人性别,客人年龄,房间号,房间类型,房间价格,入住时间)。 3.3 界面设计 .登陆界面 本界面是用于用户打开系统是验证身份。首先需要提供两个文本框,分别输入用户名和密码;其次需要一个“确定”按钮,验证输入的用户名和密码,和一个“取消”按钮,用于退出系统。当身份验证不通过是给出提示对话框(“用户名或密码错误”)。 .主界面 本界面为身份验证通过后打开的界面,为本系统操作的主要界面,为了实现需要的四个功能,则需要四个按钮,分别是“客房情况”、“住宿情况”、“入住”和“退房”。 3.客房情况界面 本界面为客房情况的查询结果,需要一个JTable来展示查询结果,一个“返回”按钮,返回主界面。 4.入住界面 需要6个文本条分别输入“客人号”、“身份证号”、“姓名”、“性别”、“年龄”和“房间号”;一个“确定”按钮,将文本条中信息转存入数据库;一个“取消”按钮返回主界面。 .查询住宿情况界面 本界面为住宿情况查询结果,需要有一个JTable展示住 宿情况查询结果,还要有一个“返回”按钮返回主界面。 6.退房界面 退房功能要求输入要退房的顾客身份证号,则此界面需要一个文本框,另外需要一个“确定”按钮执行退房操作和一个“取消”按钮返回主界面。 .退房结果 本界面要输出顾客应付金额,以及退房结果。需要一个JTable显示顾客应付金额,一个“确定”按钮返回主界面。 3.4 算法设计 . 登陆功能 将输入的用户名和密码传输到MySQL数据库进行验证,验证成功则进入主界面,验证失败则弹出对话框提醒“用户名或密码错误”。 . 查询房间情况 直接从数据库中房间详情视图查询数据。其中如果Usable字段对应属性为0,“是否空房”为否;如果Usable字段对应属性为1,“是否空房”为是。 . 入住功能 将客人信息(客人编号,客人身份证号,客人姓名,客人性别,客人年龄)插入客人表格。 更新房间表格,将房间号等于输入房间号的元组中的Usable字段设置为0; 将住宿信息(客人编号,房间编号,)插入住宿表格, 其中主键住宿号自动增加,入住时间为当前日期。 . 查询住宿情况 直接从数据库中住宿详情视图查询数据。 . 退房功能 从客人信息表格中得到对应“客人身份证号”的“客人编号”,从住宿情况表格中得到对应“客人编号”的“房间编号”,更新房间表格,将“房间编号”等于对应“房间编号”房间的Usable设置为1. 将住宿情况表格中“房间编号”等于得到的“房间编号”的元组删除。 将客人信息表中“客人编号”等于输入“客人编号”的元组删除。 第4章 系统测试 测试的目的是要发现软件中的错误,并加以改正。测试的方法主要分为单元测试和集成测试。 单元测试:对模块中的几个小单元进行单独测试,若均完成预计功能,便可进行下一步的集成测试。 集成测试:集成测试是组装软件的系统技术,主要有两种方法。一种是先分别测试每个模块,再把所有模块按设计要求放在一起结合成所要的程序,成为非渐增式测试方法;另一种是把下一个要测试的模块同已经测试好的模块结合起来进行测试,测试完以后再把下一个应该测试的模块结合近来测试,称为渐增式测试。我们所用到的是第一种方法, 将所有模块结合到一起进行测试。 测试是一项复杂的、具有创造性的工作,也是在软件开发中容易被忽视的一个阶段。在实际的测试中,可以将测试方法和过程反复进行,各种方法需要灵活地进行组合使用,力求发现所有的错误,并进行改正。只有这样才能为生产出高质量的软件打下基础。 第5章 开发设计总结 5.1 开发心得: 至此,整个酒店客房管理系统开发完毕。在开发过程中有以下心得: 第一,前期的需求分析和软件设计阶段极为重要,不要急于开始软件开发写代码的过程,只有前期做好需求分析和软件设计的工作,在后期开发过程中按照设计好的内容一步一步实现,才能保证软件开发的成功率。否则在软件开发的过程中则需要大量的精力和时间进行修改,而且修改还会带来更多心得问题,浪费更多的人力物力。 第二,学习了根据需求设计数据库和图形和界面,以及如何将数据库与用户界面相链接。这是MIS系统开发中的核心技术。而各种MIS系统的开发是想通的,通过在酒店客房管理系统的开发过程中得到的理论和实践经验可以为其他的MIS系统开发提供很大帮助。 第三,在开发过程中注意多写用户文档和注释。文档是软件开发阶段成果的标志。注释可以帮助你在之后的对代码的分析和修改过程中起到极大的帮助,否则都有可能看不到之前自己写过的代码,而且如果与其他人共同开发,没有注释则会导致交流困难。 5.2 结束语 经过一个多星期的努力,一个完整的酒店客房管理系统就创建完毕了,在此详细介绍了从需求分析到数据库设计,图形界面设计,算法设计,代码实现,直到软件测试等一个完整的过程,基本实现了预期的功能。在此过程中也存在着一些问题,例如界面设计简陋等多方面,仍需要改善。在整个开发过程中也遇到了一些难以解决的问题,例如在Eclipse中如何链接数据库,如何修改数据库等等问题。在吴立军老师的帮助下最终解决了这些问题。我在此次综合课程设计中积累了一些宝贵经验,软件水平有了很大提高。 总之,理论 实践=知识。在这次设计中我成功的将之前课堂上学习的知识与开发过程中得到的实践经验结合起来,亲身体会到只有将理论与实践紧密结合才能使学习效率大大提高。
信息发布:广州名易软件有限公司 http://www.myidp.net
|