《客房管理系统毕业论文正稿.doc》由会员分享,可在线阅读,更多相关《客房管理系统毕业论文正稿.doc(28页珍藏版)》请在三一办公上搜索。
1、呼伦贝尔学院计算机科学与技术学院本科生毕业论文(设计)题 目:酒店客房管理系统的设计与实现学生:学 号:专业班级:指导教师:完成时间:2015年5月20日25 / 28摘要随着人们生活水平的不断提高,人们为了丰富文化生活和自身娱乐,越来越趋向于利用假期外出旅游,酒店业随之得到了迅猛的发展,使酒店客房业的竞争也愈来愈激烈,因此必须提高酒店的管理水平,实施信息化建设无疑是实现这一目的的必由之路和明智之举。酒店客房管理系统通过对信息的收集、传递、整理、加工、维护和使用,提高管理水平和效率,从而实现酒店管理的自动化、规化和人性化。该系统充分利用信息技术来提高酒店客房的管理水平和服务水平。酒店客房系统实
2、现了客房预订、入住登记、消费记账、调房登记、退房结账、查询统计等功能。将动态实时的住宿登记、客房调整等有机地联系在一起,实现对酒店客房进行全方位的管理。关键字 servlet;客房管理;mysqlAbstractAs people living standard unceasing enhancement, the people in order to enrich cultural life and their own entertainment, more and more tend to use holiday travel, hotel industry obtained the sw
3、ift and violent development, the hotel industry increasingly fierce competition, so must improve the management level of the hotel, the implementation of information construction is the necessary way to achieve this purpose and wise. Hotel guest room management system based on information collection
4、, transfer, sorting, processing, maintenance and use, improve the management level and efficiency, so as to realize the automation of hotel management, standardization and humanization.The system makes full use of information technology to improve the management level and service level of a hotel ro
5、om. Hotel guest room system has realized the room reservation, check-in registration, consumption, the room charge to an account, check out the invoicing, query statistics, etc. Adjust the dynamic real-time registration, guest room, such as organically relates in together, realize the hotel manageme
6、nt in all directions.Key words: servlet; Guest room management; mysql目录摘要IABSTRACTII第1章引言11.1 课题前景11.2 系统开发的目的和意义11.3 开发技术与工具简介2第2章可行性分析与需求分析42.1 可行性分析42.2 需求分析4第3章系统总体设计53.1 系统概要设计53.2 数据库设计7第4章系统详细设计134.1 前台系统设计实现134.2 后台系统设计实现17第5章系统测试与性能分析255.1模块测试255.2 集成测试255.3 验收测试25结论26参考文献27致28第1章 引言客房管理系统是
7、一个酒店不可缺少的部分,它的容对于旅店的决策者和管理者来说都至关重要,所以客房管理系统应该能够为用户提供充足的信息和快捷的查询手段。但一直以来人们使用传统人工的方式管理文件档案,这种管理方式存在着许多缺点,如:效率低、性差,另外时间一长,将产生大量的文件和数据,这对于查找、更新和维护都带来了不少的困难。随着科学技术的不断提高,计算机科学日渐成熟,其强大的功能已为人们深刻认识,它已进入人类社会的各个领域并发挥着越来越重要的作用。作为计算机应用的一部分,使用计算机对客房信息进行管理,具有着手工管理所无法比拟的优点.例如:检索迅速、查找方便、可靠性高、存储量大、性好、寿命长、成本低等。这些优点能够极
8、提高客房管理的效率,也是饭店的科学化、正规化管理的重要条件。因此,开发这样一套管理软件有着重要的意义和价值。1.1课题前景目前,我国酒店服务业信息化的进程缓慢,跟国外的酒店相比管理依然落后。在日趋激烈的酒店业竞争中,如何能把握机会,保住自己的优势,立于不败之地呢?这就要要提供最好的服务,提供完善的设施和最先进的技术。一个成功的酒店,其经营者不仅要提高服务水平和服务质量,以此提高客房占有率和客户回头率,还要有好的工作效率来控制成本。在信息时代,更重要的是必须有一个完善的管理信息系统,在总体上实现酒店管理的自动化、规化和人性化,使酒店管理由经验管理转为科学管理。随着计算机在酒店中的普与与应用,计算
9、机技术的不断发展,酒店管理系统的发展到了一个新的时期,新的系统平台、新的系统特点与发展方向不断涌现,本系统采用浏览器/服务器模式,功能更加细致完善,系统更加稳定可靠。为客户提供一个舒适、温馨的住宿环境,并在预订、入住和退房等流程上的简捷、方便,信息明朗,与时响应客户需求,争取更多客源,提高酒店客房声誉,创造更多的经济效益与利润。1.2 系统开发的目的和意义酒店客房信息的管理在整个酒店客房运作过程中起着非常重要的作用。它在酒店客房的工作人员、基础设施和客户资源之间起着信息沟通的桥梁作用。通过信息的管理,酒店客房的管理人员能够随时了解客房的预订、入住等情况,可以在宏观上分配基础设施的使用,调度服务
10、人员的工作,从而提供更加与时与优质的服务。利用数据库管理资料可以方便地管理会员客户的资料以利于业务上的往来和客服调查,同时功能强大的新增、修改、删除与查询操作的功能使酒店客房管理系统成为管理人员的得力助手。如果以上这些功能靠单纯的手工实现的话,必然会带来时间上的延迟与信息沟通的闭塞,还不便于查询,导致服务质量差强人意。基本手工操作的种种缺点,为了更好地管理酒店客房,实现管理自动化,将酒店客房管理的流程与规则与现代的计算机技术相结合,建立起酒店客房管理系统,以利于酒店客房管理的顺畅进行。1.3 开发技术与工具简介1.3.1 JSP简介JSP(JavaServer Pages)是由Sun Micr
11、osystems公司倡导、许多公司参与一起建立的一种动态网页技术标准。JSP技术有点类似ASP技术,它是在传统的网页HTML文件(*.htm,*.html)中插入Java程序段(Scriptlet)和JSP标记(tag),从而形成JSP文件(*.jsp)。用JSP开发的Web应用是跨平台的,即能在Linux下运行,也能在其他操作系统上运行。 JSP技术使用Java编程语言编写类XML的tags和scriptlets,来封装产生动态网页的处理逻辑。网页还能通过tags和scriptlets访问存在于服务端的资源的应用逻辑。JSP将网页逻辑与网页设计和显示分离,支持可重用的基于组件的设计,使基于W
12、eb的应用程序的开发变得迅速和容易。1.3.2 CSS概述CSS是一组格式设置规则,用于控制web页面的外观。通过使用CSS样式设置页面的格式,可将页面的容与表现形式分离。页面容存放在HTML文档中,而用于定义表现形式的CSS规则则存放在另一个文件中或HTML文档的某一部分,通常为文件头部分。将容与表现形式分离,不仅可使维护站点的外观更加容易,而且还可以使HTML文档代码更加简练,缩短浏览器的加载时间。1.3.3 TOMCAT 简介Tomcat是一个小型的轻量级应用服务器,在中小型系统和并发访问用户不是很多场合下被普遍使用,是开发和调试JSP程序的首选。对于一个初学者来说,可以这样认为,当在一
13、台机器上配置好Apache服务器,可以利用它响应对Html页面的访问请求。实际上Tomcat部分是Apache服务器的扩展,但它是独立运行的,所以当你运行tomcat时,它实际上作为一个与Apache独立的进程单独运行的。当配置正确时,Apache为HTML页面服务,而Tomcat实际上运行JSP页面和Servlet。另外,它还是一个Servlet和JSP容器,独立的Servlet容器是Tomcat的默认模式。不过,Tomcat处理静态HTML的能力不如Apache服务器。1.3.4 MySql 简介MySQL是一个开放源码的小型关联式数据库管理系统,开发者为瑞典MySQL AB公司。目前My
14、SQL被广泛地应用在Internet上的中小型中。由于其体积小、速度快、总体拥有成本低,尤其是开放源码这一特点,许多中小型为了降低总体拥有成本而选择了MySQL作为数据库。1.3.5 Eclipse开发工具Eclipse 是一个开放源代码的、基于 Java 的可扩展开发平台,专注于为高度集成的工具开发提供一个全功能的、具有商业品质的工业平台。Eclipse只是一个框架和一组服务,用于通过插件组件构建开发环境。Eclipse 附带了一个标准的插件集,包括 Java 开发工具(Java Development Tools,JDT)。1.3.6 B/S模式与C/S模式的比较分析目前网络应用软件运行的
15、模式主要有Client/Server模式,Browser/Server模式。前者的主要的缺点是维护、升级较为麻烦。且要同时开发服务器端和客户端;后者是近几年伴随Internet迅速发展起来的一种技术,B/S模式客户端是一个标准的浏览器,服务器端是Web server,而Web server与数据库和应用服务器的紧密结合,使得这种模式的应用围不断扩大,它已不仅仅用于网上查询,有很多企业部门的业务系统,企业的管理信息系统(MIS)系统纷纷采用这种模式,它的优点是便于扩展应用、升级维护简便、不需要开发专门的客户端、不需要对用户进行特殊的设置和软件安装,降低了维护成本,客户端只要有浏览器就可以了。第2
16、章 可行性分析与需求分析2.1 可行性分析2.1.1 操作可行性本系统的开发是在三个月的时间完成的。前期主要是以学习以与收集资料为主,接下来就是对系统的分析,设计数据库,界面,以与中间件的连接。对于计算机软件工程专业作为毕业设计来说是可行的。2.1.2 经济可行性经济可行性主要是对项目的经济效益进行评价。目前,具备了运行网络平台的管理信息系统(MIS)的硬件基础,而且本系统是我自行开发,自己设计并实施的。因此开发、设计这套系统的支出费用是自己可以承担的,即经济上是可行的。2.1.3 技术可行性技术上的可行性要考虑将来采用的硬件和软件技术能否满足用户提出的要求。基于当前的计算机网络技术和数据技术
17、已成熟,而且管理信息系统(MIS)的各种开发技术也已经相当成熟,并且在各个领域都不乏成熟的案例。所以开发一网上在线购买图书的系统在技术上是可行的。2.2 需求分析2.2.1 功能需求管理员可以操作的具体功能:(1) 预订管理(预订记录查询、修改预订、删除预订、增加预订、增加房间)(2) 客户管理(入住登记、客户查询、修改客户信息、换房、退房、续房)(3) 客房管理(客房类型、客房资料、客房查询、客房状态、客房设置)(4) 财务管理(消费明细、打印消费账单)(5) 会员管理(会员资料查询、增加会员、会员信息修改、会员设置、挂失)(6) 系统管理(会员设置、客房设置、操作员设置)(7) 前台管理(
18、包括入住、续费、退房、换房)普通用户可以操作的功能:(1) 用户注册(2) 客房搜索(3) 客房预订(4) 用户留言(5) 查看预定记录第3章 系统总体设计3.1系统概要设计3.1.1 系统结构图系统结构图如图3-1所示:图3-1 系统结构图3.1.2 数据流程图添加信息时,编号字段由系统自动生成,且不能修改,其他信息由用户或管理员输入,之后对数据进行合法判断,合法则写入保存至数据库,不合法则重新输入数据。数据增加流程如图3-2所示:图3-2 数据增加流程图在修改信息时,先选中一条待修改的记录,然后直接输入数据,判断合法性,合法则保存至数据库,不合法重新输入。数据修改流程如图3-3所示:图3-
19、3 数据修改流程图当用户选定一条记录时,单击删除按钮,会提示用户是否确定删除,然后删除数据库相关容。数据删除流程如图3-4所示:图3-4数据删除流程图3.2 数据库设计3.2.1数据库概念结构设计(1)客户E-R图如图3-5所示图3-5 客户E-R图(2)客房E-R图如图3-6所示图3-6 客房E-R图(3)会员E-R图如图3-7所示图3-7 会员E-R图(4)用户E-R图如图3-8所示图3-8 用户E-R图3.2.2数据库逻辑结构设计针对本系统的需求,设计出如下面所示的数据项和数据结构:(1)客户表(房间号,号,性别,证件类型,客户类型,住店日期,离店日期,用房天数,客房押金,是否会员,是否
20、预定,)(2)客房表(房号,房间类型,房间状态,价格,床位,部设施)(3)预定表(客户,号,客户类型,国籍,抵达日期,离店日期,客户人数,预订人,备注,预定房间,付款方式,预定金,预定日期,操作员)(4)会员表(会员编号,状态,卡号,卡类型,号,性别,有效期)(5)用户表(,密码,性别,号,问题,答案)(6)房间设置表(房间类型,床位,价格,设施)3.2.3数据库表的设计(1)客户信息表有用户编号、性别、证件类型、号、客户类型、到达日期、离店日期、住房天数、房间号、是否预定过,是否是会员、等字段;其中号是主键,详细信息如表3-1所示表3-1客户表字段名数据类型长度主键/外键描述hsonvarc
21、har40用户编号namevarchar40sexvarchar40性别bstylevarchar40证件类型bsonvarchar40主键号pstylevarchar40客户类型ddatavarchar40到达日期zdatavarchar40离店日期ddayvarchar40住房天数zmInt40房间号vipvarchar40是否会员dingvarchar40是否预定tellvarchar40(2)客房信息表包括房间号、房间类型、房间状态、价格、床位、设施等字段,其中房间号为主键,如下表3-2所示表3-2客房表字段名数据类型长度主键/外键描述ridvarchar10主键房间号rstyleva
22、rchar20房间类型rstatevarchar20房间状态rrisevarchar10价格rnumvarchar10床位rsetvarchar100设施(3)预定信息表中有客户、号、客户类型、国籍达到时间、离店时间时间客户人数、预定人、备注、预定房间、付款方式、定金、等字段其中号是主键,详细信息如下表3-3所示表3-3预定表字段名数据类型长度主键/外键描述knamevarchar20客户ksnovarchar40主键号kstylevarchar40客户类型khomevarchar40国籍dtimevarchar40到达时间ztimevarchar40离店时间knvarchar40客户人数yp
23、varchar40预订人beizhuvarchar80备注yrvarchar40预订房间pstylevarchar40付款方式ymvarchar40预定金ydvarchar40预定日期dpvarchar40操作员(4)会员信息表中包含会员编号、状态、卡号、卡类型、号、性别、会员时间等字段,其主键为会员编号,详细信息如下表3-4所示表3-4会员表字段名数据类型长度主键/外键描述vipsnovarchar40主键会员编号namevarchar40vipstatevarchar40状态csnovarchar40卡号cstylevarchar40卡类型bsnovarchar40号sexvarchar4
24、0性别tellvarchar40viptimevarchar40会员时间(5)用户信息表中有号、密码、性别、问题、答案等字段、其中号为主键,详细如下表3-5所示表3-5用户表字段名数据类型长度主键/外键描述bsnovarchar40主键号namevarchar20passwordvarchar20密码sexvarchar20性别tellvarchar40emailvarchar40answervarchar40问题questionvarchar40答案(6)房间设置信息表中有房间类型,床位,价格,设施等字段,其中房间类型为主键,详细信息如表3-6所示表3-6房间设置表字段名数据类型长度主键/外
25、键描述roomstylevarchar20主键房间类型bednumvarchar10床位risevarchar20价格shevarchar40设施第4章 系统详细设计4.1 前台系统设计实现4.1.1 前台首页客户前台首页如图4-1所示:图4-1 客户前台首页相关说明:用户进入系统前台主界面,在主界面可以看到酒店的简介,通过主界面没有经过注册的用户需要进行用户注册,否则不能实现其他功能,注册过的用户登录后可以实现客房搜索、在线留言、查看预定记录等功能。4.1.2 用户注册相关说明:如果用户没有账户,那么需要进行注册,根据要求填写相关信息并提交给数据库。4.1.3 客房搜索相关说明:用户登录后,
26、可以实现客房搜索查询工作,通过房间号和房间类型进行查询,根据查询出来的信息可以进行预订房间。图4-2 在线留言4.1.4 在线留言在线留言界面如图4-2所示:图4-2在线留言相关说明:用户登录后可以在在线留言界面写下自己对酒店的感觉与自己的体验,提交之后酒店工作人员可以查看留言,以进一步提高酒店的服务质量。关键代码实现:req.setCharacterEncoding(utf-8);String title=req.getParameter(title);String message=req.getParameter(message);Message mess=new Message();me
27、ss.setTitle(title);mess.setMessage(message);UserService us = new UserServiceImpl();boolean signal = us.insertMessage(mess);if (signal) String msm=提交成功; Session session = req.getSession();session.setAttribute(msm, msm);req.getRequestDispatcher(front/在线留言.jsp).forward(req, resp);4.1.4 客房预订客房预定如图4-3所示:
28、图4-3 客房预订相关说明:用户经过登录查询完客房之后,找到自己心仪的房间,之后进行预订。关键代码实现:req.setCharacterEncoding(utf-8);String kname=req.getParameter(kname);String ksno=req.getParameter(ksno);String kstyle=req.getParameter(kstyle);String khome=req.getParameter(khome);String dtime=req.getParameter(dtime);String ztime=req.getParameter(z
29、time);String kn=req.getParameter(kn);String yp=req.getParameter(yp);String beizhu=req.getParameter(beihzu);String yr=req.getParameter(yr);String pstyle=req.getParameter(pstyle);String ym=req.getParameter(ym);String yd=req.getParameter(yd);String dp=req.getParameter(dp);yu yu=new yu();yu.setKname(kna
30、me);yu.setKsno(ksno);yu.setKstyle(kstyle);yu.setKhome(khome);yu.setDtime(dtime);yu.setZtime(ztime);yu.setKn(kn);yu.setBeizhu(beizhu);yu.setYr(yr);yu.setYp(yp);yu.setPstyle(pstyle);yu.setYm(ym);yu.setYd(yd);yu.setDp(dp);UserService us = new UserServiceImpl();boolean signal = us.insertYu(yu);if (signa
31、l) String msw=预定成功; Session session = req.getSession();session.setAttribute(msw, msw);req.getRequestDispatcher(booking.jsp).forward(req, resp);4.1.5 预订查询预定查询如图4-4所示:图4-4 预定查询相关说明:用户预订完房间之后,可以查看自己是否预定成功房间,如果成功房间状态为以预定,如果没成功那么不显示任何信息。关键代码实现:req.setCharacterEncoding(utf-8);String name =八;yu yu = new yu
32、();yu.setKname(name);UserService us = new UserServiceImpl();List yus = us.getNewYus(yu);if (!yus.isEmpty() String state=已预订;req.setAttribute(state, state);req.setAttribute(myyus, yus);req.getRequestDispatcher(预定记录.jsp).forward(req, resp);elsereq.setAttribute(myyus, yus);req.getRequestDispatcher(预定记录
33、.jsp).forward(req, resp);4.2 后台系统设计实现4.2.1 系统登录相关说明:酒店客房管理系统的登录界面,如果用户名与密码正确,那么可以登录到主页,如果用户名和密码不正确,显示登录失败,那么就需要进行注册。4.2.2 分类主页相关说明:管理员登录成功后进入主页,主页中有七大功能预订管理、客户管理、财务管理、系统管理、前台管理、客房管理、会员管理;根据需求选择哪一个功能。4.2.3 预订管理图4-5 预定管理预定管理界面如图4-5所示:相关说明:通过主页进入预定界面后,管理员可以对预定的预定信息进行添加,还可以对预定过的客户的信息进行查询,经过查询之后,可以对查询的信息
34、进行修改。关键代码实现:req.setCharacterEncoding(utf-8);String kname=req.getParameter(kname);String ksno=req.getParameter(ksno);String kstyle=req.getParameter(kstyle);String khome=req.getParameter(khome);String dtime=req.getParameter(dtime);String ztime=req.getParameter(ztime);String kn=req.getParameter(kn);Str
35、ing yp=req.getParameter(yp);String beizhu=req.getParameter(beihzu);String yr=req.getParameter(yr);String pstyle=req.getParameter(pstyle);String ym=req.getParameter(ym);String yd=req.getParameter(yd);String dp=req.getParameter(dp);yu yu=new yu();yu.setKname(kname);yu.setKsno(ksno);yu.setKstyle(kstyle
36、);yu.setKhome(khome);yu.setDtime(dtime);yu.setZtime(ztime);yu.setKn(kn);yu.setBeizhu(beizhu);yu.setYr(yr);yu.setYp(yp);yu.setPstyle(pstyle);yu.setYm(ym);yu.setYd(yd);yu.setDp(dp);UserService us = new UserServiceImpl();boolean signal = us.insertYu(yu);if (signal) String msw=预定成功; Session session = re
37、q.getSession();session.setAttribute(msw, msw);req.getRequestDispatcher(booking.jsp).forward(req, resp);4.2.4 客户管理客户管理界面如图4-6所示:图4-6 客户管理界面相关说明:通过主页选择客户管理之后进入客户管理的主界面,管理员可以对到店的客人信息进行登记,还可以对客户的信息进行查询,并对需要进行修改的客户信息进行修改。关键代码实现:req.setCharacterEncoding(utf-8);String hson=req.getParameter(hson);String nam
38、e=req.getParameter(name);String sex=req.getParameter(sex);String bstyle=req.getParameter(bstyle);String bson=req.getParameter(bson);String pstyle=req.getParameter(pstyle);String ddata=req.getParameter(ddata);String zdata=req.getParameter(zdata);String dday=req.getParameter(dday);String zm=req.getPar
39、ameter(zm);String vip=req.getParameter(vip);String ding=req.getParameter(ding);String tell=req.getParameter(tell);Guest guest=new Guest();guest.setHson(hson);guest.setName(name);guest.setSex(sex); guest.setBstyle(bstyle); guest.setBson(bson); guest.setPstyle(pstyle); guest.setDdata(ddata); guest.set
40、Zdata(zdata); guest.setDday(dday); guest.setZm(zm); guest.setVip(vip); guest.setDing(ding); guest.setTell(tell); UserService us = new UserServiceImpl();boolean signal = us.insertGuest(guest);if (signal) String msw=入住成功; Session session = req.getSession();session.setAttribute(msw, msw);req.getRequest
41、Dispatcher(guest.jsp).forward(req, resp);4.2.5 客房管理客房管理界面如图4-7所示:图4-7 客房管理界面相关说明:管理员可以对房间的信息进行设置,并且对每个客房进行查询并查看其信息。关键代码实现:req.setCharacterEncoding(utf-8);String hson=req.getParameter(hson);String hstyle = req.getParameter(hstyle);String hstate = req.getParameter(hstate);String hrise = req.getParamet
42、er(hrise);String hnum = req.getParameter(hnum);String hset = req.getParameter(hset);room room = new room();room.setRid(hson);room.setRstyle(hstyle);room.setRstate(hstate);room.setRrise(hrise);room.setRnum(hnum);room.setRset(hset);UserService us = new UserServiceImpl();boolean signal = us.insertRoom(
43、room);if (signal) String msl=设置成功!; Session session = req.getSession();session.setAttribute(msl, msl);req.getRequestDispatcher(room.jsp).forward(req, resp);4.2.6 财务管理财务管理界面如图4-8所示:图4-8 财务管理界面相关说明:通过和房间号的查询可以查询到客户的多用的钱数,并且把信息打印成发票给客户。关键代码实现:req.setCharacterEncoding(utf-8);String name = req.getParameter(zhao);Guest guest = new Guest();guest.setName(name);UserService us = n