小型酒店管理系统体系结构设计论文.doc
小型酒店管理系统体系结构设计学院: 专业: 姓名: 学号: 指导老师: 第一章 前言1.1 问题提出 随着计算机和信息技术的飞速发展,传统的工作模式逐渐被信息化、网络化的现代工作模式所代替,在酒店管理业务方面亦是如此。传统的酒店管理往往令管理者花大量的人力和物力以满足各种繁琐的经营活动的需要,例如冗长的登记和结账手续、手工记录所有客房状态、列表统计顾客消费情况等。这种工作模式不但效率低下,且极易出现错误和遗漏,有时甚至会导致严重的经济损失,给酒店的经营带来负面影响。正是在这样一种背景下,新的酒店管理模式应运而生,即采用先进的计算机和软件技术来实现酒店业务的信息化管理。从客房的营销即客人的预订登记开始,到入住之后的各种消费直至最后退房结账,整个过程以顾客为中心,利用计算机简化各种复杂操作,在最合理最短时间内完成酒店业务的规范操作,这样才能令顾客得到优质的服务,增加顾客的回头率。虽然信息化并不是酒店走向成功的关键元素,但它可以帮助那些真正影响成败的要素发挥更大的效用。因此,采用全新的计算机管理系统,将成为提高酒店的管理效率,改善服务水准的重要手段之一。在现代化的酒店中,酒店为了能高效地管理客房资源、顾客信息、结算信息,做出了一系列的管理体系,通过管理信息和了解各个环节信息的详细情况的变化,能及时做出有效的反应和应对策略,对信息的各个环节能变更,有利于提高酒店管理效率。 现代化的酒店是集客房、餐饮、通讯、娱乐,商务文化及其他各种服务与设施为一体化的消费场所,酒店组织庞大,服务项目多,信息量大,要想提高劳动生产,降低成本,提高服务质量和管理水平,进而促进经济效益,必须借助计算机来进行现代化的信息管理,酒店管理系统正是为此而设计。1.2 项目研究意义及必要性酒店作为高层次的服务行业之一,最重要的就是要做到优质服务。服务的安排、调度是否周到,客人的要求是否能迅速地得到满足,都直接影响到酒店的形象和声誉。借助计算机技术来进行信息管理,并配合现代化的酒店管理经验和模式,可以极大地提高酒店的服务质量,获得更好的经济效益。酒店信息化管理已成为酒店现代科学管理的重要内容,是酒店经营中必不可缺少的现代科学工具。由此可见,一个好的酒店管理系统应该达到以下几个目标:1.提高工作效率,减轻劳动强度。在酒店的日常工作中,每天都要完成对营业信息进行更新统计,提供查询服务,结算账单等大量的业务,用手工方式进行的话,不仅速度慢,需要的人手多,且出错的概率也大,而计算机管理则可以大大提高业务运作的速度和准确性,实现营业管理自动化。2.提高了酒店经济效益,增加营业收入。 完善的客房管理功能可防止有房不能出租或房间重订的情况出现,随时提供准确和最新的房态信息,从而可提高工作效率和客房出租率。客人费用的一次性结账,不仅减少了票据传送,而且避免了管理上的混乱,更主要的是有效地防止逃帐的发生。3.提高了服务质量,可以为客人提供快捷、细致、周到的服务。操作人员只需敲击键盘,就可以办理客人入住、查询信息、结账等各项手续,并准确无误地记录客人的每笔消费记录,大大缩短客人办理手续时的等候时间,提高了服务质量。4.信息透明,酒店营业情况一目了然,提高了经营者的决策水平。经营者可以通过对酒店经营状况及历史数据的分析,做出相关的经营决策,并加强对饭店运营的内部控制,为酒店未来的发展提供理论依据。 第二章 系统可行性分析2.1 技术可行性 开发一个小型的酒店管理系统,所涉及到的技术问题不会太多,主要用到的工具就是数据库管理系统和一门可视化开发的编程语言。Microsoft SQL Server 2000在安全性、准确性、运行速度方面有绝对的优势,并且处理数据库量大,效率高;而本系统采用的前台开发工具Visual Studio 2010集成开发环境中的VB.NET语言自身所提供的各种控件、函数及方法完全可以帮助我们完成系统的开发。在实际的开发过程和应用中,数据库和应用程序均在同一计算机上运行。数据库中储存了所需要被处理的数据,并由SQL Server 2000数据库管理系统对其进行集中管理,应用程序由Visual Studio 2010集成开发环境中的VB.NET编程语言进行开发。只要先启动服务器,系统即可运行,这为系统的调试工作带来了便利。2.2 经济可行性小型酒店管理系统从开发、使用到维护所需要的费用都十分的低廉,且在软硬件方面的要求都不是很高,而收益去非常的巨大,对于小型的酒店宾馆来说,不但不会增加营业成本,反而能够提高自身的管理效率,创造更多的经济利益。另外,系统管理员和业务员都拥有计算机的专业知识,酒店前台工作人员和管理人员不需要经过培训或只需要经过少量培训即可操作本软件。这样可以为开发本系统节升资金。同时无纸化办公可以节省资源,减少后期资源浪费。因此,开发本系统在经济是可行的。2.3 操作可行性本系统采用界面化设计,简单易用,各项数据都用表格形式显示出来,酒店营业情况一目了然。并且提供了大量的操作提示以及出错信息,大大的方便用户的使用,同时也减少了出错的可能,确保了数据的正确性、完整性和一致性。 第三章 系统开发工具和平台3.1 开发工具介绍当今流行的系统开发工具有Visual C#和最新的基于.NET平台的Visual Studio.NET等。SQL Server 2000 简介Microsoft SQL Server 2000建立于Windows NT的可伸缩性和可管理性之上,提供了功能强大的客户服务器平台。它可以在许多环境,包括两级或多级客户/服务器数据库系统中有效的工作。服务器端负责创建和维护表和索引等数据库对象,维护数据的完整性和安全性,确保在出现某种错误时能够恢复操作。用户可以很好的使用客户端系统从服务器检索信息并进行本地操作,服务器关注数据库进程,而用户则关注信息的表示。3.2 ADO.NET数据库访问技术ADO.NET是对Microsoft ActiveX Data Objects(ADO)一个跨时代的改进,它提供了平台互用性和可伸缩的数据访问。ADO.NET是新的数据存储对象结构,它是.NET框架中的数据库访问模型,主要涉及到System.Data、System.Data.SqlClient和System.Data.OleDb 三个命名空间的类。ADO.NET体系结构中的对象可以分为两组:包含在.NET数据提供程序(DataProvider)中的组件和属于ADO.NET断开连接体系结构的对象。3.3系统运行平台 软件要求操作系统:Windows 2000/XP/2003;数据库管理系统:SQL Server 2000或后续版本;环境配置:Microsoft .Net Framework 2.0。 第四章 系统需求分析4.1 系统功能需求本系统的总目标是利用计算机强大的数据处理和存储能力,为用户提供快捷、高效的服务,减免手工处理的繁琐与误差,及时、准确地反映酒店的工作和经营情况,从而提高酒店的服务质量,获得更好的经济效益。众所周知,客房业务是中小型酒店日常业务中的核心部分,而商品消费也是酒店利润的重要来源。只有将这两者完美的融入到计算机管理系统中去,才能说是实现了酒店业务的信息化管理。如图4-1所示,从顾客入店登记开始,到顾客在店期间的商品消费和住宿费用的计算,最后到收银结账办理离店手续,它展示了酒店经营活动的一次完整的业务流程。这也就是一个小型酒店管理系统应该具备的基本功能。因此,本系统的功能需求应包括:1.实现客房预订、登记入住,更换房间以及退房结账等客房营销功能;2.实现房态信息的实时查询、更新;3.准确记录顾客在店期间的消费情况;4.实现住宿费用和商品消费的一次性结账处理功能;5.实现快速准确的顾客信息查询功能;6.实现酒店经营状况的统计;7.实现系统数据库维护功能,能够对数据库进行备份和还原操作;8.实现账号验证功能,只有拥有合法账号的用户才能进入并使用本系统。核对消费金额产生顾客消费记录登记入住输入顾客信息预收押金安排顾客入住商品消费住宿费用结账离店 顾客4.2系统数据流程图 酒店管理信息系统的数据流程分析是描述系统数据流程的工具,它将数据独立抽象出来,通过图形方式描述信息的来龙去脉和实际流程。 为了描述复杂的软件系统的信息流向和加工,可采用分层的DFD来描述,分层DFD有顶层,中间层、底层之分。 详细酒店业务流程和根据系统功能数据流图:1住宿登记 F3 住宿登记 D1 客户信息 F1 查询房态 D3 登记表 D2 预收金额表 D4 客房信息表2顾客结帐 F2 住宿登记单 F4 退房 D5 退房信息表 F5续定3 顾 客续 费 数据流图4.3 数据字典 客户信息存储表 数 据 存 储条目名: 客户信息记录数:记录所有客户信息主关键字: 客户号 记录组成:项目: 客户ID+客户姓名+性别+籍贯+联系电话 表3.2客房信息存储表 数 据 存 储条目名:客房信息 记录数:记录所有房间信息主关键字:客房号记录组成:项目: 客房编号+客房类型+客房楼层+单价+备注信息 表3.3客房类型信息存储表 数 据 存 储条目名: 房间类型记录数:记录房间类型主关键字:房间类型名 记录组成:项目: 房间类型名+面积+额定床数+额定人数+空调+电视+卫生间+电话+备注信息 表3.4客房类型信息存储表 数 据 存 储条目名:收入明细账记录数:只记录当前识别的登记记录,记录数不限,结账后转入历史收入明细账主关键字:客编号 记录组成:项目: 客房编号+客房类型+客房单价+客户编号+客户姓名+入住日期+折扣+结算日期+总金额+备注信息4.4酒店管理业务流程分析 业务流程对于企业的意义不仅仅在于对企业关键业务的一种描述;更在于对企业的业务运营有着指导意义,这种意义体现在对资源的优化、对企业组织机构的优化以及对管理制度的一系列改变。 这种优化的目的实际也是企业所追求的目标:降低企业的运营成本,提高对市场需求的响应速度,争取企业利润的最大化。下图为酒店业务流程图: 第五章 系统总体结构设计5.1 系统功能结构通过系统需求分析可知,本系统可以分为以下若干个功能模块:登记入住、客房预订、更换房间、退房结账、信息查询、消费记账、营业情况统计、商品信息设置、客房信息设置、用户管理、数据库维护和系统日志。如图5-1所示。小型酒店管理系统客房信息设置模块客房预订模块客房信息添加客房信息删除登记入住模块更换房间模块信息查询模块消费记账模块 用户信息管理模块商品信息设置模块客房信息修改在店顾客查询离店顾客查询预订顾客查询添加消费信息消费转单退出系统用户信息添加用户信息修改用户信息删除商品信息添加商品信息删除商品信息修改添加预订取消预订预订入住营业状况统计模块数据库维护模块退房结账模块消费退单系统日志模块客房状态管理模块 5.2 应用三层架构在软件体系架构设计中,分层式结构是最常见,也是最重要的一种结构。微软推荐的分层式结构一般分为三层,从下至上分别为:数据访问层、业务逻辑层(又或称为领域层)、表示层。1、表示层(UI):通俗讲就是展现给用户的界面,即用户在使用一个系统的时候他的所见所得。此次系统呈现的就是登陆,入住以及管理及注册的界面。 2、业务逻辑层(BLL):针对具体问题的操作,也可以说是对数据层的操作,对数据业务逻辑处理。调用底层数据层的应用间接地对数据库的操作实现顾客的相关信息管理,只是实现逻辑上的调用但不能知道具体到操作。 3、数据访问层(DAL):该层所做事务直接操作数据库,针对数据的增添、删除、修改、查找等。此层的任务就是对顾客的入住信息进行直接的管理,并且超级管理员也可以直接的对客服以及管理员进行管理,以此来为上层的逻辑层提供具体的操作。屏蔽了具体的细节。 第六章 数据库设计6.1 数据库需求分析酒店管理系统需要提供信息的查询、添加、修改以及删除等功能。这就要求数据库能充分满足各种信息的输出和输入。通过对上述系统功能的分析,根据酒店管理系统的需求,总结出如下的需求信息:1.每个客房都有唯一的客房编号;2.每个客房只属于一种已存在的客房类型,否则为空;3.每种客房类型下可有多个房间;4.如果一个客房类型下存在客房,则该类型不可删除;5.每条入住单下可以有多个客房;6.每条入住单下可以有多条消费记录;7.每条消费记录只属于一条入住单;8.每条入住单只生成一条结账单;9.每条入住单只生成一条入住历史记录;10.每个商品只属于一种已存在的商品类别,否则为空;11.每种商品类别下可有多个商品;12.如果一个商品类。6.2 概念结构设计概念设计用于信息世界的建模,是现实世界到信息世界的第一层抽象。一般采用实体-联系方法,即E-R图。根据数据库需求分析规划出的实体有:客房类型实体、客房信息实体、商品信息类别实体、商品实体、消费记录实体、入住单实体、预订单实体、结账单实体和入住历史实体等。各个实体具体的实体属性图如下:客房类型客房价格类型名称备注图6 图6-21客房类型实体属性图客房信息类型名称客房编号客房位置室内电话客房描述单据编号备注信息客房状态 图6-2 客房信息实体属性图商品类别商品类别是否需要服务生服务类别编号 图6-3 商品类别实体属性图商品信息进货标记商品名称商品价格商品类别商品编号库存数量 图6-4 商品信息实体属性图消费记录记录编号顾客姓名商品类别商品名称入住单号购买价格购买数量消费金额 图6-5 消费记录实体属性入住单证件类型顾客姓名入住价格抵店时间预住天数入住单号 图6-6 入住单实体属性图预订单顾客类型顾客姓名预抵时间保留时间预订日期预订单号 图6-7 预订单实体属性图 结账单号结账单顾客姓名入住单号消费金额离店时间结算状态 图6-8 结账单实体属性图入住历史顾客姓名入住单号号入住价格离店时间折扣比例记录编号 图6-9 入住历史实体属性图在NNNM结账单入住历史1客房信息11属于商品类别1客房类型属于结账1更新P1生成商品信息111离店111M预订单入住消费记录记账入住单图6-10 实体E-R图6.3 逻辑结构设计根据数据库概念结构设计,将数据库概念结构转化为SQL Server 2000所支持的实际数据模型,即数据库的逻辑结构。其各个数据库表的设计结果如下:(1)登录表(2)客服信息表(3房间信息表(4)顾客信息表(5)历史顾客住宿信息表 第七章 系统输入输出、代码设计7.1登录窗体设计(1)界面功能描述本界面是系统的启动窗体,实现对于用户身份的多重验证功能。具体描述如下:用户合法性验证。首先判断用户输入的用户名和密码是否正确,若正确,就进入用户状态判定,若错误;系统便发出警告信息。系统限定用户只有三次输入机会,三次之后本窗体自动关闭。用户当前状态判定。系统将用户的状态分为“可用”和“停用”。当用户的合法性得到验证时,则对用户的当前状态进行判定。若为“可用”,便进行用户权限判定;若为“停用”,系统发出警告信息,禁止用户登录。用户权限判定。即对于拥有登录权限的合法用户进行权限判定。如果是超级用户,将拥有系统的全部功能权限;如果是普通用户,则“用户设置”,“数据库维护”和“系统日志”三个窗体将被禁用,其相应的菜单栏标题也将变为灰色。(2)窗体设计创建一个名为“LoginWeb。ASPX”的窗体,将Text属性改为“登录窗体”。并按图7-4进行界面设计。系统登录窗体 新员工注册界面7.2 系统主界面设计(1) 1.主界面 2,顾客入住界面3,查询界面4,客服管理界面第八章 系统实施8.1 系统运行为了能对系统进行全面的测试和性能分析,应按照系统中各个模块性能和功能要求的不同,采用不同的测试用例,从而尽可能多地发现本软件中的错误,提高软件的可靠性和安全性。下面对系统中几个比较重要的功能模块进行一些针对性的测试。8.1.1 对于登记入住模块的运行本模块要输入的信息有入住单号、主客姓名、证件类型、证件号码、顾客类型、性别、等。要求其中的某些关键信息必须要完整、准确的输入,如顾客姓名,以防止因数据遗漏而给系统的使用造成障碍。8.2系统使用说明由于本系统是基于.NET平台开发的,需要安装Microsoft .Net Framework 2.0才能使用。系统默认的超级用户名为“yc”,默认密码为“321”。另外,系统在运行之前必须要先运行SQL Sever 2005如果是首次运行系统,必须先进行数据库配置文件的启动否则数据库打不开的。另外此次小型的酒店管理系统只是实现了一些基本的功能,虽然设计的比较全面但是部分的功能还尚未实现,还有待进一步的优化,不过此次的实验然我充分接触到了软件的三层架构的基本应用,了解到了与平台的无关性,以及可移植性的好处。为以后的工作打下好的基础。 第九章 结束语 本例详细的叙述了从创建数据库到系统设计和各模块创建的全过程,其中包含可数据库的设计和创建、面向对象的表单的设计、基本功能如查询的实现、主程序的编写。在创建过程中遇到了一些难题在指导老师的帮助下都一一解决,使系统能够正确的运行。我们编写此软件的目的是希望此软件能够大力推广,能够更好的为用户服务,能够给用户带来方便。但是由于水平有限,时间仓促,所以难免有些不足和错误。另外,软件的界面也不够美观,这一切都需要我们在今后继续努力,认真学习有关知识,逐步使软件日臻完善。做每件事都要付出努力,在做设计的过程中遇到过困难,也在困难中徘徊过,在老师和同学的热心帮助下,终于完成了毕业设计。在这段做设计的过程中我感触颇深。在还没有做的时候就听说做设计不容易,可也有人说没有什么困难。现在才知道一个人一个体会,还是那句老话,会的就容易,不会再简单对于自己也是难的。但是我知道再怎么难,如果真的去努力去认真也会有好的成绩的。所以坚持到底就是胜利。做程序是一个不断提高自己,充实大脑的过程,也是回忆旧知识补充新知识的过程。它不仅仅是要你去单一的完成一项任务,而是要求你自己体会做成一件事的过程。我在做毕业设计的时候。遇到的问题不少,比如象调试程序,这是做的最困难的时候,因为一个系统,只差一个小地方没有调出来就会导致其他的一些窗体也运行不起来,越着急越做不出来,找不出差错,在老师的鼓励和指导下,我慢慢的思索和查找,一步一步的耐心找错误,终于有所进展。这时,我明白做事不能急于求成,欲速则不达,必须要细心,要有耐心。