酒店管理系统的设计与实现.docx
- 文档编号:5773009
- 上传时间:2023-01-01
- 格式:DOCX
- 页数:20
- 大小:244.89KB
酒店管理系统的设计与实现.docx
《酒店管理系统的设计与实现.docx》由会员分享,可在线阅读,更多相关《酒店管理系统的设计与实现.docx(20页珍藏版)》请在冰豆网上搜索。
酒店管理系统的设计与实现
酒店管理系统的设计与实现
班级***************
姓名********
软件学院
2013年12月
第一章绪论
1.1开发背景
随着物质水平逐步提高,精神生活也开始趋向丰富多彩。
作为旅游服务的重要组成部分——酒店业也得到了迅猛的发展。
要提高整体竞争能力必须变革酒店的管理模式,要提高管理水平,实施信息化建设无疑是实现这一目的的必由之路和明智之举。
在信息时代,重要的是必须要有一个完善的管理信息系统,在总体上实现酒店管理的自动化、规范化和人性化,使酒店管理由经验管理转为科学管理。
随着计算机在酒店中的普及应用,计算机技术的不断发展,酒店管理系统的发展到了一个新的时期,新的系统平台、新的系统特点及发展方向不断涌现,本系统采用客户机/服务器模式,功能更加细致完善,系统更加稳定可靠。
并在预订、入住和退房等流程上简捷、方便,信息明朗,及时响应客户的需求创造更多的经济效益及利润。
1.2系统调查
随着入住旅客人数的增加,顾客的各种信息也成倍增长。
给酒店客房部的日常管理造成了一定的压力,有必要开发新的酒店管理系统来提高酒店客房的管理工作效率。
通过这样的系统,可以做到入住顾客规范管理、科学统计和快速查询,从而降低工作人员的工作压力,把更多的时间可以运用到提高服务质量上来,复杂重复的工作很多都可以用MIS管理系统来完成。
本系统通过应用 MicrosoftVisualStudio2010、SQLServer2008技术开发了本系统。
winform应用程序和其他windows应用程序一样,也是由两大部分组成的:
一是用户界面,二是应用于处理逻辑。
用户是通过窗口、菜单和窗口上的各种控件等界面元素来操作应用程序的,而应用处理逻辑是通过事件和函数中的程序代码来实现的。
它可以实现各种入住客户信息的管理操作。
本酒店客房管理系统具有较强的应用性和实用性。
1.3项目开发的意义
酒店客房信息的管理在整个酒店客房运作过程中起着非常重要的作用。
通过信息的管理,酒店客房的管理人员能够随时了解客房的预订、入住等情况,可以在宏观上分配基础设施的使用。
利用数据库管理资料可以方便地管理会员客户的资料以利于业务上的往来和客服调查,同时功能强大的新增、修改、删除及查询操作和钟点计费的功能使酒店客房管理系统成为管理人员的得力助手,基于手工操作的种种缺点,为了实现管理自动化,将酒店客房管理的流程与规则与现代的计算机技术相结合,建立起酒店客房管理系统。
酒店客房管理系统还可以全程监管客户在客房的消费活动,并对收入情况进行统计,从而实现酒店客房管理流程全过程的电子化操作。
第二章系统需求分析
2.1需求问题模块划分
酒店管理系统主要分为两个模块:
用户需求模块、系统功能需求模块。
这两个模块设计主要是因为有了这两个模块管理者更容易发现该酒店的不足,还有就是容易看到酒店的入住情况。
2.1.1系统维护模块
(1)密码设置:
每个用户均有自己的密码,可以防止非本系统人员进入本系统;又因每个用户的权限不一致,故可防止用户越权操作。
(2)登陆设置:
设置每个用户的登陆,只有能进入管理系统的用户,可对系统进行操作。
(3)数据查询:
要求可以分别按房间编号,房间类型等进行数据查询。
2.1.2用户需求模块
用户希望通过使用酒店客房管理系统得到所需信息,达到提高管理水平的目的,希望新系统具有以下功能:
(1)数据记录:
使用计算机快速处理日常的业务及相关数据,实现实时查询各种入住信息。
(2)数据录入:
可以实时的录入住宿单和退宿单等的情况。
(3)数据查询:
可以实时查询客房信息、客人账单信息等的具体情况。
2.1.3系统功能需求模块
(1)预订功能需求:
其主要目的是提高酒店的开房率,为客人预留房间,并提供良好的预订服务。
其功能需求包括预订查询,可用房确认,预订记录建立,预订确认,预订记录维护等;
(2)接待功能需求:
其主要目的是以最快的速度为客人开房。
其功能需求包括宾客登记、可用房确认、修改宾客信息、删除宾客信息和查询宾客信息等;
(3)结账功能需求:
其功能需求包括客人结账、打印报表和客人挂账等;
(4)客房管理功能需求:
其主要目的是对客房的信息化管理,提高客房管理的精度和准确度,同时减轻酒店客房中心员工的工作负担,从而提高客房管理的效率和服务质量。
其主要功能是房态维护,费用记录和客人查询等。
2.2酒店管理系统主要数据流图及数据字典
在为系统确定最终的需求分析时,主要采用的是软件工程需求分析方法中面向数据流的分析方法,在面向数据流的分析方法中使用的是结构化(SA)分析方法,它是由美国Yourdon公司在上世纪70年代提出的,其基本思想是将系统分析看成工程项目,有计划、有步骤地进行工作。
这是一种特别适用于分析大型信息系统的开发方法。
虽然就酒店管理系统规模不大,但也使用了SA方法进行分析。
下面列出了系统需求分析阶段完成的数据流图和数据字典。
2.2.1酒店管理系统的主要数据流图
酒店管理系统的数据流图如图2.2,2.3,2.4所示
图2.2酒店管理系统的顶层数据流图
图2.3酒店管理系统的零层数据流图
图2.4酒店管理系统的一层数据流图
2.2.2酒店管理系统数据字典
数据字典(DataDictionary,DD)是关于数据的信息的集合,也就是对数据流图中包含的元素的定义的集合。
数据字典提供软件分析和设计过程中有关数据的描述信息,在数据流图中出现的命名元素在数据字典中都作为一个词条加以定义,使每个图形元素的名字都有一个确切的解释。
数据字典和数据流图共同构成系统的逻辑模型,只有把数据流图和数据流图中每个元素的确切定义放在一起,才能构成系统的需求规格说明,下面是酒店管理系统的数据字典:
(1)数据流描述
表2.1预定顾客信息管理数据流
系统名称
酒店管理系统
编号
F1
名称
预定顾客信息管理
来源:
系统管理员
去处:
预定顾客信息管理
数据流结构:
预定顾客信息=姓名+预定号+预定金额+预定日期+预定天数+房间号。
表2.2客房信息管理数据流
系统名称
酒店管理系统
编号
F2
名称
客房信息
来源:
预定客户信息
去处:
客房类型
数据流结构:
客房信息=预定人数+价格+位置+房间号+客房类型
表2.3客房类型信息管理数据流
系统名称
酒店管理系统
编号
F3
名称
客房类型
来源:
客房信息
去处:
入住
数据流结构:
客房类型=客房号+客房类型
表2.4入住管理数据流
系统名称
酒店管理系统
编号
F4
名称
入住
来源:
客房类型
去处:
游客信息
数据流结构:
入住=记录号+房间号+入住日期+旅客号
表2.5游客信息管理数据流
系统名称
酒店管理系统
编号
F5
名称
游客信息
来源:
入住
去处:
无
数据流结构:
游客信息=姓名+年龄+籍贯+证件号码+证件类型+旅客号
(2)数据存储描述
表2.6预定顾客信息数据存储
系统名称
酒店管理系统
编号
D1
名称
预定顾客信息表
组织形式:
按预定顾客姓氏笔画排列
关键字:
预定顾客名字
记录组成:
{预定顾客信息}
简要说明:
存放所有预定顾客的个人信息
表2.7客房类型数据存储
系统名称
酒店管理系统
编号
D2
名称
客房类型表
组织形式:
按客房类型排列
关键字:
客房类型
记录组成:
{客房类型}
简要说明:
存放所有客房类型的信息
表2.8客房信息数据存储
系统名称
酒店管理系统
编号
D3
名称
客房信息表
组织形式:
按客房价格从低到高排列
关键字:
客房信息
记录组成:
{客房信息}
简要说明:
存放所有客房信息
表2.9游客信息数据存储
系统名称
酒店管理系统
编号
D4
名称
游客信息表
组织形式:
按顾客的姓氏笔画排列
关键字:
游客信息
记录组成:
{游客信息}
简要说明:
存放游客的个人信息
第三章数据库设计
3.1数据库管理系统的选择
本系统在数据库管理系统的选择上,对多种数据库管理系统(Access、Informix、Orcale、DB2、SQLServer、Foxpro)的优缺点进行了对比,最终确定使用Microsoft的SQLServer2000。
SQLServer数据库管理系统是美国Microsoft公司推出的一种关系型数据库系统。
它是一个可扩展的、高性能的、为分布式客户机/服务器计算所设计的数据库管理系统,实现了与WindowsNT的有机结合,提供了基于事务的企业级信息管理系统方案。
其主要特点如下:
(1)高性能设计,可充分利用WindowsNT的优势。
(2)系统管理先进,支持Windows图形化管理工具,支持本地和远程的系统管理和配置。
(3)强壮的事务处理功能,采用各种方法保证数据的完整性。
(4)支持对称多处理器结构、存储过程、ODBC,并具有自主的SQL语言。
SQLServer以其内置的数据复制功能、强大的管理工具、与Internet的紧密集成和开放的系统结构为广大的用户、开发人员和系统集成商提供了一个出众的数据库平台。
选用SQLServer2008数据库管理系统可以说是一个明智的选择,它是面向中型企业的关系型数据库,与IIS(InternationalInformationServer)这种Web服务器有良好的集成能力。
3.2数据库系统设计
数据库设计是建立数据库及其应用系统的关键技术,是信息系统开发和建设的核心技术,具体说,数据库设计是指对于一个给定的应用环境,构造最优的数据模式,建立数据库及其应用系统,使之能够有效地存储数据,满足用户需求
将需求分析得到的用户需求抽象为信息结构即概念模型的过程就是概念结构设计。
它是整个数据库设计的关键。
描述概念模型的有力工具是E-R(Entity-Relationship,实体-联系)模型,本系统就是采用这种工具进行的概念模型设计。
设计概念结构通常有四种方法:
自顶向下、自底向上、逐步扩张和混合策略(即将自顶向下和自底向上相结合)。
本系统采用的是自底向上的方法,即自顶向下进行需求分析,然后再自底向上的设计概念结构(逐一设计分E-R图,然后再组合成完整的系统E-R图)。
图3.2总体E-R图
图3.3客户结算的E-R图
3.3酒店管理系统数据库表结构
本系统数据库在设计过程中参考E-R模型设计,充分考虑了数据表的划分及其之间的联系,在保障数据流向简明、查询效率较高的前提下,设计了以下几个数据库表:
1.客房信息表
表3.1客房信息表
名称
Code
类型
长度
非空
说明
房间号
RoomID
Char
10
NotNULL
主键,唯一标识房间的值
客房类型
RoomType
Char
1
NotNULL
标识客房的类型
位置
Position
Char
2
NotNULL
标识客房所处的楼层
价格
Price
Money
8
NotNULL
客房的单价(元/日)
额定人数
Rating
Char
2
NotNULL
房间的最大额定人数
是否入住
Live
Char
2
NotNULL
房间是否有客户入住
说明:
各个房间的房间号、客房类型、客房位置、房间价格由管理员统一规定,由顾客决定是否入住。
2.旅客信息表
表3.2旅客信息表
名称
Code
类型
长度
非空
说明
旅客号
PassengerID
char
10
NotNULL
主键,唯一标识旅客的值
姓名
Name
VarChar
20
NotNULL
旅客的姓名
证件类型
PaperType
Char
1
NotNULL
旅客的有效标识身的证件类型
证件号码
PaperNumber
Varchar
20
NotNULL
旅客证件的号码
年龄
Age
Int
4
NotNULL
旅客的年龄
籍贯
NativePlace
Text
16
NotNULL
旅客出生地
说明:
旅客信息(旅客号,姓名,性别,籍贯,证件类型,年龄,证件号码)
3.入住记录表
表3.3入住记录表
名称
Code
类型
长度
非空
说明
记录号
LogID
char
10
NotNULL
主键,唯一标识一条记录的值
旅客号
PassengerID
Char
10
NotNULL
旅客的编号
房间号
RoomID
Char
10
NotNULL
客房的编号
入住日期
EnterDate
Datetime
8
NotNULL
旅客的入住日期
说明:
入住记录(记录号,旅客号,房间号,入住日期)
4.预定信息表
表3.4预定信息表
名称
Code
类型
长度
非空
说明
预定号
BookID
char
10
NotNULL
主键,唯一标识预定单的值
房间号
RoomID
Char
10
NotNULL
预定的房间号
预定日期
BookDate
Datetime
8
NotNULL
预定的房间的日期
预定天数
DateNumber
Varchar
2
NotNULL
预定房间的天数
定金
ChangData
Money
8
NotNULL
交付的定金
说明:
预定信息(预定号,房间号,预定天数,预定日期,定金)
5.结账记录表
表3.5结账记录表
名称
Code
类型
长度
非空
说明
记录号
LogID
char
10
NotNULL
主键,唯一标识一条记录的值
旅客号
PassengerID
Char
10
NotNULL
旅客的编号
房间号
RoomID
Char
10
NotNULL
客房的编号
入住日期
EnterDate
Datetime
8
NotNULL
旅客的入住日期
结算日期
TradeDate
Datetime
8
NotNULL
旅客的结账日期
结算金额
Money
char
10
Not
NULL
旅客总共消费金额
说明:
结算信息(记录号,房间号,旅客号,入住日期,结算日期,结算金额)
第四章系统设计与实现
酒店管理系统的设计使用.NET面向对象的技术,采用微软一贯提倡的三层体系结构模式(用户层、业务逻辑层、数据层),在设计上体现为MVC(Model—View—Controller)设计模式。
所谓三层体系结构,是在客户端与数据库之间加入了一个“中间层”,也叫组件层。
这里所说的三层体系,不是指物理上的三层,不是简单地放置三台机器就是三层体系结构,也不仅仅有B/S应用才是三层体系结构,三层是指逻辑上的三层,这三个层可以放置到一台机器上。
三层体系的应用程序将业务规则、数据访问、合法性校验等工作放到了中间层进行处理。
通常情况下,客户端不直接与数据库进行交互,而是通过COM/DCOM+/NET组件通讯与中间层建立连接,再经由中间层与数据库进行交互。
三个层次中,系统主要功能和业务逻辑都在业务逻辑层进行处理。
三层体系结构具有以下明显的优点:
逻辑结构清晰——程序结构清晰,代码易于维护;
资源优化——由于一个应用程序的功能被子分为三个部分,不同的项目组处理不同的组件,在执行时,能够生成更加优化的代码。
系统安装维护简单易行——用户端只需浏览器软件,主要程序集中在应用程序服务器上,因此只需要更改服务端软件即可。
4.1MVC模式在系统设计过程中的应用
4.1.1MVC设计思想和结构
如何将Web应用程序的业务逻辑和表示逻辑分离,以便我们能够在不影响业务逻辑的情况下修改用户界面,或者反之,在不影响表示逻辑的情况下修改业务实现,MVC(Model—View—Controller即模式—视图—控制器)正是这样的模式。
MVC模式基于用户输入将建模、显示和操作分为三个独立的类。
其中M代表模型Model,V代表视图View,C代表控制器Controller[24]。
模式用于管理应用程序域的行为和数据,并响应为获取其状态信息(通常来自于视图)而发出的请求,还会响应更改状态的指令(通常来自于控制器);视图用于管理信息的显示,它代表用户交互界面;控制器用于解释用户的鼠标和键盘输入,以通知模式和(或)视图进行相应的更改,控制器并不做任何的数据处理。
MVC要求对应用分层,虽然要花费额外的工作时间,但产品的结构清晰,产品的应用通过模型可以得到更好地体现。
4.1.2MVC在本系统中的体现
在整个系统的具体实现过程中,利用MVC设计思想,层次设计分明。
其中BaseDao.vb属于model层,它承担了整个系统数据访问层的任务;jsy.vb、jsyAdd.aspx.vb、jsyQuery.aspx.vb、gwAdd.aspx.vb、gwQuery.aspx.vb等都属于controller层,用于把用户的信息传递给Model层,告诉模型做什么,选择符合要求的视图返回给用户;jsyAdd.aspx、jsyQuery.aspx、gwAdd.aspx、gwQuery.aspx等都属于view层,是本系统的用户交互界面,用于视图上数据的采集和处理以及响应用户的请求。
4.2主要运行界面及功能代码
4.2.1系统实现界面
1顾客结算模块
(1)功能描述
当顾客有意退订酒店的客房时,管理员可以通过此模块录入顾客的房间信息,给顾客结算。
(2)模块流程图如下所示
实现界面如图5-4所示。
4.2.2重点程序代码
重点程序代码参见附录。
附录
usingSystem;
usingSystem.Collections.Generic;
usingSystem.ComponentModel;
usingSystem.Data;
usingSystem.Drawing;
usingSystem.Linq;
usingSystem.Text;
usingSystem.Windows.Forms;
usingSystem.Data.SqlClient;
namespace酒店管理系统
{
publicpartialclasskhjz:
Form
{
publickhjz()
{
InitializeComponent();
}
privatevoidbtn11_Click(objectsender,EventArgse)
{
stringstr="DataSource=HB-PC;InitialCatalog=jdgl;IntegratedSecurity=True";
SqlConnectioncon=newSqlConnection(str);
con.Open();
stringsqlstr="select*fromkhrj_table";
SqlCommandcom=newSqlCommand(sqlstr,con);
SqlDataReaderdr=com.ExecuteReader();//读取
lis5.Items.Clear();
while(dr.Read())
{
string[]a=newstring[]{dr["记录号"].ToString(),dr["旅客号"].ToString(),dr["房间号"].ToString(),dr["入住日期"].ToString(),dr["结算日期"].ToString(),dr["结算金额"].ToString()};
ListViewItemb=newListViewItem(a);
lis5.Items.Add(b);
}
con.Close();
}
privatevoidre()
{
stringstr="DataSource=HB-PC;InitialCatalog=jdgl;IntegratedSecurity=True";
SqlConnectioncon=newSqlConnection(str);
con.Open();
stringsqlstr="select*fromkhrj_table";
SqlCommandcom=newSqlCommand(sqlstr,con);
SqlDataReaderdr=com.ExecuteReader();
lis5.Items.Clear();
while(dr.Read())
{
string[]a=newstring[]{dr["记录号"].ToString(),dr["旅客号"].ToString(),dr["房间号"].ToString(),dr["入住日期"].ToString(),dr["结算日期"].ToString(),dr["结算金额"].ToString()};
ListViewItemb=newListViewItem(a);
lis5.Items.Add(b);
}
con.Close();
}
privatevoidbtn12_Click(objectsender,EventArgse)
{
stringstr="DataSource=HB-PC;InitialCatalog=jdgl;IntegratedSecurity=True";
SqlConnectioncon=newSqlConnection(str);
con.Open();
stringsqlstr=string.Format("deletefromkhrj_tablewhere旅客号='{0}'",lis5.SelectedItems[0].SubItems[0].Text);
SqlCommandcom=newSqlCommand(sqlstr,con);
com.ExecuteNonQuery();
con.Close();//删除
re();
jzcgf8=newjzcg();
f8.Show();
this.Hide();
}
privatevoidbtnn1_Click(objectsender,EventArgse)
{
caidanf2=newcaidan();
f2.Show();
this.Hide();
}
privatevoidkhjz_Load(objectsender,EventArgse)
{
}
}
}
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 酒店 管理 系统 设计 实现