资源描述
杭州师范大学
Hangzhou Normal University
毕业设计(论文)
题 目 酒店管理系统
学 院
专 业
学 号
学生姓名 XXX
指导教师
起讫日期
摘 要
酒店管理系统是典型的信息管理系统(MIS),其开发主要包括后台数据库的建立和维护以及前端应用程序的开发两个方面.对于前者要求建立数据一致性好、完整性强、安全的数据库.而对于后者则要求应用程序功能完备,具备使用方便等特点.酒店管理系统是基于ASP技术,Dreamwear MX网页开发工具,开发的网上信息管理系统.该系统主要用于酒店的日常管理。该系统界面友好,操作简单,易学易用,从总体方案上力求达到该软件所需的目标要求。
关键字:酒店管理系统, ASP, 数据库, Dreamwear MX。
Abstract
Hotel management system is a system( MIS) of typical information management, its development to primarily include the establishing of backstage database to apply two aspects of the procedure's developments with maintenance and head. request to establish the data consistency for the former with the complete strong, data safety database that like. but then request the applied procedure function for the latter complete, etc. characteristics of easy usage.the Hotel management system is a personnel database that use what ASP and Dreamwear MX develop to face to the object the information management the system, that system to primarily used for the usual management in Hotel. The system's interface the amity, operation is simple, easy to learn easily use, and try hard for the target request for needing of the software's from the total project。
Keywords: Hotel management system , Asp Database, Dreamwear MX
目录
摘 要 1
目录 2
0 引言 1
1 系统分析 2
1.1 需求分析 2
1.2 可行性分析 2
2 总体设计 2
2.1 项目规划 2
2.2 系统功能结构图 3
3 系统设计 3
3.1 设计目标 3
3.2 开发及运行环境 4
3.3 编码设计 4
3.4 逻辑结构设计 4
4 前台主要功能模块详细设计 8
4.1 前台文件总体架构 8
4.2 网站导航设计 9
4.3 宾馆简介管理模块设计 10
4.4 客房服务管理模块设计 11
4.5 在线订房管理模块设计 12
4.6 意见反馈管理模块设计 16
4.7 公告栏模块设计 17
5 后台主要功能模块详细设计 19
5.1 后台总体架构 19
5.2 后台登录模块设计 20
5.3 管理首页/退出模块设计 22
5.4 网站管理模块设计 22
5.5 图片管理模块设计 26
结束语 30
致 谢 31
附录A 参考文献 32
附录B 文件架构图 33
附录C 翻译 37
原文: 37
DATABASE 37
译文: 42
数据库 42
SQL和SQL服务器 43
ACCESS 44
0 引言
信息时代的今天,宾馆、酒店业的特色经营和个性化管理日趋明显,管理趋于信息化、网络化,再加上国际、国内名优企业扩展力度的加大,宾馆、酒店业集团化步伐的加快,预示着传统宾馆、酒店正逐步向现代宾馆、酒店业方向转化。现代宾馆、酒店业最显著的一个特征就是通过计算机网络对企业进行信息化管理——这也是宾馆、酒店业经营者们的共识。网络信息化管理系统以信息量大、数据准确、速度快、管理全面等特点,获得了广大宾馆、酒店业管理者的一致认同,同时满足了客户通过网络服务,足不出户的预订房间、会议室、酒会等一系列活动的要求。并且,通过计算机网络对宾馆、酒店业进行管理,克服了人为管理中人为因素给企业管理带来的诸多不便,大大提高了宾馆、酒店的工作效率,为企业创造了更大的利润。
1 系统分析
1.1 需求分析
通过对宾馆、酒店业经营管理的调查研究,要求系统具有以下功能:
q 全面展示宾馆的服务功能及环境。
q 介绍宾馆自身、宾馆的地理位置、会展中心、餐饮美食、商务中心以及其他相关内容等信息。
q 存储客人的反馈留言信息。
q 全面展示宾馆的客房服务功能。
q 客人可通过网站直接在网上进行客房的预订。
q 提供宾馆所在地旅游景点的详细信息。
q 提供管理后台入口。
q 对网站初始化信息进行设置,提供查看服务器信息功能。
q 管理网站上传的图片信息。
q 管理所有网站信息展示内容。
q 对旅游景点的详细信息进行管理。
q 全面管理客人订房信息。
q 管理客人反馈留言信息。
q 管理客房服务信息。
q 系统运行稳定,具有强大的数据处理功能。
1.2 可行性分析
q 经济性
网站前台展示了整个宾馆的服务内容、宾馆的设施、硬件条件及一系列的相关信息,满足了全面展示宾馆自身形象的要求。设置“在线订房”功能模块,提供在线订房功能,满足客户通过网络预订房间的要求。通过网络对宾馆日常业务进行管理,大大的提高了房间的利用率,提高了宾馆的经营效率,使宾馆的经济效益最大化。
q 技术性
网站后台实现了对前台信息的管理功能。通过信息管理模块、图片管理模块,实现了不断更新宾馆各方面信息的要求。通过订单管理模块对客人的房间预订信息进行管理,更科学的按排宾馆自身的房间自然资源。管理客人的留言信息,及时和客人进行沟通。
2 总体设计
2.1 项目规划
网上客房预订系统是一个典型的数据库开发应用程序,由前台展示区和后台管理组成,规划系统功能模块如下:
q 前台展示区
前台展示区的主要功能是宾馆简介、地理位置、客房服务、会展中心、餐饮美食、商务服务、在线订房、意见反馈、其他、本地景点。
q 后台功能管理
后台功能管理的主要功能是初始化网站的基础信息、管理前台图片信息、宾馆相关的信息管理、景点管理、宾馆房间类型管理、订单管理、反馈信息管理和系统信息管理。
2.2 系统功能结构图
网上酒店管理系统功能结构图,前台功能模块图如图1所示。
图1 系统功能结构图
后台功能模块如图2所示
图2 系统功能结构图
3 系统设计
3.1 设计目标
本系统是针对宾馆订房业务、和宾馆的服务介绍进行设计的,主要实现如下目标:
q 全面的展示了宾馆自然情况和服务内容。
q 介绍宾馆信息,帮助客人了解宾馆相关信息。
q 为客户提供宾馆所在地旅游景点的详细信息。
q 向客户全面提供宾馆客房信息。
q 实现了网上在线订房业务,方便客人订房。
q 实现了留言板功能,客人可随时通过网站填写反馈信息。
q 通过后台管理网站初始化信息。
q 实现了后台对前台信息、上传图片的管理功能。
q 管理前台景点信息。
q 通过后台管理宾馆客房信息。
q 通过后台管理人员可以管理客人订房信息。
q 管理人员可随时管理客人的反馈信息。
q 系统运行稳定、安全可靠。
3.2 开发及运行环境
硬件平台:
q CPU:P41.8GHz。
q 内存:256MB以上。
软件平台:
q 操作系统:Windows XP/ Windows 2000。
q 数据库:Access 2000。
q 浏览器:IE5.0,推荐使用IE6.0。
q Web服务器:IIS5.0。
q 分辨率:最佳效果1024×768像素。
3.3 编码设计
编码设计是数据库系统开发的前提条件,是系统不可缺少的重要内容。编码是指与原来名称对应的编号、符号或记号。它是进行信息交换、处理、传输和实现信息资源共享的关键。编码也用于指定数据的处理方法、区别数据类型,并指定计算机处理的内容等。
本系统内部信息编码采用了统一的编码方式情况。如下所示:
q 订单编号
订单单据编号为系统当前日期和5位数字编码的组合。例如:20071030001。
3.4 逻辑结构设计
本系统数据库采用Access2000数据库,系统数据库名称为etwldbs。数据库etwldbs中包含7张表。由于篇幅所限,关于数据库中的数据表请参见下图:
(1)dd(订单管理)
订单管理表主要用于保存订单信息。该表结构如表B.1所示。
表B.1 dd的结构
字段名
数据类型
长度
主键否
描述
id
自动编号
长整型
是
自动编号
name
文本
50
否
姓名
sex
文本
50
否
性别
age
文本
50
否
年龄
shenfen
文本
50
否
证件名称
zhengjian
文本
50
否
证件号
guoji
文本
50
否
国籍
danwei
文本
50
否
单位
dtime
文本
50
否
到达时间
ltime
文本
50
否
离开时间
num
文本
50
否
人数
email
文本
50
否
电子邮件
tel
文本
50
否
电话
room
文本
50
否
房间类型
beizhu
备注
否
其他要求
time
文本
50
否
发布时间
check
是否
否
是否审核
huifu
文本
50
否
回复内容
bianhao
文本
50
否
订单编号
(2)email(邮件回复设置)
邮件回复设置表主要用于保存邮件回复设置信息。该表结构如表B.2所示。
B.2表 email的结构
字段名
数据类型
长度
主键否
描述
Id
自动编号
长整型
否
回复邮件标题
Title
文本
50
否
回复邮件内容
Content
备注
否
发件人姓名
Fname
文本
50
否
企业邮箱服务器
Smtp
文本
50
否
发送邮件的邮箱服务器
Femail
文本
50
否
发送邮件的邮箱
pwd
文本
50
否
发送邮件的邮箱密码
(3)guestbook(反馈信息)
反馈信息表主要用于保存反馈信息。该表结构如表B.3 所示。
表B.3 guestbook的结构
字段名
数据类型
长度
主键否
描述
ID
自动编号
长整型
是
自动编号
name
文本
50
否
姓名
laizi
文本
50
否
来自
email
文本
50
否
Email
homepage
文本
225
否
主页
sex
文本
50
否
性别
OICQ
文本
50
否
OICQ
ICQ
文本
50
否
电话
liuyan
备注
否
留言内容
check
是否
否
是否审核
Reply
备注
否
回复内容
Reply_Date
日期
否
回复日期
time
日期
否
发表日期
(4)news(信息管理)
信息管理表主要用于保存信息内容。该表结构如表B.4所示。
表B.4 news的结构
字段名
数据类型
长度
主键否
描述
Newid
自动编号
长整型
否
自动编号
Title
文本
100
否
标题
content
备注
否
内容
Typeid
文本
长整型
否
类型编号
Dateandtime
日期
否
发布时间
(5) admin(管理员表)
管理员表主要用于保存管理员相关信息。该表结构如表B.5所示。
表B.5 admin结构
字段名
数据类型
长度
主键否
描述
admin_id
自动编号
是
自动编号
admin_name
文本
50
否
管理员名
admin_pass
文本
50
否
管理员密码
mingcheng
文本
100
否
后台管理名称
(6)fangjian(房间信息表)
房间信息表主要用于保存客房相关信息。该表结构如表B.6所示。
表B.6 fangjian结构
字段名
数据类型
长度
主键否
描述
id
自动编号
是
自动编号
fangjian
文本
50
否
房间名称
xinxi
备注
否
房间信息
tupian
文本
50
否
房间图片
fangjia
文本
50
否
房价
(7)newstype(信息类别表)
信息类别表主要用于保存相关信息内容。该表结构如表B.7所示。
表B.7 newstype结构
字段名
数据类型
长度
主键否
描述
typeid
自动编号
是
自动编号
type
文本
50
否
信息类型
flag
数字
否
房间类型信息
4 前台主要功能模块详细设计
4.1 前台文件总体架构
1.模块功能介绍
前台页面主要包括以下功能模块:
q 网站导航:主要包括网站的旗帜广告条、主功能导航两部分。
q 宾馆简介模块:主要用于介绍宾馆地理位置、室内设施、宾馆大小等相关信息。
q 地理位置模块:主要用于介绍宾馆详细的地理位置以及乘车路线。
q 客房服务模块:主要用于介绍房价、房间类型、房间内部设施。
q 会展中心模块:主要用于介绍宾馆的整体楼层布局以及各楼层的相关功能。
q 餐饮美食模块:主要用于介绍宾馆的特色美食。
q 商务中心模块:主要用于介绍商务服务的具体内容。
q 在线订房模块:主要用于提供在线客房预订。
q 意见反馈模块:主要用于分页显示意见反馈信息。
q 公告栏:主要用于展示最新添加的本地景点。
q 其它模块:主要用于介绍宾馆的其他相关商务服务功能。
q 管理入口模块:主要包括登录后台管理入口。
3.前台页面运行结果
网站前台首页的运行结果如图4所示。
图4 前台页面运行结果
为了方便读者阅读本章内容,将前台页面的各部分说明以列表形式给出,如表1所示。
表1 前台首页解析
区域
名称
说明
对应文件
1
网站导航
主要用于显示网站的标题及为用户提供前台功能导航
index.asp
2
公告栏
主要用于展示最新添加的本地景点
open.asp
3
后台登录入口
管理员可以通过该入口登录后台
index.asp
4
展示区
用于展示相关功能的运行结果
index.asp
4.2 网站导航设计
导航是网站设计不可缺少的基础元素之一,它不仅是信息结构的基础分类,也是浏览者的网站路标。在此网站导航主要包括旗帜广告条、功能分类导航2部分。设计完成的网站导航页面的设计效果如图5所示。
图5 网站导航页面设计效果
1.功能分类导航条
用户可以通过功能分类导航条查看相应类别的信息,功能分类导航条主要通过传递参数来实现超链接。关键程序代码如下:
<A href="index.asp?Typeid=1">宾馆简介</A></TD> '通过传递参数Typeid实现超链接功能
<A href="index.asp?Typeid=2">地理位置</A></TD>
<A href="index.asp?Typeid=4">会展中心</A></TD>
<A href="index.asp?Typeid=5">餐饮美食</A></TD>
<A href="index.asp?Typeid=6">商务中心</A></TD>
<A href="index.asp?Typeid=7">其他</A></TD>
4.3 宾馆简介管理模块设计
宾馆简介管理模块的主要功能是介绍宾馆地理位置、室内设施、宾馆大小等相关详细信息介绍。宾馆简介页面的设计效果如图6所示。
图6 宾馆简介页面设计效果
宾馆简介页面,主要是根据传递的参数(本例为Typeid为参数名进行传递)查找相应的记录并显示。查询宾馆简介信息的程序代码如下:
<%
if request("Typeid")="" then '判断接收的Typeid是否为空值
Typeid=1 '设置默认值
else
Typeid=request("Typeid") '将接收到的Typeid值赋值给Typeid
end if
set rs=server.CreateObject("adodb.recordset")
sql="select * from news where Typeid="&Typeid&" order by Dateandtime desc" '通过时间进行降序排列
rs.open sql,conn,1,1
%>
<A href="index.asp?Typeid=1">宾馆简介</A> '传递参数Typeid
<A href="index.asp?Typeid=2">地理位置</A>
<A href="index.asp?Typeid=4">会展中心</A>
<A href="index.asp?Typeid=5">餐饮美食</A>
<A href="index.asp?Typeid=6">商务中心</A>
<a href="index.asp?Typeid=7">其他</a>
通过以下代码判断记录集是否为空,也就是判断是否有符合条件的记录,如没有符合条件的记录系统将给予提示。相关程序代码如下:
<% If not rs.eof Then %>
<%= rs("content") %>
<% Else %>
暂无信息
<% End If %>
通过以下代码显示宾馆简介内容:
<%= rs("content") %>
4.4 客房服务管理模块设计
客房服务管理模块的主要功能是介绍房价、房间类型、房间内部设施等,页面设计效果如图
8.7所示。
图7 客房服务管理页面设计效果
客房服务管理页面主要用于显示客房的相关信息,程序代码如下:
<%
set rs=server.CreateObject("adodb.recordset")'获取客房信息
sql="select * from fangjian "
rs.open sql,conn,1,1
function HTMLcode(fString)
if not isnull(fString) then
fString = Replace(fString, CHR(13), "")
fString = Replace(fString, CHR(10) & CHR(10), "</P><P>")
fString = Replace(fString, CHR(10), "<BR>")
fString = Replace(fString, CHR(32), " ")
HTMLcode = fString
end if
end function
%>
<table width="97%" border="0" align="left" cellspacing="1" bgcolor="#000000">
<%
If not rs.eof Then
tol=rs.recordcount
for i=1 to tol
%>
<%
rs.movenext '向下移动记录指针
if rs.eof then exit for '判断当前记录指针是否到达记录尾
next
else
response.Write("暂无信息")
end if
%>
</table>
4.5 在线订房管理模块设计
在线订房管理主要用于在线预订客房,在进行在线订房时,所填写的登记信息必须真实有效,否则不能预期正确地进行客房预订。在线订房管理模块的页面设计效果如图8所示。
图8 在线订房管理页面设计效果
在线订房管理页面中要求输入的信息必须是真实有效的,系统将对输入的Email地址进行判断、同时还要判断到达时间与离开时间是否过期,代码如下:
<%
if month(date())<10 then '如果当前月份小于10则在当前月份前面加0
mon=0&month(date())
else
mon=month(date()) '获取当前系统月份
end if
if day(date())<10 then '如果当前日期小于10则在当前日期前面加0
da=0&day(date())
else
da=day(date()) '获取当前系统日期
end if
set rs2=server.CreateObject("adodb.recordset")
sql2="select * from dd where time='"&date()&"'"
rs2.open sql2,conn,1,3
if not rs2.eof then
t=year(date)*1000000000+month(date())*10000000+day(date())*100000+rs2.recordcount+1
else
t=year(date)*1000000000+month(date())*10000000+day(date())*100000+1
end if
if request("post")<>"" then '判断是否接收表单值
call writ
end if
function writ
Email=request("email")
if request("name")="" or request("danwei")="" or request("sex")="" or request("email")="" or request("num")="" or request("guoji")="" or request("tel")="" or request("zhengjian")="" or request("shenfen")="" then
response.Write("<script language=javascript>alert('请把内容填写完整');location='javascript:history.go(-1)'</script>") '判断输入的Email格式是否正确
elseIf Instr(Email, "@") = 0 Or Right(Email, 1) = "@" Or Left(Email, 1) = "@" Then
response.write "<script language=JavaScript>" & chr(13) & "alert('请检查您的邮件地址是否正确!');" & "history.back()" & "</script>"
Response.End
else
mm=request("year")&"-"&request("month")&"-"&request("day") '获得到达时间
nn=request("year1")&"-"&request("month1")&"-"&request("day1") '获得离开时间
if datediff("d",mm,date())>0 then '判断达到日期和当前日期是否冲突
response.Write("<script>alert('日期已过');location='javascript:history.go(-1)'</script>")
response.end
end if
if datediff("d",mm,nn)<0 then
response.Write("<script>alert('开始日期和结束日期填写有误');location='javascript:history.go(-1)'</script>")
response.end
end if
set rs=server.CreateObject("adodb.recordset")
sql="select * from dd"
rs.open sql,conn,1,3
rs.addnew '通过addnew()方法添加在线订房详细信息
rs("name")=request("name") '添加在线订房人姓名
rs("sex")=request("sex")
rs("age")=request("age")
rs("shenfen")=request("shenfen")
rs("zhengjian")=request("zhengjian")
rs("guoji")=request("guoji")
rs("danwei")=request("danwei")
rs("dtime")=mm
rs("ltime")=nn
rs("num")=request("num")
rs("email")=request("email")
rs("tel")=request("tel")
rs("room")=request("room")
rs("beizhu")=request("beizhu")
rs("bianhao")=request("t")
rs("time")=date() '添加获取当前的日期和时间
rs.update
rs.close
response.Write("<script language=javascript>alert('提交成功');location='dingdan.asp'</script>")
end if
end function
%>
在线订房管理页面的运行结果如图9所示。
图9 在线订房管理页面运行结果
4.6 意见反馈管理模块设计
意见反馈管理模块主要包括留言的发布、留言与回复留言浏览2部分。单击“我要留言”超链接,可以进入意见反馈管理页面。
意见反馈管理页面所涉及到的相关程序代码如下:
<%
if request("post")<>"" then '判断是否接收到表单值
call writ
end if
function writ
Email=request("email") '接收输入的email地址
if request("name")="" or request("email")="" or request("ICQ")="" or request("liuyan")="" then
response.Write("<script language=javascript>alert&_
('请把内容填写完整');location='javascript:history.go(-1)'</script>")
elseIf Instr(Email, "@") = 0 Or Right(Email, 1) = "@" Or Left(Email, 1) = "@" Then
response.write "<script language=JavaScript>" & chr(13) & "alert('请检查您的邮件地址是否正确!');" & "history.back()" & "</script>"
Response.End
else
set rs=server.CreateObject("adodb.recordset")
sql="select * from guestbook"
rs.open sql,conn,1,3
rs.addnew
rs("name")=request("name") '获取添加人姓名
rs("sex")=request("sex")
rs("laizi")=request("laizi")
rs("email")=request("email") '获取添加人的email地址
rs("OICQ")=request("OICQ")
rs("ICQ")=request("ICQ")
rs("homepage")=request("homepage")
rs("liuyan")=request("liuyan")
rs("time")=now() '获取当前系统日期和时间
rs.update
rs.close
response.Write("<script language=javascript>alert('提交成功')</script>")
end if
end function
%>
4.7 公告栏模块设计
公告栏是用来发布网站最新公告信息的,目的是让浏览者了解网站的最新动态。公告栏信息分为首页滚动显示和具体信息展示两部分。
1.首页滚动显示
公告栏滚动显示功能模块位于前台主页的左侧,它可以将网站最新的公告信息展示给用户。公告栏滚动设计效果如图10所示。
图10 公告栏滚动显示功能页面设计效果
实现滚动显示主要是应用HTML中的Marquee标识符实现的。程序代码如下:
<marquee direction="up" scrollamount="3"
onMouseOver="this.stop()
" onMouseOut="this.start()" height=180>
<%
set rs3=server.CreateObject("adodb.recordset")
sql3="select * from news where Typeid=8 order by Dateandtime desc" '取出景点的相关信息
rs3.open sql3,conn,1,1
if not rs3.eof then
do while not rs3.eof
%>
<table width="100%" border="0">
<tr>
<td><span class="style3">☆</span>
<a href="#" onClick="window.open('open.asp?id=<%=rs3("Newsid")%>','',' '单击标题进入详细信息页面
scrollbars=yes,width=565,height=500')"><%=rs3("title")%></a>
</td>
</tr>
</table>
<%
rs3.movenext
loop
else
response.Write("<div align=center><font color=white>暂无信息</font></div>")
end if
%> </marquee>
公告栏滚动显示功能页面运行结果如图11所示。
图11 公告栏滚动显示功能页面运行结果
2.具体信息展示
滚动显示所有信息标题,这些信息是系统按照发布的时间降序排列的。当用户需要查看其详细信息时,单击其标题就可以进入详细信息页面。展示详细内容页面所涉及到的程序代码如下:
<%
set rs=server.CreateObject("adodb.recordset")
sql="select * from news where NewsId="&request("id") '显示具体信息详细页
rs.open sql,conn,1,1 '打开记录集
%>
<%= rs("content")%>'通过以下语句进行内容的输出
5 后台主要功能模块详细设计
5.1 后台总体架构
1.模块功能介绍
后台页面主要包括以下功能模块:
q 管理首页/退出模块:主要用于退出后台管理系统。
q 网站管理模块:主要包括更改初始信息、查看服务器信息。
q 图片管理模块:主要包括空间图片管理。
q 信息管理模块:主要包括宾馆简介管理、地理位置管理、会展中心管理、餐饮美食管理、商务中心管理、其他管理。
q 景点管理模块:主要包括旅游景点管理。
q 房间管理模块:主要包括房间类型、客房服务管理。
q 订单管理模块:主要包括订单管理、已确认订单、回复管理。
q 反馈管理模块:主要包括反馈信息管理。
q 系统信息管理模块:主要用于管理本网站的版权、技术支持。
3.后台页面运行结果
网站后台页面的运行结果如图12所示。
2
1
图12 网站后台页面运行结果
为了方便读者阅读此章节内容,将后台页面的各部分说明以列表形式给出,如表2所示。
表2
展开阅读全文