基于c#的酒店管理系统_第1页
基于c#的酒店管理系统_第2页
基于c#的酒店管理系统_第3页
基于c#的酒店管理系统_第4页
基于c#的酒店管理系统_第5页
已阅读5页,还剩20页未读 继续免费阅读

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

引引 言言 酒店业是一个前景广阔而又竞争激烈的行业。改革开放以来,我国的酒店业迅速发 展,已经成为一个具有相当规模的产业。由于我国的旅游业迅速发展,通过调查,我国 在 2020 年将成为世界上第四大旅游国家;同时我国加入世界贸易组织,酒店业将完全 开放,这个时候,我国的酒店业将面临着前所未有的机遇和挑战。但是,现在甚至还有 一些酒店还停留在由人工操作和管理阶段,这样已经无法适应当前的发展趋势。因此, 要想使酒店的工作质量和效率提高,采用先进的计算机网络 通信技术改变酒店业务模 式,实现酒店业务管理的自动化已经成为一种必然。 酒店客房管理系统是根据酒店对客房管理的实际情况进行设计的,主要目的是为了 方便酒店对客房的实际情况进行集中的查询与管理工作,以提高整个酒店管理的工作效 率。酒店客房管理的科学化、系统化、信息化成为各个酒店追求的目标。因此,而要实 现这些功能,就要求各个酒店配备一套客房管理系统,以便在酒店内实施良好、完善的 管理,最快地速度响应客户的需求,及时为他们提供服务,为他们提供一个高效、便捷 的居住环境。客房管理信息系统(MIS)是各个酒店软件建设中一个重要的应用系统,它 大大的改善酒店管理的基础环境。对客房管理系统的若干基本问题进行研究,主要包括 客房管理系统的功能组成、系统开发条件、步骤及其总体规划等内容。 1 第一章第一章 概概 述述 1.1 现状与前景 随着人们的生活水平的提高,假日经济已成为人们消费的热点,使得宾馆酒店业得 到快速发展。随着宾馆酒店增多,人们要求提高,宾馆酒店业的竞争也更加激烈。宾馆 酒店要在的竞争中谋求生存与发展,就必须要提高其服务管理水平。引入全方位的电脑 服务和电脑管理日益流行。酒店引入电脑服务和管理取得了优良的经济效益和社会效益。 因此,国家建设部已于最近作出明确规定:凡星级酒店在项目审批时,其设计方案必须 包括电脑管理系统,否则不予立项。可见,酒店管理电脑化势在必行。酒店管理系统将 先进的电脑技术与现代酒店服务管理完美地结合起来,实现了住宿全新概念的服务和管 理方式。 传统的酒店管理往往令管理者花大量的时间来处理顾客投诉,例如错误查询、烦琐 的登记和结帐手续、旅客费用计算错误、空余客房资料不能及时提供等,从而影响出租 率,使管理人员不得不集中精力规划管理运行策略和进行决策。酒店管理系统能提高员 工工作效率,加速资金周转、降低各项成本及改善服务质量都有十分积极的作用。 1.2 研究内容 本系统为管理者提供了完整的管理平台。其提供的主要功能有:客房类型管理,客 房状态管理,客房预定管理,客房入住管理,客户换房管理,客房结算管理,退出系统。 第二章第二章 系统分析系统分析 2.1 系统相关技术介绍 本管理信息系统将采用技术成熟的 C#作为前台开发工具。后台数据库采用微软公 司的 SQL Server 数据库,因为它的灵活性、安全性和易用性为数据库编程提供了良好 的条件。因此,系统的软件开发平台已成熟可行。硬件方面,科技的飞速发展使硬件的 更新速度越来越快,容量越来越大,可靠性越来越高,价格越来越低,其硬件平台完全 能满足此系统的需要。 系统采用的是原型法的开发方法。本着开发人员对用户需求的理解,通过简单的系 统反洗、系统设计,快速实现一个原型系统,然后通过反复修改来实现管理信息系统。 2.2 可行性分析 1、管理上的可行性 酒店管理系统能记录酒店客人的基本信息,提供查询、删除等工作,使工作人员从 烦琐的手工操作中解脱出来,同时,能为企业的运作提供提供管理和决策支持。由于酒 店电脑系统 24 小时连续运行,数据量大,可靠性要求高,因此整个电脑系统供电需采 用专线方式,加配 UPS(不间断供电系统)合理接地,以便保障整套系统的正常运行。 2、技术上的可行性 技术采用成熟的 C#作为前台开发工具。后台数据库采用 SQL Server2005 数据库, 灵活性、安全性和易用性为数据库编程提供了良好的条件。 3、经济上的可行性 本系统由作者自主开发,界面易操作,操作人员只需简单培训即可上岗。 2.3 系统的需求分析 2.3.1 性能需求 (1)本软件主要用于管理,不是科学计算,要求计算的精度不是很苛刻。所以输入, 输出数据精度不是很高,用于计算的数用浮点数就可以了。 (2)本软件运行的响应时间不超过 12 秒,基本实现就可以。 (3)该系统只支持在 window 系统上运行,后台数据库只支持 SQL Server2005。 3 2.3.2 功能需求 酒店住房业务的基本流程主要包括: 客房的预定,顾客通过电话或者其他途径向酒店进行客房预定,接待人员查询客房 状态表后确定有空房则接受预定,预定成功后发给顾客预定凭证,并对客房状态表做出 相应的变化。 客房的入住,如果顾客已经预定房间,则根据预定凭证进行预定入住操作,发给顾 客房卡,客房状态由“预定”变为“入住” 。 如果顾客没有预定房间,接待人员查询客 房状态后,有空房则进行客房登记操作,发给顾客房卡,客房状态由“空房”变为“入 住” 。 顾客换房,如果顾客对入住的客房条件不满意,则可进行顾客换房操作。接待人员 将顾客的房间进行更换,并更换顾客房卡,客房状态也进行相应的调整。 补交押金,如果顾客换房后押金太少,则要补交押金。顾客交纳押金,接待人员开 具押金凭证。 顾客退房,顾客退房时,接待人员根据顾客的房卡,进行退房登记。计算顾客入住 期间的房费,餐费,话费,各种消费和押金总额。对顾客收取费用或者退回押金。顾客 信息转存到历史顾客表中。客房状态由“入住”转为“空房” 。 旅客住宿登记 调房 追加押金续住 退宿 结账入住 入住登记单 入住登记单 查找房间 修改入住登 记 结账单 预定登记 图 3-1 业务流程分析图 第三章第三章 系统系统设计设计 3.1 系统设计 前台管理 数据管理 酒店管理系统 客 房 查 询 客 房 预 定 客 户 入 住 客 房 更 改 客 房 结 算 客 房 类 型 客 房 状 态 用 户 管 理 图 3-2 系统功能模块图 从(图 3-2)中可以看出,系统总共分为 8 个模块。 客房类型模块:可以对房型、房价等情况等进行查询、修改等操作。 客房查询模块:实现对所有房间的基本情况进行查询。 客户预定模块:实现对客户预定情况进行全面管理。 客户入住模块:可以查询所有客户入住情况。 客房更改模块:实现客户换房的一些相关操作。 客房状态模块:可以对客房空房、预定、入住等情况等进行修改等操作。 客户结算模块:实现酒店客房账务结算。 注册帐号模块:实现用户注册的功能。 3.2 数据库设计 本软件的数据库名称为:Hotel-DB,包含 6 个数据表,分别是: BookIn、CheckIn、CheckOut、Room、RoomType、UserInfo。具体表结构如下: 表 3-1 用户表 UserInfo 列名数据类型允许为空说明 5 UserIdint否用户 ID(主键) UserNamevarchar(50)否用户姓名 Passwordvarchar(50)否密码 IsAdminbit否是否管理员 表 3-2 客户入住表 CheckIn 列名数据类型允许为空说明 CustomerIdint否客户 ID(主键) Namevarchar(10)否姓名 Sexchar(2)否性别 PTypevarchar(50)否证件类型 P_IDvarchar(50)否证件号码 Telvarchar(50)否电话号码 CTypevarchar(50)否客户类型 RoomNumint否房间号 Indatedatetime否入住时间 Daysint否入住天数 Dmoneymoney否押金 Remarkvarchar(50)是备注 表 3-3 客户结算表 CheckOut 列名数据类型允许为空说明 Idint否 客户结算 ID(主键) CustomerIdint否客户 Id Namevarchar(10)否姓名 列名数据类型允许为空说明 Sexchar(2)否性别 Telvarchar(50)否电话号码 CTypevarchar(50)否客户类型 RoomNumint否房间号 Indatedatetime否入住时间 Daysint否入住天数 Discountfloat否折扣 Addmoneymoney否额外费用 SunMoneymoney否总金额 Remvarchar(50)否备注 表 3-4 客房预定表 BookIn 列名数据类型允许为空说明 BookIdint否预定号(主键) Namevarchar(10)否姓名 Sexchar(2)否性别 PTypevarchar(50)否证件类型 P_IDvarchar(50)否证件号码 Telvarchar(50)否电话号码 RoomNumint否房间号 Indatedatetime否入住时间 Daysint否入住天数 Dmoneymoney否押金 Remarkvarchar(50)是备注 表 3-5 房间状态表 Room 列名数据类型允许为空说明 RoomIdint否房间号(主键) RoomTypevarchar(10)否房间类型 RoomNumint否房间号 Bookchar(2)否是否预定 列名数据类型允许为空说明 Emptychar(2)否是否空 Stopchar(2)否是否停用 Remarkvarchar(50)是备注 表 3-6 房间类型表 RoomType 7 列名数据类型允许为空说明 RoomTypeIdint否 房间类型 ID(主键) RoomTypevarchar(10)否房间类型 Areaint否房间面积 Bedint否床位 UnitPricemoney否单价 Broadbandchar(2)否是否有宽带 Remarkvarchar(50)是备注 第四章第四章 系统实现系统实现 4.1 登陆界面 1、功能 只有本系统的管理员和进行认可的操作员使用自己相应的用户名与密码才能登陆到 此系统进行相关权限下的操作。 2、界面 图 4-1 系统登陆界面 3、操作指南 (1)用户在登录窗口中输入正确的用户名和密码后可以登录系统(如图 4-1 ),根据输 入的用户名是系统管理员还是操作员给予不同的操作权限。 (2)系统管理员可以根据实际情况增加相应的操作员。 9 4.2 系统主界面 图 4-2 前台操作 4.2.1 客房查询 1. 功能 通过客房号查询房间的基本类型与状态。 2. 界面 图 4-3 客房查询 3. 操作指南 (1).在文本框中输入客房号,点击查询,可以查询到该房间的一些基本情况。 (2).点击空房按钮的时候,会把数据库中所有的空房信息显示出来。 (3).点击未预定按钮的时候,会把数据库中所有的未预定的客房信息显示出来。 (2).点击未停用按钮的时候,会把数据库中所有的未停用的客房信息显示出来。 4.2.2 客户预定 1. 功能 可以对预定房间的客户信息进行增删改查等操作。 2. 界面 图 4-4 客房预定 3. 操作指南 (1)在文本框中输入订单号,点击查询,可以查询到预定的一些基本信息。 (2)当你想对预定信息进行操作时,点击 ListView 中的数据,将会把 ListView 中选 中的那行数据各个字段显示在上面的文本框和列表框中。 (3)点击修改按钮的时候,将会把修改后的信息添加到数据库中。 (4)点击入住按钮的时候,将会把数据添加到入住表中并且把预定表中的该数据删 除并且客房状态表中的预定字段变成“否“,是否为空字段变成“是” 。 (5)点击取消预定的按钮的时候,会把入住表中的该数据删除。 4.2.3 客户入住 1. 功能 可以对客户的入住信息进行查询和添加。 2. 界面 11 图 4-5 客房入住 3. 操作指南 (1)在文本框中输入客户号,点击查询,可以查询到客户入住的信息。 (2)当你想对入住信息进行操作时,点击 ListView 中的数据,将会把 ListView 中选 中的那行数据的内容显示在输入住信息面板中。 (3)点击入住按钮的时候,将会把入住客户的信息添加到数据库中并且讲客房状态 表中是否为空的字段的值变成“否” 。 4.2.4 客房更改 1. 功能 可以实现换房和续住的功能。 2. 界面 图 4-6 客房更改 3. 操作指南 (1)在文本框中输入客户号,点击查询,可以查询到入住客户的信息并显示在客户 信息面板的控件中。 (2)当点击续住的时候,将会把显示客户信息面板中的天数和押金的值传到续住面 板中的原有天数和原有押金中,然后可以实行操作,操作完成后点击确定,将会把值重 新传回去。 (3)当点击调房的时候,将会把显示客户信息面板中的客房号和押金的值传到调房 面板中的原客房号和原有押金中,然后可以实行操作,操作完成后点击确定,将会把值 重新传回去。 (4).点击保存的时候,会把修改后的信息记录到数据库中。 4.2.5 客房结算 1. 功能 退房并结算费用。 2. 界面 13 图 4-7 客房结算 3. 操作指南 (1)在文本框中输入客户号,点击查询,可以查询到入住客户的信息并显示在结算 信息面板的文本框中。 (2)当点击结算,系统会自动算清住宿费和消费总额还有应付款的金额并且显示在 对应的文本框中。 (3)点击保存的时候,会把结算的信息记录到数据库中并且把客房状态表中的是否 为空字段的值变成“是” 。 4.3 数据管理模块 4.3.1 房间状态 1. 功能 对客房的状态进行管理。 2. 界面 图 4-8 客房状态 3. 操作指南 (1)在文本框中输入客房号,点击查询,可以查询到客房的一些基本信息。 (2)当选中 ListView 中的数据时,将会把 ListView 中选中的数据显示到客房状态信 息面板中,以便进行操作。 (3)点击新增按钮的时候,将会把客房状态信息面板中的信息添加到数据库中。 (4)点击删除按钮的时候,会把选中的数据删除。 (5)点击修改按钮的时候,会把修改后的信息传到数据库中。 4.3.2 客房类型 1. 功能 对客房的类型进行管理。 2. 界面 15 图 4-9 客房类型 3. 操作指南 (1)当你选中 ListView 中的数据时,会将选中的数据的内容显示在客房类型信息面 板中。以便进行操作。 (2)点击新增按钮的时候,将会把客房类型信息面板中的信息添加到数据库中。 (3)点击删除按钮的时候,会把选中的数据从数据库的表中删除。 (4)点击修改按钮的时候,会把修改后的信息传到数据库中。 4.3.3 用户管理 1. 功能 对用户进行管理。 2. 界面 图 4-10 用户管理 3. 操作指南 (1)当你选中 ListView 中的数据时,会将选中的数据的内容显示在显示用户信息面 板中。以便进行操作。 (2)点击注册按钮的时候,将会把显示用户信息面板中的信息添加到数据库中(只 有管理员才能使用该功能) 。 (3)点击修改权限按钮的时候,可以修改用户的权限(只有管理员才能使用该功能) 。 (4)点击修改密码的时候,可以修改用户的密码(操作员也可使用此功能) 。 17 第五章第五章 系统测试系统测试 5.1 程序调试 1. 测试的基本工作流程 在设计系统的过程中,存在一些错误是必然的。对于语句的语法错误,在程序运行 时自动提示,并请求立即纠正,因此,这类错误比较容易发现和纠正。但另一类错误是 在程序执行时由于不正确的操作或对某些数据的计算公式的逻辑错误导致。这类错误隐 蔽性强,有时会出现,有时又不出现,因此,对这一类动态发生的错误的排查是耗时费 力的。 5.2 程序的测试 5.2.1 测试的重要性及目的 测试的重要性: 软件的测试在软件生命周期中占据重要的地位。近来,软件工程界趋向于一种新的 观点,即认为软件生命周期每一阶段中都应包含测试,从而检验本阶段的成果是否接近 预期的目标,尽可能早的发现错误并加以修正,如果不在早期阶段进行测试,错误的延 时扩散常常会导致最后成品测试的巨大困难。 测试的目的: 1. 软件测试是为了发现错误而执行程序的过程; 2. 测试是为了证明程序有错,而不是证明程序无错误; 3. 一个好的测试用例是在于它能发现至今未发现的错误; 4. 一个成功的测试是发现了至今未发现的错误的测试。 测试并不仅仅是为了要找出错误。通过分析错误产生的原因和错误的分布特征,可 以帮助项目管理者发现当前所采用的软件过程的缺陷,以便改进。 5.2.2 测试的步骤 与开发过程类似,测试过程也必须分步骤进行,每个步骤在逻辑上是前一个步骤的 继续。大型软件系统通常由若干个子系统组成,每个子系统又由若干个模块组成。因此, 大型软件系统的测试基本上由下述几个步骤组成: 1. 模块测试 在这个测试步骤中所发现的往往是编码和详细设计的错误。 2. 系统测试 在这个测试步骤中发现的往往是软件设计中的错误,也可能发现需求 说明中的错误。 3. 验收测试 在这个测试步骤中发现的往往是系统需求说明书中的错误。 5.2.3 测试的主要内容 为了保证测试的质量,将测试过程分成几个阶段,即:代码审查、单元测试、集成 测试、确认测试和系统测试。 1单元测试 单元测试集中在检查软件设计的最小单位模块上,通过测试发现实现该模块的实 际功能与定义该模块的功能说明不符合的情况,以及编码的错误。 2. 集成测试 集成测试是将模块按照设计要求组装起来同时进行测试,主要目标是发现与接口有 关的问题。如一个模块与另一个模块可能有由于疏忽的问题而造成有害影响;把子功能 组合起来可能不产生预期的主功能;个别看起来是可以接受的误差可能积累到不能接受 的程度;全程数据结构可能有错误等。 3. 确认测试 确认测试的目的是向未来的用户表明系统能够像预定要求那样工作。经集成测试后, 已经按照设计把所有的模块组装成一个完整的软件系统,接口错误也已经基本排除了, 接着就应该进一步验证软件的有效性,这就是确认测试的任务,即软件的功能和性能如 同用户所合理期待的那样。 4. 系统测试 软件开发完成以后,最终还要与系统中其他部分配套运行,进行系统测试。包括恢 复测试、安全测试、强度测试和性能测试等。 19 第六章第六章 总结与展望总结与展望 在设计的过程中,我掌握了很多 C#的编程知识,并对这种成熟并广泛应用的技术 进行了深入的学习。设计的过程也是一个再学习的过程,在遇到问题的时候我尽量自己 想办法解决,这在很大程度上激发了我们的自学能力;在没有办法解决的情况下,认真 的向老师请教,从老师那里我学到了很多的知识,老师对我的指导起到了画龙点睛的作 用。 在我的程序设计过程中,我充分的体会到了“实践出真知”这一点,书本上的知识是 不够的,只有把理论与实践相结合才能够真正的学到知识。一个管理信息系统的设计, 不可能一步到位,还需要不断的完善和补充。编程前的深思熟虑是减少程序调试工作量 的重要方法,只有进行充分考虑,才会减少调试过程中的工作量。虽然在开始写程序之 前我们做了多的准备工作,但在真正的写程序时仍然发现许多问题,有些问题是分析时 的疏漏,有些则是如果不做无论如何也想不到的。 参考文献参考文献 1 周琦.SQL Server 2005 数据库基础及应用技术.北京大学出版社.2010 2 (美)Michael Halvorson.VisualC#2008从入门到精通.清华大学出版社.2009 3 王小科.C#项目开发案例全程实录(第2版).清华大学出版社.2011 4恭德罗依.SQL Server2005 从入门到精通.电子工业出版社.2006 5 陈圣国编著.信息系统分析与设计.西安电子科技大学出版社.2001 6 王晟著.Visual C#.NET 数据库开发经典案例解析.清华大学出版社.2005 7 C#从入门到精通.人民邮电出版社.2011 8 郑阿奇,刘启芬,顾韵华著. SQL Server 实用教程.电子工业出版社.2002 21 致致 谢谢 在本次毕业设计(论文)过程中,得到了指导老师的指导与支持。在此特别感 谢 XX 老师的大力帮助。指导老师的悉心指导和大力支持,在总体结构、功能的把握上 给予了非常大的帮助,同时根我们提供了非常优越的设计环境,并对我在编程、数据库 设计等细节工作上给予了耐心的指导,对于我顺利完成这次毕业设计起到了关键性的作 用。 转眼间,大学生活即将结束,回首过去三年的大学生活,真是有苦也有乐,然而更 多的则是收获,感谢母校的各位老师不但无私地传授给我们知识,也教会了我们如何做 人。软件技术专业的毕业设计任务繁重,但正是在这几个月紧张而充实的设计中,我感 到自己的知识得到了一次升华,我相信:我的毕业设计会给我的三年大学画上一个圆满 的句号。 附附 录录 / 登录功能 private void button1_Click(object sender, EventArgs e) if (this.textBox1.Text.Trim() = “) MessageBox.Show(“请输入用户名!“, “提示“, MessageBoxButtons.OK, MessageBoxIcon.Information); return; if (this.textBox2.Text.Trim() = “) MessageBox.Show(“请输入密码!“, “提示“, MessageBoxButtons.OK, MessageBoxIcon.Information); return; else string userName = textBox1.Text; string password =userInfoManager.GetPasswordByUserName(userName); if (password.Equals(textBox2.Text.ToString() MainForm mainForm = new MainForm(); MainForm.isRunMain = true; mainForm.Show(); this.Close(); else MessageBox.Show(“请输入正确的密码!“, “提示“, MessageBoxButtons.OK, MessageBoxIcon.Information); / 读取选中的 listview 中的数据 private void textChangeWithList(int i) if (i listView1.Items.Count) i = 0; txtRoomId.Text = listView1.Itemsi.SubItems0.Text.ToString(); textR_N.Text = listView1.Itemsi.SubItems1.Text.ToString(); comboRT.Text = listView1.Itemsi.SubItems2.Text.ToString(); if (listView1.Itemsi.SubItems3.Text.ToString() = “是“) checkBoxBook.Checked = true; 23 else checkBoxBook.Checked = false; if (listView1.Itemsi.SubItems4.Text.ToString() = “是“) checkBoxEmpty.Checked = true; else checkBoxEmpty.Checked = false; if (listView1.Itemsi.SubItems5.Text.ToString() = “是“) checkBoxStop.Checked = true; else checkBoxStop.Checked = false; textRem.Text = listView1.Itemsi.SubItems6.Text.ToString(); private void listView1_SelectedIndexChanged(object sender, EventArgs e)

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论