《C++酒店管理系统课程设计(共22页).doc》由会员分享,可在线阅读,更多相关《C++酒店管理系统课程设计(共22页).doc(22页珍藏版)》请在淘文阁 - 分享文档赚钱的网站上搜索。
1、精选优质文档-倾情为你奉上 目录第一章 系统概述21.1 前言21.2 开发语言简介31.3 本系统简介3第二章 系统可行性分析42.1技术上可行性42.2 经济上可行性42.3 管理上的可行性4第三章 系统需求分析63.1系统主要功能63.2系统数据流图 .63.3 数据字典7第四章 系统设计94.1系统总体设计94.1.1系统功能分析94.1.2系统软件结构图104.2 系统详细设计104.2.1系统详细设计目标规划104.2.2 系统详细设计任务114.2.3 系统物理配置方案设计114.3 系统输出设计124.4 系统输入设计124.4.1输入设计原则124.4.2数据输入设备的选择1
2、24.4.3输入检验设计124.4.4错误改正方法12第五章 系统实现135.1 系统运行环境135.2 系统实现关键技术135.2.1 ADO.NET数据访问技术135.2.2 系统主要控件145.2.3 基本数据库操作145.3 系统采用的设计模式14第六章 总结16第一章 系统概述1.1 前言随着计算机技术的飞速发展,信息时代的到来,信息改变了我们这个社会。各类行业在日常经营管理各个方面也在悄悄地走向规范化和网络化。客房管理的信息化程度体现在将计算机及网络与信息技术应用于经营与管理,以现代化工具代替传统手工作业。无疑,使用网络信息化管理使客房管理更先进、更高效、更科学,信息交流更迅速。酒
3、店客房管理系统是典型的信息管理系统的一部份,而且是必不可少的一部份。其开发主要包括后台数据库的建立和维护以及前端应用程序的开发两个方面。对于前者要求建立起简洁且资料一致性和完整性强、资料安全性好的数据库。而对于后者则要求应用程序功能完备,易使用等特点。酒店客房管理系统是酒店经营管理中不可缺少的部分,它的内容对于经营的决策者和管理者来说都至关重要,所以客房管理系统、信息管理系统应该能够为用户提供充足的信息和快捷的查询手段。但一直以来人们使用传统人工的方式管理文件档案,这种管理方式存在着许多弊端,如:效率低、保密性差,容易出现差错等,且对于查询空房间及已定房间等极为不方便。在当今时代,这些完全可以
4、改用计算机来代替人的手工操作。作为计算机及网络应用的一部分,使用计算机对客房信息进行管理,具有手工管理所无法比拟的优点。例如:检索迅速、查找方便、可靠性高、存储量大、保密性好、寿命长、成本低等。这些优点能够极大地提高客房经营管理的效率,也是企业的科学化、正规化管理,与世界接轨的重要条件。且办事效率也是决定收入的一个关键因素。因此,我决定选择酒店客房管理系统作为本人的毕业设计,力求开发出一套界面友好,功能强大,使用简单的适用于各大、中、小规模的酒店客房的管理系统。同时也是一款完全适合宾馆或旅馆酒店客房管理傻瓜式日常业务管理的软件。1.2 开发语言简介经过分析,我使用Microsoft公司的Vis
5、ual Studio 2005作为开发工具和Microsoft SQL Server2000作为后台数据库管理,利用Visual Studio 2005提供的各种面向对象的开发工具,首先在短时间内建立系统应用原型,然后,对初始原型系统进行需求迭代,不断修正和改进,直到形成用户满意的可行系统。Microsoft的Visual Studio 2005作为一种面向网络、支持各种用户终端的开发平台环境,推动新一代因特网的发展,真正地让人们可以在任何时间、任何地点、通过任何设备得到信息。C是专门为.NET应用而开发出的语言,它能够建造所有的.NET应用。其固有的特性保证了它是一种高效、安全、灵活、面向对
6、象的现代程序设计语言。从最普通的应用到大规模的商业开发,C与 .NET平台的结合将为用户提供完整的解决方案。Microsoft SQLServer2000作为现代信息系统后台数据库管理工具,有其它数据库管理工具无法比拟的方便完全。且应用SQL 2000存储的数据量要远大于ACCESS等其它的数据库管理程序。因此我应用Microsoft SQL Server2000作为后台数据库管理器。1.3 本系统简介现代化的酒店组织庞大、服务项目多、信息量大,要想提高劳动生产、降低成本、提高服务质量和管理水平,进而促进经济效益,必须借助计算机来进行现代化的信息管理。酒店管理系统正是为此而设计的。优秀的酒店客
7、房管理系统操作方便,灵活性好,系统安全性高,运行稳定。这也是我所设计本程序的目的之一。本系统针对用户和客户以及客房的管理采用了当今常用的C/S结构而设计。这样只需要一台计算机作为服务器即可。前台应用只需有一台可连入局域网的计算机,这样就可省去C/S结构中的每台客户机都要安装客户端程序的麻烦。本系统也分为后方管理和前台应用两大部分。其中后台管理分为:用户信息维护、客房信息维护、客房类型维护、营业情况统计和个人密码修改几个模块。前台应用可分为:显示所有房间信息、显示空闲房间信息(订房)和显示已租房间信息(退房)三个模块。 第二章 系统可行性分析2.1技术上可行性编写语言:采用C#语言进行编写。C#
8、是一种安全的、稳定的、简单的,由C和C+衍生出来的面向对象的编程语言。它在继承C和C+强大功能的同时去掉了一些它们的复杂特性(例如没有宏 和模版,不允许多重继承)。C#综合了VB简单的可视化操作和C+的高运行效率,以其强大的操作能力、优雅的语法风格、创新的语言特性和便捷的面向组件 编程的支持成为.NET开发的首选语言。由于对C#技术比较熟练,对于系统较为简单的,但基本功能较为完善的现代酒店管理系统来说是基本没有问题的。编程平台:编程平台采用Visual Studio 2005.它已被证明是一个极其强大和成功的开发平台,其成熟稳定能够充分保证软件设计的顺利进行。数据库:数据库采用微软的SQL S
9、erver 2000,虽然该数据库版本不是最新的,但其工作稳定,功能强大,资源耗费较少,所以能够充分满足目前的需要。以上所用技术都是成熟的,先进的,稳定的。因此,开发本系统在技术上是可行的。2.2 经济上可行性经济上主要考虑本系统带来的效益是否大于开发本系统的成本,由于本系统的开发以课程设计为依托,参与人员的目的以学习为主,投入成本比较小。另外,系统管理员和业务员都拥有计算机的专业知识,酒店前台工作人员和管理人员不需要经过培训或只需要经过少量培训即可操作本软件。这样可以为开发本系统节升资金。同时无纸化办公可以节省资源,减少后期资源浪费。因此,开发本系统在经济是可行的。2.3 管理上的可行性由于
10、本系统功能比较简单,对于工作人员不存在太大难度。加上业务员一直在使用原来老版本的酒店管理系统,对该类软件操作是很熟悉的。对于系统管理员来说,因为系统管理员拥有维护数据库系统的技能,对数据库中的数据进行添加、删除、更新等操作是没有问题的。因此,开本系统在管理上是可行的。在本系统的运营阶段,使用系统的工作人员,除了需要具备在Windows平台上使用个人电脑的知识,并不需要特别的技术能力。这方面的知识,在该酒店与本项目运营相关的直接人员中已经具备。系统技术维护支持工作,在初期仍由硬件供应商及本人完成。在酒店信息化建设及业务拓展到适当规模后,将由酒店雇用专业技术人员担任此项工作。在具体实施过程中,公司
11、同意建立这样的运营管理机制:由公司管理层一名高级管理人员领导;同时,采购部负责对系统运营过程中的计算机耗材的供应。综上所述,开发本系统,在经济上、技术上、管理上都是可行的。专心-专注-专业第三章 系统需求分析3.1系统主要功能系统功能分析在系统开发的总体任务的基础上完成。主要功能是: 有关客房类型的制定:客房类型名、房间面积、床位数量、住房单价、是否有空调、电视机、电话以及单独卫生间等。 客房标准信息的添加、修改、查询等。 客房基本信息制定:包括客房编号、客房类型名、客房楼层、客房单价、备注等。 客房基本信息的添加、查询、修改:包括客房编号、客房类型、客房位置、客房单价、备注等 剩余空房、客房
12、未满信息的查询 客户入住信息录入:客户姓名、性别、籍贯、联系电话、备注等。 结算信息的记录,包括客房编号、客房类型、客房单价、客户编号、客户姓名、入住日期、折扣、结算日期、总金额、备注信息等。 结算后发票打印。3.2 系统数据流图分析调查酒店业务流程和根据系统功能分析得出本系统的数据流图如下: 1住宿登记 F3 住宿登记 D1 客户信息 F1 查询房态 D3 登记表 D2 预收金额表 D4 客房信息表2顾客结帐 F2 住宿登记单 F4 退房 D5 退房信息表 F5续定3 顾 客续 费 图3-1 宾馆管理数据流图3.3 数据字典表3.1客户信息存储表 数 据 存 储条目名: 客户信息记录数:记录
13、所有客户信息主关键字: 客户号 记录组成:项目: 客户ID+客户姓名+性别+籍贯+联系电话表3.2客房信息存储表 数 据 存 储条目名:客房信息 记录数:记录所有房间信息主关键字:客房号记录组成:项目: 客房编号+客房类型+客房楼层+单价+备注信息 表3.3客房类型信息存储表 数 据 存 储条目名: 房间类型记录数:记录房间类型主关键字:房间类型名 记录组成:项目: 房间类型名+面积+额定床数+额定人数+空调+电视+卫生间+电话+备注信息 表3.4客房类型信息存储表 数 据 存 储条目名:收入明细账记录数:只记录当前识别的登记记录,记录数不限,结账后转入历史收入明细账主关键字:客编号 记录组成
14、:项目: 客房编号+客房类型+客房单价+客户编号+客户姓名+入住日期+折扣+结算日期+总金额+备注信息第四章 系统设计4.1系统总体设计4.1.1系统功能分析客房信息管理功能模块包括客房标准信息设置模块和客房信息设置模块。客房标准信息设置模块主要实现:l 客房标准信息设置l 客房标准信息添加l 客房标准信息修改 l 客房标准信息删除客房信息设置模块主要实现:l 客房信息查询l 客房信息添加l 客房信息修改l 客房信息删除顾客登记信息管理包括:1剩余客房信息查询:可以通过系统对宾馆内剩余的客房进行查询,可以了解到未被预定及未被使用的客房的编号、客房编号、客房类型、客房位置、客房单价等。2订房信息
15、的添加:通过宾馆管理系统可以对入住的顾客的信息进行添加。包括顾客的身份证号码、顾客的姓名、以及对顾客所住的客房的有关信息的添加,包括客房编号、客房种类、客房位置、客房单价、入住日期、折扣、备注信息等。3订房信息的修改:通过系统可以随时对里面的信息进行修改,包括对客房编号、客房种类、客房位置、客房单价、顾客姓名、顾客身份证号码、入住日期、折扣等的修改。4订房信息的查询:通过系统可以查询到在住顾客的信息包括客户号、顾客的姓名等。还可以查到该顾客所住的客房编号、客房种类、客房位置、客房单价、入住日期、折扣等。4.1.2系统软件结构图根据上述系统功能分析,能得出下面系统软件结构图:酒店信息管理系统结账
16、信息管理订房信息管理客房信息管理系统管理结账信息查询结账信息修改结账信息添加订房信息查询订房信息修改订房信息添加剩余客房信息查询设置客房信息设置客房标准密码管理用户管理客房信息查询客房信息修改客房信息添加客房标准修改客房标准添加续订信息管理续订信息添加图4-1 系统软件结构图4.2 系统详细设计4.2.1系统详细设计目标规划在此阶段设计出具体能够运行的系统,详细列出新系统的各种参数与规格。为即将用C# 编程语言对其进行编写做好准备。4.2.2 系统详细设计任务(1)算法过程的设计:本详细设计采用的是流程图的方式来表达每个处理过程的算法;(2)数据结构的设计:对于处理过程中涉及的概念性的数据类型
17、进行确切的定义;(3)测试用例设计:测试用例包括输入数据和预期结果等内容。4.2.3 系统物理配置方案设计1 设计指标(1) 系统的可靠性该系统要求24小时不间断工作工作,发生错误的概率低于0.01%。(2) 系统吞吐量要提高系统的吞吐量,就要求使用具有大吞吐量的计算机。应该选择具有较高性能的计算机。(3) 系统响应时间响应时间不超过2秒(4) 系统处理方式该系统采用主机系统方式。(5) 地域范围本系统采用局域网方式。(6) 数据管理方式使用MS SQL Server2000数据管理系统2 计算机硬件配置计算机硬件选择取决于要运行的软件系统,本系统建议最低采取如下配置:内存:128MBCPU:
18、奔三1.0GHZ以上硬盘:空余空间4G4.3 系统输出设计输出设计的内容包括:(1) 输出信息应包括系统的使用者,如客户、酒店管理人员、前台服务人员、保洁人员等。 (2) 信息应以表格及文档形式输出。(3) 输出设备:打印机、终端显示器、Pos机。(4) 输出介质:输出到专用纸张及电脑屏幕上。4.4 系统输入设计4.4.1输入设计原则(1) 输入数据量设计需要输入客户数据,数据量不大(2) 输入错误检测检测客户登记状态,确保不会重复登记或登记错误4.4.2数据输入设备的选择本系统选择键盘、鼠标人工输入方式。4.4.3输入检验设计本系统对输入检验设计的地方有如下几处:(1) 当前台工作人员输入客
19、户数据时,系统会自动检测该信息是否已在系统中存在。 (2) 当业务员输入房间号时,系统会检测该房间号是否存在,若不存在会提示酒店没该房间。4.4.4错误改正方法系统出现错误时,将弹出提示框。并允许工作人员改正。第五章 系统实现5.1 系统运行环境机型:PC台式机处理器:奔三1.0G或更高 内存:128M或更高硬盘:4G或更高输入输出设备:键盘、扫描仪、打印机、显示器等。数据库软件:Microsoft SQL Server 2000编程工具、编程语言:C#编译软件:Microsoft Visual Studio 2005操作系统:Microsoft Windows XP5.2 系统实现关键技术5
20、.2.1 ADO.NET数据访问技术 ADO.NET,其提供对各种数据库访问的标准接口。包括的主要对象有:连接对象Connection:连接时必须指定要连接到的数据源以及连接所使用的用户名和口令等信息。命令对象Command:可以通过已建立的连接发出命令,对数据源进行指定的操作。 记录集对象Dataset:查询命令可以将查询结果存储在本地,这些数据以“行”(记录)为单位,返回数据的集合被称为记录集。字段对象Row:一个记录集行包含一个或多个字段。如果将记录集看作二维网格,字段将排列起来构成列。每一字段(列)都分别包含有名称、数据类型和值的属性。 5.2.2 系统主要控件如ListView, A
21、DO.NET等与数据库连接与操作相关的控件的基本设置与使用。还有基本对话框,Button,Text Box,CheckBox,Combox等基本控件的基本操作。了解windows的消息响应函数,和基于对话框的编程等基本原理及思想。5.2.3 基本数据库操作如select,update,delete等基本sql语句的使用。如创建基本表,视图,设置主键等基本操作。5.3 系统采用的设计模式将对数据库的操作独立制作成COM组件,实现数据库开发的三层体系结构,即数据库、中间层和前端应用程序。如登陆模块的实现则是采用了三层设计的结构。系统运行截图:图5-1用户登录界面 图5-2业务员权限界面图5-3客房
22、信息管理界面图5-4管理员权限界面第六章 总结通过一段时间的设计与编写,该酒店管理系统终于有了一个比较完整的框架。现将心得体会总结如下:由于时间仓促,这暂时只是一个简单的管理系统,但从设计这个系统的过程中,我感受到了关于软件工程,数据库设计、商业管理等各方面知识在实际工作中的应用。在开发该系统过程中,我始终坚持以下四项原则,并朝相应目标靠拢: (1)、实用为主任何系统都应该以用户需求为最终目标,以方便用户为最高原则,同进要融入先进的管理经验与技巧。该系统努力根据用户的实际需求功能情况,度身订造一套先进的管理系统,并且将在统一的Windows NT/9X图形界面下提供各种实用功能,尽可能降低使用
23、前的培训、实施和使用中的维护时间。力求满足现在及未来的各种需求,真正为管理及决策提供强有力的支持。(2)、稳定可靠不论在软件设计还是硬件制造中,稳定都是压倒一切的。本管理系统通过选用先进的开发软件,成熟的网络结构及安全可靠的数据库,再配合硬件的优化选型,从而保证系统的可靠性与容错性。(3)、先进灵活系统充分应用现有成熟的网络技术、软件开发技术,先进的客户/服务器结构,及高性能的数据库,满足大型客户的日常运营、开展电子商务等的需要。同时用户可自行灵活设置参数和各种代码,适应自己的特殊需要。(4)、维护扩展方便本系统的所有设计均遵循国际上现行的标准进行,以提高系统的开放性,方便以后业务的扩展和系统
24、扩容,便于软、硬件的维护、升级等,使系统能适应企业未来的需要。在开发该酒店管理系统的同时,我也经常在互联网上搜集资料,了解中国酒店、宾馆等管理系统的开发与使用情况。在90年代初发展起来的国内的酒店管理系统,充分吸收了国外管理系统的精华,再结合国内的实际情况,逐步发展成熟,到20世纪前几年已形成了几个较成熟的软件系统,同时,产生了几家专职从事宾馆业计算机管理系统的公司。到了近几年,随着计算机在酒店中的普及应用,计算机技术的不断发展,酒店管理系统的发展到了一个新的时期,新的系统平台、新的系统特点及发展方向不断涌现,主要体现在系统基本转到客户机/服务器模式下的Windows版,功能更加细致完善,系统
25、更加稳定可靠。据一位业内人士称:“对软件开发商来说,小的软件商慢慢淘汰。对用户来说,国内大的系统慢慢进入五星级酒店市场,而以前基本被国外系统所垄断。”酒店管理系统市场前景广阔,利润回报丰厚。但事实上,酒店业本身早就进入了微利甚至亏损时代,加之市场竞争激烈,软件开发商的单个项目利润大不如前,从而导致一些实力不足的开发商被淘汰出局。使用了该系统的酒店,因为失去了原开发商的技术支持,也不得不更换软件系统,从而造成投资上的浪费。一方面是整个行业没有一个自律机构,国家没有一定的评审机制及相应的等级制度,使一些根本无条件的公司能进入市场参加竞争。另一方面,目前酒店业的投资主体各种各样,对软件的重要性认识不
26、够,要么误选开发商,要么不正常压价,导致酒店和正规软件商双方均被损害利益。 固然,酒店业涉及的信息系统和产品众多,却缺乏统一的行业标准使各个供应商相互协调,一方面造成资源浪费与互不兼容,另一方面也阻碍了整体水平的提高,无法完全符合酒店的需要。在技术开发与酒店需求上,酒店IT现存需求-供给矛盾:其一:技术功能与酒店需求错位。目前的管理软件系统未能有效解决酒店目前面临的关键问题-销售与成本控制。现在酒店管理软件多是用于内部运作和管理,其主要诉求点在于提高效率,还谈不上直接降低成本。在某种程度上,酒店运用电脑以后,人工成本未必降低,甚至有可能增加。运用计算机以后,仅是管理的量化程度提高、数据的流转速
27、度加快。然而酒店迫在眉睫的矛盾是,在行业不景气的情况下,总在权衡投入成本与产出效益的比重。在中国酒店行业尚处于比较困难的现阶段,开源节流尤为重要,直接对市场的技术要求日益凸显,而目前酒店直接面对市场的销售手段还停留在拜访、打电话、发传真等传统形式。现有的软件不能直接帮助开源节流,这是目前技术与需求的差距。一个软件开发商发出这样的感叹:“目前再好的酒店软件也不能使酒店的经营有特色,对客人有直接影响。譬如,已在其他行业运用得非常纯熟的CRM(客户关系管理)概念,在酒店国内的酒店业中尚未得到充分应用。” 这也是酒店不愿意在IT方面投入更多的主因之一。其二:科技与服务主体错位。目前的酒店IT未能直接对
28、客服务,而只是辅助管理的“幕后英雄”。国外酒店集团IT运用的成功典范有:Marriott作为企业战略一部分的收益管理系统,通过自动识别,挖掘单一客人的消费潜力,增加整体收入。 Calson的全球预订系统,是业内最高效最具扩展能力的预定系统,同时还通过一个在线数据库实施全面顾客满意计划。Courtyard的IntraNet把所有的内部手册和印刷物电子化,减少了耗材和劳动力成本。Ritz-Carlton设立专职为住客提供IT方面的技术支持服务。Radisson为旅行社提供的在线预定系统根据订出的客房数量回报给旅行社。IMPAC在每个酒店的大堂摆放触摸屏设备,进行顾客满意度调查。Promus通过电脑
29、化的绩效工资系统,增强了员工的士气,减少服务中的差错。总体而言,国内酒店IT技术开发的现状是:1、需求不明确,使酒店项目工程性强,产品化不足,开发商的总体成本居高不下,研发缺乏原动力。2、没有行业统一标准,厂商各自为政,市场分化导致产品整合难度大。3、产品推广依赖行政手段和关系网,抑制了新技术的引进和技术的创新,不利于形成自己的产品特色和质量控制。4、国外优秀品牌的低价进入,垄断了国内高星级市场,开发商利润空间式微。附录系统实现代码:(1) 用户登陆实现代码:(2) using System;(3) using System.Collections.Generic;(4) using Syst
30、em.ComponentModel;(5) using System.Data;(6) using System.Drawing;(7) using System.Text;(8) using System.Windows.Forms;(9)(10) namespace 酒店管理系统(11) (12) public partial class 用户登录界面 : Form(13) (14) public 用户登录界面()(15) (16) InitializeComponent();(17) (18)(19)(20) private void button1_Click(object sende
31、r, EventArgs e)(21) (22) if (boSelectuser.SelectedItem.Equals(管理员) /如果是管理员,就登陆到管理员权限界面(23) (24) if (this.textUsername.Text.Equals(admin) & this.textPassword.Text.Equals(admin)(25) (26) Form mainform = new 管理员权限界面();(27) mainform.ShowDialog();(28) (29) else(30) (31) MessageBox.Show(错误的用户名或密码,请重新输入!);
32、(32) (33) (34) else if (boSelectuser.SelectedItem.Equals(业务员) /如果是业务员,就登陆到业务员权限界面(35) (36) if (this.textUsername.Text.Equals(salesman) & this.textPassword.Text.Equals(sale)(37) (38) Form sale = new 业务员权限界面();(39) sale.ShowDialog();(40) (41) else(42) (43)(44) MessageBox.Show(错误的用户名或密码,请重新输入!);(45) (4
33、6) (47) (48)(49) private void button2_Click(object sender, EventArgs e)(50) (51) this.textUsername.Text= null;(52) this.textPassword.Text = null;(53) (54) (55) (2) 管理员权限界面实现代码:using System;using System.Collections.Generic;using System.ComponentModel;using System.Data;using System.Drawing;using System.Text;using System.Windows.Forms;namespace 酒店管理系统 public partial class 管理员权限界面 : Form public 管理员权限界面() InitializeComponent(); private void button1_Click(object sender, EventArgs e) Form roominfoform = new RoomInfoMaForm(); roominfoform.ShowDialog();
限制150内