客房管理系统课程设计Word文档格式.docx
- 文档编号:6683753
- 上传时间:2023-05-07
- 格式:DOCX
- 页数:35
- 大小:1.61MB
客房管理系统课程设计Word文档格式.docx
《客房管理系统课程设计Word文档格式.docx》由会员分享,可在线阅读,更多相关《客房管理系统课程设计Word文档格式.docx(35页珍藏版)》请在冰点文库上搜索。
(5)客房预订管理:
登记预定客户、客房的信息以及浏览查询等。
1.3网站可行性分析
可行性研究是为了弄清楚系统开发的项目是不是可以实现和值得进行研究的过程,实际上是一次大大简化系统分析和系统设计的过程,所以,进行可执行性的分析是非常必要的,也是很重要的,经过最初的设计目标和进行的市场调查得出以下四点的可行性分析:
(1)经济可行性:
该系统设计是本组人员通过自己所掌握的知识设计的,又因为本组的设计能力有限,其功能还不能完善,所以没有什么经济效益可谈。
(2)技术可行性:
Delphi的技术是我们以前所学习的知识,较为熟练。
(3)运行可行性:
该系统需要在正确连接Access数据库后可以正常运行。
通过以上的可行性分析,我们将采用Delphi的技术,运用Access数据库对系统进行建设。
1.4UML系统建模
因为UML很适合于对逻辑数据库模式和物理数据库模式建模,所以我们对系统进行UML建模。
下面是酒店客房管理系统的UML建模过程。
这里我们将使用RationalRose进行UML建模。
用例图分析:
图1.1系统用例图
订房管理时序图:
图1.2预订时序图
业务流程图:
图1.3业务流程图
针对现在宾馆业的发展需求,在业务流程图的基础上,可以得到数据流程图:
顶层数据流图:
顾客信息(入住)操作命令及数据
返回数据返回信息
图1.4顶层数据流图
2.系统总体设计
2.1系统功能描述
我们组通过商讨,搜索资料,所设计的福到家宾馆客房管理系统适用于宾馆的客房资源和客户信息的管理,实现宾馆客房的信息化管理,该系统主要包括预定管理、前台接待管理、前台收银操作、客房及客史管理、基础信息设置、系统帮助等功能。
具体功能设计内容如下:
(一)预订管理:
房态表(查看房间现状,有无空房、是否维修、是否住房等等)、预订操作、预定查询。
(二)前台接待管理:
入住登记、入住查询。
(三)前台收银操作:
记账操作、退房操作。
(四)客房及客史管理:
客房信息查询、房态维护管理、预定客人报表:
链接预定客人报表、在住客人报表、当日预定客人报表、当日入住客人报表、当日离店客人报表、链接当日离店客人报表、当日财务进账报表、历史客人预定查询、历史客人入住查询。
(五)基础信息设置:
客房类型设置、客房信息设置、工作人员管理:
链接工作人员管理窗体、操作人员管理、会员编号管理、用户密码修改、系统用户注销、系统备份还原、链接用户密码修改窗体、系统日志管理、系统数据维护、电话计费接口、房态系统接口。
(六)系统帮助:
关于系统、联机帮助。
2.2功能结构图
客房管理系统功能结构如图2.1所示
图2.1系统功能结构图
2.3系统流程图
通过对系统功能的分析,可得到用户操作的一般流程,如图所示。
图2.2登录流程图
用户登录系统时,系统将根据用户权限对其进行相应的功能限制。
一般普通用户可拥有前台登记、收银结账以及对商品和客房信息进行查询和设置的权限;
而超级用户除拥有普通用户的所有权限外,还可进行系统用户设置、数据库维护和查看系统日志。
3.数据库设计
3.1数据字典
根据绘制出的数据流图,定义出本系统的数据字典。
如下列所示:
数据项
客户编号
含义说明
唯一标识每个客户
别名
类型
整型
长度
4
取值范围
0000-9999
取值含义
按客户顺序编号
与其他数据项的逻辑关系
表3.1客户编号字典表3.2客户字典
数据结构
客户
客房管理系统的主体数据结构,定义了一个客户的相关信息
组成
客户编号,客户姓名,性别,年龄,身份证号,户籍
房号
唯一标识每个房间
房间编号
100-411
每层楼的房间顺序
客房
客房管理系统的主体数据结构,定义一个客房的相关信息
房号,房间类型,房间价格,房间状态
表3.4客房字典
数据流
结算账单
客户入住的消费结果
数据流来源
结算处理
数据流去向
操作员
账单编号,房号,住店天数,总费用
表3.3房号字典
数据存储
客户信息表
说明
记录入住的客户的综合信息
流入数据流
客户信息
流出数据流
入住信息
客户,入住时间,离店时间,押金,账单编号,房号
表3.6结算账单字典
表3.5客房信息表
3.2E—R图设计
本系统采用Access数据库。
经考察和分析,本案例客房管理系统包括以下实体:
客户实体、客房实体、操作员实体、结算账单实体,它们的E-R图如以下所示:
Mn
mnn
1
图3.1整体E-R图
3.3数据表设计
根据E-R图,将图转换为关系模型即:
将实体、实体的属性和实体之间的联系转换为关系模式,然后将全局E-R图转换成关系模型:
客房类型(价格,面积,类型,额定人数,是否有电脑,是否有电视,额定床位)
客房(房间类型,客房号,房间电话号码,客房状态,楼层)
顾客(姓名,证件号,籍贯,性别,电话,证件类型)
入住记录(入住编号,证件号,客房号,入住日期,退房日期,押金,结帐金额,话费花销)
预定信息(订单号,证件号,客房号,预定日期,预定入住日期,预定天数,退订日期)
关系数据表确定后要进行数据表的逻辑结构设计,即定义关系数据表中字段名称、数据结构、是否允许为空、关键字、说明等。
客房表:
(room)
字段名称
数据类型
字段大小
备注
客房号
Nchar
5
不允许为空(主键)
房间类型
10
楼层
Int
房间状态
包含空闲,占用,预定
房间电话号码
6
用于联系房间住户
表3.7客房表
顾客表:
(customer)
姓名
不允许为空
证件号
char
20
籍贯
Char
性别
电话号码
11
证件类型
12
表3.7顾客表
客房类型表:
(room_type)
面积
float
-
价格
money
额定床位
smallint
额定人数
是否有电视
2
是否有电脑
表3.8客房类型表
入住记录表:
(room_record)
入住日期
datetime
退房日期
话费花销
押金
Money
结帐金额
入住编号
表3.9入住记录表
预订记录表:
(book_record)
订单号
nchar
预定日期
预定入住日期
预定天数
表3.10预订记录
4.系统详细设计及实现
4.1登录窗体设计
(1)窗体功能描述
本窗体是系统的启动窗体,实现对于用户身份的多重验证功能。
具体描述如下:
用户合法性验证。
首先判断用户输入的用户名和密码是否正确,若正确,就进入用户状态判定,若错误;
系统便发出警告信息。
系统限定用户只有三次输入机会,三次之后本窗体自动关闭。
(2)窗体设计
创建一个名为“LoginForm”的窗体,将caption属性改为“福到家宾馆用户登录”。
并按图4.1进行界面设计
图4.1登录界面
登陆成功后主界面显示。
(3)代码设计
登录窗体载入时,利用Adoquery控件连接数据库,从Comobox控件中选择用户名,然后输入密码,点击登陆按钮即可实现对用户身份的多重验证,代码如下:
procedureTloginfm.dengluClick(Sender:
TObject);
begin
iftrim(usernamebox.text)='
'
then
showmessage('
请选择用户名!
);
userpasedit.SetFocus;
exit;
end;
withadoquerydo
close;
sql.Clear;
sql.Add('
select*from操作员表where姓名=:
usernameand密码=:
userpas'
Parameters.ParamByName('
username'
).Value:
=trim(usernamebox.text);
=userpasedit.text;
open;
ifrecordcount<
1then
ifj=3then
application.Terminate;
messagedlg('
密码错误!
还有'
+inttostr(3-j)+'
次机会'
mtconfirmation,[mbok],0);
userpasedit.Clear;
j:
=j+1;
end
else
withadoquery1do
begin
close;
sql.Clear;
sql.Add('
insertinto日志表(姓名,操作,时间)values(:
xm,:
cz,:
sj)'
Parameters.ParamByName('
xm'
cz'
=loginfm.Caption+'
成功!
;
sj'
=datetimetostr(now());
execsql;
end;
hotelfm.id:
='
操作员'
hotelfm.username:
=fieldbyname('
姓名'
).AsString;
hotelfm.userpas:
密码'
hotelfm.statusbar.Panels.Items[0].Text:
当前用户:
+hotelfm.username;
loginfm.hide;
usernamebox.Text:
userpasedit.Text:
4.2系统主界面设计
本系统主界面设计美观实用,采用图形化按钮和特定风格的数据表格,酒店中客房经营情况一目了然,使用户能够及时、准确的掌握客房营销情况,为顾客提供咨询服务。
主界面包括了预订管理、前台接待管理、客房及客史管理、基础设置、系统设置等几个功能模块。
客户可以根据自己的需要点击相应的功能模块即可以进入功能窗体。
新建一个窗体并命名为“hotelfm”,并把caption属性改为“福到家宾馆管理系统”。
打开窗体的界面设计,在工具箱分别选择相应的控件把窗体设计成如图4.2所示。
图4.2系统主界面
单击菜单中某个选项时,就弹出相应的窗体,代码如下:
procedureThotelfm.N4Click(Sender:
=hotelfm.username;
=hotelfm.N4.Caption;
BookFm:
=TBookFm.create(self);
//预定操作
BookFm.showmodal;
BookFm.free;
当点击ToolBar控件上的图象按钮时,将激活相应的功能窗体。
代码如下:
procedureThotelfm.N9Click(Sender:
=hotelfm.N9.Caption;
inroomFm:
=TinroomFm.create(self);
//入住登记
inroomFm.showmodal;
inroomFm.free;
4.3入住管理界面设计
顾客进入酒店后,需先到前台办理入住手续。
操作员输入客人的相关信息,并根据顾客的要求选择相应的客房,操作员可手动设定折扣比例,系统会自动计算客房价格,收取一定的入住押金,最后点击确定按钮即完成入住手续的办理。
当顾客因故中途取消办理入住时,为方便操作,节省时间,可点击刷新按钮,则所有输入框中的信息自动清空。
最后点击取消按钮即可退出登记入住窗体。
新建一个名“inRoomFm”的窗体。
并把caption属性改为“入住管理”,并利用相关控件设计成如图4.3所示。
图4.3入住管理界面
(3)入住代码设计:
procedureTinroomFM.ydbtClick(Sender:
var
str:
string;
ifroomtypebox.Text='
showmessage('
请选择客房类型!
exit;
ifroomnumbox.Text='
请选择客房编号!
ifinprice.Text='
请输入入住价格!
if(jcpriceedit.Enabled=true)and(jcpriceedit.Text='
)then
请输入加床价格!
if(peonumedit.Text='
)or(peonumedit.Text='
0'
请输入入住人数!
withadoquery1do
select*from入住单表where入住单号=:
yddh'
=trim(booknumEdit.Text);
open;
ifrecordcount>
=1then
此入住单存在,请刷新重新登记'
str:
insertinto入住单表(入住单号,客房类型,抵店时间,离店时间,'
=str+'
单据状态,入住人数,客房编号,客房价格,入住价格,折扣,折扣原因,是否加床,加床价格,'
预收款,预定人,会员编号,预定公司,联系电话,特要说明,操作员,业务员,id,预定单号,早餐,叫醒,保密,vip)values'
(:
yddh,:
kflx,:
ddsj,:
ldsj,:
djzt,:
rzrs,:
kfbh,:
kfjg,:
rzjg,:
zk,:
zkyy,:
sfjc,'
:
jcjg,:
ysk,:
ydr,:
hybh,:
ydgs,:
lxdh,:
bz,:
czy,:
ywy,:
id,:
dr,:
tgzc,:
dsjx,:
rzbm,:
vip)'
sql.Add(str);
bz'
=trim(bz.Text);
czy'
=trim(czyedit.Text);
ywy'
=trim(ywybox.Text);
id'
dr'
=trim(dr.Text);
iftgzc.Checkedthen
tgzc'
=true
else
=false;
ifdsjx.Checkedthen
dsjx'
ifrzbm.Checkedthen
rzbm'
ifvip.Checkedthen
vip'
try
//showmessage('
预定成功'
except
入住失败!
update客房信息表set状态="
入住"
where客房编号=:
kfbh'
=trim(roomnumbox.Text);
if(trim(dr.Text)<
>
update预定单表set单据状态="
where预定单号=:
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 客房 管理 系统 课程设计