酒店参考的毕业论文.doc 46页

  • 1.67 MB
  • 2022-04-22 13:41:39 发布

酒店参考的毕业论文.doc

  • 46页
  • 当前文档由用户上传发布,收益归属用户
  1. 1、本文档共5页,可阅读全部内容。
  2. 2、本文档内容版权归属内容提供方,所产生的收益全部归内容提供方所有。如果您对本文有版权争议,可选择认领,认领后既往收益都归您。
  3. 3、本文档由用户上传,本站不保证质量和数量令人满意,可能有诸多瑕疵,付费之前,请仔细先通过免费阅读内容等途径辨别内容交易风险。如存在严重挂羊头卖狗肉之情形,可联系本站下载客服投诉处理。
  4. 文档侵权举报电话:19940600175。
'酒店参考的毕业论文一、引言(一)研究目的中小型酒店客房管理系统是根据酒店对客房管理的实际情况进行编写的,主要目的是为了方便酒店对客房的实际情况进行集中的查询与管理工作,以提高整个酒店的工作效率。酒店客房管理的科学化、系统化、信息化成为各个酒店追求的目标。因此,想要实现这些功能,就要求酒店配备一套客房管理系统,以便在酒店内实施良好的完善的管理,并以最快的速度响应客户的需求,及时为他们提供一个高效、便捷的服务。(二)项目开发的意义现在,我国的中小型酒店客房管理水平普遍不高,有的还停留在纸介质的基础上,这种管理手段已不能适应时代的发展,而且它浪费了许多人力和物力。在当今信息时代,这种传统的管理方法必然会被以计算机为基础的信息管理系统所代替。如果本系统能被中小型酒店采用,将会改变当前靠手工管理客房信息的状况,可以树立良好的酒店形象,提高工作效率。客房管理信息系统(MIS)是酒店软件开发中一个重要的应用系统,它大大改善了酒店管理的基础环境。(三)项目开发目标建立酒店客房管理信息系统,在达到节省人力资源成本的同时,还可以提高业务效率,并能够及时、准确、迅速地满足顾客的需求。(四)研究设想46 随着我国经济的迅速发展和假日经济的出现,宾馆酒店业的竞争愈来愈激烈。要想在竞争中取得优势,必须在经营管理、产品服务等方面提高服务管理意识。而对酒店的经营状况起决定作用的是酒店管理。虽然计算机管理并不是酒店走向成功的关键元素,但它可以最大限度的为准确、快捷、周全等要素发挥作用提供有力的支持。因此,采用全新的计算机网络和管理系统,将成为提高酒店管理效率,改善服务水准的重要手段之一。面对信息时代的机遇和挑战,利用科技手段提高企业管理无疑是一条行之有效的途径。自信与科技在酒店管理与现代化建设中显现出越来越重要的地位。在某种意义上,酒店客房管理方面的信息化与科学化,已成为现代化酒店的重要标志。(五)选题依据一些大型酒店管理系统采用国际通用的先进酒店管理模式,通过合理选择系统功能模块,可满足国内大规模的酒店需求,为管理者提供高效的管理手段。既可帮助管理者实时了解酒店的业务情况,做到耳聪目明;又能实现对帐务进行严密的管理,做到严防跑、冒、滴、漏。虽然此酒店管理系统有着强大的覆盖面,受到各大酒店管理人员好评。但对于中小型酒店来说,有些功能似乎太庞大,会造成功能不必要的浪费。因此,对于一些中小型的酒店,我们应该有针对性的进行开发。46 二、需求分析(一)用户需求分析需求分析是在问题及最终解决方案之间架设桥梁的第一步。只有充分了解需求之后才能设计系统,否则,对需求定义的任何改进,在设计上都必须大量的返工。现在绝大多数的中小型酒店、宾馆由于资金、人员等多方面原因不易使用酒店管理类软件,全凭原始的手工记录管理,效率低、易出错;同时,市场上出现的各类酒店客房信息管理软件基本上都是为大型酒店专业设计的,有很多功能对于一般酒店、宾馆根本用不上。更为关键的是这些酒店客房信息管理软件都是基于客户机/服务器的,即使功能再强大,客人需要预订客房时都需自己亲自到酒店去预订或者是打电话到酒店预订,操作比较繁琐。酒店客房信息管理系统的使用是否方便,运行速度是否迅速,信息处理是否准确,直接影响到客人能否及时获得酒店客房信息和酒店的经营管理,然而,现在的系统显然不能满足这些需求,它存在的主要问题是:客人使用很不方便。客人预订客房,需自己亲自到酒店去预订或者是打电话到酒店预订,这显然是对时间很大的浪费。另外,若客人临时有事,需要修改和取消自己的预订也需那样做,46 相当麻烦。而在生活节奏越来越快的今天,显然是不科学的。管理酒店的各种信息相当困难。酒店的信息量越来越大,管理员要对客房、预订、入住、结账等信息进行人工管理,工作量相当大,如客人结账退房时,要通过手工记录的账单计算客人的结账金额,并修改客房信息。处理效率低,准确度差。采用人工方式,不但增加了工作量,浪费了人力,更重要的是不可避免地会降低处理效率,且出错机率大。1.数据字典数据字典是系统分析阶段的重要部分,它清楚地定义与详细地解释了数据流程图所不能表达的内容。同时它能够帮助分析组织数据,是同用户交谈的极好工具,此外数据字典记载着每个数据项的关键条目,从中可以检查出各数据元素的详细内容或漏掉的数据元素。(1)数据元素定义表如表2-1所示。表2-1数据元素定义表编号数据流元素名数据类型、长度编号数据流元素名数据类型、长度E01姓名C/50E12支付方式C/50E02联系电话C/50E13结账金额N/小数E03信用卡号C/50E14消费内容C/50E04房间类型C/50E15房间类型编号C/50E05房间编号C/50E16楼层编号C/50E06入住时间DE17额定人数C/50E07离店时间DE18床数C/50E08备注C/50E19客房价格C/50E09预订人C/50E20客房状态C/50E10单据状态C/50E21房间类型数量C/50E11入住人数C/50E22角色名称C/5046 (2)数据流定义表如表2-2所示。表2-2数据流定义表编号数据流名称数据流来源数据流去向数据流组成P001客房预订表订房登记管理人员E01~E08P002登记表入住登记、客房预订表、客房信息表退房管理E02、E05、E07E09、E10、E11P003退房表登记表客人E05、E12、E13P004消费表消费记账单客人E05、E08、E13、E14P005客房信息表客房信息单预订管理退房管理E05、E08、E15、E16、E17、E18、E19、E20P006客房类型表客房信息单客房管理E04、E15、E19、E212.数据流程图酒店客房信息的管理工作主要包括预订管理、入住管理、消费记账、收银退房、客房管理、系统维护几方面,对这几方面可以进行添加、显示、修改、删除、查询等操作。操作人员进入系统前要先进行身份验证,然后根据访问权限来进行相应的操作。如果是系统管理员可以对系统进行全面的管理,可以查看预订管理界面的全部信息,还可对入住信息进行添加、删除操作,46 对各管理信息进行查询;普通用户没有这些功能的权限,只能进行客房查询和客房预订。该系统前台数据流程图如图2-1所示,后台数据流程图如图2-2所示。图2-1前台系统流程图图2-2后台系统流程图(二)系统功能分析系统开发的总体任务是实现酒店信息的系统化、规范化和自动化。酒店客房管理系统可能实现的主要功能包括以下几个方面。46 1.客户订单管理对客户预订信息进行查询和管理,包括对客户的基本信息(如客户姓名、联系电话、预订时间、客房编号、客房类型、入住时间、离店时间等)进行统计和查询。2.入住管理管理员输入基本信息,并对其进行管理,入住管理包括的基本信息(如客房编号、离店时间、预订人、联系电话、单据状态、入住人数等)进行检索、录入和修改。3.消费记账管理管理员输入基本信息对客人消费进行管理,包括的基本信息(如客房编号、消费金额、消费内容、备注等)进行检索、录入和修改。4.收银退房管理实现对客房的退房管理,包括对客房的业务信息(如客房编号、消费内容、消费时间、金额、支付方式)进行检索、录入和修改。5.客户信息管理管理员可以对客房信息和客房类型进行管理,包括对客房的基本信息(如客房编号、类型编号、楼层编号、客房价格、床数等)进行添加和删除。6.查询功能根据客户的入住情况,管理员可以对入住单和账单进行查询。46 (三)可行性分析1.技术上的可行性本管理信息系统将采用技术成熟的VisualStudio.NET作为前台开发工具。后台数据库采用SQLServer2000数据库,SQL功能强大、简单易学、使用方便,已经成为了数据库操作的基础,并且现在几乎所有的数据库均支持SQL。因此,系统的软件开发平台已成熟可行。硬件方面,科技的飞速发展使硬件的更新速度越来越快,容量越来越大,可靠性越来越高,价格越来越低,其硬件平台完全能满足此系统的需要。2.经济上的可行性本系统由本人自主开发,免费使用。操作人员只需简单培训即可操作。管理和维护比较简单,除了必要的设备投资外,后期只需少量资金就可确保运转。因此对于中小型酒店在经济上是完全可以接受的。本系统的使用能大大提高员工工作效率,加速资金周转、降低各项成本及改善服务质量,能够取得良好的经济效益。46 三、系统的总体设计(一)功能设计根据酒店客房信息管理系统基于B/S的特点,可以将其分为前台和后台两个部分进行设计,分别对应客人和管理员。前台主要用于客人查询客房、预订客房、查询、修改、删除订单;后台主要用于酒店管理员对酒店入住情况进行管理。系统功能架构的前台结构图如图3-1所示,后台结构图如图3-2所示。图3-1系统总体结构图-前台功能结构图46 图3-2系统总体结构图-后台功能模块图下面详细描述一下各个模块的功能。1.前台模块的功能客人进入酒店网站的首页,根据客房的类型,查询酒店的客房信息,并在网上完成了客房的预订。客人在预订了客房后可通过客房编号对自己的订单信息进行查询、修改和删除操作。2.后台模块的功能(1)订单管理只限于管理员操作。不同的账号级别所操作的权限是不同的。管理员可以向数据库的订单表中添加、修改和删除账号,也可设置账号的级别;客人只能进行客房预订。因为设置了不同的权限,从而加强了系统的保密性。(2)入住管理入住管理是管理员对酒店入住情况进行的操作,只限于管理员。对客人的入住或离店情况进行相应的添加、删除操作。(3)消费记账46 记录入住客人的消费信息,形成账单。对客人的消费进行添加、删除操作。(4)收银退房完成客人的结账退房。(5)客房管理管理、设置酒店的客房类型和客房信息。(6)系统维护管理员可以对数据库的用户表中添加、修改和删除账号和密码,也可设置账号的级别;系统有两种帐号级别:一种是管理员级别,一种是客人级别。(二)数据库设计1.概念结构设计将“管理员”、“客房信息”确定为实体,“管理”作为联系,可以得到管理员、客房信息的局部E-R图,如图3-3所示。管理员客房信息管理1n角色名称用户名密码角色编号类型编号楼层编号备注额定人数床数客房价格客房编号状态图3-3管理员、客房信息局部E-R图将“管理员”、“账单”确定为实体,“管理”作为联系,可以得到管理员、账单的局部E-R图,如图3-4所示。46 管理员账单管理1n角色名称用户名密码角色编号客房编号消费内容备注消费金额消费时间账单编号图3-4管理员、账单局部E-R图将“管理员”、“入住单”确定为实体,“管理”作为联系,可以得到管理员、入住单的局部E-R图,如图3-5所示。管理员入住单管理1n角色名称用户名密码角色编号客房编号类型编号入住人数入住时间离店时间客房价格入住单号单据状态图3-5管理员、入住单局部E-R图将“管理员”、“预订单”确定为实体,“管理”作为联系,可以得到管理员、预订单的局部E-R图,如图3-6所示。管理员预订单管理1n角色名称用户名密码角色编号客房编号客房类型预订时间入住时间离店时间预订单号图3-6管理员、预订单局部E-R图以上为各个功能子系统的分E-R图,根据各个分E-R46 图,现在给出总体E-R图,如图3-7所示。图3-7系统总体E-R图2.逻辑结构设计(1)将E-R图转换成若干关系模式每个关系模式的主键及外键如下。入住单(入住单号,入住时间,离店时间,单据状态,客房价格,入住人数,预订人,联系电话,备注,应收账款,是否结账,结账金额,结账日期,付款方式,信用卡号,入住天数)外键:客房编号,类型编号客房类型(类型编号,类型名称,价格,数量)客房信息(客房编号,额定人数,床数,备注,状态,价格)外键:类型编号,楼层编号账单(账单编号,消费内容,消费金额,消费时间)外键:客房编号楼层信息(楼层编号,楼层名称)预订单(预订单号46 ,客房类型,入住时间,离店时间,客房价格,单据状态,预订人,联系电话,信用卡号,预订时间,备注)外键:客房编号用户(用户编号,用户名,密码)外键:角色编号角色(角色编号,角色名称)入住单历史(入住单号,入住时间,离店时间,单据状态,客房价格,入住人数,预订人,联系电话,备注,应收账款,是否结账,结账金额,结账日期,付款方式,信用卡号,入住天数)外键:客房编号,类型编号(2)结构定义入住单在客人入住酒店时使用,记录客人的相关信息,具体设计如表3-1所示。表3-1入住单字段字段名字段类型及宽度主键是否允许为空1入住单号Int(4)是否2客房编号Int(4)否是3类型编号Int(4)否是4入住时间Datatime(8)否是5离店时间Datatime(8)否是6单据状态Varchar(20)否是7客房价格Float(8)否是8入住人数Int(4)否是9预订人Varchar(20)否是10联系电话Varchar(40)否是11备注Varchar(510)否是12应收账款Float(8)否是13是否结账Bit(1)否是14结账金额Float(8)否是15结账日期Datatime(8)否是16付款方式Varchar(20)否是17信用卡号Varchar(40)否是18入住天数Int(4)否是46 客房类型表是保存客房的类型信息,具体设计如表3-2所示。表3-2客房类型字段字段名字段类型主键是否允许为空1类型编号Int(4)是否2类型名称Varchar(40)否是3价格Float(8)否是4数量Int(4)否是客房信息表是保存酒店所有的客房信息,具体设计如表3-3所示。表3-3客房信息字段字段名字段类型主键是否允许为空1客房编号Int(4)是否2类型编号Int(4)否是3楼层编号Int(4)否是4额定人数Int(4)否是5床数Int(4)否是6备注Varchar(100)否是7状态Varchar(4)否是8价格Float(8)否是账单表是记录客人入住期间在酒店内的消费情况,具体设计如表3-4所示。表3-4账单字段字段名字段类型主键是否允许为空1账单编号Int(4)是否2客房编号Int(4)否是3消费内容Varchar(40)否是46 4消费金额Float(8)否是5消费时间Datatime(8)否是6备注Varchar(80)否是楼层信息表是保存楼层编号及名称,具体设计如表3-5所示。表3-5楼层信息字段字段名字段类型主键是否允许为空1楼层编号Int(4)是否2楼层名称Varchar(60)否是预订单表是客人预订客房时使用,保存预订的相关信息,具体设计如表3-6所示。表3-6预订单字段字段名字段类型主键是否允许为空1预订单号Int(4)是否2客房类型Varchar(50)否是3入住时间Datatime(8)否是4离店时间Datatime(8)否是5客房编号Int(4)否是6客房价格Float(8)否是7单据状态Varchar(20)否是8预订人Varchar(20)否是9联系电话Varchar(40)否是10信用卡号Varchar(40)否是11预订时间Float(8)否是12备注Varchar(510)否是用户表是保存系统使用者的信息,具体设计如表3-7所示。46 表3-7用户字段字段名字段类型主键是否允许为空1用户编号Int(4)是否2用户名Varchar(36)否是3密码Varchar(50)否是4角色编号Int(4)否是角色表是保存系统使用者的权限信息,具体设计如表3-8所示。表3-8角色字段字段名字段类型主键是否允许为空1角色编号Int(4)是否2角色名称Varchar(50)否是入住单历史表是入住单在收银结账后清除并导入的一些数据,具体设计如表3-9所示。表3-9入住单历史字段字段名字段类型主键是否允许为空1入住单号Int(4)是否2客房编号Int(4)否是3类型编号Int(4)否是4入住时间Datatime(8)否是5离店时间Datatime(8)否是6单据状态Varchar(20)否是7客房价格Float(8)否是8入住人数Int(4)否是9预订人Varchar(20)否是10联系电话Varchar(40)否是11备注Varchar(5100)否是12应收账款Float(8)否是13是否结账Bit(1)否是46 14结账金额Float(8)否是15结账日期Datatime(8)否是16付款方式Varchar(20)否是17信用卡号Varchar(40)否是18入住天数Int(4)否是四、系统实现(一)开发工具的选择本系统主要采用的是面向对象的方法,尽可能的使操作简单易学。主要采用技术:ASP.NET技术和SQL数据库有机结合。1.MicrosoftSQLServer2000简介SQL是StructuredQueryLanguage的缩写。是专为数据库而建立的操作命令集,是一种功能齐全的数据库语言。在使用它时,只需要发出“做什么”的命令,“怎么做”是不用使用者考虑的。SQL功能强大、简单易学、使用方便,已经成为了数据库操作的基础,并且现在几乎所有的数据库均支持SQL。数据库技术出现于20世纪60年代,主要用来适应管理信息系统对数据管理的要求。40多年来,数据库技术在理论和实现上都有了很大的发展,已经成了绝大多数IT46 解决方案的基础。数据库系统支持的数据模型由层次型、网状型发展到目前较流行的关系型。SQLServer2000(简称SQLServer)就是运行在网络环境下的关系型数据库管理系统(RDBMS)。SQLServer2000的特性包括以下几个方面。(1)与Internet集成SQLServer数据库引擎提供完整的XML支持。提供了网络解决方案所需的可伸缩性、可用性和安全功能。SQLServer程序设计模型能与WindowsDNA构架紧密结合,在SQLServerEnglishQuery和Microsoft搜索服务等功能的支持下,提高了Web应用程序的查询和搜索功能。(2)可伸缩性和易用性SQLServer数据库引擎可以在不同的微软平台上运行,随着应用系统功能的增强,用户可以平滑地进行移植,保证了用户前期投资的最大利益。(3)企业级数据库功能SQLServer数据库引擎支持当今苛刻的数据处理环境所需的功能。它充分保护数据完整性;管理上千个并发修改数据库用户;分布查询功能可以引用来自不同数据源的数据;分布式事务功能保证所有分布数据库更新的完整性;具有强大的复制同步功能。(4)易于安装、部署和使用SQLServer中包括一系列管理和开发工具,这些工具方便了SQLServer的安装、部署、管理和使用过程。SQLServer支持与Windows46 DNA集成的程序设计模型,可以实现应用程序在使用数据库和数据仓库时的无缝连接,提高了应用程序的开发效率。(5)数据仓库SQLServer中包含对数据库中的数据进行析取和分析的联机分析处理(OLAP)工具,有些工具还可用来直观地设计数据库并通过EnglishQuery进行数据分析。2.VisualStudio.NET简介1995年,Sun公司正式推出面向对象的开发语言Java,并提出跨平台、跨语言的概念,之后,Java就是逐渐成为企业级应用系统开发的首选工具。为支持Java语言,微软开发出基于Java语言的编译器VisualJ++,并在短的时间里由1.1版本升级6.0版本,其中VisualJ++6.0版集成在VisualStudio6.0中。该语言开发的程序不但在Java虚拟机上(JavaVirtualMachineJVM)的运行速度大大加快,而且增加了许多新特性,同时还支持调用WindowsAPI,这些特性使得VisualJ++成为强有力的Windows应用开发平台,并成为业界公认的优秀Java编译器。由于VisualJ++主要应用在Windows平台的系统开发中,因此Sun公司认为VisualJ++违反了Java的许可证协议,违反了Java开发平台的中立性,并对微软提出了诉讼,这使得微软处于极为被动的局面。为了改变这种局面,微软决定推出其进军互联网领域的.NET计划,C#就是该计划中所要开发的一门重要的开发语言。.NET46 计划将是微软今后几年发展的战略核心,其内容非常庞大。它的技术开发平台是VisualStudio.NET,而C#作为VisualJ++的替代语言也集成在该平台中。C#语言的开发成功,对微软未来的发展有着非常重要的意义。微软在2000年6月份举行的“职业开发人员技术大会”上正式发布了C#语言。微软公司对C#的定义是:“C#是一种类型安全的、现代的、简单的、由C和C++衍生出来的面向对象的编程语言,它是牢牢根植于C和C++语言之上的,并可立即被C和C++开发人员所熟悉。C#的目的就是综合VisualBasic的高生产率和C++的行动力。”(二)运行环境及配置大家知道Microsoft为了更好地预防恶意用户和攻击者的攻击,在默认情况下,没有将IIS安装到WindowsXP家族的成员上。而且,当我们最初安装IIS时,该服务在高度安全和"锁定"模式下安装。在默认情况下,IIS只为静态内容提供服务,诸如ASP、ASP.NET、在服务器端的包含文件、WebDAV发布和FrontPageServerExtensions功能只有在启用时才工作。在WindowsXPIIS中安装部署ASP.NET环境,我们首先要了解一下IIS新的特点,在WindowsXPServer下如何安装IIS,在IIS的配合下我们如何来安装和部署ASP.NET环境,以及它们之间关系,下面的内容将给大家一个解答。1.在WindowsXPServer安装IIS服务器(1)使用"配置您的服务器向导"安装IIS。从“开始”菜单,单击“管理您的服务器”。在“46 管理您的服务器角色”下,单击“添加或删除角色”。阅读“配置您的服务器向导”中的预备步骤,然后在单击“下一步”。在“服务器角色”下,单击“应用程序服务器(IIS,ASP.NET)”,然后单击“下一步”。阅读概要信息,然后单击“下一步”。单击“完成”。(2)使用控制面板安装IIS、添加组件或删除组件。从“开始”菜单,单击“控制面板”。双击“添加或删除程序”。单击“添加/删除Windows组件”。在“组件”列表框中,单击“应用程序服务器”。单击“详细信息”。单击“Internet信息服务管理器”。单击“详细信息”以查看IIS可选组件的列表。选择要安装的所有可选组件。单击“确定”,直到返回到“Windows组件向导”。单击“下一步”,然后完成“Windows组件向导”。2.在WindowsXP安装ASP.NET在WindowsServer2003家族、Windows2000(Professional、Server和AdvancedServer)以及WindowsXPProfessional上的客户端和服务器应用程序都支持ASP.NET。运行MicrosoftWindowsServer2003家族成员的服务器可以配置为应用程序服务器,并将ASP.NET作为在配置应用程序服务器角色时可以启用的选项。要向产品服务器部署ASP.NET、Web应用程序,在分发应用程序之前,必须确保在产品服务器中启用了ASP.NET和IIS角色。(1)使用“配置您的服务器”向导在运行WindowsServer2003的服务器中安装ASP.NET。从“开始”菜单中,单击“管理您的服务器”;在“管理您的服务器”窗口中,单击“添加或删除角色”。在46 “配置您的服务器向导”中,单击“下一步”,并在“服务器角色”对话框中,选中“应用程序服务器(IIS、ASP.NET)”,然后单击“下一步”。在“应用程序服务器选项”对话框中,选中“启用ASP.NET”复选框,单击“下一步”,然后再单击“下一步”。如有必要,请将WindowsServer2003安装CD插入CD-ROM驱动器,然后单击“下一步”。当安装完成时,单击“完成”。(2)在运行WindowsServer2003的服务器中使用“添加或删除程序”安装ASP.NET。从“开始”菜单中,指向“控制面板”,然后单击“添加或删除程序”。在“添加或删除程序”对话框中,单击“添加/删除Windows组件”。在“Windows组件”向导中的“组件”中,在选中“应用程序服务器”复选框,然后单击“下一步”。当在“Windows组件”向导中完成对WindowsServer2003的配置时,单击“完成”。(3)在运行WindowsServer2003的服务器中的IIS管理器中启用ASP.NET。从“开始”菜单中,单击“运行”。在“运行”对话框中的“打开”框中,键入inetmgr,然后单击“确定”。在IIS管理器中,展开本地计算机,然后单击“Web服务扩展”。在右侧窗格中,右键单击“ASP.NET”然后单击“允许”。ASP.NET的状态变为“允许”。3.系统软硬件推荐配置(1)硬件接口运行本系统的硬件基本要求如下:46 CPU:推荐933MHzPentiumIII处理器;内存:256MB及以上;硬盘:15GB及以上。(2)软件配置操作系统:WindowsXP网络协议:TCP/IP服务器:IIS5.0+ASP.NET开发工具:MicrosoftVisualStudio.NET2005数据库:MicrosoftSQLServer2000浏览器:InternetExplore6.0(三)系统功能模块的实现1.客房预订功能模块(1)功能描述主要用于客人预订客房时查询客房的详细信息。选择“客房类型”,单击“搜索”按钮,即可查询酒店全部客房的状态信息。也可点击“查询可预订房间”查看酒店所有空房信息。客人预订客房时完成预订资料的录入,包括输入预订人姓名、联系电话、信用卡号、预订客房的编号、入住时间、离店时间、备注,选择预订客房类型,单击“预订”按钮,即可完成客房的预订。(2)客房预订功能模块的流程图如图4-1所示。46 图4-1客房预订流程图(3)客房预订功能模块的界面设计如图4-2所示。图4-2客房预订界面(4)部分代码46 protectedvoidsubmit_Click(objectsender,EventArgse){stringstrSQL;stringconntext=(ConfigurationManager.ConnectionStrings["ConnectionString"]).ToString();//从配置文件中读入数据库连接字符串SqlConnectionconn=newSqlConnection(conntext);//连接数据库StrSQL="insertinto预订单(客房类型,客房编号,入住时间,离店时间,预订人,联系电话,信用卡号,预订时间,备注)values(""+style.SelectedItem.Text+"",""+Convert.ToInt32(bianhao.Text)+"",""+Convert.ToDateTime(indate.Text)+"",""+Convert.ToDateTime(outdate.Text)+"",""+TextBox1.Text+"",""+TextBox2.Text+"",""+TextBox3.Text+"",getdate(),""+TextBox4.Text+"")";conn.Open();try{SqlCommandcomm=newSqlCommand(strSQL,conn);comm.ExecuteNonQuery();Response.Write("");stringstrsql="update客房信息set状态="预订"where客房编号=""+bianhao.Text+""";SqlCommandcomm1=newSqlCommand(strsql,conn);comm1.ExecuteNonQuery();//返回一个SqlCommand对象}catch(Exceptionex){Response.Write(ex);}conn.Close();Response.End();46 }protectedvoidreset_Click(objectsender,EventArgse){Response.Redirect("hotelreserve.aspx");}}}2.客房管理功能模块(1)功能描述这一功能实现酒店管理员对酒店客房的类型设置和客房信息设置。这些设置一般不轻易改动。“客房信息设置”用于设置客房的初始信息,内容包括客房编号、类型编号、楼层编号、额定人数、床数、备注、状态、客房价格等;“客房类型设置”用于设置本酒店客房的分类信息,内容包括类型编号、类型名称、客房价格、数量等。(2)客房管理功能模块流程图如图4-3所示。46 图4-3客房管理流程图(3)客房管理功能模块的界面设计如图4-4所示。46 图4-4客房管理界面(4)部分代码protectedvoidadd_Click(objectsender,EventArgse){stringstrSQL;Stringconntext=(ConfigurationManager.ConnectionStrings["ConnectionString"]).ToString();SqlConnectionconn=newSqlConnection(conntext);strSQL="insertinto客房信息(客房编号,类型编号,楼层编号,额定人数,床数,状态,客房价格,备注)values(""+TextBox1.Text+"",""+DropDownList1.SelectedItem.Text+"",""+Convert.ToInt32(DropDownList2.SelectedItem.Text)+"",""+Convert.ToInt32(DropDownList3.SelectedItem.Text)+"",""+Convert.ToInt32(DropDownList4.SelectedItem.Text)+"",""+DropDownList5.SelectedItem.Text+"",""+Convert.ToDouble(TextBox2.Text)+"",""+TextBox3.Text+"")";//添加客房信息conn.Open();try{SqlCommandcomm=newSqlCommand(strSQL,conn);comm.ExecuteNonQuery();46 Response.Write("");}catch(Exceptionex){Response.Write(ex);}conn.Close();Response.End();}}protectedvoidButton1_Click(objectsender,EventArgse){Response.Redirect("roommanage.aspx");}3.消费记账功能模块(1)功能描述主要用于酒店管理员对入住客人消费情况的登记操作。进入界面,输入客房编号,备注,消费内容,消费金额即可以生成入住客人的消费账单,记录客人在酒店内的消费情况。(2)消费记账功能模块流程图如图4-5所示。图4-5消费记账模块流程图(3)消费记账功能模块的界面设计46 如图4-6所示。图4-6消费记账管理界面(4)部分代码protectedvoidButton1_Click(objectsender,EventArgse){stringstrSQL;Stringconntext=(ConfigurationManager.ConnectionStrings["ConnectionString"]).ToString();SqlConnectionconn=newSqlConnection(conntext);strSQL="insertinto账单(客房编号,消费内容,消费金额,消费时间,备注)values(""+Convert.ToInt32(TextBox1.Text)+"",""+DropDownList1.SelectedItem.Text+"",""+Convert.ToDouble(TextBox3.Text)+"",getdate(),""+TextBox2.Text+"")";conn.Open();//输入消费记录try{SqlCommandcomm=newSqlCommand(strSQL,conn);comm.ExecuteNonQuery();Response.Write("");46 }catch(Exceptionex){Response.Write(ex);}conn.Close();//执行成功返回值Response.End();}protectedvoidButton2_Click(objectsender,EventArgse){Response.Redirect("consume.aspx");}}4.入住管理功能模块(1)功能描述主要用于酒店管理员对已预订客房或直接来酒店入住的客人办理客房信息的录入。输入客房编号,离店时间,预订人,联系电话,入住人数,单据状态,单击“添加”按扭,即可完成客人的入住。(2)入住管理功能模块流程图如图4-7所示。图4-7入住管理模块流程图46 (3)入住管理功能模块的界面设计如图4-8所示。图4-8入住管理功能界面(4)部分代码protectedvoidButton3_Click(objectsender,EventArgse){Response.Redirect("enter.aspx");}protectedvoidButton2_Click(objectsender,EventArgse){stringstrSQL;stringconntext=(ConfigurationManager.ConnectionStrings["ConnectionString"]).ToString();SqlConnectionconn=newSqlConnection(conntext);strSQL="delete入住单where客房编号=""+Convert.ToInt32(bianhao.Text)+""";stringstr="update客房信息set状态="空房"where空房编号=""+Convert.ToInt32(bianhao.Text)+""";conn.Open();try{SqlCommandcomm=newSqlCommand(strSQL,conn);SqlCommandcomm1=newSqlCommand(str,conn);46 comm.ExecuteNonQuery();comm1.ExecuteNonQuery();Response.Write("");}catch(Exceptionex){Response.Write(ex);}conn.Close();Response.End();}}5.预订查询功能模块(1)功能描述用于客人预订客房后查询自己的订单信息,并可完成订单的修改和取消。客人输入客房编号,单击“查询”按钮,即可查看订单详细信息,进行修改和取消。(2)预订查询功能模块流程图如图4-9所示。图4-9预订查询模块流程图46 (3)预订查询功能模块界面设计如图4-10所示。图4-10预订查询功能界面(4)部分代码protectedvoidPage_Load(objectsender,EventArgse){if(!IsPostBack){bind();}}protectedvoidImageButton1_Click(objectsender,ImageClickEventArgse){stringstrSQL;Stringconntext=(ConfigurationManager.ConnectionStrings["ConnectionString"]).ToString();SqlConnectionconn=newSqlConnection(conntext);strSQL="select*from预订单where客房编号=""+TextBox1.Text+""";conn.Open();SqlDataAdapterDA=newSqlDataAdapter(strSQL,conn);DataSetds=newDataSet("ds");DA.Fill(ds);46 GridView1.DataSource=ds;GridView1.DataBind();conn.Close();}protectedvoidGridView1_RowEditing(objectsender,GridViewEditEventArgse){GridView1.EditIndex=e.NewEditIndex;bind();}//删除6.收银退房功能模块(1)功能描述主要用于完成客人收银退房操作。此界面,在客房编号处输入客房编号后,单击“查询”按钮,即可完成显示账单信息和客人的付款金额。再手工输入客人的结账金额,并选择支付方式单击“收银结账退房”按钮,完成客人退房功能。删除账单,修改客房信息,将入住单导入入住单历史,删除入住单。(2)收银退房功能模块流程图如图4-11所示。图4-11收银退房模块流程图46 (3)收银退房功能模块界面设计如图4-12所示。图4-12收银退房功能界面(4)部分代码protectedvoidButton2_Click(objectsender,EventArgse){stringconntext=(ConfigurationManager.ConnectionStrings["ConnectionString"]).ToString();SqlConnectionconn=newSqlConnection(conntext);stringstrSQL1="delete帐单where客房编号=""+TextBox1.Text+""";stringstrSQL2="update客房信息set状态="空房"where客房编号=""+TextBox1.Text+""";stringstrSQL3="update入住单set单据状态="离店",是否结帐="1",结帐日期=getdate(),付款方式=""+DropDownList1.SelectedItem.Text+""where客房编号=""+TextBox1.Text+""";stringstrSQL4="insertinto入住单历史select*from入住单where客房编号=""+TextBox1.Text+""";stringstrSQL5="delete入住单where客房编号=""+TextBox1.Text+""";conn.Open();SqlCommandcmd=newSqlCommand(strSQL1,46 conn);cmd.ExecuteNonQuery();SqlCommandcmd1=newSqlCommand(strSQL2,conn);cmd1.ExecuteNonQuery();SqlCommandcmd2=newSqlCommand(strSQL3,conn);cmd2.ExecuteNonQuery();SqlCommandcmd3=newSqlCommand(strSQL4,conn);cmd3.ExecuteNonQuery();SqlCommandcmd4=newSqlCommand(strSQL5,conn);cmd4.ExecuteNonQuery();Response.Write("");conn.Close();}}46 五、系统测试(一)测试环境WindowsXP2000Server等操作系统,IIS5.1的调试环境,运行平台为SQLServer2000+ASP.NET,开发工具为VisualStudio.NET2005。(二)测试方案测试目的是尽可能发现存在的错误,并能发现及预言潜在的错误,以保证系统正常运行。写出测试记录。由于在编写代码过程中不可避免的会出现错误,因此在软件投入运行之前,必须纠正其中大部分差错,以免将来会造成很恶劣的后果。系统测试就是为了发现程序在开发的过程中可能存在的错误,这是系统开发过程中必不可少的一个阶段,也是网站设计正确运营与合理运营的基础。一位著名的软件工程师曾经说过这样的话“程序测试只能证明错误的存在,但不能证明错误的不存在”,这句话揭示了测试所固有的一个重要性质——不彻底性。这就需要在整个系统计划时期就要做好详细的调查,做好用户的需求分析和可行性研究,在开发时期开发人员要认真的完成设计和实现这两大任务,尽量的考虑周全,避免测试阶段不必要的BUG。整个系统的测试要求测试人员有较高的计算机水平,是一个非常复杂而重要的过程。经过测试后的软件就可以使用了,进入软件的运行和维护阶段。(三)测试的内容46 数据库的查询测试;依据应用系统中的流程要求,对每一环节进行测试;对应用系统中的数据库进行测试;数据库数据操作的测试。该系统从用户登录开始,到最后结账退房,是一个不断与数据库交互的过程,测试过程如图5-1所示。图5-1测试流程图(四)测试结果每步测试按要求在测试前提供测试计划,测试后提交测试报告,具体包括如下:1.计算机硬件设备及系统软件的测试报告单2.应用系统测试报告单,包括模块测试报告单3.系统测试报告单该系统经多次测试,能在WindowsXP2000server等操作系统,IIS5.1的调试环境上正常运行。基本上实现了预期的46 功能,目前试运行良好。通过测试和试用,系统还存在以下的问题:1.对后台数据库中数据的日常维护,包括自动清理过时数据。2.程序中错误处理和输入控制不够全面,可能导致输入无效引发错误。3.从系统的安全性考虑,客人最好首先注册后再登录。46 六、结论在系统的编写过程中,我充分体会了软件编程工作者的辛苦,因为每一个细微的细节都必须十分的注意,如果稍有不慎,就会全盘皆输,往往很多时候,自己觉得程序非常正确,但就是编译通不过,在查找错误的过程中,面临着否认自己的过程,非常的痛苦,而且由于自己的经验及各方面的能力的不足,所以进展的速度非常的缓慢,往往几天的时间还没有一点进展。在开始编写程序的时候,我看到别人的系统功能非常详细,而且界面非常的漂亮,总希望自己的系统也非常的完善,但是,经过三个月的学习,发现编一个优秀的系统决不是一蹴而就的事情,需要长时间的积累和经验,而这个方面又是我的弱项,因此,在朋友和老师的帮助下,我终于认清自己的不足及劣势,不要贪图大而全,只要尽我所能,编制一个实用简单的系统也是件很不容易的事情。在反反复复的学习之下,我的辛勤努力有了回报,终于做出了一个软件,虽然这个软件的功能非常的简单,而且我想,在实际的运用中,肯定会有所不足,因为客房信息管理工作的内容非常的丰富,我涉及到的仅仅是客房管理的一部分简单内容,离实际的客户需求肯定还有一定的差距。但是,它毕竟代表了我三个月辛勤的结晶。在本系统的开发过程中,系统运行速度一般。由于系统是网络版的管理系统,在页面显示时运行速度比较慢,这是该系统的不足之一。只是酒店内部人员使用可以使用速度较快的局域网。本酒店管理数据库中没有备份,如里有数据丢失将是个麻烦事。该系统仍然46 存在一些缺陷和不足,在功能实现和具体运用时还存在一些不足有待于改善。希望该系统在日后能够得到不断改进,发挥出它应有的作用。46 参考文献[1]李冬.ASP.NET与相关数据库技术高级指南[M].清华大学出版社,2005.[2]求是科技.ASP.NET数据库系统开发实例导航[M].人民邮电出版社,2001.[3]天极网新技术研究室.ASP.NET完全入门[M].重庆出版社,2001.[4]杨学全.SQLServer2000实例教程[M].电子工业出版社,2004.[5]冯博,冯皓,徐莹.SQL使用教程[M].清华大学出版社,2006.[6]李春葆,曾慧编.SQLServer2000应用系统开发教程[M].清华大学出版社,2006.[7]王珊,萨师煊.数据库系统概论(第四版)[M].高等教育出版社,2006.[8]宋昆,李严等.SQLServer数据库开发实例解析(第二版)[M].机械工业出版社,2006.[9]陈娴.ASP.NET中型在线系统开发实践[M].中国铁道出版社,2007.[10]天极网新技术研究室.ASP.NET完全入门[M].重庆出版,2001.[11]Sanjeev  Rohilla,  Senthil  Nathan,  Surbhi  Malhotra.ADO.NET专业项目实例开发[M].中国水利水电出版社,2003.[12]求是科技.ASP.NET数据库系统开发实例导航[M].人民邮电出版社,2001.[13]于文强.ASP.NET网络数据库开发实例精解[M].中国铁道出版社,2004.[14]王军.ASP与网页数据库设计[M].高等教育出版社,2002.46 [15]童爱红.VisualC#.NET应用教程[M].清华大学出版社,北京交通大学出版社,2006.[16]张海藩.软件工程导学[M].北京,清华大学出版社,1998.[17]MarciFrohockGarcia.MicrosoftSQLServer2000Administrator’sCompanion[M],2001.[18]RaghuRamakrishnan,JohannesGehrke.DatabaseManagementSystems(ThirdEdition)[M],2004.46 目录一、引言1二、需求分析3(一)用户需求分析3(二)系统功能分析6(三)可行性分析71.技术上的可行性72.经济上的可行性8三、系统的总体设计9(一)功能设计9(二)数据库设计111.概念结构设计112.逻辑结构设计13四、系统实现18(一)开发工具的选择18(二)运行环境及配置21(三)系统功能模块的实现24五、系统测试38六、结论41参考文献4346'