酒店管理系统课程设计报告书.docx
- 文档编号:28349698
- 上传时间:2023-07-10
- 格式:DOCX
- 页数:31
- 大小:431.58KB
酒店管理系统课程设计报告书.docx
《酒店管理系统课程设计报告书.docx》由会员分享,可在线阅读,更多相关《酒店管理系统课程设计报告书.docx(31页珍藏版)》请在冰豆网上搜索。
酒店管理系统课程设计报告书
第1章需求分析
1.1系统概述
随着社会经济的发展,酒店、宾馆在服务行业扮演着越来越重要的角色。
酒店行业的竞争表现在管理和服务水平的竞争,它影响到酒店的形象和声誉。
这就要求通过先进的管理来提高服务质量,尽可能做到让客户满意。
因此,非常需要一套酒店管理系统来对客房信息,经营情况以及客户信息进行管理。
酒店管理系统为管理者制定决策判断提供了可行依据。
判断提供迅速高效的、系统化的服务,避免手工处理的繁琐与误差,成为酒店、宾馆经营的重中之重。
但是目前商业性的酒店管理软件大多数是舍用于大、中型酒店,其操作复杂,收费昂贵,还需专业维护。
这就造成了很多小型酒店以及小型宾没有客房的管理软件,对于其宾馆的经营造成管理的繁琐与混乱。
所以开发一款社用于小型酒店或小型宾馆的客房管理软件时必须的。
1.2系统功能需求分析
该系统的功能需求有如下几个方面:
(1)客房管理。
主要用于对客房信息进行维护。
功能包括对客房信息的添加、修改和删除已有的客户信息,对客房信息进行查询。
(2)住宿管理。
主要用于对入住信息进行维护。
功能包括对入住信息的添加、修改和查询。
(3)结算管理。
主要用于对客房结账和对结算历史信息的查询。
功能包括结账(计算费用、记录结账信息)和结算查询。
第2章管理系统平台的选用
2.1数据库系统的选择原则
1、数据库系统采用易于集成的,开放的技术。
2、产品质量优异,可靠性高,适于长期运行,能支持关键应用。
3、数据安全,保安型高。
4、能提供分布式数据库功能。
5、支持多种开发环境,软件开发容易。
6、扩充性和升级能力强。
2.2系统开发工具的选择
本次系统设计选用的是VisualBasic作为开发工具,因为VisualBasic具有以下优越的功能:
简单,易学,易用
(1)快速完成应用任务
(2)使用方便的工具栏
(3)支持中英文输入法
(4)用项目管理器统一界面
第3章酒店管理概述
3.1系统数据需求
1)数据录入和处理的准确性和实时性。
2)数据的一致性与完整性。
3)数据的共享与独立性。
3.2系统业务功能的需求
(1)实现客房信息管理功能
(2)实现客户信息管理功能
(3)实现预定管理功能
(4)实现入住管理功能
(5)实现消费记账功能
(6)实现收银退房功能
综上,我们将系统的功能大体划分为三大模块:
权限管理:
包括管理员的登录
前台管理:
包括客户信息的录入、客户预订和入住登记以及结算的管理等。
后台报表管理:
包括报表的打印
3.3系统性能需求:
为了保证系统能够长期、安全、稳定、可靠、高效的运行,系统应该满足以下的性能需求:
(1)系统处理的准确性和及时性
系统处理的准确性和及时性是系统的必要性能。
在系统设计和开发过程中,要充分考虑系统当前和将来可能承受的工作量,使系统的处理能力和响应时间能够满足用户对信息的处理。
(2)系统的开放性和系统的可扩充性
系统在开发过程中,应该充分考虑以后的可扩充性。
例如系统权限和客房信息设置等模块也会不断的更新和完善。
所有这些都要求系统提供足够的手段进行功能的调整和扩充。
而要实现这一点,应通过系统的开放性来完成,既系统应是一个开放系统,只要符合一定的规范,可以简单的加入和减少系统的模块,配置系统的硬件。
(3)系统的易用性
本酒店客房管理系统面向的用户是酒店内工作人员,而有些使用人员往往对计算机并不是非常熟悉,所以系统操作上要求简单、方便、快捷,便于用户使用。
这就要求系统能够提供良好的用户接口,易用的人机交互界面。
(4)系统的响应速度
系统设计中摒弃大量数据冗余,提出了优化数据库的解决方案,大量使用存储过程,大大提高系统响应时间和速度。
第4章系统总体设计
本部分主要介绍系统要实现的功能,搭好设计的总体框架,使我们对要开发的系统有一个系统、全面、确切的认识。
4.1系统功能模块设计
结合前面需求分析阶段的结果进行综合处理,确定了客房管理系统需要完成的功能,主要划分为以下模块:
1.结算管理
(1)结账
(2)结账查询
2.客房信息管理
(1)设置客房标准
①添加客房标准②修改客房标准③删除客房标准
(2)设置客房信息
①添加客房信息②修改客房信息③添加客房类型④查询客房信息
3.住宿信息管理
(1)添加入住信息
(2)修改入住信息
(3)查询入住信息
模块设计图如下:
酒店管理系统
酒店入住管理
酒店客户管理
酒店管理员管块
数据统计模块
酒店退房管理
客户房号
客户姓名
客户性别
客户房费
酒店管理模块
查询客户信息
添加客户信息
删除客户信息
维护客户信息
客房信息管理
客房类别管理
添加客房信息
查询客房信息
删除客房信息
维护客房信息
添加类别信息
查询类别信息
删除类别信息
维护类别信息
添加管理员信息
删除管理员信息
管理整个酒店
信息管理
管理员管理
权限管理
图4-1系统功能模块图
4.2系统结构设计
系统的主要结构:
系统的封面以表单开始,要求用户输入登录,若密码错误,则自动退出,否则出现系统主菜单,接受用户的操作,操作完毕后用户可以从系统菜单中退出系统,系统运行的步骤如图:
4.3系统数据流程图
查询
客户
登记
结算
入住登记
入住信息
退房需求
结算信息
信息核查
客户信息
查询结果
客户需求描述
入住信息表
旅客信息表
客房信息表
客户信息表
消费结算表
图4-3系统数据流程图
4.4E-R图
4.5系统的运行要求
软、硬件环境:
硬件:
客户机(CPUP200以上,内存:
32M以上)、数据库服务器(CPUPIII800以上,内存:
256M或以上。
以Microsoftwindows操作系统为工作平台。
以MicrosoftVisualBasic6.0为开发工具。
数据库环境是MicrosoftOfficeAccess2003。
第5章详细设计与实现
5.1数据库设计
(1)数据库需求分析
设计的数据库系统应用于酒店管理系统,所以必须充分满足酒店客房管理系统的各种要求。
此系统要求记录每一次酒店客户的住宿登记、调房登记和退宿结账的操作信息,并允许系统用户对这些信息进行查询。
另外,必须建立一些辅助项目表为这些操作信息提供数据来源。
通过以上的分析,数据库设计必须满足以下几点:
1
(1)记录酒店客户住宿登记操作的信息。
2
(2)记录酒店客户退房结账操作的信息。
3 (3)记录酒店客房的相关信息。
4 (4)记录酒店客户的客房预订信息。
5 (5)记录系统用户的用户名、密码和操作权限。
(2)建立Access数据库及表
在一个酒店管理系统中,数据库的地位是非常重要的,是一个系统正常运行的基础。
本系统的数据库是采用Microsoft公司的Access2003设计的。
在数据库的设计过程中,首先是收集、分析需求;再从需求抽象出一般的实体、关系和他们的属性;再将这些实体、关系和属性按照一定的规则转化为二元表结构。
本系统中共有4数据表
表3-1为Usersinfo—管理员资料数据表。
管理员资料数据表记录了所有管理的基本资料,管理员可添加、删除和查询该表。
该表包括管理员ID、姓名、密码和权限等资料。
表3-1为UsersInfo—管理员资料数据表
字段名
类型
大小
说明
姓名
Text
20
管理人员帐号(主键)
密码
Text
20
管理人员密码(主键)
权限
Text
1
管理人员权限
如下图所示:
表3-2为add旅客入住登记表。
add日主登记表记录了入住旅客的基本个人信息、房间号、登记号等。
表3-2旅客信息表为旅客的个人信息加入住客房信息数据结构表
字段名
类型
大小
说明
登记号
Text
8
旅客入住号(主键)
姓名
Text
8
旅客姓名(不为空)
身份证号码
Text
18
旅客身份证号(不为空)
房间号
Text
3
入住房间号(不为空)
登记日期
Text
日期/时间
旅客入住时间(不为空)
性别
Text
3
旅客性别
籍贯
Text
8
旅客籍贯
如下所示:
表3-3为room资料数据表。
room料数据表记录了room基本资料,可供查询。
该表主要包括了房间号、客房等级、客房类型、客房价格、客房状态、客房备注信息等基本资料。
表3-2room资料数据表
字段名
类型
大小
说明
房间号
Text
3
房间号(主键)
客房等级
Text
8
客房等级
客房类型
Text
8
客房类型(不为空)
客房价格
数字
单精度型
客房价格(不为空)
客房状态
Text
3
客房状态(不为空)
客房备注信息
备注
8
客房备注信息
如下所示:
表3-4为quit资料数据表。
quit资料数据表记录了所有退房的基本资料,管理员可添加、删除和查询该表。
类型的基本资料,包括登记号、登记日期、退房日期、付款金额、退房备注信息。
表3-4为quit资料数据表
字段名
类型
大小
说明
登记号
Text
8
旅客入住号(主键)
登记日期
日期/时间
旅客登记时间(不为空)
退房时间
日期/时间
旅客退房时间(不为空)
付款金额
Text
单精度型
付费金额(不为空)
退房备注信息
Text
8
退房备注信息
如下所示:
连接数据库:
由于本系统是采用ADO对象访问数据库的技术,所以在VB中需要添加ADO库。
添加的方法是在VB中选择“工程”—>“引用”命令,在对话框中选择MicrodoftActiveXDataObjects2.0Library,单击“确定”按钮。
在程序设计的公共模块中,先定义ADO连接对象。
语句如下:
PublicconnAsNewADODB.connection‘标记连接对象’
DimconnectionAsString
ConnectionString="provider=microsoft.jet.oledb.4.0;"&"datasource=carshale.mdb"
conn.OpenConnectionString
5.2创建主窗体以及主要窗体
建立主窗体:
单击”工程”->”添加MDI窗体”菜单,在弹出的对话框中单击”打开”按钮则为当前项目添加了一个MDI窗体。
设置好MDI窗体属性后,设置此项目的属性。
单击”工程”->”工程1属性”菜单,进入项目属性设置窗体。
在此项目属性窗体中通用选项卡的启动对象中选择MDIfrmMain项,将这一多文档窗体作为程序的启动窗体。
图4—1菜单结构
(1)登录模块的设计:
此模块的功能是检查管理员是否有进入系统的权限。
用到的主要控件为二个text、两个label和两个Button按钮。
窗体界面如图4-2所示。
图4-2登录窗体的界面
在此模块中管理员可以选择相应的管理员帐号进行登录,减去了忘记帐号或帐号名输入不方便的烦恼。
(2)主页面模块的设计:
此模块是系统服务器端的主要控制界面,通过菜单的选择,可以控制系统的所有功能,窗体界面如图4-3,4-4所示。
主界面的设计步骤:
1)设计主界面控件布局:
在主界面的布局中使用了工具栏(ToolBar)、时钟控件(timer)和图象列表(ImageList)等非Vb标准控件。
2)工具栏的设置:
给工具栏添加按钮
3)添加菜单:
菜单的使用是为了更好的给用户提供功能指引。
工具栏列表
系统通过Timer控件在状态栏中显示系统的当前时间,Timer控件的时间间隔是1000,也就是1秒钟,这样状态栏中的时间每秒钟都会变化,达到显示系统时钟的目的,具体实现代码为:
PrivateSubTimer1_Timer()
StatusBar1.Panels
(2).Text=Date&""&Time
EndSub
(4)创建系统主界面
当系统运行时,首先进入登录界面,当输入帐号,密码合法时,则启动系统主界面。
图4-4系统主窗体的界面
5)用户进入客房需要必要的登记来完成如图:
图4-5用户登记界面
图4-6已经登记的用户
(6)退房信息:
当旅客离开宾馆时,需要为其办理退房手续,在这过程中需要在旅客退房信息表中添加记录信息,以及修改客房信息表,改变客房状态。
旅客退房信息窗体,工作界面设计情况如图:
图4-7退房登记表
(7)查询住户信息:
此界面用于查询房间状态如是否有所需的类型或是否为空房或满房,可以全部浏览,也可以按照查询条件来查找,如图:
图4-8客房状态界面
(8)查询客房:
客查询窗体主要功能是实现客房信息查询显示,查询方式可以是按旅客姓名,登记号也可以按房间号查询。
工作界面如图:
图4-9查询住户登记表
(9)客房情况打印表:
图4-10客房情况打印表
5.3代码设计
一、酒店管理信息系统程序代码:
PrivateSubCmdOK_Click()
Dims1AsString
DimiAsInteger
DimjAsInteger
Dima(18)AsString
j=Len(txtUserName.Text)
s1=txtUserName.Text
DimcAsInteger
c=1
Fori=1Toj
a(i)=Mid(s1,i,1)'逐一判断字符的合格化
Ifa(i)=""Then
MsgBox"Error",vbOKOnly,"Error"
ExitSub
ElseIfa(i)="<"Then
MsgBox"Error",vbOKOnly,"Error"
ExitSub
ElseIfa(i)=">"Then
MsgBox"Error",vbOKOnly,"Error"
ExitSub
ElseIfa(i)="="Then
MsgBox"Error",vbOKOnly,"Error"
ExitSub
ElseIfa(i)=""Then
MsgBox"Error",vbOKOnly,"Error"
ExitSub
ElseIfa(i)="~"Then
MsgBox"Error",vbOKOnly,"Error"
ExitSub
ElseIfa(i)=","Then
MsgBox"Error",vbOKOnly,"Error"
ExitSub
ElseIfa(i)="'"Then
MsgBox"Error",vbOKOnly,"Error"
ExitSub
EndIf
c=c+1
txtUserName.SetFocus
Nexti
DimstrusernameAsString
DimstrpasswordAsString
StaticintlogintimesAsInteger
IfTrim(txtUserName.Text)=""Then
MsgBox"用户名不能为空!
",vbOKOnly+vbCritical,"错误"
ExitSub
EndIf
opentableadousers,"usersinfo"
adousers.Refresh
adousers.Recordset.Find"姓名="&"'"&txtUserName.Text&"'",,adSearchForward,1
IfNotadousers.Recordset.EOFThen
strusername=adousers.Recordset!
姓名
strpassword=adousers.Recordset!
密码
Else
strusername=""
strpassword=""
EndIf
Ifstrusername=txtUserName.TextAndstrpassword=txtPassword.TextThen
adousers.Recordset.Close
UnloadMefrmmdi.Show
Else
MsgBox"用户名或密码不对!
",vbOKOnly+vbInformation,"提示"
intlogintimes=intlogintimes+1
Ifintlogintimes>=3Then
adousers.Recordset.Close
End
EndIf
txtPassword.SetFocus
SendKeys"{HOME}+{END}"
EndIf
EndSub
PrivateSubcmdcancel_click()
UnloadMe
EndSub
OptionExplicit
PrivateSubCommand1_Click()
Withfrmmdi.adoroom.Recordset
IfNottxtroomno.LockedThen
IfTrim(txtroomno.Text)=""Then
MsgBox"房间号不能为空!
",vbOKOnly+vbInformation,"提示"
txtroomno.SetFocus
ExitSub
EndIf
EndIf
!
房间号=Trim(txtroomno.Text)
!
客房等级=Trim(txtroomgrade.Text)
!
客房类型=Trim(txtroomtype.Text)
!
客房价格=Trim(txtroomprice.Text)
!
客房状态=Trim(txtroomstatus.Text)
!
客房备注信息=txtroominfo.Text
Update
UnloadMe
EndWith
EndSub
PrivateSubCommand2_Click()
UnloadMe
EndSub
退房登记实现代码:
PrivateSubCmdOK_Click()
Withfrmmdi.adoquit.Recordset
IfNottxtbookno.LockedThen
IfTrim(txtbookno.Text)=""Then
MsgBox"登记号不能为空!
",vbOKOnly+vbInformation,"提示"
txtbookno.SetFocus
ExitSub
EndIf
frmmdi.adoguest.Recordset.Find"登记号='"&Trim(txtbookno.Text)&
"'",,adSearchForward,1
Iffrmmdi.adoguest.Recordset.EOFThen
MsgBox"非法登记号!
",vbOKOnly+vbInformation,"提示"
txtbookno.SetFocus
SendKeys"{HOME}+{END}"
txtpaymoney.Text=""
ExitSub
EndIf
frmmdi.adoquit.Recordset.Find"登记号='"&Trim(txtbookno.Text)&"'",,adSearchForward,1
IfNotfrmmdi.adoquit.Recordset.EOFThen'有就提示,然后退出
MsgBox"已经有相同登记号!
",vbOKOnly+vbInformation,"提示"
txtbookno.SetFocus
SendKeys"{HOME}+{END}"
txtpaymoney.Text=""
ExitSub
EndIf
.AddNew
!
登记号=Trim(txtbookno.Text)
EndIf
!
付款金额=Val(Trim(txtpaymoney.Text))
!
登记日期=Trim(txtbookdate.Text)
!
退房时间=dtpquitdate.Text
Update
IfTrim(txtinfo.Text)=""Then
MsgBox"备注不能为空!
",vbOKOnly+vbInformation,"提示"
txtinfo.SetFocus
EndIf
!
退房备注信息=txtinfo.Text
Update
UnloadMe
frmmdi.adoroom.Recordset!
客房状态="空"
Withfrmmdi.adoguest.Recordset
Delete
EndWith
EndWith
EndSub
PrivateSubCommand1_Click()
IfoptroomThen
opentablefrmmdi.Adoroom1,"select*fromroomwhere(((room.房间号)like'"&Trim(txtvalue.Text)&"%"&"'))"
ElseIfoptgradeThen
opentablefrmmdi.Adoroom1,"select*fromroomwhere(((room.客房等级)like'"&Trim(txtvalue.Text)&"%"&"'))"'
ElseIfopttypeThen
opentablefrmmdi.Adoroom1,"select*fromroomwhere(((room.客房类型)like'"&Trim(txtvalue.Text)&"%"&"'))"
EndIf
dtgroomqueryinforefresh
EndSub
PrivateSubCmdOK_Click()
Dims1AsString
DimiAsInteger
DimjAsInteger
Dima(18)AsString
j=Len(txtUserName.Text)
s1=txtUserName.Text
DimcAsInteger
c=1
Fori=1Toj
a(i)=Mid(s1,i,1)
Ifa(i)=""Then
MsgBox"Error",vbOKOnly,"Error"
ExitSub
ElseIfa(i)="<"Then
MsgBox"Error",vbOKOnly,"Error"
ExitSub
ElseIfa(i)=">"Then
MsgBox"Error",vbOKOnly,"Error
MsgBox"Error",vbOKOnly,"Error"
ExitSub
Els
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 酒店 管理 系统 课程设计 报告书
![提示](https://static.bdocx.com/images/bang_tan.gif)