毕业论文基于C++技术的酒店管理系统开发.docx
《毕业论文基于C++技术的酒店管理系统开发.docx》由会员分享,可在线阅读,更多相关《毕业论文基于C++技术的酒店管理系统开发.docx(50页珍藏版)》请在冰豆网上搜索。
毕业论文基于C++技术的酒店管理系统开发
基于C++技术的酒店管理系统开发
摘要
随着社会服务行业的发展,服务项目多、信息量大已经成为酒店行业的一大特点。
想要提高酒店的服务质量、降低成本就需要借助现代化技术实现高效率的管理模式,这就要求酒店必须要有一个良好的信息管理平台和高效的数据系统。
酒店管理系统使用C++技术、SQLServer数据库开发,主要实现系统登录、客房管理、房客管理、消费管理、报表管理、系统管理、系统信息等功能。
采用现代化技术对酒店信息进行管理,可以提高酒店工作人员的工作效率,实现客房信息管理工作流程的系统化、规范化和自动化。
关键词:
酒店管理系统SQL入住登记退房
Title:
DevelopmentoftheHotelManagementSystemBasedonC++Technology
Abstract
Withthedevelopmentofsocialserviceindustry,serviceprojects,alargeamountofinformationhasbecomeamajorfeatureofthehotelindustry.
Toimprovethehotel'sservicequality,reducethecosttoachieveefficientmanagementmodewiththeaidofmoderntechnology,whichrequiresthehotelmusthaveagoodinformationmanagementplatformandefficientdatasystem.HotelmanagementsystemusingC++technology,SQLServerdatabasedevelopment,toachievethemainsystemlogin,guestroommanagement,tenantmanagement,consumptionmanagement,reportmanagement,systemmanagement,systeminformationandotherfunctions.Managementofhotelinformationusingmoderntechnology,canimprovethehotelstaff'sworkingefficiency,achievethestandardization,theguestroominformationmanagementworkflowandautomation.
Keywords:
HotelManagementSystem;SQL;Check-in;Check-out
1引言
1.1课题的背景及意义
随着社会服务行业的发展,酒店行业对自身提供给服务的质量和能力有了更高的要求。
而且随着计算机的快速发展以及人们生活水平的提高,人们对于酒店消费也不断地提出更高、更多样性的要求。
酒店管理系统正是在这种情况下越来越受到重视。
酒店内部服务项目众多,既要完成前台的服务工作,还需要完成后台的管理工作。
如果没有一套可靠的酒店管理系统,单凭手工操作,不仅效率低,而且会极大地影响到酒店的服务质量。
经过多年的发展,酒店管理已经逐渐由人工管理进入到重视科学、规范管理的阶段。
众所周知,在科学管理的具体方法实现中,最有效的工具就是应用管理软件进行管理。
成功的酒店是将经济效益作为酒店的运营宗旨,管理的核心是在于如何提高经济效益。
优秀的酒店客房信息管理系统以酒店的经济效益为目标,为酒店管理人员和员工提供简单易用、功能强大并高度灵活的应用工具,激励他们的积极性,促使他们向酒店提供更好的服务。
这些改进使顾客感到更加满意,为酒店带来更多的回头客和收入。
同时,通过对人流、物流、资金流的科学管理和有效控制,提高员工的工作效率,降低各种经营成本,从而获取持久的利润。
虽然计算机管理并不是酒店管理走向成功的关键元素,但它可以最大限度地发挥准确、快捷、高效等作用,对酒店的服务管理提供强有力的支持。
在某种意义上,酒店客房管理方面的信息化已成为现代化酒店的重要标志。
因此酒店行业对于酒店管理系统的引进势在必行。
1.2课题的研究内容
经过这段时间的对所搜集资料的阅读,了解到随着计算机的快速发展以及人们生活水平的提高,人们对于酒店消费不断地提出更高、更多样性的要求。
一个功能完善的管理系统可以让酒店为消费者提供优质的服务,从而满足消费者的各种需求。
系统采用MFC技术,主要实现的是对酒店的客房进行管理,使用户能轻松地找到所需要的客房信息,提供订房和退房服务,并对酒店客房的业绩进行统计,以实现服务管理的电子化,自动化,提高酒店客房管理的办公效率,为提高和改善酒店的服务质量提供保证。
本系统数据库采用了功能强大的MicrosoftSQLServer数据库作为数据源,加快了数据存储,并使其安全性得到可靠保障。
酒店管理系统正是为了实现方便酒店管理者管理酒店,并给顾客提供优质服务的需求而开发设计的。
以下将按照软件工程生命周期的流程,介绍软件开发的全过程。
2系统分析
前面已经对课题的研究背景和意义进行了简单的分析。
本章将进行系统分析,包括功能需求分析和开发可行性分析,确保系统是否可行,并确定系统的开发和运行环境。
2.1可行性分析
2.1.1技术可行性
根据项目需求,当前社会已存在的高级语言(C++、Java、Basic、C#等)及开发软件、数据库支持足以完成该项目的开发,而且开发难度不会很大。
酒店管理系统选用WindowsXP作为操作系统,开发平台选择MicrosoftVisualC++6.0,MicrosoftSQLServer2005作为数据库,以C++作为编程语言进行开发,这几项技术都是当今社会普遍使用而且具有很强的说服力。
所以在当前的条件下,系统的功能目标能够达到;系统现阶段的发展过程中,利用现有人力和物力是完全具备的能力开发出来的,作为阶段性产品,日后的发展空间大,实现方法逐步简单容易,系统界面友好,操作也很简单。
系统开发是独自完成的,依据软件技术专业所开设的相关专业课,熟悉系统的开发环境,有一定的管理系统软件开发能力和一定的编程能力。
所以,酒店管理系统的开发在技术上是可行的。
2.1.2经济可行性
经济可行性的研究主要是对系统开发的成本估算和成本/效益分析,以确定系统是否有开发的价值。
硬件设备需要一台装主板为CPU为AMD、主频为2.10GHz内存为896MB及以上版本的计算机。
软件需要PhotoShop、MicrosoftSQLServer2005,MicrosoftVisualC++6.0等软件,不需要额外的投资,代价小。
而从效益上分析,信息化的酒店管理系统不仅方便酒店管理,减少人员的投入,节约大量资源,增加经济效益,而且在“采用自动化模式来管理酒店”这一趋势下,树立了酒店自己的企业形象,从而吸引来更多旅客来酒店消费,为酒店带来更多的流动资金,这些效益都是不可估量的。
最后从投入成本与收到效益上总结,经济上是可行的
2.2需求分析
随着酒店行业的发展,以前的人工管理方式远远不能满足酒店行业的需求。
各大酒店已经开始认识到使用管理系统的重要性。
从酒店行业的特点和实际需求出发,系统以服务顾客为基础,突出前台信息管理,从专业技术角度出发,提供科学管理模式,为酒店的服务质量提供了有效的保障。
系统的最终目标是实现酒店有效处理客人在酒店的各种消费信息,并能按照酒店的各项数据对酒店的各项工作进行成本效益分析,以便采取适当的措施提高酒店的运营效益。
具体功能如下:
前台服务模块要实现的主要功能有:
(1)信息查询:
实现对客房信息、顾客信息、物品信息、顾客押金情况的查询。
(2)客房入住管理:
实现对顾客入住登记、结账退房、客房预订登记、已预订的顾客入住、顾客补交押金、打印顾客明细账单(所有消费)的管理。
(3)顾客消费管理:
实现对顾客餐费登记、话费登记以及其他消费(主要是购买酒店的产品)登记。
(4)各种报表管理:
主要实现对客房入住报表、餐饮消费报表、电话消费报表、其他消费报表以及结账报表的查询、打印。
后台管理模块要实现的主要功能有:
(1)用户信息管理:
对前台服务的员工和后台的管理者信息设置。
(2)酒店信息管理:
主要是对用户登录管理系统后显示的酒店的基本信息进行设置。
(3)客房设置:
主要是管理者根据房间类型登记客房信息,供前台人员操作。
(4)消费物品设置:
主要用于管理员添加、删除酒店购进的供顾客消费的商品信息。
(5)财务管理:
主要实现对日收入、月收入的查询和月收入对比。
2.3系统开发与运行的环境
系统以C++为开发技术,数据库采用SQLServer2005。
基于C++技术的酒店管理系统的开发与运行环境如下。
操作系统:
WindowsXPSP2/SP3
开发环境:
MicrosoftVisualC++6.0
开发语言:
C++
数据库:
MicrosoftSQLServer2005
辅助工具:
AdobePhotoShopCS
3相关技术知识
上一章的系统分析中提到本酒店管理系统以C++为开发技术,连接数据库使用了ADO,数据库管理系统使用MicrosoftSQLServer2005。
通过阅读相关文献,学习并掌握了系统开发过程中用到的技术,下面对关键技术进行介绍。
3.1C++开发语言
C++这个词在中国大陆的程序员圈子中通常被读做“C加加”,而西方的程序员通常读做“CPlusPlus”,“CPP”。
它是一种使用非常广泛的计算机编程语言。
C++是一种静态数据类型检查的、支持多重编程范式的通用程序设计语言。
C++语言的主要优点有:
(1)C++设计成直接的和广泛的支持多种程序设计风格(程序化程序设计、资料抽象化、面向对象程序设计、泛型程序设计)。
(2)C++设计成给程序设计者更多的选择,即使可能导致程序设计者选择错误。
(3)C++避免平台限定或没有普遍用途的特性。
(4)C++在一定程度上可以和C语言很好的结合,甚至目前大多数C语言程序是在C++的集成开发环境中完成的。
C++相对众多的面向对象的语言,具有相当高的性能。
3.2MicrosoftVisualC++6.0开发环境
VisualC++6.0,简称VC或者VC6.0,是微软推出的一款C++编译器,将“高级语言”翻译为“机器语言(低级语言)”的程序。
它是Microsoft公司推出的开发Win32环境程序,面向对象的可视化集成编程系统。
它不但具有程序框架自动生成、灵活方便的类管理、代码编写和界面设计集成交互操作、可开发多种程序等优点,而且通过简单的设置就可使其生成的程序框架支持数据库接口、OLE2,WinSock网络、3D控制界面。
VisualC++6.0以拥有“语法高亮”,自动编译功能以及高级除错功能而著称。
比如,它允许用户进行远程调试,单步执行等。
还有允许用户在调试期间重新编译被修改的代码,而不必重新启动正在调试的程序。
其编译及创建预编译头文件(stdafx.h)、最小重建功能及累加连结(link)著称。
这些特征明显缩短程序编辑、编译及连结的时间花费,在大型软件计划上尤其显著。
3.3SQLServer2005
SQLServer是美国Microsoft公司推出的一种关系型数据库系统。
SQLServer是一个可扩展的、高性能的、为分布式客户机/服务器计算所设计的数据库管理系统,实现了与WindowsNT的有机结合,提供了基于事务的企业级信息管理系统方案。
其主要特点如下:
(1)高性能设计,可充分利用WindowsNT的优势。
(2)系统管理先进,支持Windows图形化管理工具,支持本地和远程的系统管理和配置。
(3)强壮的事务处理功能,采用各种方法保证数据的完整性。
(4)支持对称多处理器结构、存储过程、ODBC、ADO,并具有自主的SQL语言。
SQLServer以其内置的数据复制功能、强大的管理工具、与Internet的紧密集成和开放的系统结构为广大的用户、开发人员和系统集成商提供了一个出众的数据库平台。
MicrosoftSQLServer2005是一个全面的数据库平台,使用集成的商业智能(BI)工具提供了企业级的数据管理。
MicrosoftSQLServer2005数据库引擎为关系型数据和结构化数据提供了更安全可靠的存储功能,使程序员可以构建和管理用于业务的高可用和高性能的数据应用程序。
MicrosoftSQLServer2005数据引擎是该企业数据管理解决方案的核心。
此外MicrosoftSQLServer2005结合了分析、报表、集成和通知功能。
这可以帮助企业构建和部署经济有效的BI解决方案。
与MicrosoftVisualStudio、MicrosoftOfficeSystem以及新的开发工具包(包括BusinessIntelligenceDevelopmentStudio)的紧密集成使MicrosoftSQLServer2005与众不同。
无论是开发人员、数据库管理员、信息工作者还是决策者,MicrosoftSQLServer2005都可以为其提供创新的解决方案,帮助其从数据中更多地获益。
3.4MFC技术
MFC(MicrosoftFoundationClasses),是一个微软公司提供的类库(classlibraries),它是面向对象程序设计与Applicationframework的完美结合,它将传统的API以C++类的形式进行了分类封装,并且包含一个应用程序框架,以减少应用程序开发人员的工作量。
其中包含的类中包含大量Windows句柄封装类和很多Windows的内建控件和组件的封装类。
面对底层程序,MFC能很轻松的与WindowsAPI或驱动程序结合,就是在自己的代码中直接使用API函数,而API和驱动程序的资料都是以C语言为基础的,这使得VC程序员能够更轻松的使用WindowsAPI。
使用MFC编程的优点主要有:
(1)使用标准化的程序代码结构,有利于程序员之间的交流。
(2)VisualC++为MFC提供了大量的工具及ActiveX控件支持,提高了编程效率。
(3)MFC应用程序的效率较高,只比传统的WindowsC程序低5%左右。
并且,在MFC应用程序中还允许混合使用传统的WindowsAPI函数。
(4)其它优势:
完全支持Windows所有的函数、控件、消息、菜单及对话框;具有良好的稳定性和可移植性,更符合微软的风格等。
4系统设计
针对系统的需求分析中提出的功能需求,为实现这些需求,在此给出系统的总体设计思想、对各功能模块进行划分,以及数据库的设计。
4.1总体设计思想
系统的用户分为两类:
普通用户(前台服务员)和管理员。
普通用户(前台服务员)登录系统要凭借管理员给其分配的用户名和密码(只有三次机会)。
普通用户登录系统后通过菜单栏可以使用基本操作、信息查询、客房入住管理、客房消费管理模块。
基本操作包括修改密码和退出系统。
信息查询实现对客房信息、顾客信息、物品信息、顾客押金情况的查询。
客房入住管理实现对顾客入住登记、结账退房、客房预订登记、已预订的顾客入住、顾客补交押金的管理。
顾客消费管理:
实现对顾客餐费登记、话费登记以及其他消费(主要是购买酒店的产品)登记。
管理员也要通过用户名和密码登录系统(只有三次机会)。
管理员的功能模块包括用户信息管理、酒店信息管理、客房设置、消费品管理、数据备份。
用户信息管理实现对前台员工和后台管理员的信息设置。
酒店信息管理主要对酒店的基本信息进行设置。
客房设置主要对房间类型等信息进行客房登记,供前台人员操作。
消费物品设置主要用于管理员添加、删除供顾客消费的各类商品信息。
数据备份实现对数据库的原有数据进行备份,保证了数据安全。
4.2系统功能模块设计
系统是由前台普通用户(酒店前台服务员)模块和后台管理员模块共同实现的。
4.2.1系统流程图
系统流程图如图4-1所示。
4.2.2普通用户模块
普通用户模块主要包括基本操作、信息查询、客房入住管理、客房消费登记几个模块。
普通用户模块图如图4-2所示。
4.2.3管理员模块
管理员模块包括用户信息管理、酒店信息管理、客房设置、消费品管理、数据备份几个模块。
管理员模块图如图4-3所示。
4.3数据库的设计
数据库是管理系统必不可少的组成部分,设计一个结构合理的数据库不论是对操作的速度还是对程序的设计都至关重要。
数据库设计是指对于一个给定的应用环境,构造(设计)优化的数据库逻辑模式和物理结构,并据此建立数据库及其应用系统,使之能够有效地存储和管理数据,满足各种用户的应用需求,包括信息管理要求和数据操作要求。
数据库设计的目的是为用户和各种应用系统提供一个信息基础设施和高效率的运行环境。
4.3.1客房入住单的设计
客房入住单用于酒店前台服务人员存储入住旅客基本信息。
该数据库表主要由旅客入住登记模块管理和维护。
表结构具体说明如表4-1所示。
表4-1客房入住单
字段名称
数据类型
长度
默认值
允许空
字段描述
入住编号
bigint
长整型
无
否
自动编号、主键
房号
nchar
5
无
否
住宿房号
预收押金
float
-
无
是
已经收取押金
入住日期
nvarchar
20
无
是
开房日期
客人姓名
nvarchar
20
无
是
旅客姓名
客人性别
nchar
2
无
是
性别
证件名称
nchar
10
无
是
证件名称
证件号码
nvarchar
50
无
是
证件号码
住宿人数
int
整型
无
是
入住人数
联系电话
nvarchar
20
无
是
旅客电话
地址
nvarchar
50
无
是
旅客家庭地址
操作人员
nvarchar
20
无
是
前台服务员
说明
nvarchar
150
无
是
其它说明
4.3.2客房结帐单的设计
客房结帐单数据表用于存储旅客在离开酒店前进行结帐的费用信息,该数据表主要由结帐退房模块管理和维护。
表结构具体说明如表4-2所示。
表4-2客房结帐单
字段名称
数据类型
长度
默认值
允许空
字段描述
编号
bigint
长整型
无
否
自动编号、主键
房号
nchar
5
无
否
住宿房号(外键)
客人姓名
nvarchar
50
无
是
旅客姓名
入住日期
nvarchar
20
无
是
开房日期
结帐日期
nvarchar
20
无
是
离开日期
住宿费
float
无
是
总房费
电话费
float
10
无
是
电话消费
用餐费
float
50
无
是
总餐费
物品消费
float
无
是
总物品消费
预收押金
float
20
无
是
已收押金
结帐金额
float
50
无
是
结帐金额
操作人员
nvarchar
20
无
是
前台服务员
说明
nvarchar
150
无
是
其它说明
4.3.3操作用户表的设计
操作用户数据表用于存储普通用户(即前台服务员)和后台管理员的基本信息,该数据表主要由登录模块和后台用户管理模块管理与维护。
表结构具体说明如表4-3所示。
表4-3操作用户表
字段名称
类型
长度
默认值
允许空
字段说明
编号
bigint
长整型
无
否
自动编号、主键
用户名
nvchar
20
无
是
用户登录名
性别
nchar
2
无
是
用户的性别
密码
nchar
10
无
是
用户的登录密码
操作权限
nchar
10
无
是
管理员或普通用户
联系电话
nchar
11
无
是
用户电话
住址
nvarchar
50
无
是
用户的家庭住址
4.3.4餐费帐单表的设计
餐费帐单数据表用于酒店前台服务员或餐饮部工作人员存储入住旅客在酒店发生的餐费信息,该数据表主要由旅客餐费登记模块管理与维护。
表结构具体说明如表4-4所示。
表4-4餐费帐单表
字段名称
类型
长度
默认值
允许空
字段说明
编号
bigint
长整型
无
否
自动编号、主键
入住编号
bigint
长整型
无
否
旅客入住编号(外键)
餐费编号
bigint
长整型
无
是
餐饮部提供的编号
用餐时间
nvarchar
20
无
是
餐饮部提供的时间
金额(元)
float
浮点型
无
是
餐饮部提供的金额
记帐时间
nvarchar
20
无
是
前台记帐时间
操作人员
nvarchar
20
无
是
前台服务员
说明
nvarchar
150
无
是
其他说明
4.3.5房间价格表的设计
房间价格数据表用于存储酒店客房的房间类型以及各种类型的房间价格(/天)。
该数据表主要由后台房间价格设置模块管理与维护,并用于计算住宿费。
表结构具体说明如表4-5所示。
表4-5房间价格表
字段名称
类型
长度
默认值
允许空
字段说明
类别
nchar
10
无
否
房间类型(主键)
单价(/元)
float
浮点型
无
是
房间价格
4.3.6酒店房间表的设计
酒店房间数据表用于存储酒店客房的基本信息如房号、类别、状态等,该数据表主要由后台管理的房间设置模块和前台服务的旅客登记模块进行管理和维护,当旅客在酒店前台进行入住登记或预约登记时酒店前台服务员可以通过此表查询房间状态以及类型(可容纳人数)。
表结构具体说明如表4-6所示。
表4-6酒店房间表
字段名称
类型
长度
默认值
允许空
字段说明
房号
nchar
5
无
否
房牌号(主键)
类别
nchar
10
无
否
房间类别(外键)
楼层
nchar
20
无
否
房间所在楼层
状态
nchar
10
无
否
满、已预订或空
4.3.7话费帐单表的设计
话费帐单数据表用于存储旅客在酒店期间使用入住房间电话发生的费用,该数据表主要由旅客话费登记模块管理与维护。
表结构具体说明如表4-7所示。
表4-7话费帐单表
字段名称
类型
长度
默认值
允许空
字段说明
编号
bigint
长整型
无
否
自动编号、主键
入住编号
bigint
长整型
无
否
旅客入住编号(外键)
话费编号
bigint
长整型
无
是
自动编号、话费编号
通话时间(分钟)
int
整型
无
是
通话总时间
单价(元/分钟)
float
浮点型
无
是
话费单价
记帐时间
nvarchar
20
无
是