酒店客房管理系统论文.docx
《酒店客房管理系统论文.docx》由会员分享,可在线阅读,更多相关《酒店客房管理系统论文.docx(28页珍藏版)》请在冰豆网上搜索。
酒店客房管理系统论文
毕业设计说明书
学生姓名
学号
学院
计算机科学与技术学院
专业
计算机科学与技术(软件工程)
题目
基于web的酒店客房管理系统的设计与实现
指导教师
讲师/硕士
(姓名)(专业技术职称/学位)
2013
年
05
月
毕业论文独创性声明
本人郑重声明:
本论文是我个人在导师指导下进行的研究工作及取得的研究成果。
本论文除引文外所有实验、数据和有关材料均是真实的。
尽我所知,除了文中特别加以标注和致谢的地方外,论文中不包含其他人已经发表或撰写过的研究成果。
其他同志对本研究所做的任何贡献均已在论文中作了明确的说明并表示了谢意。
作者签名:
日期:
摘要:
随着信息化时代的推进,各个行业都在采用采用信息化的管理方式。
酒店的管理也必须依托计算机管理技术才能更好的为客户提供服务质量,提高工作效率与降低自身管理成本。
如此才能在竞争激烈的酒店行业中占领一席之地。
基于java的web应用程序,采用较为流行的Struts轻量级框架和Heibernate技术,以mySQL作为后台数据库开发了酒店客房管理系统。
该系统主要包括以下功能模块:
酒店的前台管理和后台管理。
前台管理包括:
订单管理模块,入住管理模块,会员管理模块,和结账模块。
后台管理包括:
用户管理模块和房间管理模块。
该系统可为酒店客房管理提供高效的平台,同时也为酒店的前台工作人员提供更为简洁与容易的操作方式,具有较强的实际应用价值。
论文详细描述了酒店客房管理系统的开发过程和实现的具体功能。
关键词:
酒店客房管理系统,JAVA,mySQL,Eclipse
Abstract:
Withtheprocessoftheinformationage,allindustriesareintheuseofinformationmanagement,thehotelmanagementmustalsobebasedonthetechnologyofcomputermanagementtoprovidecustomersbetterservicequality,improveworkefficiencyandreduceitsmanagementcost.Socanweinthefiercecompetitioninthehotelindustrytooccupyaspaceforoneperson。
Thispaperdescribesthedevelopmentprocessofhotelguestroommanagementsystemandtheconcreterealizationofthefunction.Thesystemincludesthefollowingmodules:
foregroundmanagementandbackgroundmanagementofhotel.Futuremanagementincludes:
ordermanagementmodule,checkmanagementmodule,membermanagementmoduleandcheckmodule.Thebackstagemanagementincludes:
theusermanagementmoduleandroommanagementmodule.Thesystemprovidesanefficientplatformforthemanagementofhotelrooms,butalsoprovideamoreconciseandeasilyplatformforthehotelfrontdeskstaff.Thesystemisathewebapplication,whichbasedonJava,usingthetechnologyoftheStrutsandHeibernateframeworkswhicharemorepopular,andusingmySQLasthebackgrounddatabase.
Keywords:
Hotelroommanagementsystem,JAVA,mySQL,Eclipse
1绪论
1.1课题背景
酒店行业的迅速发展,原始的人工管理已经越来越不能满足用户的需求,它所带给酒店的有如下的弊端:
工作效率低下,信息维护成本高,信息管理困难等等。
信息时代的来临,计算机的使用给酒店管理者们提供了一个更为高效的、低成本的信息管理与存储方式。
面对酒店日益增长的客户量,以及越来越多的酒店服务需求,用计算机去管理酒店的业务成了一个迫在眉睫的问题,针对这一需求开发了酒店客房管理系统。
1.2目的和意义
对于酒店来说,如何提高管理效能与服务质量将是该酒店能不能在行业中领先的关键。
显然采用人工的方式不是一个明智之举。
采用信息化的先进管理方式能够更高效,更精准的发挥它的效能,对提高酒店的竞争力也具有很高的价值。
基于web的酒店客房管理系统给酒店管理者提供了一个更高效,易操作,更安全的管理方式。
在节省人力物力资源的同时,更快速的满足客户的需求,这是本系统设计的目的所在。
1.3系统的开发环境
酒店客房管理系统具体开发环境如下:
(1)系统开发平台:
Eclipse。
(2)系统开发语言:
Java。
(3)数据库管理系统:
MySQL。
(4)运行平台:
WindowsXP,Windows7。
2系统需求分析
2.1系统用户
酒店客房管理系统的用户主要有两种权限用户:
酒店管理者,酒店前台工作人员
2.2功能需求
本系统主要完成以下功能:
1.预定管理模块:
(1)普通预定:
普通客户通过录入客户信息及房间信息提交预定信息。
(2)会员预定:
通过输入会员ID,跟身份证号确认该会员信息,后再录入房间信息并提交订单。
(3)修改预定:
通过输入用户名及身份证号修改预定信息,并提交修改后的信息。
2.入住管理模块:
(1)新用户入住:
普通客户通过录入客户信息及房间信息提交入住信息。
(2)预定入住:
通过输入用户名及身份证号查看预定信息,并提交或修改入住信息。
(3)会员入住:
通过输入会员ID,跟身份证号确认该会员信息,后再录入房间信息并提交入住信息。
(4)续住:
通过输入房间号和身份证号,修改房间到达日期,并提交。
3.会员管理模块:
(1)注册会员:
填写注册信息。
(2)会员查询:
查询数据库中所有会员信息。
4.收银管理模块:
(1)结账:
通过输入房间号和身份证号,系统自动结算当前消费的金额。
5.信息查询模块:
(1)预定查询:
查询当前酒店的所有预定信息。
(2)入住查询:
查询当前酒店的所有入住信息。
(3)账单查询:
查询当前酒店的结账账单信息。
6.后台管理模块(此功能仅为酒店管理者用):
(1)房间的管理:
增加或删除酒店的房间。
(2)用户的管理:
增加或者删除酒店的前台管理人员。
2.3功能介绍
1.相关技术采用:
本平台是基于mySQL数据库建立的,在Eclipse中编写代码。
2.系统的总体设计结构,如下:
图2-1系统功能模块图
3数据库设计
3.1概念模型E-R图设计
图3-1概念模型E-R图
3.2系统数据库逻辑结构设计
系统数据库逻辑结构设计(见表3-1至表3-8)
1.用户表,该表用于管理酒店的前台管理人员,操作者为酒店的管理者
表3-1用户表user
字段名
字段类型
字段中文名
备注
user_id
int
用户编号
主键
username
varchar(10)
用户名
password
varchar(10)
密码
2.信息预定表,用于存储预定酒店客房的客户信息,操作者为酒店的前台管理人员。
表3-2预订信息表reserve_tbl
字段名
字段类型
字段中文名
备注
book_id
int
预定编号
主键
cash
double
预付金额
member_id
int
会员号
arrive_date
varchar
抵达日期时间
leave_date
varchar
离开时间
reserveRoom_id
int
房间编号
3.房间类型表,用于描述房间的信息,操作人员为酒店前台管理人员。
表3-3房间类型表room_type
字段名
字段类型
字段中文名
备注
room_type_id
int
房间类型编号
主键
description
varchar(50)
描述
price
double
价格
bedCount
int
床位数
4.会员信息表,用于描述会员信息,操作人员为酒店前台管理人员。
表3-4会员表member_tbl
字段名
字段类型
字段中文名
备注
member_id
int
会员编号
主键
mem_name
varchar(10)
客户名
card_id
varchar(20)
身份证号
phone
varchar(20)
电话
points
double
消费积分
discount_id
int
折扣等级编号
5.账单表,用于描述某个房间的消费账单,操作者为前台管理人员。
表3-5账单表bill
字段名
字段类型
字段中文名
备注
bill_id
int
账单编号
主键
monetary
varchar(10)
消费金额
dateTime
datetime
结账日期
6.登记入住表,用于描述酒店客户入住的信息,操作者为酒店管理人员。
表3-6登记入住表checking_in
字段名
字段类型
字段中文名
备注
in_id
int
入住编号
主键
checkMember_id
int
会员号
cash
double
预付金额
arrive_date
varchar
抵达日期时间
leave_date
varchar
离开时间
checkinRoom_id
int
房间编号
7.会员折扣表,用于描述会员的折扣信息,操作者为酒店前台管理员。
表3-7会员折扣表vipdisc_tbl
字段名
字段类型
字段中文名
备注
id
int
折扣等级编号ID
主键
disc
double
享受折扣
level
varchar
等级
8.房间表,用于描述房间的信息和状态,操作者为前台管理人员。
表3-8房间表room_tbl
字段名
字段类型
字段中文名
备注
room_id
int
房间ID
主键
room_name
double
房间名称
room_status
varchar
状态
roomTypeId
int
房间类型编号
4系统运行平台
4.1系统运行环境
系统运行的软件配置为Windows7/XP版本的操作系统和mySQL数据库软件。
5系统的实现和核心模块的描述
5.1登录模块及实现代码
当酒店前台人员登录时,需要对其用户名以及密码进行验证,输入错误或是没有输入,点击登录会出现错误提示信息。
不同权限的用户(酒店管理者和酒店前台管理人员)进入系统,有不同的功能。
1.登录界面如下:
图5-1登录界面
2.核心代码如下:
/**登录模块*/
publicStringuserLogin()
{
if(user.getUsername().equals("")||user.getUserpassword().equals(""))
{
text="请输入用户名或者密码";
return"error";
}
elseif(user.getUsername().equals("root")&&user.getUserpassword().equals("root"))
{
return"success1";
}
else
{
Stringhql="FromUserwhereusername=?
anduserpassword=?
";
Object[]params=newObject[]
{user.getUsername(),user.getUserpassword()};
Queryquery=HibernateUtil.queryAsParams(session,hql,params);
if(query.uniqueResult()==null)
{
text="用户名或者密码错误!
";
return"error";
}
else
text="";}
return"success";
}
5.2主界面及核心代码
主界面显示各个二级菜单。
并显示当前酒店房间的状态,空房为蓝色,预定为黄色,入住为红色。
右击房间图标,也可对房间进行相应的操作,包括:
查看房间当前的信息,预定,入住,续订,退订,以及结账等操作。
1.主界面如下:
图5-2主界面图示
2.核心代码如下:
/***显示所有房间*/
functionqueryAllRoom(currentPage){
if(currentPage>0){
/**加载房间状态*/
varurl="loadRoomStyle";
vardata={
currentPage:
currentPage,
maxResult:
45
};
ajaxDemo(url,data,showRoomStyle);
}
}
/***ajax通用模板*/
functionajaxDemo(url,data,successResult){
$.ajax({
url:
url,
data:
data,
dataType:
"json",
type:
"post",
timeout:
5000,
success:
successResult,
error:
function(){
alert("加载失败!
");
}
});
}
5.3预定管理界面及核心代码
点击主界面的预定模块中的普通预定,会跳出如下界面,填写预定信息点击提交,会将该预定信息写入数据库。
若是会员预定,或是修改预定信息,则要先填写有关的信息,点击查询后,相关信息会自动显示在预定信息界面。
1.预定管理界面如下:
图5-3普通用户预定界面
2.核心代码如下:
/***保存预定信息**/
publicStringreserve()
{
Stringhql="";
Object[]params=null;
Queryquery=null;
//修改预定信息
if(memberId!
=0)
{
intnewRoomId=reserve.getRoom().getRoom_id();//新的房间号
hql="fromReservewheremember_id=?
";
params=newObject[]
{memberId};
query=HibernateUtil.queryAsParams(session,hql,params);
Reserveoldreserve=(Reserve)query.uniqueResult();
intoldRoomId=oldreserve.getRoom().getRoom_id();//原始的房间号
RoomoldRoom=(Room)session.load(Room.class,oldRoomId);
RoomnewRoom=(Room)session.load(Room.class,newRoomId);
if(oldRoomId!
=newRoomId)
{
oldRoom.setRoom_status("空房");
session.update(oldRoom);
newRoom.setRoom_status("预定");
session.update(newRoom);
}
oldreserve.setArrive_date(reserve.getArrive_date());
oldreserve.setLeave_date(reserve.getLeave_date());
oldreserve.setCash(reserve.getCash());
oldreserve.setRoom(newRoom);
session.update(oldreserve);
reserveMessage="修改成功!
";
HibernateUtil.close(session,tran);
return"editSuccess";
}
//新增预定信息
VipDiscvip=(VipDisc)session.load(VipDisc.class,1);
member.setVipDisc(vip);
session.save(member);
reserve.setMenber(member);
session.save(reserve);
Roomroom=(Room)session.load(Room.class,reserve.getRoom()
.getRoom_id());
room.setRoom_status("预定");
session.update(room);
HibernateUtil.close(session,tran);
reserveMessage="预订成功!
";
return"success";
}
/***保存会员预定信息**/
publicStringvipReserve()
{
reserve.setMenber(member);
session.save(reserve);
Roomroom=(Room)session.load(Room.class,reserve.getRoom()
.getRoom_id());
room.setRoom_status("预定");
session.update(room);
HibernateUtil.close(session,tran);
reserveMessage="预订成功!
";
return"success";
}
5.4入住管理界面及核心代码
入住管理模块,分为直接入住,预定入住,会员入住,续住四个子功能,其中直接入住,直接输入客户及房间信息,点击提交会将此入住信息写入数据库。
其他三个子功能必须输入相应的确认信息,如若信息正确,界面会直接显示客户的相关信息。
1.界面如下:
图5-4普通客户入住界面
图5-5预定入住确认界面
2.核心代码如下:
/***用户入住**/
publicStringcheckin()
{
/**
*预订者入住信息保存
**/
if(memberId!
=0)
{
member=(Member)session.load(Member.class,memberId);
room=(Room)session.load(Room.class,checkin.getRoom()
.getRoom_id());
checkin.setMember(member);
checkin.setRoom(room);
session.save(checkin);
room.setRoom_status("已住");
session.update(room);
Stringhql="FromReservewheremember_id=?
";
Object[]params=newObject[]
{memberId};
Queryquery=HibernateUtil.queryAsParams(session,hql,params);
reserve=(Reserve)query.uniqueResult();
session.delete(reserve);
}else
{
VipDiscvip=(VipDisc)session.load(VipDisc.class,1);
member.setVipDisc(vip);
session.save(member);
room=(Room)session.get(Room.class,room.getRoom_id());
checkin.setMember(member);
checkin.setRoom(room);
session.save(checkin);
room.setRoom_status("已住");
session.update(room);
}
mit();
session.close();
reserveMessage="入住成功!
";
return"success";
}
5.5会员管理界面及核心代码
此模块有两个子功能:
会员注册和会员查询。
当注册信息填写完后,点击提交,该客户就成为本酒店的会员。
前台管理人员也可对酒店的会员进行查询的动作,如此即可帮客户查询到该客户的会员等级情况。
1.界面如下所示:
图5-6会员注册界面
图5-7会员信息查询界面
2.核心代码如下:
/***会员注册**/
publicStringvipRegister()
{
VipDiscvip=(VipDisc)session.load(VipDisc.cl