酒店管理系统设计毕业设计.docx

上传人:b****2 文档编号:2168105 上传时间:2023-05-02 格式:DOCX 页数:26 大小:97.70KB
下载 相关 举报
酒店管理系统设计毕业设计.docx_第1页
第1页 / 共26页
酒店管理系统设计毕业设计.docx_第2页
第2页 / 共26页
酒店管理系统设计毕业设计.docx_第3页
第3页 / 共26页
酒店管理系统设计毕业设计.docx_第4页
第4页 / 共26页
酒店管理系统设计毕业设计.docx_第5页
第5页 / 共26页
酒店管理系统设计毕业设计.docx_第6页
第6页 / 共26页
酒店管理系统设计毕业设计.docx_第7页
第7页 / 共26页
酒店管理系统设计毕业设计.docx_第8页
第8页 / 共26页
酒店管理系统设计毕业设计.docx_第9页
第9页 / 共26页
酒店管理系统设计毕业设计.docx_第10页
第10页 / 共26页
酒店管理系统设计毕业设计.docx_第11页
第11页 / 共26页
酒店管理系统设计毕业设计.docx_第12页
第12页 / 共26页
酒店管理系统设计毕业设计.docx_第13页
第13页 / 共26页
酒店管理系统设计毕业设计.docx_第14页
第14页 / 共26页
酒店管理系统设计毕业设计.docx_第15页
第15页 / 共26页
酒店管理系统设计毕业设计.docx_第16页
第16页 / 共26页
酒店管理系统设计毕业设计.docx_第17页
第17页 / 共26页
酒店管理系统设计毕业设计.docx_第18页
第18页 / 共26页
酒店管理系统设计毕业设计.docx_第19页
第19页 / 共26页
酒店管理系统设计毕业设计.docx_第20页
第20页 / 共26页
亲,该文档总共26页,到这儿已超出免费预览范围,如果喜欢就下载吧!
下载资源
资源描述

酒店管理系统设计毕业设计.docx

《酒店管理系统设计毕业设计.docx》由会员分享,可在线阅读,更多相关《酒店管理系统设计毕业设计.docx(26页珍藏版)》请在冰点文库上搜索。

酒店管理系统设计毕业设计.docx

酒店管理系统设计毕业设计

酒店管理系统设计

张平

(德州学院物理系,山东德州253023)

摘要本论文针对酒店管理系统的简单的功能进行设计,以求达到对酒店的简单管理。

共分为三章。

第一章主要阐述了该应用系统的设计思路,其中包括系统的功能目标、功能模块的设计图以及应用系统的开发工具;第二章主要讲述数据库设计过程,包括数据库的需求分析、概念结构设计以及逻辑结构设计;第三章是整个论文的主体部分,主要介绍各个主体模块的功能实现以及源程序代码。

本论文的设计过程中,应用了图形界面的应用程序开发环境PowerBuilder9.0以及SQLServer7作为后台数据库支持,通过PB9.0与数据库的连接完成了对数据库现存数据的操作,从而实现了对整个酒店系统的管理。

关键词酒店管理系统;功能模块;数据库;PowerBuilder9.0;SQL;Server7

绪论

在科技高速发展的今天,一切的商业行为都能跟计算机搭上边。

这不仅仅是为了不落后于时代,不被主流所淘汰,更是为了更好的借助于计算机来实现更大的商业利益。

随着更多的人接受电子商务,以及年轻一代享受电脑带来的方便、迅速,酒店行业也不例外的加入了电子商务时代的行列。

现代化的酒店是集客房、餐饮、通讯、娱乐,商务文化及其他各种服务与设施为一体化的消费场所。

酒店在正常的运营中需要对客房资源、顾客信息、结算信息等进行管理,但是酒店组织庞大,服务项目多,信息量大,要想提高效率,降低成本,提高服务质量和管理水平,进而促进经济效益,必须借助计算机来进行现代化的信息管理。

酒店管理系统正是为此而设计的。

1系统的功能框架设计

1.1功能目标

该酒店管理系统主要有两大功能模块,即:

客房部管理和餐饮部管理。

1.1.1客房管理

该模块主要用来实现客户登记,并打印入住单。

根据客人的需求查询房间,进而选定房间,并填写客人信息,完成登记,最后打印入住单。

要求实现查询客房状态(占用或空房)、显示客房类型(标准间、单人间、豪华间等)和查看已入住客户信息等功能。

1.1.2餐饮管理

餐饮管理分菜单、点菜、结帐、报表、菜谱编辑等。

下面列举一些最主要的功能:

菜单:

列出常用菜名称、编号、所属类别、定价等内容。

点菜:

记录点菜单、定价、台号、就餐人数、就餐人员类别、就餐时间、服务员等。

结帐:

记录结算信息。

1.1.3系统维护

该功能模块为用户提供维护、设置功能。

在相应的设置模块中用户可以自行设置系统的数据,设置完成以后该设置立刻会在系统中生效,并在下一次的使用中反映出来。

在这里,数据维护非常重要的,它的作用是将系统中用户选择的数据进行初始化,一旦操作完成,系统中原有的数据将会被全部删除,所以需慎重使用。

1.2功能模块图

酒店管理系统的功能模块如图1-1。

 

图1-1酒店管理系统功能模块图

1.3开发工具选择

1.3.1前台开发工具的选择

该酒店管理系统前端开发工具为PowerBuilder9.0,PowerBuilder是一个图形界面的应用程序开发环境。

在Client/Server结构的应用中,PowerBuilder具有描述多个数据库连接与检索的前端能力。

尤其是PowerBuilder能从大多数流行的RDBMS中存取数据,且不管数据存放在什么地方。

另外,各种应用程序又可以独立于RDBMS,因为PowerBuilder可以与数据库的标准操纵语言SQL(结构化查询语言)进行通信。

PowerBuilder相对于其他应用程序开发环境来说,可使开发人员的工作更快、成本更低、质量更高、功能更强。

PowerBuilder为应用开发提供了全面支持,可以概括为如下五点。

Ø事件驱动应用程序

ØPowerScript语言与函数

Ø面向对象的编程

Ø跨平台开发

Ø与数据库的连接性

1.3.2数据库OS平台的选择

该酒店管理系统选用sqlserver7作为后台数据库支持。

2数据库设计

2.1数据库需求分析

根据对客房部的功能需求分析,画出系统的数据流图,如图2-1。

 

图2-1客房部数据流图

通过对酒店客房部管理的内容和数据流程分析,设计的数据项和数据结构如下:

客房信息:

包括的数据项有房间号、房间类型、房间状态。

客房登记信息:

包含数据项有姓名、性别、职业、工作单位、联系电话、证件名称、证件号码、住址、国籍、房间号、登记时间、预付金、折扣、备注。

客房结帐信息:

包含数据项有房间号、姓名、性别、证件名称、证件号、国籍、退房时间、住宿天数、预付金、住宿费、其他费用、总费用、折扣、收银员、备注。

客房预定信息:

包含数据项有房间号、预定人姓名、证件名称、证件号码、押金、联系电话、操作员、备注。

根据对餐饮部的功能需求分析,画出系统的数据流图,如图2-1。

 

图2-2客房部数据流图

餐桌信息:

桌号、状态。

菜单信息:

包括的数据项有菜名、所属类别、所属子类、价格、折扣、实收价格、备注。

菜统计:

菜名、份数、金额、桌号、就餐时间、是否结帐。

就餐结帐:

桌号、就餐人数、就餐时间、结帐时间、服务员名、就餐费、其他费用、总费用、支付方式、收银员、备注。

定餐信息:

桌号、定餐人姓名、联系电话、定餐时间、就餐时间、备注。

2.2数据库概念结构设计

根据上面设计,规划出实体ER图有:

客房实体、客户实体、开房登记实体、退房结帐实体。

图2-3客房实体ER图

图2-4客户实体ER图

图2-5开房登记实体ER图

图2-6退房结帐实体ER图

图2-7菜单信息实体ER图

图2-8就餐结帐实体ER图

图2-9菜统计实体ER图

图2-10定餐信息实体ER图

2.3数据库逻辑结构设计

表2-1客房类型(kf_leixing)

字段名

字段类型

字段长度

可否为空

说明

Kf_leixing

varchar

10

Notnull

客房类型(主键)

Kf_jage

Numeric

8.2

Null

客房价格

Kf_mzzongshu

integer

Null

每种客房总数

Kf_beizhu

varchar

100

Null

备注

表2-2房间信息(kf_xinxi)

字段名

字段类型

字段长度

可否为空

说明

Kf_no

Varchar

6

Notnull

房间号(主键)

Kf_leixing

Varchar

10

Null

客房类型(外键)

Kf_kongfou

Varchar

2

Null

是否空闲

表2-3客房登记信息(kf_dengjixinxi)

字段名

字段类型

字段长度

可否为空

说明

Name

Varchar

10

Notnull

登记人姓名

Sex

Varchar

2

Null

登记人性别

Zhiye

Varchar

40

Null

职业

Gzdanwei

Varchar

40

Null

工作单位

Tel

Varchar

12

Null

联系电话

Zhengjianname

Varchar

10

Null

证件名称

Zhengjianhao

Varchar

20

Null

证件号码

Zhuzhi

Varchar

40

Null

住址

Guoji

Varchar

10

Null

国籍

Kf_no

Varchar

6

Null

房间号(外键)

Dengjishijian

Timestamp

Null

登记时间

Yufujin

Numeric

6.2

Null

预付金

zhifufangshi

Varchar

20

Null

支付方式(外键)

zhekou

Numeric

2.1

Null

折扣

beizhu

Varchar

100

Null

备注

表2-4客房预定(kf_yuding)

字段名

字段类型

字段长度

可否为空

说明

Id

Varchar

10

Notnull

Id号

Kf_no

Varchar

3

Null

客房号

Name

Varchar

10

Null

预定人姓名

Zhengjianname

Varchar

20

Null

证件名

Zhengjianhao

Varchar

20

Null

证件号

Yajin

Numeric

9

Null

押金

Lianxitel

Varchar

12

Null

联系电话

Caozuoyuan

Varchar

10

Null

操作员

beizhu

Varchar

512

Null

备注

表2-5客房结帐(kf_jiezhang)

字段名

字段类型

字段长度

可否为空

说明

Kf_no

Varchar

6

Notnull

房间号(主键)

Name

Varchar

10

Notnull

姓名

Sex

Varchar

2

Null

性别

Zhengjianname

Varchar

10

Null

证件名称

Zhengjianhao

Varchar

20

Null

证件号

Guoji

Varchar

10

Null

国籍

Tuifangdate

Timestamp

Null

退房时间

Yufujin

Numeric

6.2

Null

预付金

Zhekou

Numeric

2.1

Null

折扣

Zhusutianshu

integer

3

Null

住宿天数

Zhusufei

Numeric

6.2

Null

住宿费

Qitafei

Numeric

6.2

Null

其他费用

Zongfei

Numeric

6.2

Null

总费用

Xujiaofei

Numeric

6.2

Null

续交费用

Shouyinyuan

Varchar

10

Null

收银员

beizhu

Varchar

100

Null

备注

表2-6菜单信息(caidan1)

字段名

字段类型

字段长度

可否为空

说明

cainame

Varchar

10

Notnull

菜名

class

Varchar

20

Null

所属类别

subclass

Varchar

20

Null

所属子类

Jiage

Numeric

11.2

Null

价格

Zhekou

Numeric

4.2

Null

折扣

Shishoujiage

Numeric

11.2

Null

实收价格

beizhu

Varchar

512

Null

备注

表2-7就餐结帐(jc_jiezhang)

字段名

字段类型

字段长度

可否为空

说明

zhuohao

varchar

5

Notnull

桌号

jiucanrenshu

int

2

Null

就餐人数

jiucanshijian

Timestamp

Null

就餐时间

jiezhangshijian

Timestamp

Null

结帐时间

Fuwuyuan_no

Varchar

10

Null

服务员名

jiucanfei

Numeric

9.2

Null

就餐费

Qitafei

Numeric

9.2

Null

其他费用

Zongfeiyong

Numeric

9.2

Null

总费用

zhifufangshi

Varchar

20

Null

支付方式(外键)

Shouyinyuan

Varchar

10

Null

收银员

Beizhu

Varchar

1000

Null

备注

表2-8定餐信息(dc_xinxi)

字段名

字段类型

字段长度

可否为空

说明

Zhu_no

Varchar

5

Notnull

桌号

Name

Varchar

10

Null

定餐人姓名

tel

Varchar

12

Null

联系电话

Dizhi

Varchar

60

Null

地址

Dctime

Timestamp

Null

定餐时间

Jctime

Timestamp

Null

就餐时间

Beizhu

varchar

512

Null

备注

表2-9餐桌信息(canzhuoinfo)

字段名

字段类型

字段长度

可否为空

说明

Zhuohao

varchar

5

Notnull

桌号(主键)

zhuangtai

Varchar

10

Null

状态

表2-10菜统计(cai_tongji)

字段名

字段类型

字段长度

可否为空

说明

Id

Varchar

10

Notnull

(主键)

Caiming

Varchar

30

Null

菜名

Fenshu

Int

Null

份数

Jine

Numeric

9

Null

金额

Zhuohao

Varchar

5

Null

桌号

Jiucantime

Datetime

Null

就餐时间

shifoujiezhang

varchar

4

Null

是否结帐

表2-11就餐登记

字段名

字段类型

字段长度

可否为空

说明

id

varchar

5

Notnull

id号

zhuohao

Varchar

5

Notnull

桌号

Jiucanren_name

Varchar

10

Null

姓名

renshu

Varchar

2

Null

人数

jiucantime

datetime

Null

就餐时间

Fuwuyuan

Varchar

10

Null

服务员姓名

3系统实现

3.1客房登记模块

该系统模块完成的功能主要为用户登记并打印入住单发票,是客房管理系统的重要模块之一。

展现给用户的两个界面,即两个窗口分别为w_kf_dengji和w_kf_dengji_ruzhudan和以上窗口相关连还有三个数据窗口和四个表,分别为dw_kf_all,dw_kf_zhuangtai,dw_kf_rzxx;kf_dengjixinxi,kf_leixing,kf_xinxi,kf_jiezhang。

其实现登记功能的界面如图3-1所示。

图3-1实现登记功能的界面

该界面主要分为两大区域,即客房状态区和用户注册区。

在客房状态区的左上角的下拉列表框中显示的是所有可供选择的房间的类别,根据住客需求来选择某类房间时,在下拉菜单选项中“空房间”,即可进行检索。

检索结果在左边的下半部(数据窗口dw_1)中显示出来,其中包括房号,类别,价格。

具体实现代码如下:

ifddlb_1.text='所有可供'then

ddlb_1.text="所有可供"

dw_1.dataobject="dw_kf_all"

dw_1.settransobject(sqlca)

dw_1.retrieve("空房间")

dw_1.selectrow(0,false)

else

dw_1.dataobject="dw_kf_zhuangtai"

dw_1.settransobject(sqlca)

dw_1.retrieve(ddlb_1.text,"空房间")

dw_1.selectrow(0,false)

endif

在dw_1中双击某一行时,该行相关信息将显示在该窗口的右半部分,即用户注册区。

实现代码为:

sle_1.text=dw_1.GetItemstring(dw_1.getrow(),1)

sle_2.text=dw_1.GetItemstring(dw_1.getrow(),2)

sle_3.text=string(dw_1.GetItemnumber(dw_1.getrow(),3))

当成功的完成了用户信息的注册后,即点击cb_1按扭则具有该用户信息的空房间记录将被修改为入住房,则在下一次检索空房间记录时,此房间信息将不被显示。

该过程用insert语句将用户的信息插入到表kf_dengjixinxi和kf_jiezhang中。

具体实现代码如下:

selectcount(id)into:

numfromkf_dengjixinxi;

bb=string(num+1)

insert

into

kf_dengjixinxi

values(:

bb,:

sle_9.text,:

sle_8.text,:

sle_6.text,:

sle_5.text,:

sle_7.text,:

ddlb_2.text,:

sle_12.text,:

sle_15.text,:

sle_14.text,:

sle_1.text,:

dt,:

cc,:

ddlb_3.text,:

dd,:

mle_1.text,:

sle_16.text,'否');

updatekf_xinxisetkf_zhuangtai='入住房'wherekf_no=:

sle_1.text;

selectcount(id)into:

num1fromkf_jiezhang;

jz_num=string(num1+1)

insert

into

kf_jiezhang(id,kf_no,name,sex,zhengjianname,zhengjianhao,guoji,yufujin,shouyinyuan,beizhu,shifoujiezhang)

values(:

jz_num,:

sle_1.text,:

sle_9.text,:

sle_8.text,:

ddlb_2.text,:

sle_12.text,:

sle_14.text,:

cc,:

sle_16.text,:

mle_1.text,'否');

commit;

dw_1.dataobject="dw_kf_all"

dw_1.settransobject(sqlca)

dw_1.retrieve("空房间")

sle_4.setfocus()

sle_13.text=string(datetime(today(),now()))

此窗口中用游标实现数据窗口取数据的代码为:

stringch

intshu,i

DECLAREkf_lxCURSORFOR

SELECTkf_leixing

FROMkf_leixing;

selectcount(kf_leixing)

into:

shu

fromkf_leixing;

openkf_lx;

fori=1toshu

fetchkf_lxinto:

ch;

ddlb_1.additem(ch)

next

closekf_lx;

ddlb_1.text="所有可供"

dw_1.dataobject="dw_kf_all"

dw_1.settransobject(sqlca)

dw_1.retrieve("空房间")

dw_1.selectrow(0,false)

ifdw_1.rowcount()<1then

messagebox("","暂时没有空房间!

")

cb_1.enabled=false

else

sle_4.setfocus()

sle_13.text=string(datetime(today(),now()))

endif

当点击cb_2(代码为:

open(w_kf_dengji_ruzhudan))时显示的是客房入住单的界面,如图3-2。

图3-2客房入住单界面

此窗口中实现数据窗口取数据代码为:

dw_1.settransobject(sqlca)

dw_1.retrieve(rzxx_kfno1,'否')

完成的功能为打印发票单据。

3.2就餐登记模块

客人在就餐前,一定要定下菜,主食和酒水等,即就餐登记,所以该系统包含了就餐登记,也就是开单的功能。

该功能所涉及的数据库表为:

菜单信息表(candan1)、菜统计表(cai_tongji)。

实现该功能的第一个界面如图3-3。

图3-3第一个界面

该界面主要分两个区域,左边是桌号图标显示区,右边是桌号图标调整区。

具体操作过程为:

选中一个桌号后,点击确定按钮即可显示该餐桌的详细信息,是否可用。

确定的代码如下:

stringzhuohao,zhuozt

currentbnum=integer(left(currentitem.label,3))

zhuohao=string(currentbnum)

SELECTcanzhuoinfo.zhuangtai

INTO:

zhuozt

FROMcanzhuoinfo

WHEREcanzhuoinfo.zhuohao=:

zhuohao;

ifzhuozt="结帐"then

UPDATEcanzhuoinfo

SETzhuangtai='开单'

WHEREcanzhuoinfo.zhuohao=:

zhuohao;

open(w_cy_kaidan)

close(parent)

else

messagebox("抱歉","对不起,此桌已被占用!

")

endif

实现该功能的第二个界面如图3-4。

图3-4第二个界面

该界面主要分两个区域,左边(数据窗口dw_1)显示所有菜的名称、价格、折扣。

右边(数据窗口dw_2)显示桌的详细信息,其中包括该桌所点的所有菜的名称、数量、金额以及合计多少钱等。

要添加菜,只需双击左下方的数据窗口中相应的菜即可,或选中该菜,单击添加按钮即可添加。

要删除菜,只需在右侧窗口中选中要删除的菜,单击删除按钮即可。

该功能实现的具体思路是:

在窗口打开代码中检索出数据窗口dw_1、dw_2的数据,在窗口打开后就将菜谱信息显示出来。

添加菜时,首先检索表cai_tongji中是否有要添加的菜的信息,如果有,用update语句将该菜的份数加一,金额增加相应的数目,如果没有则在cai_tongji表中用insert语句插入该菜的信息,包括菜的名称、数量、金额、所属桌号等。

然后数据窗口dw_2重新检索数据,即所添加的菜显示在数据窗口dw_2中。

在下拉列表框中使用了游标技术,代码如下:

stringch

int

展开阅读全文
相关资源
猜你喜欢
相关搜索
资源标签

当前位置:首页 > 求职职场 > 简历

copyright@ 2008-2023 冰点文库 网站版权所有

经营许可证编号:鄂ICP备19020893号-2