学位论文客房管理系统设计与实现.docx

上传人:b****7 文档编号:9562855 上传时间:2023-02-05 格式:DOCX 页数:22 大小:324.97KB
下载 相关 举报
学位论文客房管理系统设计与实现.docx_第1页
第1页 / 共22页
学位论文客房管理系统设计与实现.docx_第2页
第2页 / 共22页
学位论文客房管理系统设计与实现.docx_第3页
第3页 / 共22页
学位论文客房管理系统设计与实现.docx_第4页
第4页 / 共22页
学位论文客房管理系统设计与实现.docx_第5页
第5页 / 共22页
点击查看更多>>
下载资源
资源描述

学位论文客房管理系统设计与实现.docx

《学位论文客房管理系统设计与实现.docx》由会员分享,可在线阅读,更多相关《学位论文客房管理系统设计与实现.docx(22页珍藏版)》请在冰豆网上搜索。

学位论文客房管理系统设计与实现.docx

学位论文客房管理系统设计与实现

客房管理系统设计

一、需求分

1.1系统需求分析

“客房管理信息系统”以实现宾馆客房各种信息的系统化、规范化、自动化为目标,具

体要达到以下几个基本要求:

(一)客户入住管理。

通过该管理功能,系统可以通过计算机对客户的一些基本信息进行录入,成为客房管理信息系统查询的数据资料。

(1)新客人信息的录入。

(2)客人信息的修改。

(3)客人信息的查询。

(4)客人信息的删除。

(5)客人信息的保存。

(6)客房信息的查询。

(二)结算管理

(1)退房结算:

输入客户房号,查找该客户信息、住房信息以及费用情况。

(2)收银处理:

确认客户总费用,并自动登记总费用帐。

同时,自动将房间用房标志(占)改为(空);并将客户信息保存。

1.2数据分析

通过进行系统调查,了解用户需求、分析应用软件系统的功能需求。

总结出了系统逻辑模型,即系统业务流程图、数据流图、应用软件功能结构图和数据字典等。

各流程图如下面的图所示:

1.2.2客房管理系统数据流图

 

1.2.4数据字典

根据绘制出的数据流图,定义出本系统的数据字典。

如下列所示:

数据项

客户编号

含义说明

唯一标识每个客户

别名

类型

整型

长度

4

取值范围

0000-9999

取值含义

按客户顺序编号

与其他数据项的逻辑关系

数据项

房号

含义说明

唯一标识每个房间

别名

房间编号

类型

整型

长度

4

取值范围

100-411

取值含义

每层楼的房间顺序

与其他数据项的逻辑关系

 

数据项

账单编号

含义说明

唯一标识每个账单

别名

类型

整型

长度

4

取值范围

0000-9999

取值含义

按账单顺序编号

与其他数据项的逻辑关系

数据结构

客户

含义说明

客房管理系统的主体数据结构,定义了一个客户的相关信息

组成

客户编号,客户姓名,性别,年龄,身份证号,户籍

 

数据结构

客房

含义说明

客房管理系统的主体数据结构,定义一个客房的相关信息

组成

房号,房间类型,房间价格,房间状态

数据流

结算账单

含义说明

客户入住的消费结果

数据流来源

结算处理

数据流去向

操作员

组成

账单编号,房号,住店天数,总费用

数据存储

客户信息表

说明

记录入住的客户的综合信息

流入数据流

客户信息

流出数据流

入住信息

组成

客户,入住时间,离店时间,押金,账单编号,房号

 

二、数据库概念结构设计

经考察和分析,本案例客房管理系统包括以下实体:

客户实体、客房实体、操作员实体、结算账单实体,它们的E-R图如以下所示。

 

 

三、数据库逻辑结构设计

根据E-R图,将图转换为关系模型即:

将实体、实体的属性和实体之间的联系转换为关系模式,然后对数据模型进行优化得到如下关系数据表。

客户:

{客户编号,姓名,性别,年龄,身份证号,原住地址,押金,住店时间,离店时间,房号,账单编号}

客房:

{房号,房间类型,房间状态,房间价格}

操作员:

{操作员编号,操作员姓名,职称}

结算账单:

{账单编号,住房天数,总费用,操作员编号,房号}

关系数据表确定后要进行数据表的逻辑结构设计,即定义关系数据表中字段名称、数据结构、是否允许为空、关键字、说明等。

(1)客户表

用于存放客户的入住信息,例如:

客户名,房号等。

表3.1客户表

字段名称

数据结构

是否允许为空

说明

客户编号

Int

NOTNULL,主键

姓名

Varchar(8)

NULL

入住客户的姓名

性别

Varchar

(2)

NULL

年龄

Int

NULL

身份证号

Varchar(18)

NULL

客户的身份证号

原住地址

Varchar(50)

NULL

客户的户籍地址

住店时间

Varchar(15)

NOTNULL

离店时间

Varchar(15)

NULL

押金

Int

NULL

房号

Int

NOTNULL

账单编号

Int

NULL

 

字段名称

数据结构

是否允许为空

说明

房号

Int

NOTNULL,主键

唯一标识每个房间

房间类型

Varchar(18)

NOTNULL

房间价格

Int

NOTNULL

房间状态

Varchar

(2)

NOTNULL

(2)客房表

用于存放客房的相关信息,例如:

房号,房间类型,房间状态等。

表3.2客房表

 

(3)结算账单表

结算帐单表用于存放客户消费的信息。

 

表3.3结算账单表

字段名称

数据结构

是否允许为空

说明

账单编号

Int

NOTNULL,主键

唯一标识每个账单

房号

Int

NOTNULL

姓名

Varchar(8)

NULL

押金

Int

NULL

入住时间

Varchar(18)

NOTNULL

离店时间

Varchar(18)

NOTNULL

住店天数

Int

NOTNULL

房间价格

Int

NOTNULL

总费用

Int

NOTNULL

 

(4)操作员表

用于存放操作员的的信息,例如:

操作员的编号,密码等。

表3.4操作员表

字段名称

数据结构

是否允许为空

说明

操作员编号

Int

NOTNULL,主键

用于登陆和识别身份

操作员姓名

Varchar(8)

NULL

职称

Varchar(10)

NULL

密码

Varchar(10)

NULL

用于登陆输入密码

四、数据库物理结构设计

在进行了数据表的逻辑结构定义后,需要为每个数据表创建其物理结构,即在数据库系统中定义数据表具体存放的格式、位置等。

这里列出利用SQLServer2000自带的数据库创建的数据表的物理结构。

1.“客房”表的物理结构

“客房”表的物理结构如图4.1所示,关键字为”房号”

图4.1

 

2.“客户”表的物理结构

“客户”表的物理结构如图4.2所示,关键字为”客户编号”,利用”房号”可与”结算账单”表和”客房”表建立联系。

图4.2

 

3.“结算账单”表的物理结构

“结算账单”表的物理结构如图4.3所示,关键字为”账单编号”。

图4.3

4.“操作员”表的物理结构

“操作员”表的物理结构如图4.4所示,关键字为”操作员编号”。

图4.4

 

5.“操作员_VIEW”视图的物理结构

是客房和客户的连接。

图4.5

五、数据库的实现

根据以上所进行的调查、设计和进行方案,建立并实施数据库。

此系统运用

SQLServer2005进行数据库的开发。

1.数据库建表语句

⑴名称:

客户表“客户”

标识:

客户

建表语句如下:

createtable客户(

客户编号intnotnull,

客户姓名varchar(8)null,

年龄intnull,

性别varchar

(2)null,

身份证号varchar(18)null,

户籍varchar(50)null,

房号intnotnull,

住店时间varchar(15)null,

离店时间varchar(15)null,

押金intnull,

账单编号intnull,

constraintPK_客户primarykey(客户编号)

go

 

⑵名称:

客房表“客房”

标识:

客房

建表语句如下:

createtable客房(

房号intnotnull,

房间类型varchar(10)notnull,

房间价格intnotnull,

房间状态varchar

(2)notnull,

constraintPK_客房primarykey(房号)

go

⑶名称:

操作员表“操作员”

标识:

操作员

建表语句如下:

createtable操作员(

操作员编号intnotnull,

操作员姓名varchar(8)null,

职称varchar(10)null,

密码varchar(10)null,

constraintPK_操作员primarykey(操作员编号)

go

⑷名称:

结算账单表“结算账单”

标识:

结算账单

建表语句如下:

createtable结算账单(

账单编号intnotnull,

住房天数intnotnull,

总费用intnotnull,

操作员编号intnotnull,

房号intnotnull,

constraintPK_结算账单primarykey(账单编号)

go

2.数据库的建视图语句

⑴名称:

“操作员_VIEW”

SELECTdbo.客房.房号,dbo.客房.房间类型,dbo.客房.房间价格,dbo.客房.房间状态,

dbo.客户.客户姓名,dbo.客户.年龄,dbo.客户.性别,dbo.客户.身份证号,dbo.客户.户籍,

dbo.客户.住店时间,dbo.客户.离店时间,dbo.客户.押金

FROMdbo.客房INNERJOIN

dbo.客户ONdbo.客房.房号=dbo.客户.房号

 

六、数据库运行结果

根据以上所做的准备以及SQLServer2005建立好的表、试图及各种关系,运用VisualBasic6.0为前台开发工具,开发出客户管理系统,主要运用了ADODC控件和DataGrid控件。

1.系统登陆界

在进入主界面之前有一个用户登陆界面,用户键入用户名和密码,系统自行判定是否存在,然后进入主界面。

输入:

用户名,密码。

处理:

判断用户名和密码是否有效。

填入用户名和密码后点击【登录】按钮,系统将自动从数据库中判断是否存在相同的用户名和密码,如果有则进入系统,如果不存在则提示用户名和密码有错误信息。

输出:

登录成功,进入系统的主页面并出现欢迎使用系统的对话框,不成功则显示错误信息页面。

系统登陆界面如图6.1所示

图6.1

 

2.系统主界面

主界面包括系统的主要功能包括新建客户信息、客房信息查询、客户信息查询、结算信息账单,四个主要的功能。

用户可以根据需要点击自己想使用的功能进入功能界面。

 

图6.2

3.客户信息查询界面

打开界面后左面显示所有客户的信息,中间显示编号为0的客户信息,右边为查询条件,查询结果显示在中间的部分。

如图6.3所示。

图6.3

4.新建客户信息界面

填写新入住客户的基本信息以及部分入住信息。

先单击“添加新用户”,然后输入信息,最后单击“确认添加”完成操作。

新建客户界面如图6.4所示。

图6.4

5.客户结算信息界面

此界面综合显示了客户的入住信息和所入住的客房信息,能够便于操作员方便快速的结算出客户的总费用。

结算信息界面如图6.5所示

图6.5

6.客房信息查询界面

类似于客户信息查询。

左边为客房总体信息预览,右上角为查询条件即客房的房号,右下角为查询结果显示区域。

客房信息查询界面如图6.6所示。

图6.6

 

参考文献

[1]王珊,陈红.数据库系统原理教程[M].北京:

清华大学出版社,1998.7.

[2]王珊,萨师煊.数据库系统概论(第四版)[M].北京:

高等教育出版社,2006.5.

[3]虞益诚,孙莉.SQLServer2000数据库应用技术[M].北京:

中国铁道出版社,2004.11.

[4]刘钢.VisualBasic程序设计与应用案例[M].北京:

高等教育出版社,2003.9.

[5]AbrahamSilberschatz,HenryF.Korth,S.Sudarshan.DatabaseSystemConcepts(FourthEdition).HigherEducationPress.

[6]罗运模.完全掌握SQLServer2000[J].北京:

人民邮电出版社,2001.

[7]白尚旺.PowerDesigner软件工程技术[M].北京:

电子工业出版社,2004.

 

附录Ⅰ客房管理系统部分程序代码

⑴登陆验证代码

代码如下:

PrivateSubCommand1_Click()

DimconnAsNewADODB.Connection

conn.ConnectionString="Provider=SQLOLEDB.1;IntegratedSecurity=SSPI;PersistSecurityInfo=False;InitialCatalog=客房管理系统;DataSource=WWW-4FDE9FFEC01"

conn.Open‘连接并打开数据库

Dimrs,rssAsNewADODB.Recordset

Setrs=conn.Execute("select*from操作员where操作员编号='"&Text1.Text&"'")

Setrss=conn.Execute("select*from操作员where密码='"&Text2.Text&"'")

Ifrs.EOFThen

MsgBox"不存在此用户"

Text1.Text=""

Text1.SetFocus‘验证用户名

Else

Ifrss.EOFThen

MsgBox"密码错误!

"

Text2.Text=""

Text2.SetFocus‘验证密码

Else

UnloadMe

Form1.Show‘进入主界面

MsgBox(Text1.Text+",欢迎您使用冰舞奇迹客房管理系统")

EndIf

EndIf

EndSub

⑵将新建客户信息写入数据库代码

代码如下:

PrivateSubCommand4_Click()

DimcnAsNewADODB.Connection

DimsqlAsString

cn.ConnectionString="Provider=SQLOLEDB.1;IntegratedSecurity=SSPI;PersistSecurityInfo=False;InitialCatalog=客房管理系统;DataSource=WWW-4FDE9FFEC01"

cn.Open‘连接并打开数据库

Dima1,a2,a3,a4,a5,a6,a7,a8,a9,a10,a11AsString

a1=Text1.Text

a2=Text2.Text

a3=Text3.Text

a4=Text4.Text

a5=Text5.Text

a6=Text6.Text

a7=Text7.Text

a8=Text8.Text

a9=Text9.Text

a10=Text10.Text

a11=Text11.Text

sql="insertinto客户values('"&a1&"','"&a2&"','"&a3&"','"&a4&"','"&a5&"','"&a6&"','"&a7&"','"&a8&"','"&a9&"','"&a10&"','"&a11&"')"

cn.Execute(sql)‘执行代码将变量值负值给客户表

cn.Close

EndSub

⑶查询客户信息代码

代码如下:

PrivateSubCommand3_Click()

fanghao=Text12.Text

Adodc1.Recordset.Find"房号="&Val(fanghao)

EndSub‘根据房号查询客户信息

PrivateSubCommand5_Click()

kehubianhao=Text13.Text

Adodc1.Recordset.Find"客户编号="&Val(kehubianhao)

EndSub‘根据客户编号查询

PrivateSubCommand6_Click()

kehuming=Text14.Text

Adodc1.Recordset.Find"客户姓名="&Val(kehuming)

EndSub‘根据客户姓名查询

⑷客房信息查询

代码如下:

PrivateSubCommand2_Click()

DimcnAsNewADODB.Connection

DimrsAsNewADODB.Recordset

DimsqlAsString

cn.ConnectionString="Provider=SQLOLEDB.1;IntegratedSecurity=SSPI;PersistSecurityInfo=False;InitialCatalog=客房管理系统;DataSource=WWW-4FDE9FFEC01"

cn.Open‘连接并打开数据库

fanghao=Text5.Text

Adodc1.Recordset.Find"房号="&Val(fanghao)

cn.Close‘查询指定房号的房间状态

EndSub

(5)空房信息查询

按照条件查询使结果显示在DataGrid控件里,代码如下:

PrivateSubCommand1_Click()

DimcnAsNewADODB.Connection

DimrsAsNewADODB.Recordset

DimsqlAsString

cn.ConnectionString="Provider=SQLOLEDB.1;IntegratedSecurity=SSPI;PersistSecurityInfo=False;InitialCatalog=客房管理系统;DataSource=WWW-4FDE9FFEC01"

cn.Open

rs.Open"select*from客房where房间状态='空'",cn,adOpenKeyset,adLockBatchOptimistic,adCmdText

SetDataGrid1.DataSource=rs

DataGrid1.Refresh

EndSub

 

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

当前位置:首页 > 经管营销 > 财务管理

copyright@ 2008-2022 冰豆网网站版权所有

经营许可证编号:鄂ICP备2022015515号-1