第一章 前言
1.1 课题的项目背景
随着我国加入世界贸易组织,酒店服务业与国际市场接轨已成为大势所趋,酒店要迎接这场挑战,就必须提高整体竞争能力,提高整体竞争能力必须变革酒店的管理模式,提高管理水平,实施信息化建设无疑是实现这一目的的必由之路和明智之举。目前,我国酒店服务业信息化管理的进程缓慢,跟国外的酒店相比管理依然落后。在激烈的酒店业竞争中,如何能把握机会,保持自己的优势,立于不败之地呢?这就需要提供最好的服务,提供最完善的设施和最先进的技术。一个成功的酒店,其经营者不仅要提高服务水平和服务质量,从而提高客房占有率和回头率,还要有好的工作效率,并控制成本。在信息时代,更重要的是还必须要有一个完善的管理信息系统,便于方便客人和更好地管理酒店。
一套优秀的酒店管理信息系统应该是一套适用于星级酒店使用的优秀系统,操作简单、灵活性好、系统安全性高、运行稳定,是管理者的理想选择。我的毕业设计题目就是设计一个基于B/S的酒店管理信息系统,在前期的考察和分析之后,对系统进行了设计,虽然受水平所限,实践经验十分匮乏,独立完成一套完备的优秀的酒店管理信息系统有很大的难度,但是我努力在实践中巩固以及整理自己在大学期间所学的知识,尽量把这个系统设计的更好。
1.2 课题的现实意义
近年来,随着我国改革开放的发展,国内的酒店服务业得到了日新月异的发展。现代酒店作为一体化的接待场所,是一个旅游城市的窗口,也可以说是一个小型社会。作为一种以服务为主的无烟工业,世界各国对此行业的重视程度并不亚于其它工业。
酒店在其运作期间,服务水平的高低,直接影响到酒店的形象和声誉,如:服务的安排、调度是否周到;客人的要求是否能迅速、很好地得到满足;市场的预测分析是否快捷、准确等。这其中的核心就是对每天大量的信息(客人、费用、房间等)的正确处理和保存。采用计算机这一现代化工具作为管理的辅助手段是必须的。计算机的应用包括OA(办公自动化)、MIS(管理信息系统)、CAD(计算机辅助设计)等,酒店的计算机系统正是典型的MIS应用。
本酒店管理信息系统,是针对酒店、酒店的具体业务而开发的,业务管理以酒店的订房管理为核心,为用户提供迅速、高效的服务,减免手工处理的繁琐与误差,及时、准确地反映酒店的工作情况、经营情况,从而提高酒店的服务质量,并配合现代化的酒店管理,获得更好的经济效益。就经济效益而言,酒店的计算机应用是:
(1)间接性的:其经济效益不是直接产生的,是通过对人力、物力的节省而带来的,可以堵塞许多漏洞;
(2)长期性的:计算机的投资是较大的,是在长期的应用中逐步得到回报的;
(3)社会效益:酒店是一个高层次的服务行业,采用计算机可提高服务质量,有良好的社会形象。
第二章 综述
电子计算机科学的飞速发展,给酒店计算机应用带来了蓬勃生机,出现了酒店计算机管理信息系统、安全保卫系统、电子门锁系统、酒店信息服务系统、客房电脑保险系统以及计算机娱乐系统。计算机在酒店中的应用,已深入到酒店的各个部门,特别在信息处理领域,计算机已成为最重要的工具。在酒店现代管理理论中,酒店管理信息系统已成为酒店现代科学管理的重要内容,是酒店经营必不可缺少的现代科学工具。
2.1 酒店管理信息系统的作用
酒店计算机管理就其表现形式看就是对酒店大量的常规性信息的输入、存储、处理和输出过程,其作用主要表现在以下几个方面:
(1)提高酒店的管理效益及经济效益
应用酒店管理系统通过节省大量的人力物力,增加酒店的服务项目,提高酒店的服务档次,减少管理上的漏洞,从整体上提高酒店的经济效益。如完善的预订功能可防止有房不能租或满房重订的情况出现,可随时提供准确的房间使用和预订情况,从而提高客房出租率。客人费用的直接记帐,可有效防止逃帐的发生。完善的分析功能可用于市场销售,如确定宣传的重点地区和如何掌握价格的浮动等。正确控制房价,控制客人优惠,从而减少管理漏洞,提高客房收入。
(2)提高服务质量
由于计算机处理信息的速度很快,可以大大减少客人入住、结帐的等候时间,提高对客服务质量。快速的客人信息查询手段,使客人得到满意的答复。餐费、电话费、洗衣费等费用的一次性结帐,不仅方便了宾客,也提高了酒店的管理水平。清晰准确的账单、票据、表格,使客人感到高档次的享受。完善的预订系统,使客人的入住有充分的保证。完善的客史档案管理更使客人的“个性化”服务得以很好的实施。利用计算机保存大量的客人历史资料,通过统计分析,可对常客或消费额达到一定数量的客人自动给予折扣;也可对客人的消费特点进行分析,总结出客人生活方面的要求和特点,研究如何为客人提供更合适的个性化服务,如安排房间、提供就餐等。
(3)提高工作效率
计算机管理可大大提高业务运作的速度和准确性。电脑资料的正确保存避免了抄客人名单的低效工作,严格的数据检查避免手工操作的疏忽而造成的错误,票据的传送、登记、整理、复核等一系列的繁重劳动也可大为减少。
(4)完善酒店内部管理体制
科学、正规、系统的酒店软件系统在酒店管理体系中还发挥着强有力的稳定作用,可明显地减少员工及管理人员的流动对酒店管理运作的不良影响。系统提供的多种安全级别,保证各类数据不被无权过问的人查阅和操作。每天的审核制度,各种费用的优惠控制,应收账款的管理,员工工作量的考核,员工操作过程的跟踪,均可加强酒店管理。
(5)全面了解营业情况,提高酒店决策水平
酒店信息系统能提供完备的历史数据,可使管理人员很方便地完成复杂的统计分析工作,并加强对酒店运营的内部控制,增强管理人员的控制决策水平。
2.2 酒店信息管理软件的发展与展望
随着酒店业的日益发展,计算机在酒店中的应用日渐普及,对酒店信息管理系统的要求将越来越高,特别是系统集成化、决策支持DSS、客户关系管理CRM、办公自动化OA、网络中心实时订房等。随着Internet的发展普及,基于B/S结构的酒店管理软件的出现,随着国产软件的进一步发展和提高,国内软件替代进口软件,成为高星级酒店主流管理软件也将成为必然。
第三章 系统需求分析
3.1 系统目标
本系统的总目标是为用户提供迅速、高效的服务,减免手工处理的繁琐与误差,及时、准确地反映酒店的工作情况、经营情况,从而提高酒店的服务质量,获得更好的经济效益。具体的目标包括:
(1)快速办理客人入住、退房的速度,实现客人在酒店消费自动化;
(2)准确无误地记录客人的每笔消费记录;
(3)实时、快速、准确提供客房动态;
(4)方便查询客人的消费情况。
3.2 系统功能分析
主要功能是:
前台:
1. 酒店的前台宣传。
2. 顾客留言。
3. 网上预订房间(订房过程为:选择你中意的房间,进行预订,付费,酒店人员确认付款成功后电话与你联系确定订房成功)。
后台:
1. 对客房标准的处理。
2. 对客房信息的处理。
3. 对订房信息的处理。
4. 对结算信息的处理。
5. 顾客商品消费管理。
6. 发票打印。
7. 对前台的管理。
3.3 数据的流程图及DFD图
3.3.1 数据流程图
3.3.2 DFD图
图2 0层DFD图
图3 1层DFD图
3.4 信息采集与各部门的使用权限
对于网上信息的使用权限和责任规定如下:
表1 管理员权限表
客房信息 | 订房 | 结算 | |
客房部员工 | ? | 0? | 0? |
客房部经理 | 0? | 0? | 0? |
0代表登录,修改,添加,处理权。?代表查询权。
第四章 方案论证
传统的信息处理系统数据处理多由服务器完成,数据通过网络传输,对服务器和网络的要求较高,系统投入使用后随着业务量、储存数据和客户端连接数量的不断增加系统的负荷会越来越大,当这种负荷达到一定程度的时候就会造成系统运行的不稳定和性能下降,这又需要投入一大笔资金升级系统了,并且升级时,所有的客户端都要进行升级,浪费了大量的人力物力。
本课题的研究思路就是采用B/S结构,利用价格相对低廉的设备构建一个安全可靠的管理信息系统,尽量地减少服务器和网络的负荷,使业务量的增加不会对整个系统的负荷有太大地影响,且使系统在升级时并不会要求客户端进行处理,只要在服务器上将系统升级,客户端就直接可以通过浏览器使用最新的系统。
4.1 系统架构
在讨论酒店管理信息系统的架构之前,先了解一下计算机网络发展的过程。计算机网络发展主要经历了以下几个阶段:
(1)主机/终端(Mainframe/Terminal)模式;
(2)文件服务器/工作站(FileServer/Workstation)模式;
(3)客户机/服务器(Client/Server)模式;
(4)浏览器/服务器(Browser/Server)模式。
从应用软件的角度来看,客户机/服务器网络模式下的软件结构简称为C/S结构,浏览器/服务器网络模式下的软件结构简称为B/S结构。现在C/S结构和B/S结构得到了广泛的应用,主机/终端(Mainframe/Terminal)模式和文件服务器/工作站(FileServer/Workstation)模式在新构建的系统中已很少使用。
B/S结构(Browser/Server结构)结构即浏览器和服务器结构。它是随着Internet技术的兴起,对C/S结构的一种变化或者改进的结构。在这种结构下,用户工作界面是通过WWW浏览器来实现,极少部分事务逻辑在前端(Browser)实现,但是主要事务逻辑在服务器端(Server)实现,形成所谓三层3-tier结构。这样就大大简化了客户端电脑载荷,减轻了系统维护与升级的成本和工作量,降低了用户的总体成本(TCO)。以目前的技术看,局域网建立B/S结构的网络应用,并通过Internet/Intranet模式下数据库应用,相对易于把握、成本也是较低的。它是一次性到位的开发,能实现不同的人员,从不同的地点,以不同的接入方式(比如LAN, WAN, Internet/Intranet等)访问和操作共同的数据库;它能有效地保护数据平台和管理访问权限,服务器数据库也很安全 。B/S结构最大的优点就是可以在任何地方进行操作而不用安装任何专门的软件。只要有一台能上网的电脑就能使用,客户端零维护。系统的扩展非常容易,只要能上网,再由系统管理员分配一个用户名和密码,就可以使用了。甚至可以在线申请,通过公司内部的安全认证(如CA证书)后,不需要人的参与,系统可以自动分配给用户一个账号进入系统。B/S架构管理软件更是方便、快捷、高效,本系统采用的就是B/S架构设计的软件。
4.2 系统架构图
按照需求分析的描述,把酒店管理信息系统分成前台接待子模块、前台结算子模块、商品消费子模块等几个功能相对独立而又相互联系的子模块。各子模块的数据均由系统数据库服务器提供,可以实现各自独立运行和操作,各子模块之间通过特定的接口进行彼此交换数据。以下是本系统的系统架构图:
4.3 开发工具选择
现在流行的B/S架构的开发工具有ASP,JSP,PHP,ASP.NET等,虽然这些开发工具各有特点,但从易用性,开发速度,应用程序的运行速度方面考虑ASP.NET无疑是当中的佼佼者。在选择开发工具时需要考虑的问题包括:
1. 开发工具本身的性能。
2. 稳定性和可靠性。
3. 可视化开发。
4. 面向对象技术。
5. 开放性。
6. 团队开发能力。
7. 数据库访问能力。
8. 支持数据库产品的扩展能力。
9. 数据访问速度。
10. 对不同解决方案的支持能力。
ASP.NET的特点:
1) 执行效率的大幅提高ASP.NET是把基于通用语言的程序在服务器上运行。不像以前的ASP即时解释程序,而是将程序在服务器端首次运行时进行编译,这样的执行效果,当然比一条一条的解释强很多。
2) 世界级的工具支持 ASP. NET构架是可以用Microsoft(R)公司最新的产品 Visual Studio.net开发环境进行开发,WYSIWYG(What You See Is What You Get所见即为所得)的编辑。这些仅是ASP.net强大化软件支持的一小部分。
3) 强大性和适应性 因为ASP. NET是基于通用语言的编译运行的程序,所以它的强大性和适应性,可以使它运行在Web应用软件开发者的几乎全部的平台上(笔者到现在为止只知道它只能用在Windows 2000 Server上)。通用语言的基本库,消息机制,数据接口的处理都能无缝的整合到ASP.NET的Web应用中。ASP.NET同时也是language-independent语言独立化的,所以,你可以选择一种最适合你的语言来编写你的程序,或者把你的程序用很多种语言来写,现在已经支持的有C#(C++和Java的结合体),VB,Jscript。将来,这样的多种程序语言协同工作的能力保护您现在的基于COM+开发的程序,能够完整的移植向ASP. NET。
4) 简单性和易学性 ASP. NET是运行一些很平常的任务如表单的提交客户端的身份验证、分布系统和网站配置变得非常简单。例如ASP.NET页面构架允许你建立你自己的用户分界面,使其不同于常见的VB-Like界面。另外,通用语言简化开发使把代码结合成软件简单的就像装配电脑。
5) 高效可管理性 ASP. NET使用一种字符基础的,分级的配置系统,使你服务器环境和应用程序的设置更加简单。因为配置信息都保存在简单文本中,新的设置有可能都不需要启动本地的管理员工具就可以实现。这种被称为"Zero Local Administration"的哲学观念使Asp.net的基于应用的开发更加具体,和快捷。一个ASP.NET的应用程序在一台服务器系统的安装只需要简单的拷贝一些必须得文件,不需要系统的重新启动,一切就是这么简单。
6) 多处理器环境的可靠性 ASP.NET已经被刻意设计成为一种可以用于多处理器的开发工具,它在多处理器的环境下用特殊的无缝连接技术,将很大的提高运行速度。即使你现在的ASP. NET应用软件是为一个处理器开发的,将来多处理器运行时不需要任何改变都能提高他们的效能,但现在的ASP确做不到这一点。
7) 自定义性,和可扩展性 ASP. NET设计时考虑了让网站开发人员可以在自己的代码中自己定义"plug-in"的模块。这与原来的包含关系不同,ASP. NET可以加入自己定义的如何组件。网站程序的开发从来没有这么简单过。
8) 安全性 基于Windows认证技术和每应用程序配置,你可以确性你的原程序时绝对安全的。(但是Asp的经验告诉我们,不能这么自信,M$老是会出Bug的)。
4.4 数据库平台选择
所谓数据库,我们可以把它形象地说成是存储数据的“仓库”。数据库是为了满足某一部门中多个用户的多种应用需要,按照一定的数据模型在计算机系统中组织、存储和使用的互相联系的数据集合。数据库系统是管理大量的、持久的、可靠的、共享的数据的工具。就是同各种数据库建立联系,进行沟通。按照ANSI(X国家标准协会)的规定,SQL被作为关系开数据库管理系统的标准语言。SQL语句可以用来执行各种各样的操作,例如更新数据库中的数据,从数据库中提取数据等。目前,绝大多数浒的关系开数据库管理系统,如Oracle、Sybase、Microsoft SQL Server、Informix、IBM DB2等都采用了SQL语言标准。显然很多数据库产品都对SQL语句进行了再开发和扩展,但是包括Select、Insert、Update、Create以及Drop在内的标准的SQL命令仍然可以被用来完成几乎所有的数据库操作。SQL是英文structure Query Language的缩写,意思为结构化查询语言。
数据库是酒店酒店管理的核心组成部分,所有信息处理子系统都将基于某种数据库平台,以便将其处理的信息资源完整、安全地保存起来,并且对其进行各种管理和利用。选择一个发的数据库平台是非常重要的。根据酒店信息管理应用的实际需要,在选择数据库平台时,应考虑下列因素:
(1)性能:数据库的数据处理能力。
(2)开放性:数据库是否能在多种操作系统下使用。
(3)安全性:数据库是否具有高度的安全性。
(4)可靠性:数据库是否具有高度的可靠性。
(5)并行性:数据库是否并行运行在多节点上。
(6)可操作性:数据库在使用前是否需要复杂的培训。
数据库平台选用的是MicroSoft 公司的SQL Server 2000,SQL Server 2000是SQL Server的最新版本,比以前版本提高了性能、可靠性、质量和易用性。Microsoft SQL Server 2000 增加了几种新的功能,由此成为大规模联机事务处理 (OLTP)、数据仓库和电子商务应用程序的优秀数据库平台。SQL Server 2000拥有大型数据库系统基本特征,但保持了windows环境下界面友好,操作简单的优点,成为windows环境下开发中、小型B/S系统较流行的数据库系统。与传统的桌面数据库系统相比SQL Server 2000有以下区别:
(1)面向集合与面向记录。面向集合与面向记录应该是B/S系统与桌面数据库系统的最本质的区别。在桌面数据库系统中,它得到的是整个数据表,面向的是整个数据表的所有记录,因此,在桌面数据库系统中,第一条;上一条、下一条、最后一条等概念是非常普遍的,而在B/S系统中没有这些概念,因为客户程序在向服务器发送服务请求时,得到的数据可以由一个或多个数据表的多个字段构成,是服务器上所有数据的一个子集,它的请求是通过SQL语句来实现的,因此在C/S系统中,它面向的是整个数据库的一个子集合。
(2)数据安全管理。SQL数据库在数据安全性管理方面比桌面数据库系统要强得多,它不仅对数据库的访问进行口令验证,而且它还能够对特定的数据库对象进行限制,包括视图、数据表的存储过程,更重要的是它可以设置用户权限,通过Grant和Revoke命令向一个用户或一组用户授权或收权。
(3)数据完整性管理。对于SQL数据库而言,它允许在服务器端定义一些业务规则用于验证数据的完整性,强制所有的客户端程序都必须接受相同的业务规则约束,这样有利于集中维护这些规则。虽然桌面数据库系统也能进行数据完整性管理,但是它只能在应用程序中定义这些验证规则,所有需要验证的地方都必须写入相同或相似的代码,这样不利于维护这样规则。另外,SQL数据库在完整性约束上,一般在创建数据表时就定义好的,它既可以定义为数据表的一部分,也可以通过存储过程或触发器等形式从数据表中独立出来。
(4)数据库的并发访问管理。SQL数据库采用优化锁定策略,允许多个用户可以同时访问服务器而不互相干扰。这种技术并不限制客户访问当前正在被其它用户访问的数据表,可以照常对它进行编辑(增、删、改),并请求服务器保存修改的数据。桌面数据库系统则明确地或完全地锁定策略,也就是说那些当前正在被其它用户使用的数据无法访问,更无法编辑,如果试图访问或修改这些数据,系统产生错误的提示信息。
(5)事务控制。用于在系统发生错误时保持数据库的一致性和完整性。每个更新 SQL Server 数据库内数据的应用程序都使用事务完成这个任务。事务是由一系列语句(选择、插入、更新或删除)构成的逻辑工作单元。如果在事务执行过程中没有遇到错误,则事务中的所有修改成为数据库的永久部分。如果遇到错误,则不对数据库做任何修改。桌面数据库系统一般不提供事务控制功能。
4.5 系统开发所使用的关键技术
4.5.1 Ado.Net数据库访问技术
ADO.NET是.NET应用程序的数据访问模型。它能用于访问关系型数据库系统,如SQL Server 2000,及很多其它已经配备了OLE DB供应器的数据源。在某种程度上,ADO.NET代表了最新版本的ADO技术。然而,ADO.NET引入了一些重大变化和革新,它们专门用于结构松散的、本质非链接的Web应用程序。
ADO.NET引入的一个重要变化是,用DataTable, DataSet, DataAdapter, 和 DataReader对象的组合代替了ADO Recordset对象。DataTable表示来自一个表的行集合,在这方面它与Recordset类似。DataSet表示DataTable对象的集合,及与其它表绑定在一起的关系和限制。实际上,DataSet是具有内置的扩展标记语言(XML)支持的内存中的关联结构。
DataSet的一个主要特点是,它对底层的数据源一无所知,而这些数据源可能用于对其进行填充。这是一个分离的用于表示数据集合的独立实体,并且它可通过多层应用程序的不同层由一个组件传递到另一组件。它也可作为XML 数据流被序列化,因而非常适合于不同类型平台间的数据传输。ADO.NET使用DataAdapter对象为发送到和来自DataSet及底层数据源的数据建立通道。DataAdapter对象还支持增强的批更新特性,以前这是Recorder的相关功能。
4.5.2 Asp.Net的窗体身份验证
基于窗体的验证是最为普遍的一种验证,使用这种验证方式可以很方便灵活地应用到应用程序中。窗体验证方式对基于用户的验证授权提供了很好的支持,可以通过一个登录页面验证用户的身份,将此用户的身份发回到客户端的Cookie,之后此用户再访问这个web应用就会连同这个身份Cookie一起发送到服务端。服务端上的授权设置就可以根据不同目录对不同用户的访问授权进行控制了。
要采用窗体验证,先要在应用程序根目录中的Web.config中做相应的设置:
<authentication mode="forms">
<forms name=".ASPXAUTH " loginUrl="/Login.aspx" timeout="30" path= "/">
</forms>
</authentication>
其中<authentication mode= "Forms"> 表示本应用程序采用Forms验证方式。
(1)<Forms>标签中的name表示指定要用于身份验证的 HTTP Cookie。默认情况下,name 的值是 .ASPXAUTH。采用此种方式验证用户后,以此用户的信息建立一个FormsAuthenticationTicket类型的身份验证票,再加密序列化为一个字符串,最后将这个字符串写到客户端的name指定名字的Cookie中。一旦这个Cookie写到客户端后,此用户再次访问这个web应用时会将连同Cookie一起发送到服务端,服务端将会知道此用户是已经验证过的。
(2)<Forms>标签中的loginUrl指定如果没有找到任何有效的身份验证Cookie,为登录将请求重定向到的 URL。默认值为 Login.aspx。loginUrl指定的页面就是用来验证用户身份的,一般此页面提供用户输入用户名和密码,用户提交后由程序来根据自己的需要来验证用户的合法性(大多情况是将用户输入信息同数据库中的用户表进行比较),如果验证用户有效,则生成同此用户对应的身份验证票,写到客户端的Cookie,最后将浏览器重定向到用户初试请求的页面,一般是用FormsAuthentication.RedirectFromLoginPage 方法来完成生成身份验证票,写回客户端,浏览器重定向等一系列的动作。
生成身份验证Cookie后,将此Cookie加入到Response.Cookies中,等待发送到客户端。
RedirectFromLoginPage方法调用FormsAuthentication.GetRedirectUrl 方法获取到用户原先请求的页面,重定向到这个页面。
(3) <Forms>标签中的timeout和path,是提供了身份验证票写入到Cookie过期时间和默认路径。
第五章 总体设计
按照系统架构设计方案,小型酒店管理信息系统分为:酒店前台接待子模块、前台结算子模块、预订管理子模块、商品管理子模块、房间标准管理子模块、房间信息管理子模块、系统前台宣传子模块,用户管理子模块。各子系统由后台数据库系统和相应的子系统应用程序组成。以下是本系统的结构图:
5.1 系统模块设计
5.1.1 酒店前台接待子模块
酒店前台管理的工作是十分复杂、繁琐的,但它是日常经常遇到的、必须的、重要的环节,以下就重点把前台的设计讲述一下,以下是前台接待的工作流程:
表2 前台接待工作流程
接待流程一 | 接待流程二 | 接待流程三 | |
有预订的客人入住 |
由预订单号确认预订单的内容 输入参数:预定单号 输出参数:预定单内容 预定成员档案 |
人工确认客人的身份是否与预订单的内容一致 | 办理入住:先将预订单设为过期,客人入住预订的房间 |
无预订的客人入住 | 确认客人要求的房间类型,查询是否有该类型的房间处于空闲状态。 | 有空闲房间,客人接受报价,确认客人的身份,交费,客人入住。 | 打印客人入住清单 |
客人换房 (只能换同类型的房间) |
确认客人是否入住,确认客人入住的房间类型,确认是否有该类型的空闲房间,换房。 | ||
客人预交费用添加 |
确认客人是否入住, 追加费用。 |
||
客人订房信息查询 | 由输入的查询条件获取客人的订房信息 |
5.1.2 酒店前台结算子模块
前台结帐子模块主要由客人结帐程序、结帐信息查询/统计程序组成。客人结帐程序是全自动化的,只要输入客人的姓名与房间编号,就能自动将顾客在本店所有的消费信息以清单的形式表示出来,并进行打印。结帐信息查询/统计程序,能够实现对顾客消费的查询,并能统计在某一段时间内,酒店的收入情况,顾客入住的次数等。
5.1.3 酒店预订子模块
客人可以通过三种方式在本酒店预订房间:
1.通过网络在线预订,可以通过本酒店的宣传网站(www.Perfume_hotel.com)在线预订。
2.通过电话预订,本酒店的前台24小时为你办理预订业务。
3.直接在酒店的前台预订。
预订管理子模块由预订添加程序、预订查询程序、预订处理程序组成,以下是预订管理子模块的功能图:
5.1.4 酒店商品管理子模块
商品管理子模块由客人消费商品信息添加,商品消费信息修改,商品消费信息查询三个程序组成。商品消费信息直接与结算信息相关联,每次一添加或修改商品消费信息,结算信息也会跟着修改,所以在处理商品消费信息时一定要谨慎。以下为商品管理子模块的功能图:
5.1.5 酒店客房标准管理子模块
酒店客房标准子模块由标准信息添加和标准信息修改两个程序组成,标准信息直接关联到房间的信息,所有的客房的标准必须是在标准表中存在的标准,另外,在许多查询的地方也用到了标准表中的信息。因此,修改标准表中的信息时,会有许多与其相关的信息就会一起修改,所以在处理房间标准信息时必须谨慎,建议只有在酒店停业整顿的时候才去修改标准信息。
5.1.6 酒店客房信息管理子模块
客房信息管理子模块包含客房信息添加,客房信息修改,客房信息查询三个主要功能,以下为客房信息管理模块功能图:
5.1.7 酒店宣传管理子模块
一个效益好的酒店,宣传工作也肯定做的非常好,因为就算酒店的环境再好,但是没有知名度的话,酒店的订房量也是上不去的。宣传管理子模块主要是为了提高酒店的知名度,从而提高酒店的订房量。主要包含宣传页面,酒店新闻管理,客户留言管理。以下为酒店宣传管理模块的功能图:
5.1.8 用户管理子模块
用户管理主要是为了避免没有经过授权的人员使用系统和权限不够的人员访问高权限的页面,也就是酒店的信息保密管理,他使特定的页面只能由特定的用户访问。用户管理子模块的功能图如下:
5.2 数据库设计
5.2.1 数据库需求分析
针对一般酒店管理信息系统的需求,通过对酒店管理过程的内容和流程分析,设计如下面所示的数据项和数据结构:
1. 客房标准信息,包括的数据项有:标准编号、标准名称、房间面积、床位数量、住房单价、是否有空调、电视、电话、单独卫生间等。
2. 客房信息,包括的数据项有:客房编号、客房种类、客房位置、客房单价、备注等。
3. 订房信息,包括的数据项有:订房编号、客房编号、客房种类、客房位置、客房备注信息、顾客姓名、顾客身份证号码、入住时间、折扣、备注等。
4. 结算信息,包括的数据项有:订房编号、客房编号、客房种类、客房位置、客房备注信息、顾客姓名、顾客身份证号码、入住时间、折扣、结算时间、备注等。
5.2.2 数据库概念结构设计
本系统根据以上的设计规划出的实体有:客房标准信息实体、客房信息实体、订房信息实体、结算信息实体。各个实体具体的描述E-R图如下:
5.2.3 数据库逻辑结构设计
首先将酒店管理信息系统的数据库概念结构转化为SQL 2000数据库系统所支持的实际数据模型,即:数据库的逻辑结构。其各个表格的设计结果如下:
表3 客房标准信息表
列名 | 数据类型 | 可否为空 | 说明 |
standardId | Int | NOT NULL | 标准编号 |
roomStyle | Varchar | NOT NULL | 标准名称 |
roomArea | Int | NULL | 房间面积 |
bedCount | Int | NULL | 床位数量 |
roomPrice | Float | NULL | 价格 |
hToilet | Varchar | NULL | 是否有单独卫生间 |
hTelphone | Varchar | NULL | 是否有电话 |
hTelevison | Varchar | NULL | 是否有电视 |
hAirCodition | Varchar | NULL | 是否有空调 |
hComputer | Varchar | NULL | 是否有电脑 |
表4 客房信息表
列名 | 数据类型 | 可否为空 | 说明 |
Roomed | Varchar | NOT NULL | 客房编号 |
roomStandard | Int | NOT NULL | 客房标准编号 |
Roomposition | Varchar | NULL | 客房位置 |
Stantus | Numeric | NULL | 状态 |
roomBookId | Varchar | NOT NULL | 预订单编号 |
Remarks | Varchar | NULL | 备注 |
表5 订房信息表
列名 | 数据类型 | 可否为空 | 说 明 |
bookNumber | Varchar | NOT NULL | 订房编号 |
guestName | Varchar | NOT NULL | 顾客姓名 |
guestId | Varchar | NOT NULL | 身份证号码 |
Roomed | Varchar | NOT NULL | 客房编号 |
inDate | Datetime | NULL | 入住日期 |
Discount | Float | NULL | 折扣 |
Remarks | Varchar | NULL | 备注 |
guestStatus | Varchar | NOT NULL | 顾客状态 |
goodsAmount | Float | NULL | 商品消费金额 |
inDays | Int | NULL | 在住天数 |
checkDate | Datetime | NULL | 结算日期 |
roomAmount | Float | NULL | 房间消费金额 |
totalAmount | Float | NULL | 总金额 |
表6 顾客商品消费表
列名 | 数据类型 | 可否为空 | 说 明 |
consumeId | Int | NOT NULL | 消费编号 |
bookNumber | Int | NOT NULL | 订单编号 |
goodsStyle | Varchar | NOT NULL | 商品类型 |
goodsAmount | Float | NOT NULL | 客房编号 |
consumeDate | Datetime | NOT NULL | 消费日期 |
表7 用户表
列名 | 数据类型 | 可否为空 | 说 明 |
Username | Varchar | NOT NULL | 用户名称 |
Userpwd | Varchar | NOT NULL | 用户密码 |
Power | Int | NOT NULL | 用户权限 |
表8 新闻表
列名 | 数据类型 | 可否为空 | 说 明 |
newsId | Int | NOT NULL | 新闻编号 |
newsTitle | Varchar | NOT NULL | 新闻主题 |
newsContent | Varchar | NOT NULL | 新闻内容 |
writeDate | Datetime | NOT NULL | 更新日期 |
表9 留言表
列名 | 数据类型 | 可否为空 | 说 明 |
messageId | Int | NOT NULL | 留言编号 |
Username | Varchar | NULL | 用户姓名 |
UserMessage | Varchar | NOT NULL | 用户留言 |
adminMessage | Varchar | NULL | 管理员回复 |
writeDate | Datetime | NOT NULL | 留言日期 |
表10 预订表
列名 | 数据类型 | 可否为空 | 说 明 |
roomBookId | Int | NOT NULL | 预订编号 |
guestName | Varchar | NOT NULL | 顾客姓名 |
guestId | Varchar | NOT NULL | 身份证号码 |
guestInDate | Datetime | NOT NULL | 抵店日期 |
guestOutDate | Datetime | NOT NULL | 离店日期 |
Telephone | Varchar | NOT NULL | 电话 |
comeDate | Datetime | NOT NULL | 到店时间 |
roomStyle | Varchar | NOT NULL | 房间类型 |
roomCount | Int | NOT NULL | 房间数量 |
roomBookStatus | Varchar | NOT NULL | 订单状态 |
第六章 详细设计
由总体设计的设计方案可知,本酒店管理信息系统设计相对复杂、庞大,由于篇幅和时间的限制,在这里只是从中挑选比较有代表性、关键性的几个重要模块作相应的论述。
6.1 客人入住
入住登记该子模块是整个酒店后台操作中最重要的功能模块之一可以说前台接待质量的好坏直接影响酒店客人的入住率和声誉一套高质量的酒店管理系统应该能使酒店前台工作人员能快捷有序地为客人办理不同类型的入住登记手续这一点当酒店前台等待入住的客人较多时就显得尤为重要。
以下是客人入住的一般操作步骤:
(1)在操作员的登录画面用户必须输入自己的操作员代码和口令方可进入系统操作当用户输入口令时系统并不显示所输入的文字而以“*”代替这样无关人员无法看到所输入的口令字起到了保密的作用,并且用户的密码是采用md5加密后再写入数据库的,无论谁都不能直接看到用户的密码。
(2)系统核对操作员所输入的代码及口令无误后进入主画面。
(3)进入主界面后,操作员可以快速办理入住。
在进入主界面后,首先调用了房间状态总表窗口,该程序简单、直观地把所有空闲的房间以列表的方式显示出来。
以下为客人入住的流程图:
以下是登记入住的程序段:
if(Page.IsValid)
{
guestInOperate myGuest=new guestInOperate();
string sql=”insert into
guestInHotel(guestName,guestId,,advancePaid,,remarks) values(‘”+this.tbGuestName.Text.ToString()+”’,’”+this.tbGuestId.Text.ToString()+”’,’”+this.tbRoomId.Text.ToString()+”’,’”+this.tbAdvancePaid.Text.ToString()+”’,’”+this.tbDiscount.Text.ToString()+”’,’”+this.tbRemarks.Text.ToString()+”’)”;
if(myGuest.guestCommand(sql))
{
//更改房间状态
string sql1=”update roomInformation set roomStatus=’已入住
1、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“文章版权申述”(推荐),也可以打举报电话:18735597641(电话支持时间:9:00-18:30)。
2、网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
3、本站所有内容均由合作方或网友投稿,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务。
原创文章,作者:写文章小能手,如若转载,请注明出处:https://www.447766.cn/chachong/1003.html,