基于JAVA的酒店管理系统设计与实现.docx
《基于JAVA的酒店管理系统设计与实现.docx》由会员分享,可在线阅读,更多相关《基于JAVA的酒店管理系统设计与实现.docx(37页珍藏版)》请在冰豆网上搜索。
基于JAVA的酒店管理系统设计与实现
基于JAVA的酒店管理系统设计与实现
————————————————————————————————作者:
————————————————————————————————日期:
重庆大学网络教育学院
毕业设计(论文)
题目基于JAVA的酒店管理系统设计与实现
学生所在校外学习中心
批次层次专业
学号
学生
指导教师
起止日期
摘要
随着近几年我国酒店业的迅猛发展,酒店业的竞争日益激烈.为提高酒店的管理水平,增强酒店的竞争能力,先进的酒店管理信息系统己成为酒店经营者的必然选择,由于酒店服务项目众多,客人信息内容繁琐,而且信息量大,因而在操作上经常造成很多不便之处,浪费了时间,降低了工作效率,而且极大地影响了酒店的服务质量和经济效益,要想降低成本,提高工作效率、服务质量和管理水平,必须借助计算机来辅助进行酒店的管理,本文针对这些问题设计了这个系统,本着科学化、规范化、系统化的原则,设计和开发了酒店管理系统。
本文论述了酒店管理系统的详细需求分析过程.同时论述了酒店系统的详细设计过程,包括酒店管理系统的分析、系统功能设计、数据库设计等,本系统前台采用的开发工具为java,后台数据库的开发工具为SQLServer2005,前端和后端的结合采用ADO数据库访问技术,实现了为管理者提供决策分析功能,最终形成一套完整、实用的管理信息系统.
系统的设计共分为五个主要就阶段:
即:
系统分析阶段,阐述了系统开发的主要目的,讨论了开发的可行性,并对系统需要完成的主要功能进行了需求分析,确定了各模块的数据流程图;总体设计阶段:
在对各功能模块设计方案进行讨论的基础上,进行了详细的数据库设计,将系统按功能划分为会员管理、管理员管理、操作员管理三个功能模块;详细设计阶段:
按照设计好的系统结构,对系统菜单、窗口对象、各控件按钮、数据窗口对象等可视化界面和各功能模块进行设计;系统编码阶段:
根据详细设计的内容,对系统进行代码编写,按计划开发出稳定、可靠地系统;系统测试阶段:
对酒店管理系统进行功能测试、性能测试和界面测试等。
关键词:
java、B/S架构、SQLserver2005、酒店管理
1绪论
1.1研究背景与研究意义
21世纪,全球网络化,科技在突飞猛进。
计算机应经普及到我们社会和经济生活中的各个领域。
人们进行信息交流的深度与广度不断增加,这使得我们的服务、管理也相应该跟得上时代的步伐去前进。
电子商务在此得到极大地普及与发展.
酒店客房业在电子商务中还处于形成的初期,传统的酒店客房业中,大都是以实际门面的形式来进行宣传和交流的。
作为网络普及化的社会,这还缺少了一些更为现代化的元素。
酒店客房业是一个个性化、多样化的服务业,而电子商务择最能体现个性化、多样化服务的商务方式。
而且现在大部分电子商务都体现为向大企业服务,结合酒店客房这个行业的特点,最终还发展为同小区小店服务的模式。
以最贴切的方式,最灵便的服务进入个个网络社区,进入人们的生活。
针对大背景下的问题与方向,可以察觉到在酒店客房服务这个大行业中尚有可为的地方。
提供适合不同人群,最贴切的服务,通过网络平台,去体现服务质量,去创造效益。
应当抓住中小店铺,提供区域化酒店客房服务这一理念,为他们提供最贴切的服务,把它体现在电子商务服务上来,融合到我们软件开发的产品中,去建立起特色鲜明的酒店客房预订网站,来获得最大的经济效益。
综上所述,本系统的开发是符合现在的实际情况的,并具有一定的使用意义。
在技术、经济、操作上、法律上都可以看到此系统的可行性,并且很具有实现的必要.
1。
2课题调研
传统是用人工的方式来进行点评的各项管理,比如人工进行记录,人工进行顾客个人信息、预订和付款信息管理,口头通知或者通过电话等方式联系进行关于交易的信息传递与交流,拿最平常的费用统计管理来讲,光是每个顾客的个人消费就是一道令人费解的过程,而在当今计算机技术不断发展的今天,这些问题可以轻而易举的通过计算机和网络来完成,不仅方便快捷而且简单易操作。
同时对于顾客反馈里面的内容管理,过去也多数是以纸质材料进行保存,这样查询起来不仅麻烦不方便,性能比较差,而且容易磨损,不易保存,另外时间一旦较长,将会产生大量的文件和数据,这对于查找、更新和维护都带来了不少的困难.如果采用电子文档的方式进行保存,不仅查询起来方便,而且安全性比较高,只有有权限的人才可以看到,只要多备份几个,而且多出备份也更容易。
可以保存很多年,不会发生像传统的纸质材料保存所出现的问题。
开发出来一个适合酒店客房行业,能够满足用户需求的系统。
设计并实现一个基于Java的酒店管理系统,本课题的任务是采用B/S架构设计一款网上酒店客房系统,只要能上网就可以酒店客房预订,为管理员提供顾客信息与顾客订单管理的服务平台,在此基础上完成毕业论文的撰写。
通过本系统设计使学生对电子商务和B/S架构数据库有更深入的理解,提高数据库编程能力,在毕业设计论文写作中,提高对所得技术知识的总结与组织能力。
2开发技术及架构
本章主要讨论了酒店管理系统开发中使用的相关技术,本系统采用了B/S结构。
B/S结构分为Web浏览器、中间层和后台数据库服务器三个层次。
中间层是指运行在服务器中的,联系Web浏览器与后台数据库服务器的软件。
本系统中间层采用基于J2EE的三层结构解决方案,数据库服务器采用了SQLServer数据库。
中间层和数据库层的通信采用了JDBC技术,并使用了数据库缓冲技术。
中间层的开发采用了MVC模式。
为了提供统一的认证界面,本系统附加了一个统一用户认证的功能,即单点登录。
在单点登录中,各个应用系统之间的通信采用了WebService。
2.1B/S系统结构
目前应用广泛的Web数据库系统是一种基于B/S(Browser/Server)结构的系统。
B/S模式结构通常为三层结构,它以Wed数据库为中心,以HTTP为传输协议,客户端通过浏览器访问Web服务器和与其相连的后台数据库.其三层结构组成如图2—1所示:
图2-1三层B/S模式示意图
进行信息查询时,用户通过浏览器向Web服务器发出请求,Web服务器端远程数据服务组件处理该请求并将该请求发向DBMS(数据库管理系统),它响应该请求并发回数据。
这种基于B/S结构的系统极大简化了客户机的工作,客户机中只需安装浏览器软件,服务器将承担更多的工作,对数据库的访问和应用程序的执行都在服务器端完成.
本系统采用了B/S流行架构开发,数据库服务器采用Windows7系统,利用开发工具Myeclipse以及Tomcat服务器,并且安装SqlServer2005数据库。
2.2开发语言
随着互联网技术的不断发展,基于浏览器/服务器(Browser/Server简称B/S)体系结构的应用程序得到了空前广泛的应用。
但是服务器之间的通讯,尤其是在不同平台上运行的服务器之间的通讯仍然不是一件容易的事情。
因为大多数Internet应用程序都是以数据库为中心的,方便的访问多种数据源的能力也比以往任何时候都更加重要。
JSP无疑可以轻松地实现这类功能,JSP技术是一种服务器端的HTML页面中嵌入JAVA代码的脚本语言,它比一般脚本语言的执行速度更快,由于JSP是基于JAVA语言的,所以它可以运行在UNIX/LINUX和WINDOWS平台上,是一种难得的动态网页开发语言.
在动态内容的解决问题中,还存在其他的解决方法,但是开发人员要掌握这些技术很难。
例如,JavaServlets这样的技术就可以使得用Java语言编写交互式的应用程序的服务器端的代码变得更加简单.JavaServlets就是一个基于Java技术的运行在服务器端的程序(与Applet不同,后者运行在浏览器端)。
开发人员编写出Servlet程序,用来接收来自Web浏览器的HTTP请求,动态地生成响应,然后发送包含HTML或XML文档到浏览器。
但是使用这种方法,整个网页必须都在JavaServlet中制作.如果开发人员或者Web管理人员想要调整页面的显示,就不得不从新编辑并编译JavaServlet程序.采用这种方法,编写带有动态内容的页面需要有很熟练的应用程序开发技巧和经验。
很显然,一个简单的创建动态页面的解决方案要能解决以下的问题:
1。
能够在任何Web或应用程序服务器上运行
2.将应用程序逻辑和页面显示分离
3。
能够快速地开发和测试
4.简化开发基于Web的交互式应用程序的过程
JavaServerPages(JSP)满足这些要求,它整合了存在的Java编程环境提供支持的技术和工具,产生了一种新的、开发基于Web应用程序的方法,这个方法给予使用基于组件应用的逻辑页面的设计者提供了强大的功能.
Java的特点:
(1)简单Java语言简单是指这门语言既易学又好用。
简单并不代表干瘪,Java是一门很丰富的语言。
(2)面向对象基于对象的编程更符合人们的思维模式,使人更容易编写程序.
(3)跨平台Java是基于虚拟机运行的程序,它可以实现一处编译多处运行。
(4)多线程Java实现了内置多线程支持。
多线程允许同时完成多个任务。
(5)安全Java小应用程序被限制在只允许访问Java运行环境中,不允许访问计算机其他资源.Java提供了强类型检查机制,使得程序在开发期间更安全.
(6)动态Java程序的基本组成单位就是类,有些类是自己编写的,有些类是从类库引用的,而类又是运行时动态绑定的,这就使得Java可以在分布式环境中动态的维护程序和类。
2。
3数据库技术
2.3。
1SQLServer大型关系数据库
SQLServer是一个分布式的关系型数据库管理系统,具有客户/服务器体系结构。
SQLServer是一个应用广泛的数据库管理系统,具有许多显著特点,例如,用户喜欢的易用性、适合分布式组织的可伸缩性、用于决策支持的数据仓库功能、与许多其他服务器软件紧密关联的集成性、良好的性能价格比等.
SQLServer系统中,数据库的管理采取了先进的动态管理机制,数据库的大小可以随着数据量的变化而缩小或者扩大。
另外,用户数据都是非常重要的和保密的,这些数据存储在SQLServer系统中有绝对的安全性保障,有完善的用户帐户策略和许可机制,只有经过授权的用户才能访问系统,并且执行相应的操作和访问允许访问的数据。
XX的用户既不能执行相应的操作,也不能访问数据库中的相应数据.
2.3。
2Java数据库访问技术
JDBC(JavaDatabaseConnectivity)是Java的一个标准SQL数据库访问接口,它是用于执行SQL语句的Java应用程序接口API,它规定了Java如何与数据库进行交互作用。
JDBC由一组用Java语言写的类和接口组成,利用Java机制设计的标准SQL数据库连接接口JDBC去访问数据库。
本系统采用odbc桥来连接SQLServer2005数据库.
2.3.3数据库缓冲技术
随着信息技术的高速发展与广泛应用,数据库技术在信息技术领域中的位置越来越重要。
传统的开发模式是:
首先在主程序中建立数据库连接;然后进行SQL操作,对数据库中的对象进行查询、修改和删除等;最后断开数据库连接。
使用这种开发模式,对于一个简单的数据库应用,由于数据库的访问不是很频繁,只需要在访问数据库时创建一个连接,用完后就关闭它,这样做不会明显增大系统的开销。
但是对于一个复杂的数据库应用,情况就完全不同了,用户操作频繁的建立、关闭数据库,会极大的降低系统的性能,增大系统的开销,迫使网站的响应速度下降,严重的甚至会造成服务器的崩溃。
由上面的问题分析可以看出,问题的根源在于对数据库连接资源的低效管理和放任政策导致数据库连接这个重要的资源完全暴露在应用系统管理之外.
为解决上述问题,可以采用数据库连接池技术.数据库连接池的基本思想就是为数据库连接建立一个“缓冲池”.预先在缓冲池中放入一定数量的连接,当需要建立数据库连接时,只需从“缓冲池"中取出一个,使用完毕之后再放回去.通过一次建立数据库连接后的共享使用实现数据库连接的高效运行,可以通过设定连接池最大连接数、最多并发连接数等来防止系统无限制的进行数据库连接和数据库服务请求。
更为重要的是我们可以通过连接池的管理机制监视数据库的连接的数量﹑使用情况,为系统开发测试及性能调整提供依据。
2.4J2EE框架
目前,Java2平台有3个版本,它们是适用于小型设备和智能卡的Java2平台Micro版(Java2PlatformMicroEdition,J2ME)、适用于桌面系统的Java2平台标准版(Java2PlatformStandardEdition,J2SE)、适用于创建服务器应用程序和服务的Java2平台企业版(Java2PlatformEnterpriseEdition,J2EE)。
J2EE体系结构提供中间层集成框架用来满足无需太多费用而又需要高可用性、高可靠性以及可扩展性的应用的需求。
通过提供统一的开发平台,J2EE降低了开发多层应用的费用和复杂性,同时提供对现有应用程序集成强有力支持,完全支持EnterpriseJavaBeans,有良好的向导支持打包和部署应用,添加目录支持,增强了安全机制,提高了性能。
2.5总体设计原则
1、开放性、可扩充性、可靠性原则
开放系统是生产各种计算机产品普遍遵循的原则,遵循这种标准的产品都符合一些公共的、可以相互操作的标准,能够融洽的在一起工作.开放系统使得各种类型的网络和系统互连简单、标准统一,容易扩展升级。
从而适应广大用户需求的多变性和产品的更新换代。
2、良好的用户操作界面
用户操作界面美观、方便、实用,使用户能在较短的时间内掌握其使用方法。
3、实用性原则
任何系统的设计都要考虑其实用性,系统开发的目的是为了实现业务处理自动化、规范化,提高工作效率,减轻工作人员的劳动强度,减少开支。
4、工作平台设计原则
能适应不同的操作平台,不同的网络。
3系统分析与设计
3.1需求分析
需求分析是在问题及最终解决方案之间架设桥梁的第一步。
只有充分了解需求之后才能设计系统,否则,对需求定义的任何改进,在设计上都必须大量的返工。
现在绝大多数的中小型酒店、宾馆由于资金、人员等多方面原因不易使用酒店管理类软件,全凭原始的手工记录管理,效率低、易出错;同时,市场上出现的各类酒店客房信息管理软件基本上都是为大型酒店专业设计的,有很多功能对于一般酒店、宾馆根本用不上。
更为关键的是这些酒店客房信息管理软件都是基于客户机/服务器的,即使功能再强大,客人需要预订客房时都需自己亲自到酒店去预订或者是打电话到酒店预订,操作比较繁琐.
酒店客房信息管理系统的使用是否方便,运行速度是否迅速,信息处理是否准确,直接影响到客人能否及时获得酒店客房信息和酒店的经营管理。
然而,现在的系统显然不能满足这些需求,它存在的主要问题是:
客人使用很不方便.客人预订客房,需自己亲自到酒店去预订或者是打电话到酒店预订,这显然是对时间很大的浪费。
另外,若客人临时有事,需要修改和取消自己的预订也需那样做,相当麻烦。
而在生活节奏越来越快的今天,显然是不科学的。
管理酒店的各种信息也是相当困难,酒店的信息量越来越大,管理员要对客房、预订、入住、结账等信息进行人工管理,工作量相当大,如客人结账退房时,要通过手工记录的账单计算客人的结账金额,并修改客房信息,处理效率低,准确度差。
采用人工方式,不但增加了工作量,浪费了人力,更重要的是不可避免地会降低处理效率,且出错机率大.
3.1。
1性能需求分析
该系统在性能功能上应达到如下需求:
(1)操作简单、界面友好:
完全控件式的页面布局,使得信息的录入工作更简便,许多选项只需要点击鼠标就可以完成;另外,出现的提示信息也让用户随时清楚自己的操作情况。
对常见的类似网站的管理的各个方面:
基本信息录入、浏览、删除、修改、搜索等方面都大体实现;
(2)即时可见:
对客户预定酒店客房信息的处理(包括录入、删除)将立即在主页的对应栏目显示出来,达到“即时发布、即时见效”的功能;
(3)系统运行应该快速、稳定、高效和可靠;
(4)在结构上应具有很好的可扩展性,便于将来的功能扩展和维护.
3.1。
2产品质量需求分析
客户的需求不断变化,如何快速高效地推出满足客户需求、具有差异化优势和竞争优势的产品,并最终获得市场的成功。
表3.1产品质量需求分析
主要质量属性
详细要求
正确性
按照需求正确执行任务,完成各个模块的相应要求。
健壮性
具有较高的容错能力和恢复能力.
可靠性
故障发生率每运行1000小时低于3次
性能,效率
软件的输出结果更新周期应该与系统的信息更新周期相同。
在网络情况良好的情况下,3秒内可响应用户请求.
易用性
软件研制过程中形成的所有文档语言简练、前后一致、易于理解以及语句无歧义。
安全性
防止软件受到意外或蓄意的存取、使用、修改、毁坏或泄密的软件属性其数据应能集中存放于总部的数据库服务器,客户端不保存任何业务数据和数据库连接信息,也不应进行什么数据同步。
可扩展性
能方便的进行二次开发,满足对功能的扩充或提高并能提高相应的安全控制.
兼容性
不易与其他软件起冲突。
可移植性
可方便移植到其他系统环境中正常运行。
…
3.2可行性分析
(1)技术上的可行性
本管理信息系统将采用技术成熟的MyEclipse作为前台开发工具。
后台数据库采用SQLServer2005数据库,SQL功能强大、简单易学、使用方便,已经成为了数据库操作的基础,并且现在几乎所有的数据库均支持SQL。
因此,系统的软件开发平台已成熟可行。
硬件方面,科技的飞速发展使硬件的更新速度越来越快,容量越来越大,可靠性越来越高,价格越来越低,其硬件平台完全能满足此系统的需要。
本系统使用Java技术进行开发,编程语言使用Java,Java语言是公认的易学易用的语言。
(2)经济上的可行性
本系统由本人自主开发,免费使用.操作人员只需简单培训即可操作.管理和维护比较简单,除了必要的设备投资外,后期只需少量资金就可确保运转。
因此对于中小型酒店在经济上是完全可以接受的。
本系统的使用能大大提高员工工作效率,加速资金周转、降低各项成本及改善服务质量,能够取得良好的经济效益综合以上分析,此次毕业设计决定利用Java,JSP和SQL技术设计网上酒店客房预订管理系统。
Java具有跨平台的优势。
JSP可以创建和运用动态、交互的WEB服务器应用程序。
同时,JSP具有向跨平台跨服务器的优点。
SQLServer是一个杰出的数据库平台,具有功能强大,安全可靠等特点,可用于大型联机事务处理、数据仓库及电子商务等。
(3)操作上的可行性
在操作上对开发人员要求不高,Windows操作系统已经非常普及了,Java语言也相对容易上手。
按以上两个方面进行可行性分析、研究后,我认为该项目在技术上是可行的,在经济上是可行的,在操作上也是可行的,所以完全可以进行开发。
3。
3体系流程分析
3.3。
1业务流程分析
(1)注册:
顾客进入酒店网页首页,如果是老顾客,直接输入用户名密码进行登录,如果是新顾客,进行注册过在进行登录。
(2)浏览酒店客房状态信息:
顾客通过查寻可以看到空闲房间剩余。
(3)预订:
点击预订,选择日期,房间类型进行预订。
(4)查看预订信息:
从预订房间查看,可以看到客户自己当前订单,已入住用户可以查看到自己的入住单。
3.3.2数据流分析
该系统数据流程比较简单,管理员可以添加酒店客房信息(包括楼信息,楼层信息,房间信息等),然而这些信息顾客是可以浏览的,但是顾客没有权限对这些信息进行修改,这些信息对于顾客而言是单向的。
对于预定信息,管理员可以增删改查预定信息。
3.4功能设计
根据酒店客房信息管理系统基于B/S的特点,可以将其分为前台和后台两个部分进行设计,分别对应客人、操作员和管理员。
前台主要用于客人查询客房、预订客房、查询订单,操作员对会员信息的修改,以及预订客房等功能;后台主要用于酒店管理员对酒店入住情况进行管理.
下面详细描述一下各个模块的功能。
1。
前台模块的功能
客人进入酒店网站的首页,根据客房的类型,查询酒店的客房信息,并在网上完成了客房的预订。
客人在预订了客房后可通过客房编号对自己的订单信息进行查询、修改和删除操作。
系统功能架构的前台会员功能结构图,如图3-1所示。
图3—1系统总体结构图—前台会员功能结构图
系统功能架构的前台操作员功能结构图,如图3—2所示。
图3—2系统总体结构图-前台操作员功能结构图
2。
后台模块的功能
(1)客房信息管理
只限于管理员操作。
对楼、楼层、房间的属性进行增删改查。
(2)订单管理
对会员的预定的账单进行增加、删除、查找。
(3)入住管理
对预订会员进行入住登记。
(4)退房结账管理
对入住会员进行退房结算操作,并计入账单。
(5)系统维护
系统有三种权限的帐号:
一种是管理员,一种是会员,还有一种是操作员.管理员有权添加更改或删除会员或是操作员信息。
后台结构图如图3—3所示。
图3-3系统总体结构图—后台功能模块图
3。
5数据库设计
3.5.1表的设计
表3。
2房间信息表
列名
数据类型
是否允许为空
说明
fmc
varchar(50)
否
房间号,主键
lcmc
varchar(50)
否
楼层号,主键
lmc
varchar(50)
否
楼名称,主键
fzt
varchar(10)
是
房间状态
sid
varchar(50)
是
会员名
dj
int
是
单价
rzsj
varchar(50)
是
入住时间
ydsj
varchar(50)
是
预定时间
表3。
3楼层信息表
列名
数据类型
是否允许为空
说明
lcmc
varchar(50)
否
楼层号,主键
lmc
varchar(50)
否
楼名称,主键
lrs
numeric(18,0)
是
该层房间数
lcsx
varchar(50)
是
楼层属性
lcbz
varchar(50)
是
楼层备注
表3.4公告信息表
列名
数据类型
是否允许为空
说明
ggnr
varchar(5000)
是
公告内容
fbsj
datetime
是
发布时间
表3.5管理员信息表
列名
数据类型
是否允许为空
说明
username
varchar(20)
否
用户名
password
varchar(50)
否
密码
id
int
是
id,主键
表3.6结算账单信息表
列名
数据类型
是否允许为空
说明
id
numeric(18,0)
否
账单id,主键
lmc
varchar(50)
是
楼名称
lcmc
varchar(50)
是
楼层名称
fjmc
varchar(50)
是
房间名称
xm
varchar(50)
是
会员名
rzsj
varchar(50)
是
入住时间
tfsj
varchar(50)
是
退房时间
je
varchar(50)
是
价位
表3。
7操作员信息表
列名
数据类型
是否允许为空
说明
username
varchar(20)
否
用户名
password