资源描述
酒店管理系统设计
院 系: 铜仁学院数计系
专 业: 计算机科学与技术
班 级: 09计本
学 号: 045010
学 生 姓 名: 黄薇
指 导 教 师:孙黎明
12月
摘 要
当代化酒店组织庞大、服务项目多、信息量大,要想提高劳动生产、减少成本、提高服务质量和管理水平,进而增进经济效益,必要借助计算机来进行当代化信息管理。酒店管理系统正是为此而设计, 毕业设计中采用ASP开发,使用access数据库。采用Jsp应用开发技术,具备某些预订客房,查询等功能,特别依托ASP来为酒店更好进行管理,稳定性,可扩展性,安全性,健壮性,都是该酒店管理优势所在。
核心词:酒店管理系统,ASP
目 录
1.1 选题背景…………………………………………………………………………………… 1
1.2 课题研究目和意义…………………………………………………………………… 1
1.3 本文研究内容…………………………………………………………………………… 1
1.4 国内外现状………………………………………………………………………………… 1
第2章 系统分析 ……………………………………………………………………………… 2
3.1 可行性分析………………………………………………………………………………… 2
3.2 需求分析…………………………………………………………………………………… 2
第3章 设计…………………………………………………………………………………… 4
5.1 酒店首页展示及功能……………………………………………………………………… 4
5.2 管理员登陆………………………………………………………………………………… 8
5.3 客户预定模块……………………………………………………………………………… 14
8
第1章 前 言
1.1 选题背景
酒店业是一种前景辽阔而又竞争激烈行业。改革开放以来,国内酒店业迅速发展,已经成为一种具备相称规模产业。由于国内旅游业迅速发展,通过调查,国内在将成为世界上第四大旅游国家;同步国内加入世界贸易组织,酒店业将完全开放,这个时候,国内酒店业将面临着前所未有机遇和挑战。但是,当前甚至尚有某些酒店还停留在由人工操作和管理阶段,这样已经无法适应当前发展趋势。因而,要想使酒店工作质量和效率提高,采用先进计算机网络 通信技术变化酒店业务模式,实现酒店业务管理自动化已经成为一种必然。
1.2 课题研究目和意义
对酒店整个来说,对酒店经营状况起决定作用是酒店服务管理水平。如何运用先进管理手段来提高酒店管理水平成为酒店业务发展当务之急。面对信息时代机遇和挑战,运用科技手段提高酒店管理无疑是一条行之有效途径。虽然计算机管理并不是酒店管理走向成功核心元素,但它可以最大限度地发挥精确、快捷、高效等作用,对酒店业务管理提供强有力支持。因而,采用全新计算机网络和酒店业务管理系统,已成为提高酒店管理效率,使作业人员与管理系统之间灵活互动,实现流畅工作流衔接,协助酒店有效地进行业务管理,释放最大价值。酒店业务管理系统在达到在节约人力资源成本同步,可以提高业务效率,并可以及时、精确、迅速地满足顾客服务需求[2]。
1.3 国内外现状
随着国内经济体制改革不断深化和国内经济迅速发展,国内人民收入不断提高,消费观念也有提高,对服务质量规定也有很大提高。各地把旅游业当作本 地经济发展重要支柱之一。酒店作为人们食宿、娱乐、休闲场合而得到了迅速发展。社会上也成立了各种类型,不同规模酒店服务公司。如何为客户提供更 加精确及时服务,成为各个酒店竞争核心。因此酒店业务信息化建设就成为了客户衡量酒店提供商服务原则一种准则,信息系统成为了基本。
随着Internet技术进一步发展和普及,不能较好适应世界经济发展形式和国内国民经济建设需要,市场既有产品化酒店业务软件系统在不断发 展中酒店需求。基于WEB酒店管理系统总体设计目的可以建立完善、高效、可靠酒店业务信息系统,为酒店提供良好信息环境[3]。
第2章 系统分析
3.1 可行性分析
随着旅游业发展,酒店、餐饮娱乐行业日趋发达,引入全方位电脑服务和电脑管理日益流行。同步,酒店和餐厅娱乐业引入电脑服务和管理也获得了优良经济 效益和社会效益。为此,国家建设部已于近来作出明确规定:凡星级酒店在项目审批时,其设计方案必要涉及电脑管理系统,否则不予立项。可见,酒店管理电脑化 势在必行。酒店管理系统将先进电脑技术与当代酒店服务管理完美地结合起来,实现了住宿、餐饮、娱乐全新概念服务和管理方式。
一种成熟酒店管理系统不但仅是记录酒店客人信息,提供查询,报表打印等一系列简朴工作,它能让工作人员从啰嗦手工操作中解脱,并且酒店管理系统本 身就代表着一种管理办法。随着它进一步,将带动公司运做,为管理和决策提供支持。为了达到这个规定,它必要依托高起点硬件环境和软件开发工具来保证系 统稳定和正常运营。
3.2 需求分析
系统需对顾客登录进行管理。使用各功能模块时,系统应验证顾客身份有效性,否则规定顾客登录。此外,容许顾客对自己密码进行修改。
系统应提供客房分类管理功能,可分类制定客房面积、价格、与否配备空调等客房类型,对不同原则客房进行有效管理。系统可实现对客房信息添加、删除以及修改。
在进行入住/退房管理时,系统可以依照客房当前状态自动提示可用服务(入住/退房)。如果客房没有客人入住,则该客房可用服务为“入住”;否则,可用服务为“退房”。
系统客户端在Windows平台下运营,服务器端可在Windows平台或UNIX平台下运营。系统还需要有较好安全性和可扩展性[8]。
需求分析是从客户需求中提取出软件系统可以协助顾客解决业务问题,通过对顾客业务问题分析,规划出系统功能模块,即定义用例。这个环节是对理解需求升华,直接关系到该系统质量。
整个系统可以分为2大某些。酒店网站某些(客户服务网站)和酒店管理某些(管理员某些)。本系统只做了关于酒店管理一某些。
3.2.1 酒店管理某些
1. 客房管理: 预订客房管理、客房查询、退房管理。
前台服务员重要职能是负责订房和退房,以及查询入住客户信息。所有该角色只可以使用某些功能,涉及预定管理、客户信息查询,入住管理,退房管理功能。
第3章 设计
5.1 酒店首页展示
代码实现:
<link href="css/css.css" rel="stylesheet" type="text/css" />
<script type="text/javascript">
function MM_preloadImages() { //v3.0
var d=document;if(d.images){ if(!d.MM_p) d.MM_p=new Array();
var i,j=d.MM_p.length,a=MM_preloadImages.arguments;for(i=0;i<a.length;i++)
if (a[i].indexOf("#")!=0){ d.MM_p[j]=new Image;d.MM_p[j++].src=a[i];}}
}
</script>
<body bgcolor="#FFFFFF" leftmargin="0" topmargin="0" marginwidth="0" marginheight="0" onLoad="MM_preloadImages('image/menu_01.gif','image/menu_02.gif')">
<!--#include file="top2.asp" -->
<table id="Table_01" width="1001" height="417" border="0" cellpadding="0" cellspacing="0" align="center">
<tr> <td height="20" colspan="12">
<img src="image/cont_gap.gif" width="980" height="20" alt=""></td>
<td rowspan="9" background="image/main_18.gif"></td>
<td>
<img src="image/spacer.gif" width="1" height="20" alt=""></td>
</tr> <tr>
<td rowspan="8" background="image/main_19.gif"> </td>
<td height="102" colspan="2">
<img src="image/customer_txt.gif" width="210" height="102" alt=""></td>
<td rowspan="8" background="image/main_21.gif"> </td>
<td colspan="3" rowspan="3" background="image/main_22.gif" width="355" height="147" valign="top">
<table width="350" border="0" cellspacing="0" cellpadding="0">
<tr> <td> </td> </tr>
<tr> <td class="lift1"> 最新资讯</td>
</tr> <tr> <td>
<!--文章标题内容开始-->
<table border="0" cellspacing="0" cellpadding="0">
<%
Sqlnews= "select * from news where idsort=1 and okgood=1 order by topgood desc,addtime desc"
Set Rsnews=Conn.Execute(Sqlnews)
if rsnews.eof and rsnews.bof then
response.write "<li> </li>"
else
%>
<%
newsid=0
do while not rsnews.eof
newsid=newsid+1
shijian=rsnews("addTime")
fabutime=year(shijian)&"-"&getFormatDateString(month(shijian))&"-"&getFormatDateString(day(shijian))
if rsnews("topgood")*1=1 then
classnames=" style=""color:#946E2E;font-weight:bold"""
else
classnames=""
end if
%> <tr>
<td style="padding-left:12px;padding-right:7px;"><img src="images/t_4.gif" width="5" height="5" /></td>
<td height="23" align="left" class="font3"><a href="shownews.asp?id=<%=rsnews("id")%>"<%=classnames%>><%=left(rsnews("title"),20)%></a> <span style="font-family:Arial,Helvetica,sans-serif"><%=fabutime%></span></td>
</tr>
<%
if newsid=5 then exit do
rsnews.movenext
loop
end if
%> </table>
<!--文章标题内容结束-->
</td> </tr> </table> </td>
<td rowspan="8" background="image/main_23.gif">
</td>
<td colspan="4" rowspan="2" width="355" height="127" valign="top"><table width="355" height="127" border="0" cellpadding="0" cellspacing="0" background="image/main_62.gif">
<tr>
<td width="220" align="center"><IFRAME ID='ifm2' WIDTH='200' HEIGHT='100' ALIGN='CENTER' MARGINWIDTH='0' MARGINHEIGHT='0' HSPACE='0' VSPACE='0' FRAMEBORDER='0' SCROLLING='NO' SRC='time.html'></IFRAME></td>
<td width="133"><EMBED height=127 pluginspage="transparent" quality="high"></EMBED></td>
</tr> </table> </td><td>
<img src="image/spacer.gif" width="1" height="102" alt=""></td>
</tr> <tr>
<td colspan="2" rowspan="3" background="image/main_29.gif">
<a href="kefang.asp"> <img src="image/customer_btn01.gif" width="210" height="50" alt=""></a></td>
<td height="25">
<img src="image/spacer.gif" width="1" height="25" alt=""></td>
</tr> <tr>
<td height="20" colspan="4">
<img src="image/main_26.gif" width="355" height="20" alt=""></td>
<td>
<img src="image/spacer.gif" width="1" height="20" alt=""></td>
</tr> <tr>
<td colspan="3" rowspan="5" background="image/main_22.gif"><IFRAME ID='ifm2' WIDTH='353' HEIGHT='115' ALIGN='CENTER' MARGINWIDTH='0' MARGINHEIGHT='0' HSPACE='0' VSPACE='0' FRAMEBORDER='0' SCROLLING='NO' SRC='swf/demo51/index.html'></IFRAME>
</td>
<td colspan="4" rowspan="5" background="image/law_btn.gif" width="355" height="115" alt="" align="center"><!--#include file="orderHotal2.asp" -->
</td>
<td height="5">
<img src="image/spacer.gif" width="1" height="5" alt=""></td>
</tr> <tr>
<td height="5" colspan="2" background="image/main_29.gif"></td>
<td>
<img src="image/spacer.gif" width="1" height="5" alt=""></td>
</tr> <tr>
<td height="50" colspan="2" background="image/main_29.gif"><a href="about.asp?listid=4"><img src="image/customer_btn02.gif" width="210" height="50" alt=""></a></td>
<td>
<img src="image/spacer.gif" width="1" height="50" alt=""></td>
</tr> <tr>
<td height="5" colspan="2" background="image/main_29.gif">
</td> <td>
<img src="image/spacer.gif" width="1" height="5" alt=""></td>
</tr> <tr>
<td height="50" colspan="2" background="image/main_29.gif"><a href="contact.asp"><img src="image/customer_btn03.gif" width="210" height="50" alt=""></a></td>
<td>
<img src="image/spacer.gif" width="1" height="50" alt=""></td>
</tr> <tr>
<td height="30" colspan="13">
<img src="image/main_33.gif" width="1000" height="30" alt=""></td>
<td> <img src="image/spacer.gif" width="1" height="30" alt=""></td>
</tr> <tr>
<td colspan="13"width="1000" height="85" alt=""><!--#include file="bottom.asp" --></td>
<td>
<img src="image/spacer.gif" width="1" height="85" alt=""></td>
</tr> <tr> <td> <img src="image/spacer.gif" width="20" height="1" alt=""></td>
<td> <img src="image/spacer.gif" width="24" height="1" alt=""></td>
<td> <img src="image/spacer.gif" width="186" height="1" alt=""></td>
<td> <img src="image/spacer.gif" width="20" height="1" alt=""></td>
<td> <img src="image/spacer.gif" width="149" height="1" alt=""></td>
<td> <img src="image/spacer.gif" width="149" height="1" alt=""></td>
<td> <img src="image/spacer.gif" width="57" height="1" alt=""></td>
<td> <img src="image/spacer.gif" width="20" height="1" alt=""></td>
<td> <img src="image/spacer.gif" width="72" height="1" alt=""></td>
<td> <img src="image/spacer.gif" width="149" height="1" alt=""></td>
<td> <img src="image/spacer.gif" width="110" height="1" alt=""></td>
<td> <img src="image/spacer.gif" width="24" height="1" alt=""></td>
<td> <img src="image/spacer.gif" width="20" height="1" alt=""></td>
<td></td> </tr></table>
<!-- End Save for Web Slices -->
</body>
5.2 管理员登陆
在本次系统中,顾客登陆模块与普通应用系统顾客登陆是基本相似。因而当一种顾客登陆管理系统之后,管理员操作流程如如下图所示。
后台目录:/admin/Admin_Login.asp
登陆顾客名及密码:admin
登陆界面
输入顾客名和密码
查询成功
否
是
登陆管理界面
图5-1 管理员登陆操作流程
图 5-2 系统登陆界面截图
管理员代码如下:
<title>网站信息管理系统_管理员登录</title>
<%
response.expires = 0
if request("Action")="chk" then
username=KillSQLCode(trim(Request.form("username")))
password=KillSQLCode(trim(Request.form("password")))
Md5_Pass=md5(password)
if username="" or password="" then Response.Redirect ("Admin_login.asp")
verifycode = Request("verifycode")
if username="" or password="" then
response.Write("<script>alert('您管理ID或密码有误!');history.go(-1);</script>")
Response.End()
end if
set rs=server.createobject("adodb.recordset")
sql="select * from admin where username='"&username&"'and password='"&Md5_Pass&"'"
rs.open sql,conn,1,3
if not rs.EOF then
rs("LoginTimes")=rs("LoginTimes")+1
rs("LoginTime")=now()
rs("LoginIP")=Request.ServerVariables("REMOTE_ADDR")
rs.Update
Session("AdminID")=rs("id")
Session("WendaySys_User")=rs("username")
Session("IsAdmin")=true
Session("KEY")=rs("Oskey")
'Session("Admin") = "Login"
Session("LoginTimes")=rs("LoginTimes")
Session("LastLoginTime")=rs("LoginTime")
Response.Redirect ("adminDefault.asp")
else
response.Write("<script>alert('登录失败!顾客或者密码不对的,请重新输入!');history.go(-1);</script>")
Response.End()
end if
rs.close
set rs=nothing
conn.close
set conn=nothing
end if
if request("Action")="LoginOut" then
IsAdmin=session("IsAdmin")
If IsAdmin=true Then
set rs=server.createobject("adodb.recordset")
AdminID=session("AdminID")
sql="select * from admin where id="&AdminID
rs.open sql,conn,1,3
if not rs.EOF then
rs("LogoutTime")=now()
rs.Update
Session("AdminID")=""
Session("IsAdmin")=""
Session("KEY")=""
'Session("Admin")=""
rs.Close
set rs=nothing
else
response.write"数据库出错!"
Response.end
end if
end if
conn.close
set conn=nothing
response.redirect ("Admin_Login.asp")
end if
%>
<script language="javascript">
function checklogin(obj){
if (obj.username.value==""){
alert('请输入管理员账号!');
obj.username.focus();
return false;
}
if (obj.username.value.indexOf("'")!=-1 || obj.username.value.indexOf("=")!=-1){
alert('管理员账号具有非法字符!');
obj.username.select();
return false;
}
if (obj.password.value==""){
alert('请输入管理员密码!');
obj.password.focus();
return false;
}
if (obj.password.value.indexOf("'")!=-1 || obj.password.value.indexOf("=")!=-1){
alert('管理员密码具有非法字符!');
obj.password.select();
return false;
}
if (obj.verifycode.value==""){
alert('请输入程序验证码!');
obj.verifycode.focus();
return false;
}}</script>
<body>
<form action="Admin_login.asp?Action=chk" METHOD="post" name="LoginForm" onSubmit="return(checklogin(this))">
<table width="100%" height="100%" border="0" cellpadding="0" cellspacing="0">
<tr> <td><table width="962" border="0" align="center" cellpadding="0" cellspacing="0">
<tr> <td height="235" background="images/login_03.gif"> </td>
</tr> <tr>
<td height="53"><table width="100%" border="0" cellspacing="0" cellpadding="0">
<tr> <td width="272" height="106" background="images/login_05.gif"> </td>
<td width="418" height="106" valign="top" background="images/login_06.gif"><table width="60%" border="0" align="center" cellpadding="0" cellspacing="0">
<tr>
<td width="20%" height="25"><div align="right"><span class="STYLE1" style="color:#FFFFFF">顾客名</span></div></td>
<td height="25" colspan="2">
<input type="text" name="username" style="width:120px;height:18px;background-color:#292929;border:solid 1px #7dbad7;font-size:12px;color:#6cd0ff"></td>
</tr> <tr>
<td height="25"><div align="right"><span class="STYLE1" style="color:#FFFFFF">密 码</span></div></td>
<td height="25" colspan="2">
<input type="password" name="password" style="width:120px;height:18px;background-color:#292929;border:solid 1px #7dbad7;font-size:12px;color:#6cd0ff"></td>
</tr> <tr>
<td height="25"><div align="right"><span class="STYLE1" style="color:#FFFFFF">验证码</span></div></td>
<td width="59%" height="25">
<input name="verifycode" type="text" style="width:65px;height:18px;background-color:#292929;border:solid 1px #7dbad7;font-size:12px;color:#6cd0ff"> <span style="background:#FFFFFF;padding:3px 5px 3px 5px;"><IMG style="cursor:pointer;padding:2px 2px 2px 2px;" src="../Common/GetCode.asp?n=<%=Timer%>" onClick="this.src='../Common/GetCode.asp?n='+ Math.random();" align="absmiddle"></span></td>
<td width="21%" height="25"><input name="image" type="image" title="登录后台" src="images/dl.gif" width="49" height="18"></td>
</tr> </table></td>
<td width="272" height="106" background="images/login_07.gif"> </td>
</tr> </table></td> </tr>
<tr> <td height="213" background="images/login_08.gif"> </td>
</tr> </table></td> </tr></table></form></body></html>
5.3 客户预定模块
添加是为预定客户保存预定信息,流程如下:
点击“添加”按钮
与否有空房
显示空列表
否
是
显示空房列表
选取房间
弹出预定客户客户信息表
输入客户信息,点击拟定
提示操作成功
图5
展开阅读全文