收藏 分销(赏)

酒店预订管理系统服务器端设计论文.doc

上传人:仙人****88 文档编号:9444963 上传时间:2025-03-26 格式:DOC 页数:32 大小:214KB 下载积分:10 金币
下载 相关 举报
酒店预订管理系统服务器端设计论文.doc_第1页
第1页 / 共32页
酒店预订管理系统服务器端设计论文.doc_第2页
第2页 / 共32页


点击查看更多>>
资源描述
学士学位毕业论文 酒店预订管理系统服务器端设计与实践 【摘要】本文阐述了酒店预订管理的概念、分析了酒店预订管理的三要素和主流酒店预订管理软件。介绍了硬件环境、开发平台和数据库的设计。并详细论证三层体系结构、中间件的概念、在DELPHI中COM的技术实现以及MIDAS技术。介绍了系统使用的主要技术、功能分析和数据库主要模块设计,以及系统完成后的心得总结。 【关键词】接口,公共对象请求代理结构,MIDAS,预订管理 Hotel Book Management System Analysis and Design Xu Sheng Wen 【Abstract】This text tells the conception of hotel book management, analyzes the three elements of hotel book management and introduces some most popular hotel book management software. And it makes an argumentation about the environment of hardware, the platform of development and the design of database. It also tells the multitires system, the implement of COM in Delphi and the MIDAS in Delphi by particular certification. At last it introduces the main technique of the system, the analysis of the function, the summary modual design of the database and summarize after completing the system. 【Keywords】Interface,Com,MIDAS,HotelBookManager 1 酒店预订管理概述 1.1引言 酒店预订管理是为完成一个预定的目标,而对任务和资源进行计划、组织和管理的过程,通常预订计划可以很简单,例如客户在远程预订房间的任务以及它们的开始和结束日期;大多数预订管理工作都涉及一些相同的活动,其中包括将预订分割成便于管理的多个任务、排定预订的日程、自动分房、在工作组中交流信息以及跟踪任务的工作进展。 1.2酒店预订管理背景 随着人们生活水平的提高,出去旅游的人越来越多,刺激酒店行业的发展。同时酒店在管理方面也面临一些问题:部分大型酒店也已经使用市场上的有关酒店管理系统(一般价格也较贵);然而,占着绝大多数的中小型酒店、宾馆由于资金等方面原因没有使用酒店管理类软件,全凭原始的手工记录管理,效率低、易出错,这不仅降低了工作效率还可能造成顾客不满情绪。软件市场急需一套价格低、功能基本齐全的酒店预订管理软件。 1.3国内外酒店预订管理发展动态 酒店预订管理的发展与计算机技术的发展密不可分,随着计算机性能的迅速提高,大量的酒店管理软件涌现出来,使用酒店管理软件逐年升温。作为酒店管理软件中的一个子系统—预订管理子系统也得到了发展。 这里列出几个当前最流行的酒店预订管理技术: (1) 动态生成预订单和控制技术。 (2) 动态资源管理及自动排定预订房间技术。 (3) 实时监督和跟踪客房情况使用技术。 (4) 丰富的统计报表生成技术。 (5) 动态的资料交换技术。 (6) 处理多个相互关联的预订和子预订项目技术。 (7) 自动捕获分析技术。 1.4主流酒店预订管理软件分析 根据酒店预订管理软件的功能和价格水平,大致可以划分为两个档次:一种是供专业大型酒店预订管理人士使用的高档预订管理软件,这类软件功能强大,价格一般在50000元以上,如联胜公司的联胜信息技术公司的出品的酒店管理系统、优舰集团公司的鼎新软件公司出品的酒店综合管理系统等。另一类是低档酒店预订管理软件,应用于一些中小型酒店,这类软件虽功能不很齐全,但价格较便宜,如易通公司出品的酒店信息管理系统、云淡软件公司出品的酒店管理系统等。 2设计方案论证 2.1硬件环境 (1) 数据库服务器和中间层服务器 因为服务器为数据库服务器,且要完成高密度的运算量,所以应采用较高档的服务器。考虑到与软件的兼容性,建议采用Intel Pentium 4 多处理器系统、256MB RAM、40GB以上硬盘。 (2) 客户机 采用Intel Pentium 4 多处理器系统、128MB RAM、20GB以上硬盘。 (3) 网络配置 100M 网络带宽 、100Mb/s网卡、16口交换机。 2.2软件环境 2.2.1操作系统的选择 (1) 数据库服务器和中间层服务器 因为服务器为数据库服务器,对稳定性有极高的要求,且支持多CPU,所以应采用Windows 2000 Server,因为它有优良的性能和稳定性。 (2) 客户机 应拥有不错的易用性、安全性和稳定性。故采用Windows 2000 Professional。 2.2.2数据库的选择 我们使用SQL Server 2000作为我们的数据库。SQL Server 2000不仅是一个数据库。它是一个关系型数据库管理系统,或者简称RDBMS。SQL Server 2000确有许多独特之处使在竞争对手中显得卓尔不群[5]: (1) 基于图形的管理工具。 (2) 集中式的管理。 (3) 支持多客户应用程序。 (4) 支持企业级的应用程序。 2.2.3开发工具的选择 在软件开发领域,有许许多多语言适合于开发客房预订系统管理软件,如Visual Basic、Java、Delphi、VC++等等,我们采用Borland公司的Delphi版本6.0作为开发语言。 Delphi是在P a s c a l语言基础上发展起来的可视化的快速开发工具,是一种混合型面向对象语言。它不仅可以开发出功能强大的基于VCL的组件,还支持微软的组件对象模型(COM),可以轻松开发ActiveX控件。这样通过创建、集成、组装这些组件,可以满足基于对象重用和对象分布的不同解决方案,真正实现面向对象的高效的软件开发。 强大的数据库编程能力是Delphi的强项之一。Delphi6.0除了捆绑BDE数据引擎外,还提供了ActiveX数据对象(ADO)的支持,为数据库编程增加了灵活性。改进的多层分布式应用程序套件(MIDAS)为开发多层体系结构应用程序提供了便利。另外Delphi 也支持CORBA。CORBA是由Object Management Group( 对象管理组)于90年代初开发的规范,得到IBM、SUN等众多主要供应商的支持,能跨平台开发应用程序。 2.3多层体系结构与中间件 2.3.1多层体系构架与中间件概念 所谓多层体系构架,就是把一个应用程序按功能划分成不同的逻辑组件,具有特定功能的应用程序中的一部分称为一层。典型的多层体系一般为把一个应用程序分为三层[2]: 数据服务层:实现数据定义、存储、备份、检索等功能,主要由数据库系统实现。通常,它可以是一个R D B M S,如Microsoft SQL Server 、O r a c l e或I n t e r B a s e。 业务处理层:业务层负责从数据层获取适当格式的数据并执行最后的合法性检查(也叫做执行业务规则)。实现客户的全部业务逻辑,由于在中间,也叫中间层。 用户服务层:提供信息浏览,服务定位。主要是实现用户界面,并保证用户界面的友好性、统一性,所以也叫做GUI层 ,它总是与业务处理层打交道,它从不直接与数据服务层打交道。 中间件是在计算机硬件和操作系统之上,支持应用软件开发和运行的系统软件,它能够使应用软件相对独立于计算机硬件和操作系统平台,为当今的大型分布式应用搭起了一个标准的平台,把大型企业分散的系统和技术组合在一起,实现大型企业应用软件系统的集成。 从理论上讲,中间件有以下的工作机制:客户端上的应用程序需要从网络中的某个地方获取一定的数据或服务,这些数据或服务可能处于一个运行着不同操作系统和特定查询语言数据库的服务器中。客户/服务器应用程序中负责寻找数据的部分只需访问一个中间件系统,由中间件完成到网络中找到数据源或服务,进而传输客户请求、重组答复信息,最后将结果送回应用程序的任务。 2.3.2中间件的分类 (1) 数据库中间件(DM,Database Middleware) 数据库中间件在所有的中间件中是应用最广泛,技术最成熟的一种。一个最典型的例子就是ODBC,ODBC是一种基于数据库的中间件标准,它允许应用程序和本地或者异地的数据库进行通信,并提供了一系列的应用程序接口API,当然,在多数情况下这些API都是隐藏在开发工具中,不被程序员直接使用。有过实际编程经验的朋友都知道,在写数据库程序的时候,只要在ODBC中添加一个数据源,然后就可以直接在自己的应用程序中使用这个数据源,而不用关系目标数据库的实现原理、实现机制,甚至不必了解ODBC向应用程序提供了哪些应用程序接口API。不过在数据库中间件处理模型中,数据库是信息存贮的核心单元,中间件完成通信的功能,这种方式虽然是灵活的,但是并不适合于一些要求高性能处理的场合,因为它需要大量的数据通信,而且当网络发生故障时,系统将不能正常工作。所谓有得必有失,就是这个道理,系统的灵活性提高是以处理性能的降低为代价的。 (2) 远程过程调用中间件(RPC, Remote Procedure Call) 远程过程调用是另外一种形式的中间件,它在客户/服务器计算方面,比数据库中间件又迈进了一步。它已经存在了相当长的时间,而且沿用了大多数程序员都非常熟悉的编程模式-程序员就像调用本地过程一样在程序中调用远程过程。启动远程过程的运行,然后将运行结果返回给本地程序。不但如此,远过程调用还可以将程序的控制传递到远端的服务器当中去。RPC的灵活特性使得它有比数据库中间件更广泛的应用,它可以应用在更复杂的客户/服务器计算环境中。远过程调用的灵活性还体现在它的跨平台性上面,它不仅可以调用远端的子程序,而且这种调用是可以跨不同操作系统平台的,而程序员在编程时并不需要考虑这些细节。 (3) 面向消息中间件(MOM,Message Oriented Middleware) 消息中间件的优点在于能够在客户和服务器之间提供同步和异步的连接,并且在任何时刻都可以将消息进行传送或者存储转发,这也是它比远程过程调用更进一步的原因。另外消息中间件不会占用大量的网络带宽,可以跟踪事务,并且通过将事务存储到磁盘上实现网络故障时系统的恢复。当然和远程过程调用相比,消息中间件不支持程序控制的传递,不过这种功能和它的优势比起来却是无关紧要的。 消息中间件适用于需要在多个进程之间进行可靠的数据传送的分布式环境。 (4) 基于对象请求代理(ORB,Object Request Broker) 对象请求代理是近年来才发展起来的一项新技术,它可以看作和编程语言无关的面向对象的RPC应用,被视为从面向对象过渡到分布式计算的强大推动力量。从管理和封装的模式上看,对象请求代理和远过程调用有些类似,不过对象请求代理可以包含比远过程调用和消息中间件更复杂的信息,并且可以适用于非结构化的或者非关系型的数据。 目前有两种对象请求代理的标准,分别是CORBA和DCOM,这两种标准是相互竞争的,而且两者之间有很大的区别,这在一定程度上阻碍了对象请求代理中间件的标准化进程。 (5) 事务处理中间件(TPM,Transaction Processing Monitor) 事务处理中间件是一种复杂的中间件产品,是针对复杂环境下分布式应用的速度和可靠性要求而实现的。它给程序员提供了一个事务处理的API,程序员可以使用这个程序接口编写高速而且可靠的分布式应用程序-基于事务处理的应用程序。 事务处理中间件向用户提供一系列的服务,如应用管理,管理控制,以及应用程序间的消息传递等。常见的功能包括全局事务协调、事务的分布式两段提交、资源管理器支持、故障恢复、高可靠性、网络负载平衡等等。 2.4 DELPHI中COM的实现技术 2.4.1 DELPHI对COM的支持程度 Delphi的COM支持体现为一系列类,它们提供了从基本COM对象到自动化、ActiveX、Active Server对象,以及MTS/COM对象等的标准接口的底层实现,这些被统称为Delphi ActiveX框架(Delphi ActiveX framework,DAX)。Delphi还在New Items对话框的ActiveX 页上提供了一系列向导帮助轻松实现这些COM服务器对象。向导完成建立每种类型的COM对象所涉及的工作。它们为每种类的对象提供需要的COM接口:对于一个简单的COM对象,向导实现要求的COM接口Iunknown,它提供对象的一个接口指针。对于自动化对象,向导实现Iunknown和Idispatch,它提供自动化marshaling。自动COM在D e l p h i中的支持开始于Delphi5 。但是有些局限性,不过,Delphi确实支持一个真的C O M实现。但是有一个显著的缺点,那就是:没有由IDL向Pascal转换的工具,Delphi不能方便的静态绑定用不同语言编写的COM服务器(如Java、C++),必须根据IDL手工编写COM的Stub类代码。但是Delphi的独特特征:它能轻易地编译出能同时被COM/DC OM使用的类[6]。 在Delphi6中,Borland已经开发了一个Idl2pas转换器可以简化Delphi /COM的开发,这使得Delphi具备了引入IDL文件和并将其转换为编译器可以理解的Pascal代码的能力。 2.4.2 COM技术 (1) COM对象 组件是指具有某些特定功能,独立于应用程序,但能够容易地组装起来,以高效 地创建应用程序的可重用软件“零件”。组件化是软件发展的趋势,体现了完全面向对象的思想,具备面向对象程序设计所要求的封装性、多态性和动态链接等特性。通过重用以有组件可以迅速构造新组件,提高效率,缩短开发周期。组件模型指组件形式存在的应用模型,目前组件技术主要有COM和JavaBean。COM组件基于微软的COM(组件对象模型),独立于语言,但完全基于Windows开发。 COM是一个说明如何建立可动态交互组件的规范。它提供了为保证能够互操作,客户和组件应遵循的一些标准,并提供了组件程序运行所需的环境。COM组件是以动态链接库(DLLs)或可执行文件(EXEs)的形式发布的可执行二进制代码,具有语言无关性。COM组件遵循COM规范,能满足对组件架构的所有需求。COM组件可以透明的在网络上重新分配位置,对远程机器上的组件同本地机器上的组件其处理方式没有什么差别。它可以给其它应用程序提供面向对象的API服务,也可用于快速构造应用程序和建立与语言无关的组件库。 COM组件有三种形式:进程内组件以DLL方式存在,它与客户在同一进程内;进程间以EXE方式存在,它与客户在同一台机器却不在同一进程内;不同机器上以EXE方式存在。客户不必知道使用的是哪种组件,因为COM组件对象是位置透明的。 (2) COM接口 COM定义了一个对象的函数怎样在内存中布置的标准。这些函数被安排到虚拟表( vtables) ,类似于Delphi的虚拟方法表(VMT)。编程语言对每个vtable的描述就是所谓的接口[6]。 接口可以看作是一个类的表面,是COM对象和外界之间的约定,一个组件就是一个接口集。要同COM组件打交道必须通过接口,接口封装了内部实现细节。开发人员无需了解组件功能是如何实现的,只要创建组件对象并与其接口建立连接即可。 一个接口实际上分为两个部分:第一部分是接口定义部分,这部分按一定顺序声明了一些方法。这部分是COM对象与这个对象的用户共享的。第二部分是接口实现部分,实际上就是接口定义部分所声明方法的具体实现。接口定义就好像COM对象与它的客户之间的约定,它可以保证客户按照特定的顺序来调用特定的方法。接口只有属性和方法而没有数据。由于接口不包含数据,属性只能通过方法被访问。最重要的是,接口并不实现自己,因为接口只是一个约定。 (3) COM优点 COM体现了完全面向对象的思想,具备面向对象程序设计所要求的封装性、多态性和动态链接等特性。通过重用已有COM可以迅速构造新组件,提高效率,缩短开发周期,使开发更具灵性。所以在本系统的设计中,我们采用了COM技术。 2.4.3 多层体系构架的优点 (1) 业务规则集中 在大多数客户/服务器系统中,每个客户应用程序都要知道业务规则。这不仅增加了可执行文件的大小,而且还增加了软件开发人员进行版本控制的难度。如果用户A的程序版本老于用户B的,那么他们就可能执行不一致的业务规则,结果导致数据的逻辑错误。把业务规则放到应用服务器上,则只需要创建和维护一个业务规则的副本。所以,每个使用该应用服务器的用户都执行相同的业务规则。在客户/服务器系统中,RDBMS能够实现其中的一些功能,但是并非所有的RDBMS都是这样的。而且,编写存储过程会使应用程序减少适用性。使用多层结构的方法,就使业务规则不受RDBMS的约束,从而更容易维持数据库独立。 (2) 瘦客户体系结构 除了业务规则外,传统的客户/服务器系统大多会加重数据访问层的负担。这样就增大了可执行文件,即通常所说的胖客户。以一个访问SQLServer数据库的Delphi应用程序为例,客户需要安装访问数据库需要的BDE、SQLLinks或ODBC,以及访问SQLSever需要的动态链接库。安装完这些文件后,还要进行正确的配置。这样使安装过程变得非常复杂。使用MIDAS,数据访问由应用服务器来控制,而数据表示则由客户的应用程序来完成。这意味着只需要发布客户应用程序和一个用来访问服务器的DLL文件就可以了,很明显这是瘦客户体系结构。 (3) 自动错误调和 Delphi提供了进行错误调和的内嵌机制。在多层应用程序中,错误调和机制和缓存更新一样是必须的。数据被复制到客户进行修改,而多个客户可能同时访问同一条记录。错误调和帮助用户决定如何处理下载后被修改的记录。 (4) 公文包模式 公文包模式相当于实际上的公文包。可以把一些重要的文件放在公文包中来回传送,在需要的时候打开它。Delphi提供的这种打包数据的方式允许不必一直与应用服务器或数据库服务器保持活动连接。 (5) 容错 如果由于不可预料的环境导致服务器不能使用,那么要是能够动态切换到备份服务器而不需要重新编译客户或服务器端的应用程序,将是一个很好的解决办法。Delphi就提供了这样的功能。 (6) 负载平衡 当为多个用户部署客户应用程序时,不可避免地要大量占用服务器资源。有两种平衡网络流量的方法:静态负载平衡和动态负载平衡。对于静态负载平衡,需要增加另一台服务器,让一半用户使用服务器A,另一半用户使用服务器B。但是,如果使用服务器A的用户比使用服务器B的用户产生的压力大时怎么办呢?使用动态负载平衡,可以解决这个问题。有许多动态负载平衡的算法,例如随机法、顺序法、最少网络用户和最少网络流量等。Delphi4及以上版本提供了一个利用顺序法实现负载平衡的组件。 (7) 典型失误 在建立多层应用程序中,最常出现的失误是把关于数据层的不必要的知识放在了表示层。一些合法性检查更适合放在表示层,但在多层应用程序中合法性检查是怎样执行的决定了它的性能。例如,如果从客户向服务器发送动态SQL命令,那么客户应用程序必须总是与数据层保持同步。这种方式带来更多的不稳定成分,它们需要在整个多层应用程序中被调整。如果改变了数据层上一个表的结构,就必须更新所有发送动态SQL的客户应用程序,这样才能发送正确的SQL命令。很明显,这限制了开发瘦客户应用程序带来的好处。另一个例子是,当客户应用程序试图控制事务的生存期时,不让业务层去分担客户的压力。在大多数情况下,这是通过从客户调用服务器上TDataBase实例的三个方法—BeginTransaction()、Commit()和RollBack()来实现的。这种处理方式使客户程序更加复杂,并且违反了表示层只与业务层打交道的原则。其实表示层不必只依赖于这种方式,它应该向业务层发送更新命令,然后让业务层处理事务中的数据更新。 2.5 DELPHI中MIDAS的实现技术 2.5.1 MIDAS技术简介 MIDAS(Multi-tier Distributed Application Services)即多层分布式应用程序服务器。它提供了一整套中间层应用服务,扩展了操作系统标准,这些服务用于解决各种具体的分布式计算问题,从用于网络定位的目录服务到数据库集成和业务规则处理。MIDAS技术是多层体系结构的关键,它提供客户端程序和应用服务器与数据信息通信的结构。无论是应用服务器端还是客户端,MIDAS技术需要有DBCLIENTDLL的支持,这个动态链接库用于管理数据包。MIDAS中包含有SQL资源管理器,有助于数据库管理;同时支持将服务器管理加入到数据字典中,这样可以对多层应用程序进行各种层次的检查。同时MIDAS技术支持OLE,这样就能在程序中加入基于COM的数据管理服务。创建基于MIDAS的多层应用程序需要用到一些特殊的组件,这些组件分为四大种类[6]: (1) 远程数据模块 服务器端远程数据模块与普通数据模块有些相似。所不同的是,远程数据模块可以作为COM服务器让客户程序访问它的接口。 (2) TDataSetProvider 服务器端提供IAppServer接口,客户程序通过IappServer接口获得数据。 (3) ClientDataSet 客户端访问应用服务器端的IAppServer接口,它是从TDataSet继承下来的组件。 (4) 客户端连接件 包括DCOM,TCP/IP,HTTP,CORBA,OLEnterprise等连接方式,为客户程序定位应用服务器和IAppServer接口。 下图是一个典型的MIDAS应用程序的结构[2]。 窗体/数据模块 远程数据模块(RDM) 客户 服务器 TdatasetProvider TDataset TClientDataset TDispatchConnection 图1 典型的MIDAS应用程序 2.5.2 MIDAS应用程序的工作流程 一个简单的查询—更新操作的流程如下: 首先要启动客户程序,客户程序将试图连接应用服务器,如果应用服务器还没有运行,客户程序将激活应用服务器,并从中获得I P r o v i d e r接口。客户程序向应用服务器请求数据。如果T C l i e n t D a t a S e t的 FetchOnDemand属性设为True,客户程序会根据需要自动检索附加的数据包如BLOB字段的值或嵌套表的内容。否则,客户程序需要显式地调用GetNextPacket才能获得这些附加的数据包。应用服务器收到客户程序的请求后,就从远程数据库服务器检索数据,并打包返回给客户程序。客户程序收到数据包后把包打开,然后显示或进行处理。用户对数据进行编辑修改,然后向应用服务器申请更新数据,实际上也要打包。应用服务器收到客户程序的申请后,就向远程数据库服务器申请更新数据。如果出错,应用服务器就把出错的记录返回给客户程序去核对。客户程序核对并修改了数据后,既可以放弃此次更新,也可以继续此次更新。 在多层模式下,几个客户有可能同时与一个应用服务器通讯,应用服务器实际上充当了一个网关的作用。对于最终用户来说,多层体系结构中的客户程序与两层体系结构中的应用程序没有什么区别。 2.6 ADO技术 ADO(ActiveX Data Object)是Microsoft存取通用数据源的标准引擎。ADO藉由封装OLE-DB而能够存取不同类型的数据,让应用程序能够很方便地处理存取传统的关系数据库,或Flat-File类型的数据库;还有非传统的数据,例如文字、Email、声音、图形、影像等各种数据。 2.6.1 ADO的对象架构 ADO主要是让应用程序或Web应用程序存取各种不同的数据源。ADO封装了OLE-DB复杂的接口,以极为简单的COM接口存取数据。ADO架构由数个不同的ADO对象组成,每一个ADO对象都具备不同的功能来帮助程序员处理数据存取工作。原生ADO对象架构图: 图2 ADO对象架构图[6] 2.6.2 ADO的优点 ADO不管是在功能上还是执行速度上不但不输给BDE/IDAPI甚至还表现得更好,而且在稳定性上表现也非常良好,在Windows平台中,ADO目前不可否认已经成为标准的数据存取技术,不管是单机应用程序,主从架构应用系统、Web应用系统还是多层应用系统,现在都可以使用ADO存取各种不同的数据源。所以在本系统的设计中,我们采用了ADO数据存取技术。 3 系统分析与设计 3.1 总体需求分析 《酒店预订管理系统》共分为酒店系统管理、预订管理、收银管理、查询系统、帮助等几个模块: (1) 酒店系统管理 可以为酒店设置基本情况、统计报表、数据库管理、审核管理、退出系统等模块,而在基本情况里分为:房态设置、预订金设置、折扣设置、客人代码设置、帐户设置等模块; (2) 预订管理 包括预定登记、预订取消、任务框架制定、可供房间表、房态预报表、调转登记等模块。 (3) 收银管理 收银管理分为:预订金、转帐等模块,预订金的输入与客人的帐户有关,也与客史有关。 (4) 帮助 可以用来对新来的或一些对本系统不熟悉的人提供帮助,并且可以对一些文化程度不高的人提供更好的使用本软件的方法,以便及时的融入近来。 (5) 查询管理 查询管理包括:帐户查询、房态查询、可供房间查询、预订单查寻等模块组成。 3.2 系统工作流程图 整理资料 电脑更改电脑取消 更改取消 客户档案 整理资料 输入电脑 写订单 散客预订要求 客人 前台 接待处 销售部 预订部 团队/贵宾预订要求 图3 电脑预订工作流程[8] 3.3 酒店预订管理功能分析 3.3.1 系统管理模块分析 (1) 基本情况输入模块 主要功能为:在这个可以对房间的状态进行调整,预订金的设置、折扣的设置、帐户的设置以及客人代码的设置等功能。 (2) 统计报表模块 主要功能为:对一天的预订情况、一周的预订情况、一个月的预订情况等进行统计,生成报表,这样管理层可以直接了解酒店的预订情况,从而做出相应的调整和部署下一步的任务等。 (3) 操作员管理模块 主要功能为:对酒店里的不同层给与不同的权限,例如高层的权限是最高的,依次递减,客人的权限就是在查询和一些简单的操作中。 3.3.2 预订管理模块分析 (1) 预订登记模块 主要功能为:可以建立一个新的预订单,把新的预订单发送给领导审核,并可得到审核是否成功的信息。如预订未获得通过,就说明这个人在黑名单中。 (2) 取消预订模块 主要功能为:可以执行一个取消功能,然而,实际上是取消他的预订单号,而不是删除客户的信息。 (3) 客情预报表模块 主要功能为:可以对酒店的客房使用情况以图形的方式显示出来,从而直观的了解酒店客房状态有了解。 (4) 调转登记模块 主要功能为:可以对用户提出换房要求进行修改房间号、价格等功能。 (5) 可供房间表模块 主要功能为:可以对酒店的可供使用的房间以图形的方式显示出来,从而能直观的了解酒店客房的供应情况。 3.3.3 查询管理模块分析 (1) 帐户查询模块 主要功能为:为客人查找帐户而制作的,因为酒店有不同的客人和不同的帐户,客人能查是否为VIP帐户、团体帐户、其他帐户,以及这些不同的帐户的服务和优惠不同。 (2) 预订单查询模块 主要功能为:前台操作员能够查到自己预订的房间号,预订时间,房间价格以及相关的折扣和优惠等。 (3) 可供房间查询模块 主要功能为:前台操作员能够通过这个模块了解到那些客房是空的好的,然后作出可以预订的决定,这样直接的图形界面能使人直接明了的知道详细情况。 (4) 房态查询模块 主要功能为:对客房的使用情况进行查询,比如:客房有维修的、自己用的、还有未打扫的、还有钟点房的使用等功能。 4 系统实施 4.1 数据库的设计与说明 4.1.1 主要表单 客房信息表 字段名称 数据类型 数据长度 是否为空 说明 ID CHAR 5 Not 编号 PLACE VARCHAR 20 Not 位置描述 ROOM_LEVEL CHAR 3 Not 客房级别 STATE CHAR 3 Not 客房状态 FROMTIME DATETIME 启用日期 TOTIME DATETIME 结束日期 REMARK VARCHAR 200 备注 预订单 字段名称 数据类型 数据长度 是否为空 说明 ID CHAR 14 Not 预订单号 ID_NO VARCHAR 20 Not 证件号 CODE VARCHAR 20 Not 预订类型 OPERATOR VARCHAR 20 Not 录单员 CHECKER VARCHAR 20 审核人 ENABLE CHAR 1 是否可用 REMARK VARCHAR 200 备注 预订内容 字段名称 数据类型 数据长度 是否为空 说明 ID_BOOKEDORDER CHAR 14 Not 预订单号 ROOM_LEVEL VARCHAR 20 Not 客房级别 NUMBER INT Not 预订数量 FROMTIME DATETIME Not 到达日期 TOTIME DATETIME Not 离开日期 FLAG CHAR 1 是否已分房 预订分房 字段名称 数据类型 数据长度 是否为空 说明 ID_BOOKEDORDER CHAR 14 Not 预订单号 ROOM_LEVEL CHAR 3 Not 客房级别 BOOKEDROOM CHAR 5 Not 预分房号 4.1.2 代码设计 预订单号:xx xxxx xx xx xxxx 流水号 日 月 年 字符 房号:xx xxx 房间号 楼层 4.1.3 存储过程 在本系统中对经常性的操作都用了存储过程。存储过程有如下优点: (1) 快速执行。 (2) 减少网络流量。 (3) 对自动的、复杂或敏感操作的事务处理。 (4) 存储过程的参数可以被传递和返回。 (5) 通过传递参数,可以用存储过建立非常复杂的查询操作,以非常复杂的方式更新数据库。 4.2 后台系统模块实施 4.2.1 登陆模块 (1) 功能:提供客户端登陆的接口。 (2) 主要接口:Login。 4.2.2 系统管理模块 (1) 功能:提供客户端管理用户信息的接口。 (2) 主要接口:AddUser、RePassWord、DelUser、GrantRight。 4.2.3 数据字典管理模块 (1) 功能:提供客户端管理数据库数据字典的接口。 (2) 主要接口:AddID_TYPE、AddROOM_STATE、AddBOOK_KIND、AddCOUNTRY、AddNATION、AddCITY、AddROOM_LEVEL。 4.2.4 预订管理模块 (1) 功能:提供客户端对预订单增加、取消预订操作的接口。 (2) 主要接口:CancelBook、addCustomerInfo、addBookedorder、addBookItem、dspBOOKEDORDERInsert、dspBOOKEDORDERCheck、dspBOOK_ITEMInsert。 4.2.5 查询模块 (1) 功能:提供客户端对预订资料、数据字典、房间信息查询的接口。 (2) 接口:GetVacantRoom、QureyBookInfo、dspSelectBookItemInfo。 4.2.6 帐号管理模块 (1) 功能:提供客户端对客户帐号管理的接口。 (2) 接口:dspAmendVIP、dspAmendTEAM、dspAmendOTHERACCOUNTS。 5 改进与维护 5.1 存在问题 (1) 没有实现预订折扣。 (2) 没有设计和银行的接口。 (3) 没有实现预订单更改。 5.2 改进 (1) 预订分房算法没有考虑的空间的浪费。 (2) 预订单查询的查询条件还不是很全。 5.3 维护 预订单不会自动删除,要每过一段时间对数据库进行整理,要不然会影响数据库的性能。 6 小节 在整个软件设计过程中,我们遇到了诸多问题,基本上完成了预定的目标。通过毕业设计,我们不但把这四年学习积累的知识做了整理、巩固,也学到了很多平常根本学不到的东西,增长了知识。通过自己动手实践,真正掌握了以前书本上的理论精髓,对自己掌握的技术也有了更深的理解。 我们在设计时遇到了很多的困难,比如说:开始的时候我们对MIDAS的工作原理了解不深,不知道怎么样从客户端通过参数动态的调用服务器端的数据集控件返回数据集;不知道怎么样动态的创建可视控件;协调各个成员的工作进度。等等。技术上的困难我们通过自己的摸索和尝试、上网找资料、同学的帮助还有老师的指点得以解决,通过我们队员之间越来越默契的配合,团队的工作进度都能按时完成。 困难给我们带来了不便,也让我们学会了解决问题的方法。当然我们通过这次设计也学到很多东西。首先,我对Delphi的底层有了一定的了解。其次,对面向对象也有了新的理解,不但理解了继承对代码重用的好处,也理解了接口和实现分离的意义,让我真正理解了面向对象的精髓。再次,对各种技术的应用也让我的编程水平有了很大的提高。最后,也是最重要的,通过这次的实践让我发现了自己的不足之处。通过这次设计,我深深地体会到:一个完善的开发计划,不断对真理追求的恒心,遇到困难毫不气馁迎难而上,是一个软件成功的前提。有过这次经验,让我受益匪浅。 最后还要感谢导师对我精心的帮助和教导,让我获益匪浅,在这里我要表达我最真诚的感谢! 参考文献 [1] 李晓辉 和 崔晓峰;Delphi6 分布式应用系统开发;中国铁道出版社;2001 [2] Steve Teixeira和Xavier Pacheco.DELPHI 5开发人员指南.机械工业出版社;2000 [3] 李 维; Delphi
展开阅读全文

开通  VIP会员、SVIP会员  优惠大
下载10份以上建议开通VIP会员
下载20份以上建议开通SVIP会员


开通VIP      成为共赢上传

当前位置:首页 > 学术论文 > 其他

移动网页_全站_页脚广告1

关于我们      便捷服务       自信AI       AI导航        抽奖活动

©2010-2025 宁波自信网络信息技术有限公司  版权所有

客服电话:4009-655-100  投诉/维权电话:18658249818

gongan.png浙公网安备33021202000488号   

icp.png浙ICP备2021020529号-1  |  浙B2-20240490  

关注我们 :微信公众号    抖音    微博    LOFTER 

客服