基于java的酒店管理系统的设计与实现--毕业设计论文.doc
内蒙古师范大学青年政治学院信息工程系毕业设计说明书(毕业论文)毕业设计说明书(毕业论文)题目:基于Java的酒店管理系统的设计与实现学生所在系: 信息工程系 专 业: 计算机应用技术 班 级: 14级计算机应用技术 学 号: 20141300127 姓 名: 指导教师: 时 间: 2017年3月22日 摘 要 当前酒店管理系统己经得到了充足的发展和完善,一些大的酒店购买了功能强大、数据量处理快速、客户行为研究的软件,借此来提升酒店的核心竞争力。但是对于一些中小规模的酒店而言,昂贵的系统花费、专人的维护是不现实的,也是非常不灵活的。一款简单、灵活、经济适用的中小型酒店管理系统的开发非常具有市场前景。 本文针对上面提到的问题,基于JAVAEE平台设计并实现了一套基于B/S模式的中小型酒店管理系统,其主要研究的内容如下: 1.本文基于B/S的应用实现模式,设计并实现了一套中小型酒店管理系统,包括了客户订房管理、接待管理、收银管理、客房管理和系统管理五大功能模块,重点解决了人工管理酒店方式的缺点、客房信息的及时反馈问题以及系统访问安全性等难题。 2.本文的开发过程遵守软件工程的理论,详细地介绍了中小型酒店管理系统的开发背景、研究现状、系统业务需求、功能需求、非功能需求、系统架构设计、数据库设计、安全设计,给出了核心功能模块的界面实现和代码实现过程,并对系统做了较为详细的功能测试和性能测试,保证了系统的正确性。 通过在酒店的模拟运行,本系统能够实现简化酒店原有工作流程、提高人员与相关资源利用率的目的,同时B/S模式的应用能够在一定程度上节约酒店成本,提高了酒店科学化管理水平。关键词:酒店管理系统;JAVAEE平台;SQL Sever 2008 R2Abstract With the rapid development of the recovery of the global economy and the domestic economy, to date, the hotel is an irreplaceable part of commercial development, the speed of development of the hotel industry is moving beyond traditional industries, changing into a special service industry. And the hotel management is one of top ten industries in the world. With the widespread popularity of computers and networks, at this stage, the service of the hotel is no longer limited to "check in - check out" as traditional and simple operating mode did. But in the context of the informational technology and electronic commerce, gradually developed into a modern business mode given its wide range of services, comprehensive business, sophisticated infrastructure. With the help of informational technology and network, a professional large hotel management system, that is simpler to operate, provide more convenient for services,give more satisfaction to customer and show higher market competitiveness, is arisen at the historic moment. If this mechanism is applied in the management of small or medium-scale hotels, it is a waste of resources, and the system is too complicated to maintain.In order to improve the management of small or medium-scale hotels, make it more convenient, fast, and accurate, as well as to obtain tremendous economic benefit and work more efficiently, to prepare and program an information management system for small or medium-scale hotels is inevitable. Through market research and feasibility analysis, this paper presents hotel information management system specifically for small and medium-scale hotel, the main contents includes: 1. Requirements analysis of hotel information management system. Firstly, this study gives a preliminary analysis and argumentation for the feasibility of the system from the aspect of technical, operational and economic. Secondly, roughly draw the overall design of the system and a functional block diagram of each module, and the management system is divided into five levels, the level of analysis were carried out then. 2. Specific design for hotel information management system. Firstly, determine the overall design of the system overview of basic management modules. Secondly, design of key technologies, development environment and database in detail, which involved in the development of the system. Finally, we drawn diagrams for the implementation of the main function modules, including room management module, financial statistics module, personnel management module and warehouse management module. 3. Process and system testing. At beginning, home page of the hotel management system was tested. Secondly, the development tools were used to test each subsystem interface, the testing include the interface of user registration and log in, the interface of room reservation for users, the interface of users manage for reception, the interface of objects query, the interface of checkout for reception, the interface of personnel management for manager and the interface of warehouse management. And the final testing was carried out for the operating environment. From the current perspective, no matter large, small or medium sized hotel companies, hotel management does a good job or not is a key factor directly affect the development of the hotel itself. The system can be effective in helping to save the daily management of the hotel appeared in a variety of problems and improve the operational capacity of the hotel, the hotel to promote good services and rapid development. Keywords: JavaEE; small or medium-scale hotels; SQL Server 20098 R2目 录Abstract3第1章 绪论11.1背景11.2酒店管理系统的现状21.3本文的主要工作及组织结构2第2章 开发工具42.1开发工具42.1.1 Eclipse42.1.2 SQL Sever 2008 R25图2-2 SQL Sever 2008 R26第3章 需求分析73.1可行性分析73.2 系统功能分析8第四章 系统设计104.1数据库设计104.2系统界面设计124.2.1系统登录界面设计124.2.2主界面设计124.2.3订房信息界面设计134.2.4接待管理界面设计144.2.5结账界面设计154.2.6客户管理界面设计154.2.7退出系统界面设计16第5章 系统的实现175.1系统框架设计175.1.1系统登录模块设计175.1.2主界面模块设计185.1.3为数据库建立连接类195.2基本信息管理模块205.2.1房建项目设置205.2.2客户类型设置215.2.3计费设置235.3.2营业查询245.4旅客信息管理模块255.4.1旅客信息查询25第6章 系统运行与测试27参 考 文 献28致 谢29第一章 绪论 酒店管理系统对于现代化企事业单位来说,就像一个润滑剂,使原本大量且复杂的人事数据工作变得简单并且方便,并且对于企事业的领导者来说,它使领导者对员工信息一目了然。在当前社会中,办公自动化已经在企业办公中无处不在,无纸办公已经是大的潮流,而酒店管理系统就是这个办公自动化潮流当中不可或缺的重要内容,它使酒店管理工作变得简单方便,并且是普及办公自动化过程的一个催化剂。1.1背景 当今随着科技的日新月异,电脑的普及率越来越高,在日常的生活中人们使用它也越来越多,因此电脑在人们工作和生活中起到了非常重要的作用。而随着计算机的普及1,人们对计算机的需求也越来越高,尤其是大中型企业等对计算机的需求任务都不尽相同,但目的都是一致的,那就是去解决他们管理工作上的难题,为了解决这些难题,提高管理水平和办事效率,他们就结合着自身的企业文化,把他们的管理理念和计算机结合在一起形成了以管理员为核心的人机交式管理系统,人机交互已经成为企业发展必不可少的推进力量。 自中国入世后,各行各业更面临着一些从未出现过的发展机遇,其实,这些都带来了非常严峻的挑战。中国的酒店行业也伴随着这股漩涡开始和国际上酒店行业之中的先进理念以及管理方法等进行竞争和学习2。最原始的酒店看起来机构过于庞大,随着季节的不同服务的项目也越来越多,这些都导致了最原始的酒店管理方法的失败。因为它们的过程复杂又艰辛,工作人员执行起来效率都不够高,有的时候出现错误就前功尽弃,因此这种原始的管理模式已经不能在市场经济下存在,满足不了客户的需求。因此,各酒店都在努力学习最新的酒店管理制度和经验。在网络风暴来临之时,酒店行业也开始试图采用网络服务来实现它们的管理模式和方法,来实现资源的共享。采取网络服务可以更加普及酒店的信息,实现网上的信息资源共享。酒店信息系统的创建不仅仅可以方便客户的使用,还可以方便工作人员对客户信息的管理,提高他们的工作效率。总体来说,酒店管理与计算机相结合不仅仅可以带来行为上的效率,还可以降低一些管理上的成本支出,可谓“一箭双雕”。当然,酒店行业的成功与否不单单是计算机所能决定的,但计算机的辅助绝对可以起到更加积极的效果3。因此,实现系统平面由用面向B/S和C/S模式代替单机方式,采用最新的计算机网络和管理系统,必然成为提高酒店的管理效率、改善服务质量的重要手段之一。1.2酒店管理系统的现状 信息是经济学决定生产力最活跃的要素之一,可以说从古至今信息就一直决定着人类生活进步的关键因子,信息所起到的作用不置可否。但真正出现信息与企业经营管理系统相结合是在五十年代末4-5。 现实中,我们常常提到的管理信息系统,一般都是指用计算机对管理数据进行收集、存储等操作。这些管理信息系统可以应用于一些组织机构、政府机构、企业等,构成所谓的“人机系统”,此系统是在后工业经济时代所产生的。企业管理信息、系统最早发展时,只是单一的“人一机系统,”6-7。那时候的系统功能非常地简单。 改革开放以来,我国的计算机网络领域发展愈发地迅速,普及面之广可谓惊叹,随着这种普及,企业开始应用管理系统的风潮也开始席卷祖国的大江南北。当今,例如美国、英国等一些发达国家已经建立了非常完善的管理信息系统体系8,它们在社会中都起着举足轻重的作用。 我国的管理信息系统大约开始于80年代末和90年代初期,那时,我国开始大力推行网络工程,许多企事业单位都响应政府的号召建立起局域网和广域网信息系统9_10。现今,无论世界各国经济都已经开始步入知识化时代,无论是工业经济,还是面向少数管理人员的专家系统或者决策支持系统,它们的处理能力都有所提高,处理对象和服务对象种类和数量都大大增加。 我国的许多酒店都没有采用管理信息系统体系,甚至连一些星级酒店业只是采用单机操作,这样的管理根本不够科学,酒店的工作效率也得不到提高,更不用提取得好的收益了”。在当今网络时代,依旧采用原始的信息发布这样的人工模式,根本不会取得更好的效果,而单单使用微机进行管理,但那也只是单机方式,无法与外界客户直接进行联系。大家可以相信,随着电脑的普及,管理系统的网络化必然是发展的趋势。1.3本文的主要工作及组织结构 本文首先对中小酒店本身的企业文化及基本业务等特征进行全面综合地分15提出了将把中小酒店的管理模式与计算机网络技术相结合,开发出最新的酒店信息综合管理系统,本文详细介绍了系统的开发过程和各个子系统的功能。本文的具体结构如下: 第一章绪论。主要介绍了本系统的开发背景以及酒店管理系统的现状,并介绍了本文的主要工作以及组织结构。 第二章相关技术与开发工具。本章主要介绍了本系统需要用到的体系结构,以及本系统所使用的开发工具以及数据库。 第三章酒店信息综合管理系统的分析。本章首先介绍了信息综合管理系统的特点,包括它的组成结构以及界面特点。其次介绍了信息综合管理系统的开发过程。最后对本文系统进行需求分析,并进行功能需求的描述。 第四章酒店信息、综合管理系统的设计与实现。本章首先介绍了目标系统的要求,并对系统平台的开发环境选择进行了介绍。其次,对系统进行了概要设计,包括网络结构的设计以及系统结构的设计。第三,划分了子系统,对划分系统的原则和并划分了九大子系统并介绍了相应的功能。其次对每个子系统的实现进行了详细的介绍。最后对数据库的设计与实现进行了详细地介绍。 第五章系统测试及分析。对每个功能模块进行了详细的功能性测试。 第六章工作总结与展望。本章对本文工作进行了详细的工作总结,并进行了展望。第二章 开发工具2.1开发工具2.1.1 Eclipse图2-1 Eclipse Eclipse是基于的可扩展开发平台27,它源代码是对外开放的。如果单单就它来讲,它只是一个框架和一组服务,通过插件、组件来构建开发环境。比较好的一点在于,它有一套标准的插件集,包括开发工具。大多数开发者很喜欢使用当作来使用,但其实Eclipse的目标不只在于只是简单作为编辑器。还包括插件开发环境,这个组件可以扩展软件,因为它允许它们来构建出和集成的工具,可以说此插件开发环境主要是对那些希望扩展Eclipse的程序员。可以说,Eclipse中的每样东西都能当作插件来使用,因此对于这些插件以及给用户提供的开发环境来说,所有的工具都可以拿来使用,发挥长处。 它不仅仅只是针对于java开发工具。即使Eclipse的开发语言是java,但是它的用途可不仅仅只是针对于java。它还支持C/C+十、COBOL和Eiffel等编程语言,只要添加此类插件即可。Eclipse框架也还可成为与程序开发无关的其他应用类型的基础。Eclipse的本身只是一个框架平台,但是众多插件的支持使得Eclipse拥有其他功能相对固定的IDE软件很难具有的灵活性。许多软件开发商以、Eclipse为框架开发自己的IDE。基于Eclipse的应用程序的最典型例子是IBM的WebSphere Studio Workbench。因为它添加了对JSP, servlet. EJB, XML,Web服务以及数据库访问的支持。 Eclipse是于1999年由OTI和IBM这两家公司的IDE产品开发组创建出来的28l。它是Visual Age for Java的替代品,它们的界面都很类似,但两者不同在于,由于Eclipse开放源码,任何人都可以免费得到。Eclipse是一个开放源代码的软件开发项目,专注于为高度集成的工具开发一个全功能具有商业品质的平台。它具体可以包括四大分:EclipsePlatform,JDT, CDT和PDE o JDT支持Java开发、CDT支持C开发、PDE用来支持插件开发,Eclipse Platform则是一个开放的可扩展IDE,提供了一个通用的开发平台。它提供建造块和构造并运行集成软件开发工具的基础。Eclipse Platform允许工具建造者独立开发与他人工具无缝集成的工具从而无须分辨一个工具功能在哪里结束,而另一个工具功能在哪里开始。2.1.2 SQL Sever 2008 R2美国Microsoft公司推出的一种关系型数据库系统。SQL Server是一个可扩展的、高性能的、为分布式客户机/服务器计算所设计的数据库管理系统,实现了与WindowsNT的有机结合,提供了基于事务的企业级信息管理系统方案。主要特性:(1) 高性能设计,可充分利用WindowsNT的优势。(2) 系统管理先进,支持Windows图形化管理工具,支持本地和远程的系统管理和配置。(3) 强壮的事务处理功能,采用各种方法保证数据的完整性。(4) 支持对称多处理器结构、存储过程、ODBC,并具有自主的SQL语言。 SQLServer以其内置的数据复制功能、强大的管理工具、与Internet的紧密集成和开放的系统结构为广大的用户、开发人员和系统集成商提供了一个出众的数据库平台。语言运用:SQL语句可以用来执行各种各样的操作,例如更新数据库中的数据,从数据库中提取数据等。目前,绝大多数流行的关系型数据库管理系统,如Oracle,Sybase,Microsoft SQL Server,Access等都采用了SQL语言标准。虽然很多数据库都对SQL语句进行了再开发和扩展,但是包括Select,Insert,Update,Delete,Create,以及Drop在内的标准的SQL命令仍然可以被用来完成几乎所有的数据库操作。图2-2 SQL Sever 2008 R2第三章 需求分析3.1可行性分析 目的是为了在最短时间内和最快的速度内实现最高的效率,能够能否确定问题的解决。需要实现这一过程,必须要去分析利弊,分析主要可能解决的,去分析自己所开发的系统能否实现自己原来规划的目标,判断完成后的系统能否带来最大的效益,这种效益是否应该值得去投资开发这个系统。这一可行性分析可以大大减少系统分析和设计,可行性分析的能否准确直接影响着即将开发的系统的工作效率,也就是以比较抽象的方式来进行系统分析和设计的过程。系统的可行性分析主要涉及到技术的可行性和操作的可行性等; 一、技术的可行性 酒店管理系统是主要是 java 来实现的。它是一种解释型语言。也就是说,跟c+语言相比 java 执行起来较慢。它在不同的环境通过 java 解释器能实现运行,对代码的解析,实现每一个环境下都能运行的优势。为了更好简化编写过程,我们选用 Eclipse 作为该系统的开发工具。为了达到目标,牺牲效率还是值得的,并且酒店管理系统的目的是要实现更准确,功能完备,简捷使用,维护简单。而为了维护该系统的稳定运行,则要求建立数据一致性,这就需要通过SQL Sever 2008 R2 数据库来实现。,使用 SQL Sever 2008 R2数据库的优势在于:1. 保护您的信息。SQL Server 2008 R2 利用全面审核功能、透明数据加密和外围应用配置器(仅启用所需服务最大限度地减少安全攻击)来提高符合性和安全性。2. 确保业务连续性。SQL Server 2008 R2附带提供的数据库镜像可提高应用程序的可靠性,简化发生存储失败后的恢复过程。3. 提供可预测响应。SQL Server 2008 R2提供更广泛的性能数据收集、新的中央数据存储库(存储性能数据),以及改进的数据压缩(使您可以更有效地存储数据)。4.最大限度地减少管理监视。Declarative Management Framework (DMF) 是 SQL Server 2008 R2中一个基于策略的新型管理框架,它通过为大多数数据库操作定义一组通用策略来简化日常维护操作,降低总拥有成本。 5.成任何数据。SQL Server 2008 R2提供改进的查询性能和高效且具成本效益的数据存储,允许您管理和扩展数量庞大的用户和数据。6.提供相关信息。SQL Server 2008 R2使用户可以在 Microsoft Office Word 和 Microsoft Office Excel 中创建复杂报表,并在内部和外部分享那些报表。 即时访问相关信息使员工可以做出更好、更快和更多相关决策。二、操作上可行性 酒店管理系统是在利用现代化的技术来实现管理,这不仅为用户提供更好的服务,可以减轻酒店管理人员的负担,为酒店本身带来了很高的工作效率和资金收入。酒店管理系统不仅容易维护系统,系统本身具备华丽的用户界面可以让用户很方便的进行相关操作,相应功能易懂容易操作,可以让用户易于接受,用户只需熟练计算机基础操作即可。从而操作方面这种系统的开发是可行的。三、经济上可行性本酒店管理系统软件只需在 Windows 系统,Eclipse ,SQL Server 2008 R2 即可。硬件只需有一台正常的电脑即可。对于这样的条件每个酒店都有相应的条件,这种成本都是很小的成本支出。3.2 系统功能分析本系统功能模块图如下图 3-1 所示:第四章 系统设计酒店管理系统 旅客信息管理订房/查询管理基本信息管理 会员信息管理旅客信息查询营业查询管理多人订房管理个人订房管理收费信息管理旅客类型管理房间信息管理图3-1 系统功能模块图第四章 系统设计4.1数据库设计 根据前面我们所确定的酒店管理信息系统的需求,我们对酒店进行了数据库的需求分析与设计。计出该系统的数据结构及相关设置,如下面的图所示。表4-1 用户信息表列名数据类型允许null值pkdecimal(20, 0)useridvarchar(50)pwdvarchar(50)puisvarchar(50)delmarkintother1varchar(50)Yother2varchar(50)Y表4-2结账信息表列名数据类型允许null值pkdecimal(20, 0)chk_novarchar(50)in_novarchar(50)daysintmoneyfloatchk_timevarchar(50)remarkvarchar(50)Ydelmarkintother1varchar(50)Yother2varchar(50)Y表4-3结账信息表1列名数据类型允许null值pkdecimal(18, 0)Yr_type_idvarchar(50)Yr-novarchar(50)YpricefloatYdiscountintYDis_pricefloatYaccountfloatYmoneyfloatYIn_timevarchar(50)Y表4-4旅客类型表列名数据类型允许null值pkdecimal(20, 0)idvarchar(50)C_typevarchar(50)Dis_attrvarchar(50)discountintpricefloatDis_priceYremarkvarchar(50)Ydelmarkintother1varchar(50)Yother2varchar(50)Y表4-5预订信息表列名数据类型允许null值pkdecimal(20, 0)C_namevarchar(50)C_ipvarchar(50)YC_telvarchar(50)R_type_idvarchar(50)R_novarchar(50)Pa_timevarchar(50)YKeep_timevarchar(50)Eng_timevarchar(50)Remarkvarchar(50)YengagemarkIntduemarkintdelmarkintOther1varchar(50)YOther2varchar(50)Y4.2系统界面设计4.2.1系统登录界面设计登录界面如4-1图所示。图4-1 登录界面4.2.2主界面设计主界面设计如图4-2所示。图4-2 主界面4.2.3订房信息界面设计1.订房信息订房管理充分考虑到客房选择问题,输入订单信息页而如图4-3所示。图4-3 订房信息界面2. 订房信息查询订房信息查询如图4-4所示。图4-4 订单查询界面4.2.4接待管理界面设计1. 入住登记界面设计入住登记页面包含的个人信息包括:客户名称、电话、性别、身份证号等,如图4-5所示。图4-5 入住登记界面2. 入住记录查询界面入住记录查询界面可以统一查询入住记录。入住记录查询界面如图4-6所示。图4-6 入住记录查询界面4.2.5结账界面设计 结账界面设计如图图4-7所示。图4-7 结账界面4.2.6客户管理界面设计 客户管理界面设计如图4-8所示。图4-8 客房类型查询4.2.7退出系统界面设计 退出系统界面设计如图4-9所示。图4-9 退出系统界面第五章 系统的实现5.1系统框架设计5.1.1系统登录模块设计为了系统的安全性,必须为该系统添加一个系统登录模块。 添加登录类login,定义成员变量用来记录当前登录名和用户密码信息,并且通过触发事件判断用户名和密码是否存在,然后进行登录操作。其代码如下:public class Login extends JFrame implements ActionListener, KeyListener, ItemListener, FocusListener JLabel top, bott; JComboBox cb; JPasswordField pf; JButton bt1, bt2; JPanel panelMain, panelInfo;String clue = " 提 示 : "int flag = 0; / 登记次数记数器public static com.hotel.mainframe.HotelFrame hotelFrame;/public static String dluser;public static String dlpassword;public Login() super("系 统 登 录");top = new JLabel(new ImageIcon("pic/login_top.jpg");bott = new JLabel();panelMain = new JPanel(new BorderLayout(10, 10);bott.setBorder(new LineBorder(new Color(184, 173, 151);buildCenter();panelMain.add("North", top);panelMain.add("South", bott);panelMain.add(panelInfo);bt1.addActionListener(this);bt2.addActionListener(this);bt1.addFocusListener(this);bt2.addFocusListener(this);bt1.addKeyListener(this);bt2.addKeyListener(this);cb.addItemListener(this);cb.addFocusListener(this);pf.addFocusListener(this);cb.addKeyListener(this);pf.addKeyListener(this); this.addWindowListener(new WindowAdapter() public void windowClosing(WindowEvent we) quit();/ End windowClosing);5.1.2主界面模块设计 主界面是整个系统通往各个功能模块的窗口,所以要将各个功能模块的窗体加入主界面中,同时要保证各窗体在主界面中布局合理,让用户方便操作。因此,在主界面中应加入整个系统的入口方式main,通过执行该方法进而执行整个系统。Main方法在窗体初始化时调用。主窗体文件HotelFrame.java的实现代码如下:public class HotelFrame extends JFrame implements ActionListener, MoseListener, Runnable Individual idv = new Individual(this); / 散客开单CheckOut co = new CheckOut(this); / 宾客结帐Engage eg = new Engage(this); / 客房预定Query qr = new Query(this); / 营业查询Customer ct = new Customer(this); / 客户管理Setup st = new Setup(this); / 系统设置5.1.3为数据库建立连接类 sunsql类用于建立与数据库的连接,通过获得的Default_Link标志,可以判断数据库采用的连接方式,此处是通过sunini类从文件中读取配置文件信息,并且赋值给相应的变量实现的,其代码如下:public class sunsql private static Statement ste = null;p