酒店客房管理系统需求分析

更新时间:2023-06-05 08:08:01 阅读量: 实用文档 文档下载

说明:文章内容仅供预览,部分内容可能不全。下载后的文档,内容与下面显示的完全一致。下载之前请确认下面内容是否您想要的,是否完整无缺。

做酒店客房管理系统,数据库很重要,首先需要做需求分析,本需求分析详细、完整,绝对达到您要的标准!

《数据库系统原理A》实验文档

酒店客房管理系统

作 者 姓 名: 专业、班级 : 学 号 : 指 导 教 师: 完 成 日 期:

大连大学 Dalian University

做酒店客房管理系统,数据库很重要,首先需要做需求分析,本需求分析详细、完整,绝对达到您要的标准!

随着计算机技术的飞速发展,信息时代的到来,信息改变了我们这个社会。客房管理的信息化程度体现在将计算机及网络与信息技术应用于经营与管理,以现代化工具代替传统手工作业。酒店客房管理系统是酒店经营管理中不可缺少的部分,它的内容对于经营的决策者和管理者来说都至关重要。所以,使用网络信息化管理客房,不但能够避免使用传统人工的方式管理文件档案时出现效率低、保密性差,误差多等弊端,而且对于查询空房间及已定房间极为方便。这些优点能够极大地提高客房经营管理的效率,也是企业的科学化、正规化管理,与世界接轨的重要条件。此外,办事效率也是决定收入的一个关键因素。所以,电脑技术和电脑服务引入酒店管理成为一种必然的趋势。建立酒店客房管理信息系统,采用计算机对客房信息进行管理,可以进一步提高酒店的经济效益和现代化水平,帮助酒店工作人员提高工作效率,实现客房信息管理工作流程的系统化、规范化和自动化。本系统采用Visual C#.NET程序来编写,同时一个系统的开发建立数据库是至关重要的,所以本课题数据库采用的是具有强大功能的关系数据库语言SQL Server2000,通过建立数据源使得Visual C#.NET与后台的数据库连接来运行。

做酒店客房管理系统,数据库很重要,首先需要做需求分析,本需求分析详细、完整,绝对达到您要的标准!

一、前景........................................................................................................................................... 4

1.1课题背景 ............................................................................................................................. 4 1.2系统开发环境 ..................................................................................................................... 4 二、需求分析 ................................................................................................................................... 4

2.1 客房管理员对系统的需求 ................................................................................................ 4 2.2 前台工作人员对功能的需求 ............................................................................................ 5 2.3 数据流图构建 .................................................................................................................... 5 2.4 数据字典构建 .................................................................................................................... 6 三、系统功能总体设计 ................................................................................................................. 10 四、 数据库结构设计与实现 ....................................................................................................... 11

4.1 实体关系(E-R)图设计 ............................................................................................... 11 4.2建立数据库模型 ............................................................................................................... 12 4.3创建表 ............................................................................................................................... 13 4.4 创建触发器 ...................................................................................................................... 14 4.4创建视图 ........................................................................................................................... 15 4.5创建存储过程 ................................................................................................................... 17 五、参考文献 ................................................................................................................................. 21

做酒店客房管理系统,数据库很重要,首先需要做需求分析,本需求分析详细、完整,绝对达到您要的标准!

一、 前景

1.1课题背景

随着社会的发展,酒店服务行业与国际市场接轨已是大势所趋,酒店是一个服务至上的行业,从客人的预定开始,到入住登记直至最后退房结账,每一步骤都要保持一致性。随着计算机科学的飞速发展,给酒店计算机应用带来了蓬勃生机,计算机在酒店的应用中,已深入到各个部门,特别在信息处理方面,计算机成了最为重要的工具。在酒店现代管理理论中,酒店管理系统是酒店经营必不可少的工具。

本酒店管理系统是针对酒店的客房管理,以方便管理酒店的客房状态、信息,为用户提供了简单、快速的服务,让用户及时了解酒店客房的运行状况、经营情况,从而提高酒店的服务质量,获得更好的经济效益

1.2系统开发环境

本系统采用单机版结构,前台开发工具是,后台数据库是Microsoft SQL Server 2000,软件要求:操作系统为Windows 2003或Windows XP或更高版本。

二、需求分析

酒店在正常运营中需要对客房资源、顾客信息、客房结算信息进行管理,利用酒店客房管理系统及时了解各个环节中信息的变更,提高管理的效率。系统开发的总体任务是实现客房信息的系统化、规范化和自动化。主要包括客房管理员、前台工作人员对功能的需求。

2.1 客房管理员对系统的需求

(1)用户信息维护

浏览所有用户信息。用户信息包括用户编号、用户角色、权限、密码、联系电话、电子邮件、所在部门等。还需要添加新用户、删除过期用户、修改用户信息等功能。

(2)客房信息维护

浏览所有客房信息。客房信息包括房间编号、房间类型编号、房间位置、房间描述、房间状态等。还需要添加新客房、删除房间、修改房间信息等功能。 (3)客房类型维护

浏览所有客房类型信息。客房类型包括类型编号、类型名称、价格、类型描述、是否配备空调等。还需要添加新客房类型、删除过期类型、修改客房类型

做酒店客房管理系统,数据库很重要,首先需要做需求分析,本需求分析详细、完整,绝对达到您要的标准!

等功能。

(4)营业状况统计

按照不同的需求,如按日期、房间号、房间类别等,对客房的营业额统计。

2.2 前台工作人员对功能的需求

(1)客房信息的查询,包括空闲、已住、所有客房信息。

(2)订房信息的输入,包括客房号、顾客身份证号、订房日期等。

(3)结算信息功能的实现。核对顾客信息后,点击“退房”系统自动显示结算金额、退房时间。这一功能主要包括房间号、房间类型、顾客身份证号、订房日期、退房日期等信息。

2.3 数据流图构建

数据流图(date flow diagram , DFD),是SA方法中用于表示系统逻辑模型的一种工具,它以图形的方式描绘数据在系统中流动和处理的过程,由于它只反映系统必须完成的逻辑功能,所以它是一种功能模型。数据流图是从数据的角度来描述一个系统,数据流图适合于宏观地分析一个组织业务概况。

图一:酒店客房管理系统第一层数据流图

图二:合法性检查的二层数据流图

做酒店客房管理系统,数据库很重要,首先需要做需求分析,本需求分析详细、完整,绝对达到您要的标准!

图三:合法性检查的二层数据流图

图四:事务处理的二层数据流图

2.4 数据字典构建

数据字典的作用是在软件分析和设计的过程中给人提供关于数据的描述信息。它主要是对数据流图中的数据流、处理逻辑、外部实体、数据存储和数据项等方面进行具体的定义。数据流程图配以数据字典,就可以从图形和文字两个方面对系统的逻辑模型进行完整的描述。 (1) 数据项定义

数据元素是不可再分的数据单位,一般而言,包括如下内容:数据项描述={数据项名,数据项含义说明,别名,数据类型,长度,取值范围,取值含义,与其他数据项的逻辑关系,数据项之间的联系}。其中,后两项定义了数据的完整性约束条件,用于数据校验。具体内容,如表3.1所示。

表3.1 酒店客房管理系统数据项定义

做酒店客房管理系统,数据库很重要,首先需要做需求分析,本需求分析详细、完整,绝对达到您要的标准!

(2) 数据流定义

酒店客房管理系统数据流: 数据流编号:D1 数据流名称:登录信息 数据流来源:用户 数据流去向:管理系统 数据流组成:I01+I02

做酒店客房管理系统,数据库很重要,首先需要做需求分析,本需求分析详细、完整,绝对达到您要的标准!

数据流名称:用户名 数据流来源:用户 数据流去向:管理系统 数据流组成:I01

数据流编号:D3 数据流名称:权限 数据流来源: 系统用户表 数据流去向:管理系统 数据流组成:I04

数据流编号:D4 数据流名称:角色 数据流来源: 系统用户表 数据流去向:管理系统 数据流组成:I03

数据流编号:D13 数据流名称:用户密码 数据流来源: 管理系统 数据流去向:用户信息表 数据流组成:I2

数据流编号:D6 数据流名称:预订信息 数据流来源: 顾客 数据流去向:管理系统 数据流组成:I19+I22+I23+I24

数据流编号:D7 数据流名称:客房状态 数据流来源: 客房状态表 数据流去向:管理系统

做酒店客房管理系统,数据库很重要,首先需要做需求分析,本需求分析详细、完整,绝对达到您要的标准!

数据流编号:D8 数据流名称:退房请求 数据流来源: 顾客 数据流去向:管理系统 数据流组成:I22+I23+I19

数据流编号:D9 数据流名称:费用结算 数据流来源: 管理系统 数据流去向:顾客 数据流组成:I15+I24+I25

数据流编号:D10 数据流名称:退房信息 数据流来源: 顾客 数据流去向:管理系统 数据流组成:I25+I26

数据流编号:D11

数据流名称:客房信息变动 数据流来源: 客房 数据流去向:客房信息表 数据流组成:I11+I19+I20+I21+I27

数据流编号:D12

数据流名称:客房类型变动 数据流来源: 客房 数据流去向:客房类型表 数据流组成:I11—I18

(3) 数据存储的描述

数据存储编号:F1

数据存储名称:系统用户表

做酒店客房管理系统,数据库很重要,首先需要做需求分析,本需求分析详细、完整,绝对达到您要的标准!

简 述: 记录用户的信息。 数据存储组成:数据项I1—I10

数据存储编号:F2 数据存储名称:入住信息

简 述:存放顾客入住信息

数据存储组成: 顾客编号+顾客姓名+顾客身份证号+入住房间号+预订日

期+退房时间+结算金额

数据存储编号:F3 数据存储名称:客房信息 简 述: 记录客房信息

数据存储组成:房间编号+房间类型+房间描述+房间状态编号+房间位置

数据存储编号:F4 数据存储名称:客房类型 简 述: 存放客房类型信息 数据存储组成:数据项I11—I18

数据存储编号:F5 数据存储名称:客房状态 简 述: 存放客房状态 数据存储组成:房间编号+房间状态

三、系统功能总体设计

在需求分析的基础上,对酒店客房管理系统所要实现的功能可以细分为以下几个模块:新用户注册、用户信息维护、客房信息维护、客房类型维护、客房营业状况统计、客房经营管理、个人密码修改。系统用户可以分为两类权限:客房管理员、前台工作人员。其中客房经营管理模块分为客房状况浏览、客房状况控制,主要用于客房的预订和退房结算处理。

做酒店客房管理系统,数据库很重要,首先需要做需求分析,本需求分析详细、完整,绝对达到您要的标准!

系统功能图如图所示:

四、 数据库结构设计与实现

由于在数据库设计是要同时考虑多方面的问题,也使设计工作变得十分复杂,我们需要使用数据库分析工具来实现。在酒店客房管理系统数据库的设计中,我们使用了PowerDesigner来进行E-R图的设计和数据库模型的实现。

4.1 实体关系(E-R)图设计

通过分析酒店客房管理系统的需求和系统功能,我们将酒店客房管理系统的实体分为用户、客房、客房状态、客房类型和入住客户。本系统的E-R图如下:

做酒店客房管理系统,数据库很重要,首先需要做需求分析,本需求分析详细、完整,绝对达到您要的标准!

4.2建立数据库模型

在E-R图的基础上利用Powerdesigner生成的数据库模型如下:

做酒店客房管理系统,数据库很重要,首先需要做需求分析,本需求分析详细、完整,绝对达到您要的标准!

4.3创建表

做酒店客房管理系统,数据库很重要,首先需要做需求分析,本需求分析详细、完整,绝对达到您要的标准!

4.4 创建触发器

create trigger insert_OccupyGuest on OccupyGuest

for insert as begin

declare @CusEndDate datetime declare @CusBookDate datetime

select @CusBookDate=CusBookDate,@CusEndDate=CusEndDate from inserted

if (@CusBookDate>@CusEndDate)

做酒店客房管理系统,数据库很重要,首先需要做需求分析,本需求分析详细、完整,绝对达到您要的标准!

rollback transaction end

当退房时结账日期在预定日期前时触发 create trigger insert_Users on Users for insert as begin

declare @sex tinyint

select @sex=UserSex from inserted if (@sex not in ('1','0')) rollback transaction end

性别插入错误是触发,1表示男,0表示女

4.4创建视图

创建AllRoomList视图,显示所有房间的相关信息 Create view AllRoomList

(RoomID,TypeName,RoomPosition,TypePrice,RoomDescribe,State) as select

RoomID,TypeName,RoomPosition,TypePrice,RoomDescribe,State from RoomType,Room,RoomState

where Room.TypeID=RoomType.TypeID and Room.SID=RoomState.SID

创建FreeRoomList视图显示空闲房间的相关信息,订房时使用 create view FreeRoomList

(RoomID,TypeName,RoomPosition,TypePrice,RoomDescribe) as select

RoomID,TypeName,RoomPosition,TypePrice,RoomDescribe from RoomType,Room,RoomState

where Room.TypeID=RoomType.TypeID and

Room.SID=RoomState.SID and RoomState.State=0

创建RoomLiveDetail视图,显示已住房间的相关信息,退房时使用 create view RoomLiveDetail RoomLiveDetail

(RoomID,TypeName,CusBookDate,TypePrice,CusIDCard,CusName) As select

OccupyGuest.RoomID,TypeName,CusBookDate,TypePrice,CusIDCard,CusName from RoomType,Room,RoomState,OccupyGuest

where Room.TypeID=RoomType.TypeID and OccupyGuest.CusPay=0

and Room.SID=RoomState.SID and RoomState.State=1 and OccupyGuest.RoomID=Room.RoomID

创建RoomDetail视图,显示所有客房的信息,对房间信息查询,更新时使用 Create view RoomDetailList

做酒店客房管理系统,数据库很重要,首先需要做需求分析,本需求分析详细、完整,绝对达到您要的标准!

(RoomID,TypeName,RoomPosition,TypePrice,RoomDescribe)

as select RoomID,TypeName,RoomPosition,TypePrice,RoomDescribe from RoomType,Room

where Room.TypeID=RoomType.TypeID create view RoomLiveCheckOut

(RoomID,CusName,CusBookDate,CusIDCard,TypePrice)

as select OccupyGuest.RoomID,CusName,CusBookDate,CusIDCard,TypePrice from OccupyGuest,Room,RoomType

where OccupyGuest.CusPay=0 and OccupyGuest.RoomID=Room.RoomID

and Room.TypeID=RoomType.TypeID

创建RoomLiveCheckOut视图,顾客退房时从视图获取信息,做修改 create view RoomLiveCheckOut

(RoomID,CusName,CusBookDate,CusIDCard,TypePrice)

as select OccupyGuest.RoomID,CusName,CusBookDate,CusIDCard,TypePrice from OccupyGuest,Room,RoomType

where OccupyGuest.CusPay=0 and OccupyGuest.RoomID=Room.RoomID and Room.TypeID=RoomType.TypeID

创建TypeDetailList视图,用于前台查询和更新操作 create view TypeDetailList

(TypeID,TypeName,TypeArea,TypeBedSum,TypePrice,TypeDescribe) as select TypeID,TypeName,TypeArea,TypeBedSum,TypePrice,TypeDescribe from RoomType

创建视图UserDetailList,用于管理员进入系统时查询和更新用户信息 create view UserDetailList

(UserID,UserName,UserEmail,UserTel,UserRole)

as select UserID,UserName,UserEmail,UserTel,UserRole from Users

创建SellBill视图,用于查询客房的营业情况 create view SellBill

(RoomID,TypeName,CusBookDate,CusEndDate,CusPay)

As select

OccupyGuest.RoomID,RoomType.TypeName,CusBookDate,CusEndDate,CusPay from RoomType,Room,OccupyGuest where Room.TypeID=RoomType.TypeID

and OccupyGuest.RoomID=Room.RoomID and CusPay>0 create view TypeDetailList

(TypeID,TypeName,TypeArea,TypeBedSum,TypePrice,TypeDescribe)

as select TypeID,TypeName,TypeArea,TypeBedSum,TypePrice,TypeDescribe from RoomType

做酒店客房管理系统,数据库很重要,首先需要做需求分析,本需求分析详细、完整,绝对达到您要的标准!

create view UserDetailList

(UserID,UserName,UserEmail,UserTel,UserRole) as select UserID,UserName,UserEmail,UserTel,UserRole from Users

4.5创建存储过程

用户密码修改的存储过程

create procedure [PasswordModify] (

@UserID [varchar](50), @UserPwd [varchar](50) )

as update [Users]

set [UserPwd]=@UserPwd where UserID=@UserID GO

顾客退房结账时将结算金额,退房时间存入OccupyGuest表 CREATE procedure [RoomCheckOut]

( @RoomID [varchar](50),@CusIDCard [varchar](50), @CusEndDate [datetime], @CusPay [money] )

as update [HRM].[dbo].[OccupyGuest]

set [CusEndDate]=@CusEndDate, [CusPay]=@CusPay where (

[RoomID]=@RoomID and [CusPay]=0 and [CusIDCard]=@CusIDCard ) GO

结账退房后将房间状态修改

CREATE procedure [RoomStateUpdate2] (

@RoomID [varchar](50) )

as update [HRM].[dbo].[Room] set [SID]=0

where RoomID=@RoomID GO

顾客订房时,将住房信息存入OccupyGuest表 CREATE procedure [OrderRoom] (

做酒店客房管理系统,数据库很重要,首先需要做需求分析,本需求分析详细、完整,绝对达到您要的标准!

@RoomID [varchar](50), @CusName [varchar](50), @CusIDCard [varchar](50), @CusBookDate [datetime] )

as insert into [HRM].[dbo].[OccupyGuest] (

[RoomID],[CusName],[CusIDCard],[CusBookDate],[Cuspay] )

values (

@RoomID,@CusName,@CusIDCard,@CusBookDate,0 ) GO

订房后对房间状态做修改

CREATE procedure [RoomStateUpdate1] (

@RoomID [varchar](50) )

as update [HRM].[dbo].[Room] set [SID]=1

where RoomID=@RoomID GO

添加房间信息时,将新的信息存入Room表 create procedure [RoomAdd] (

@RoomID [varchar](50), @TypeID [varchar](50), @SID [varchar](50), @RoomPosition [varchar](50), @RoomDescribe [varchar](50) )

as insert into [HRM].[dbo].[Room] (

[RoomID],[TypeID],[SID],[RoomPosition],[RoomDescribe] )

values (

@RoomID,@TypeID,@SID, @RoomPosition,@RoomDescribe ) GO

在Room表中删除房间信息

create procedure [GuestRoomUpdate] (

@RoomID [varchar](50),

做酒店客房管理系统,数据库很重要,首先需要做需求分析,本需求分析详细、完整,绝对达到您要的标准!

@TypeID [varchar](50),@SID [varchar](50),

@RoomPosition [varchar](50), @RoomDescribe [varchar](50) )

as update [HRM].[dbo].[Room] set

[TypeID]=@TypeID,[SID]=@SID,

[RoomPosition]= @RoomPosition,[RoomDescribe]=@RoomDescribe where ([RoomID]=@RoomID)

GO

添加新的房间类型到RoomType表 create procedure [RoomTypeAdd] (

@TypeID [varchar](50),@TypeName [varchar](50),@TypeArea [real], @TypeBedSum [int],@TypeAirCondition [bit],@TypeTV [bit], @TypePrice [money],@TypeDescribe [varchar](50) )

as insert into [HRM].[dbo].[RoomType] (

[TypeID],[TypeName],[TypeArea],[TypeBedSum],

[TypeAirCondition],[TypePrice], [TypeTV],[TypeDescribe] )

values (

@TypeID,@TypeName,@TypeArea,@TypeBedSum,

@TypeAirCondition,@TypePrice,@TypeTV,@TypeDescribe ) GO

房间类型有更新时,将新的信息插入RoomType表中 create procedure [RoomTypeUpdate] (

@TypeID [varchar](50),@TypeName [varchar](50),@TypeArea [float] (8), @TypeBedSum [int],@TypeAirCondition [bit],@TypeTV [bit], @TypePrice [money],@TypeDescribe [varchar](50) )

as update [HRM].[dbo].[RoomType] set

[TypeName]=@TypeName,[TypeArea]=@TypeArea,[TypeBedSum]=@TypeBedSum, [TypeAirCondition]=@TypeAirCondition,[TypePrice]=@TypePrice, [TypeTV]=@TypeTV,[TypeDescribe]=@TypeDescribe where ([TypeID]=@TypeID) GO

做酒店客房管理系统,数据库很重要,首先需要做需求分析,本需求分析详细、完整,绝对达到您要的标准!

为用户信息表添加新的用户,或注册新的用户 CREATE PROCEDURE [UserAdd] (

@UserID [varchar](50),@UserPwd [varchar](50),

@UserPower [int], @UserSex [bit],@UserName [varchar](50), @UserAddress [varchar](50), @UserTel varchar](50), @UserEmail [varchar](50), @UserDept [varchar](50), @UserRole [varchar](50) )

AS INSERT INTO [HRM].[dbo].[Users] (

[UserID],[UserPwd],[UserPower],[UserSex],[UserName],

[UserAddress],[UserTel],[UserEmail],[UserDept],[UserRole] ) VALUES (

@UserID,@UserPwd,@UserPower,@UserSex,@UserName,

@UserAddress, @UserTel,@UserEmail,@UserDept,@UserRole ) GO

从用户信息表中删除用户

CREATE procedure [UserDelete] (

@UserID [varchar](50) )

as delete [HRM].[dbo].[Users] where ([UserID]=@UserID)

GO

做酒店客房管理系统,数据库很重要,首先需要做需求分析,本需求分析详细、完整,绝对达到您要的标准!

五、参考文献

[1] 王珊,萨师煊. 数据库系统概论第四版 [M]. 高等教育出版社. 2006

[2] 孙印杰. +SQL Server动态网站设计实例精解 [M]. 电子工业出版社. 2005

本文来源:https://www.bwwdw.com/article/1le1.html

Top