酒店客房管理系统设计.docx
- 文档编号:10346445
- 上传时间:2023-02-10
- 格式:DOCX
- 页数:59
- 大小:1.37MB
酒店客房管理系统设计.docx
《酒店客房管理系统设计.docx》由会员分享,可在线阅读,更多相关《酒店客房管理系统设计.docx(59页珍藏版)》请在冰豆网上搜索。
酒店客房管理系统设计
武汉工业学院
数学与计算机学院
数据库应用系统设计
酒店客房管理系统设计实验报告
专业:
计算机科学与技术
班级:
计算机092
学号:
090501229
姓名:
丁绢
指导老师:
林菁
目录:
一、前言
1.1课题背景
当前,随着信息的不断飞速发展,信息技术已逐渐成为各种技术的基础,信息也成为企业具有竞争力的核心要素。
企业的生存和发展依靠正确的决策,而决策的基础就是信息,所以企业竞争力的高低完全取决于企业对信息的获取和处理能力。
企业要准确、快速的获取和处理信息,企业信息化是必然的选择。
企业必须加快内部信息交流,改进企业业务流程和管理模式,提高运行效率,降低成本,提高竞争力,信息化建设是企业适应社会发展的要求。
企业管理信息系统即企业MIS是企业信息化的重要内容。
随着我国改革开放的不断推进,人民生活水平日益提高,旅游经济蓬勃发展,这一切都带动了酒店行业的发展。
再加上入境旅游的人也越来越多,入境从事商务活动的外宾也越来越多。
传统的手工已不适应现代化酒店管理的需要。
及时、准确、全方位的网络化信息管理成为必需。
酒店是一个服务至上的行业,从客人的预定开始,到入住登记直至最后退房结账,每一步骤都要保持一致性的服务水准,错失一步,会令其辛苦经营的形象功亏一篑。
要成为一间成功的酒店,就必须作到宾至如归,面对酒店业内激烈的竞争形势,各酒店均在努力拓展其服务领域的广度和深度。
虽然计算机并不是酒店走向成功的关键元素,但它可以帮助那些真正影响成败的要素发挥更大的效用。
因此,采用全新的计算机网络和管理系统,将成为提高酒店的管理效率,改善服务水准的重要手段之一。
1.2开发工具
本系统利用MicrosoftVisualStudio2008编译环境,以MicrosoftSQLServer2005作为后台数据库,选用ADO访问数据库来实现各种功能
计算机及操作系统:
WindowsXP或Windows7;
开发工具:
MicrosoftVisualStudio2008运行环境:
装有SQLSERVER2005的系统
语言:
C#与SQL查询语言
1.2.1SQLServer2005数据库
SQLServer2005是微软公司动用上千人的研发力量,耗费五年时间打造出来的产品,在企业及数据库产品中具有里程碑的意义。
SQLServer2005是一个关系数据库管理系统,是一个全面的数据库平台,其数据库引擎为关系型数据和结构化数据提供了更安全可靠的存储功能。
SQLServer2005结合了分析、报表、集成和通知功能,引进了一套集成的管理工具和管理应用编程接口,以提供易用性、可管理性及对大型SQLServer配置的支持。
其新的查询类型和在交易过程中使用错误处理的功能,为开发人员在SQLServer查询开发方面提供了更高的灵活性和控制力。
SQLServer可以适合大容量数据的应用,在功能上和管理上都比MicrosoftAccess要强的多。
在处理海量数据的效率,后台开发的灵活性,可扩展等方面强大。
在SQLServer2005中还可以使用存储过程,在服务器执行操作时,减少网络通讯,提高了执行效率,而且保证了数据库的安全。
1.2.2ADO数据库访问技术
ADO是微软最新的对象层次上的数据操作技术,它为操作OLEDB数据源提供了一套高层次自动化接口。
尽管OLEDB已经是一个强大的数据操作接口,然而大多数数据库应用开发者并不需要OLEDB提供的操作数据的底层控制接口。
大多数开发者对于管理内存资源、手工聚合组件以及其它的底层操作接口并不是很感兴趣。
另外,开发者经常使用高层的、不支持指针和C++函数调用规范的开发语言,OLEDB为这种需要提供了方便。
从功能上来说,ADO也是一种OLEDB客户程序,不过它不依赖于特定的OLEDB服务器,相反,它支持所有的OLEDB服务提供者。
通过这些OLEDB服务提供者,ADO支持客户/服务器模式和基于Web的数据库应用。
ADO支持客户/服务器模式和基于Web的数据操作,ADO尤其支持通过客户/服务器模式或者基于Web模式访问微软的SQLServer数据库服务器。
1.2.2.1ADO对象模型
ADO对象模型包括以下关键对象:
Connection对象
在数据库应用里操作数据源都必须通过该对象,这是数据交换的环境。
Connection对象代表了同数据源的一个会话,在客户/服务器模型里,这个会话相当于同服务器的一次网络连接。
不同的数据提供者提供的该对象的集合、方法和属性不同。
借助于Connection对象的集合、方法和属性,可以使用Open和Close方法建立和释放一个数据源连接。
使用Execute方法可以执行一个数据操作命令,使用BeginTrans、CommitTrans和RollbackTrans方法可以启动、提交和回滚一个处理事务。
通过操作theErrors集合可以获取和处理错误信息,操作CommandTimeout属性可以设置连接的溢出时间,操作ConnectionString属性可以设置连接的字符串,操作Mode属性可以设置连接的模式,操作Provider属性可以指定OLEDB提供者。
Command对象
Command对象是一个对数据源执行命令的定义,使用该对象可以查询数据库并返回一个Recordset对象,可以执行一个批量的数据操作,可以操作数据库的结构。
不同的数据提供者提供的该对象的集合、方法和属性不同。
借助于Command对象的集合、方法和属性,可以使用Parameters集合制定命令的参数,可以使用Execute方法执行一个查询并将查询结果返回到一个Recordset对象里,操作CommandText属性可以为该对象指定一个命令的文本,操作CommandType属性可以指定命令的类型,操作Prepared可以得知数据提供者是否准备好命令的执行,操作CommandTimeout属性可以设置命令执行的溢出时间。
Parameter对象
Parameter对象在Command对象中用于指定参数化查询或者存储过程的参数。
大多数数据提供者支持参数化命令,这些命令往往是已经定义好了的,只是在执行过程中调整参数的内容。
借助于Parameter对象的集合、方法和属性,可以通过设置Name属性指定参数的名称,通过设置Value属性可以指定参数的值,通过设置Attributes和Direction、Precision、NumericScale、Size与Type属性可以指定参数的信息,通过执行AppendChunk方法可以将数据传递到参数里。
Recordset对象
如果执行的命令是一个查询并返回存放在表中的结果集,这些结果集将被保存在本地的存储区里,Recordset对象是执行这种存储的ADO对象。
通过Recordset对象可以操纵来自数据提供者的数据,包括修改和更新行、插入和删除行。
1.2.2.2ADO编程
通常情况下,一个基于ADO的数据库应用使用如下过程操作数据源里的数据:
(1)创建一个Connection对象。
定义用于连接的字符串信息,包括数据源名称、用户ID、口令、连接超时、缺省数据库以及光标的位置。
一个Connection对象代表了同数据源的一次会话。
可以通过Connection对象控制事务,即执行BeginTrans、CommitTrans和RollbackTrans方法。
(2)打开数据源,建立同数据源的连接。
(3)执行一个SQL命令。
一旦连接成功,就可以运行查询了。
可以以异步方式运行查询,也可以异步地处理查询结果,ADO会通知提供者后台提供数据。
这样可以让应用程序继续处理其它事情而不必等待。
(4)使用结果集。
完成了查询以后,结果集就可以被应用程序使用了。
在不同的光标类型下,可以在客户端或者服务器端浏览和修改行数据。
(5)终止连接。
当完成了所有数据操作后,可以销毁这个同数据源的连接。
二、需求分析
2.1任务概述
2.1.1系统目标
本系统需要满足以下几个系统设计目标。
(1)实用性原则:
真正为用户的实际工作服务,按照酒店客房管理工作的实际流程,设计出实用的酒店客房管理系统。
(2)可靠性原则:
必须为酒店客房提供信息安全的服务,以保证酒店信息的不被泄露。
(3)友好性原则:
本酒店客房管理系统面向的用户是酒店内工作人员,所以系统操作上要求简单、方便、快捷,便于用户使用。
(4)可扩展性原则:
采用开发的标准和接口,便于系统向更大的规模和功能扩展。
2.1.2用户特点
本系统面向酒店内工作人员为顾客订房和退房及其查询服务和设置酒店客房信息。
在旅游高峰期,会有大量的顾客订房数据输入及查询,在退房时也会有大量的退房数据输入及查询,系统的负荷较大;在消费淡季,数据输入和查询也会相对较少。
2.2系统的功能需求
2.2.1系统需求
根据酒店客房管理系统的理念,此酒店客房管理系统必须满足以下需求:
(1)具有设置酒店客房类型和房间信息的功能
(2)能快速、准确地了解酒店的客房状态,以便订房和退房
(3)提供多种手段查询客房订房信息
(4)提供修改订房和修改退房功能
(5)提供简单的酒店工作人员的添加用户和修改密码功能
2.2.2功能需求
根据系统的需求分析,本系统功能需求如下:
1.系统管理
(1)修改密码
(2)添加用户
2.客房信息管理
(1)设置客房标准
①添加客房标准②修改客房标准③删除客房标准
(2)设置客房信息
①添加客房信息②修改客房信息
③删除客房信息④查询客房信息
3.订房信息管理
(1)查询剩余客房信息
(2)添加订房信息
(3)修改订房信息(4)查询订房信息
4.结算信息管理
(1)添加结算信息
(2)修改结算信息
(3)查询结算信息
2.3系统的性能需求
为了保证系统能够长期、安全、稳定、可靠、高效的运行,系统应该满足以下的性能需求:
(1)系统处理的准确性和及时性
系统处理的准确性和及时性是系统的必要性能。
在系统设计和开发过程中,要充分考虑系统当前和将来可能承受的工作量,使系统的处理能力和响应时间能够满足用户对信息的处理。
由于系统的查询功能对于整个系统的功能和性能完成很重要。
从系统的多个数据来源来看,客房信息查询、订房信息查询、结算信息查询,其准确性很大程度上决定了系统的成败。
因此,在系统开发过程中,系统采用优化的SQL语句及安全扩展存储过程来保证系统的准确性和及时性。
(2)系统的开放性和系统的可扩充性
系统在开发过程中,应该充分考虑以后的可扩充性。
例如系统权限和客房信息设置等模块也会不断的更新和完善。
所有这些都要求系统提供足够的手段进行功能的调整和扩充。
而要实现这一点,应通过系统的开放性来完成,既系统应是一个开放系统,只要符合一定的规范,可以简单的加入和减少系统的模块,配置系统的硬件。
通过软件的修补、替换完成系统的升级和更新换代。
(3)系统的易用性
本酒店客房管理系统面向的用户是酒店内工作人员,而有些使用人员往往对计算机并不是非常熟悉,所以系统操作上要求简单、方便、快捷,便于用户使用。
这就要求系统能够提供良好的用户接口,易用的人机交互界面。
(4)系统的响应速度
系统设计中摒弃大量数据冗余,提出了优化数据库的解决方案,大量使用存储过程,大大提高系统响应时间和速度。
系统在日常处理中的响应速度为秒级,达到实时要求,以及时反馈信息。
严格保证操作人员不会因为速度问题而影响工作效率。
2.4系统的数据需求
通过对系统功能需求的分析,可以初步确定该系统的基本数据需求。
由各个功能可以进一步确定具体的数据需求,具体数据需求如下:
(1)房间类型:
类型编号、类型名称、面积、床位数、价格、三电信息(空调、电视、电话)、卫生间。
(2)房间信息:
房间编号、房间类型、房间位置、房间价格、房间状态、备注
(3)订房信息:
订房编号、顾客编号、顾客姓名、房间编号、入住时间、折扣、入住备注、预计退房时间、应缴房费
(4)退房信息:
房间编号、顾客编号、顾客姓名、退房时间、退房缴费、订房编号
(5)顾客信息:
顾客编号、顾客姓名、顾客性别
(6)用户信息:
用户编号、用户密码、用户职位
系统数据流图:
三、系统功能总体设计
3.1系统功能模块划分
结合前面需求分析阶段的结果进行综合处理,确定了客房管理系统需要完成的功能,主要划分为以下模块:
1.系统
(1)修改密码
(2)添加用户
2.客房信息管理
(1)设置客房标准
①添加客房标准②修改客房标准③删除客房标准
(2)设置客房信息
①添加客房信息②修改客房信息③删除客房信息④查询客房信息
3.订房信息管理
(1)查询剩余客房信息
(2)添加订房信息
(3)修改订房信息(4)查询订房信息
4.结算信息管理
(1)添加结算信息
(2)修改结算信息
(3)查询结算信息
3.2系统的功能模块图
四、系统数据库设计
4.1数据库概念设计
这一设计阶段是在需求分析的基础上,设计出能满足用户需求的各种实体,以及它们之间的关系,为后面的逻辑结构设计打下基础。
根据上面的设计规划出的实体有顾客实体、客房类型、房间实体。
4.2数据库逻辑设计
顾客(顾客编号、顾客姓名、顾客性别)
用户(用户编号、用户密码、用户职位)
房间类型(类型编号、类型名称、面积、床位数、价格、空调、电视、电话、卫生间)
房间(房间编号、房间类型、房间位置、房间价格、房间状态、备注)
订房(订房编号、顾客编号、顾客姓名、房间编号、入住时间、折扣、入住备注、预计退房时间、应缴房费)
退房(房间编号、顾客编号、顾客姓名、退房时间、退房缴费、订房编号)
将关系模型转换成具体RDBMS支持的实际关系数据模型,如下面的几个表格所示。
(每个表格表示在数据库中的一个表)
(1)顾客信息表
字段名称
数据类型
是否NULL
说明
1
customid
nvarchar(20)
NOTNULL
顾客编号
2
customname
nvarchar(20)
NULL
顾客姓名
3
customesex
nvarchar(20)
NULL
顾客性别
(2)用户信息
字段名称
数据类型
是否NULL
说明
1
user_ID
varchar(20)
NOTNULL
用户编号
2
user_PWD
varchar(20)
NOTNULL
用户密码
3
user_Pos
nvarchar(20)
NULL
用户职位
(3)房间类型
字段名称
数据类型
是否NULL
说明
1
typeid
varchar(20)
NOTNULL
类型编号
2
typename
varchar(20)
NOTNULL
类型名称
3
area
float
NULL
面积
4
bednum
int
NULL
床位数
5
price
float
NULL
价格
6
haircondition
bit
NULL
空调
7
htelevision
bit
NULL
电视
8
htelephone
bit
NULL
电话
9
htoilet
bit
NULL
卫生间
(4)房间信息
字段名称
数据类型
是否NULL
说明
1
roomno
varchar20
NOTNULL
房间编号
2
roomtype
varchar(20)
NOTNULL
房间类型
3
roomposition
varchar(20)
NULL
房间位置
4
roomprice
float
NULL
房间价格
5
putup
bit
NULL
房间状态
6
roommemo
text
NULL
备注
(5)订房信息
字段名称
数据类型
是否NULL
说明
1
bookno
varchar(20)
NOTNULL
订房编号
2
customname
varchar(20)
NULL
顾客编号
3
customID
varchar(20)
NOTNULL
顾客姓名
4
roomno
varchar(20)
NOTNULL
房间编号
5
indate
datetime
NOTNULL
入住时间
6
discount
float
NULL
折扣
7
inmemo
text
NULL
入住备注
8
checkdate
datetime
NULL
预计退房时间
9
ammount
float
NULL
应缴房费
(6)退房信息
字段名称
数据类型
是否NULL
说明
1
bookno
varchar(20)
NOTNULL
订房编号
2
customename
varchar(20)
NULL
顾客姓名
3
customeid
varchar(20)
NOTNULL
顾客编号
4
outtime
datetime
NOTNULL
退房时间
5
outmoney
float
NULL
退房缴费
6
roomno
varchar(20)
NOTNULL
客房编号
4.3数据库设计优化
在上面的实体以及实体之间的关系的基础上,形成数据库中的表格和各个表格之间的关系,即关系模型。
设计关系模型并对其进行优化:
(1)确定数据依赖,给出给关系模式中的主码,明确其依赖关系。
(2)对于各个关系模式之间的数据依赖进行极小化处理,消除冗余的联系。
(3)对照数据依赖的理论对各个关系模式逐一进行分析,考察是否存在部分函数依赖、传递函数依赖、多值依赖,确定个关系模式分别所属的范式类型。
(4)按照需求分析阶段得到的处理要求,分析对于这样的应用环境这些模式是否合适,对某些模式检查是否有合并或分解的需要。
(5)对关系模式进行必要的分解,提高数据操作效率和存储空间的利用率。
4.4建立索引
在本实例中,房间号码、订房编号、客人证件号码这几个属性是主码,设计时考虑建立这些索引,使得对数据库的查询、插入、修改和删除的速度加快,效率也提高。
4.5数据存放
在开发本系统时因数据库的规模随着顾客的增多将会增大,但因开发环境条件限制,所以数据库是存在个人的计算机磁盘上。
4.6系统配置
开发以及运用本数据库应用系统时要求操作系统拥有WindowsXP或Windows7以上的配置,能创建数据库,保存数据,并将系统数据库作为应用系统运行操作的数据源,为方便开始时创建和调试查看数据库内容,要求系统装有SQLSERVER2005。
五、数据库实施和维护
5.1创建数据库
运用SQLSERVER2005创建数据库,其创建过程如下面所示:
创建数据库HotelRoomManage
(1)设计user_Info表
CREATETABLEuser_Info(
user_IDnvarchar(20)NOTNULL,
user_PWDnvarchar(20)NOTNULL,
user_Posnvarchar(20)NULL,
primarykey(user_ID,user_PWD)
);
(2)设计customers表
CREATETABLEcustomers(
customidnvarchar(20)NOTNULL,
customnamenvarchar(20)NULL,
customesexnvarchar(20)NULL,
primarykey(customid)
);
(3)设计roomtype表
CREATETABLEroomtype(
typeidnvarchar(20)NOTNULL,
typenamenvarchar(20)NOTNULL,
areafloatNULL,
bednumintNULL,
hairconditionbitNULL,
htelephonebitNULL,
htelevisionbitNULL,
htoiletbitNULL,
pricefloatNULL,
primarykey(typeid,typename)
);
(4)设计rooms表
CREATETABLErooms(
roomnonvarchar(20)NOTNULL,
roomtypenvarchar(20)NOTNULL,
roompositionnvarchar(20)NULL,
roompricefloatNULL,
putupbitNULL,
roommemotextNULL,
primarykey(roomno)
);
(5)设计bookin表
CREATETABLEbookin(
booknonvarchar(20)NOTNULL,
customnamenvarchar(20)NULL,
customidnvarchar(20)NOTNULL,
roomnonvarchar(20)NOTNULL,
indatedatetimeNOTNULL,
discountfloatNULL,
inmemotextNULL,
checkdatedatetimeNULL,
ammountfloatNULL,
primarykey(bookno,customid,roomno,indate),
foreignkey(customid)referencescustomers(customid),
foreignkey(roomno)referencesrooms(roomno)
);
(6)设计checkout表
CREATETABLEcheckout(
booknonvarchar(20)NOTNULL,
customenamenvarchar(20)NULL,
customidnvarchar(20)NOTNULL,
outtimedatetimeNOTNULL,
outmoneyfloatNULL,
roomnonvarchar(20)NOTNULL,
primarykey(bookno,customid,outtime),
foreignkey(customid)referencescustomers(customid)
);
5.2数据备份和恢复
数据库
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 酒店客房 管理 系统 设计