毕业论文-基于Qt的酒店管理系统的设计与实现_第1页
毕业论文-基于Qt的酒店管理系统的设计与实现_第2页
毕业论文-基于Qt的酒店管理系统的设计与实现_第3页
毕业论文-基于Qt的酒店管理系统的设计与实现_第4页
毕业论文-基于Qt的酒店管理系统的设计与实现_第5页
已阅读5页,还剩64页未读 继续免费阅读

下载本文档

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

文档简介

1、 太原理工大学毕业设计(论文)用纸太原理工大学毕业设计(论文)任务书毕业设计(论文)题目:基于Qt的酒店管理系统的设计与实现毕业设计(论文)要求及原始数据(资料):综述国内外各个大型酒店的自动化管理现状;深入了解酒店管理规章制度;熟练掌握QT开发平台的应用,训练编写界面程序的能力;设计并实现酒店管理系统对酒店的半自动化管理;深入分析研究酒店管理系统的的关键技术与编写语言;训练工程项目的开发过程;掌握对软件的编码及测试能力;训练检索文献资料和利用文献资料的能力;训练撰写技术文档与学位论文的能力。毕业设计(论文)主要内容:综述酒店管理系统在酒店的广泛应用;综述研究酒店管理系统的背景,目的及意义;熟

2、悉系统开发环境及对工具的简单介绍(QT);有关酒店管理各方面的数据库的分析与实现;酒店管理系统任务可行性分析及项目开发计划;酒店管理系统需求规格说明书;酒店管理系统概要设计说明书(整体设计,功能模块设计);酒店管理系统详细设计说明书(包含界面及关键代码片段);酒店管理系统测试计划及测试报告;研究结论及参考文献;学生应交出的设计文件(论文):1内容完整、层次清晰、叙述流畅、排版规范的毕业设计论文;2包括毕业设计论文、源程序等内容在内的毕业设计电子文档及其它相关材料。主要参考文献(资料):1Jasmin Blanchette,Mark Summerfield, C+ GUI Qt4编程(第二版),

3、北京:电子工业出版社,2008.82丁林松,黄丽琴,Qt4图形设计与嵌入式开发,北京:人民邮电出版社,2009.43霍亚飞,Qt creator快速入门,北京:北京航空航天大学出版社,2012.54萨师煊,王珊数据库系统概念M,北京:高等教育出版社,19975薛华成管理信息系统M,北京:清华大学出版社,19966Abraham SilberschatzDATABASE SYSTEM CONCEPTS(Fourth Edition)M,北京:高等教育出版社,20027李普曼,拉茹瓦,C+ Primer 中文版(第四版) 北京:清华大学出版社,20088面向对象程序设计基础,高等教育出版社; 第2

4、版 (2005年3月1日)9史济民软件工程原理、方法与应用M,北京:高等教育出版社,200210邓丽,孙凤栋数据库原理与应用M,沈阳:东北大学出版社,20073.11董洪春,星级酒店经理安全管理案头手册,化学工业出版社,2010.112文通,新编现代酒店规范管理实务大全,中国纺织出版社,2008.613王大悟,刘耿大,酒店管理180个案例品析,中国旅游出版社2007.614赵祥,宾馆酒店总务管理 教育出版社15Kenneth C.Laudon,MANAGEMENT INFORMATION SYSTEMS(Sixth Edition),200216URL: HYPERLINK /hotelman

5、age /hotelmanage17URL: HYPERLINK / /18URL: HYPERLINK 19URL: HYPERLINK /forum.php /forum.php专业班级软件1026班学生要求设计(论文)工作起止日期2014年3月17日2014年6月27日指导教师签字日期2014年3月17日教研室主任审查签字日期系主任批准签字日期 绪论1.1 论文研究背景随着经济全球化的快速发展,人们的经济水平的得到了相当大得高,人们出门更加方便,旅游业的发展,酒店、餐饮娱乐行业日趋发达,酒店在日常生活中的重要性就越来越突出了,成为社会发展的必然趋势,同时,引入全方位的电脑服务和电脑管理日

6、益流行。国家建设部已于最近做出明确规定:凡星级酒店在项目审批时,其设计方案必须包括电脑管理系统,否则不予立项。酒店管理电脑化势在必行。传统酒店管理手工记账,会有现金流失,记录混乱等状况,使用软件来管理宾馆业务,结账既准确,速度又快,因此,要想使酒店的工作质量和效率提高,对酒店的各个细节能够安全,稳定,高效的进行分配,以极其细微的服务方式,实现酒店管理的高质量高标准的功能,使管理者能够在顾客住房的舒适度上投入更多的关心。采用先进的计算机网络 通信技术改变酒店业务模式,实现酒店业务管理的自动化已经成为一种必然。1.2 论文研究的目的及意义经济发展促进了酒店业的快速发展,酒店管理工作变得也越来越复杂

7、,酒店管理的智能化,信息化已经成为酒店竞争的主要方面,为了提高酒店的综合水平,开发酒店管理系统,对酒店管理的不足进行针对性、系统性的解决与完善。一个酒店的经营状况,服务水平决定酒店的整体水平,而利用先进的管理手段来提高酒店的管理水平成为酒店在日趋激烈的竞争中能够脱颖而出的关键。面对当今世界的迅猛发展,信息时代充满了机遇和挑战,利用科技手段来提高酒店的管理水平是一条高效的捷径。充分利用计算机的高效、便捷对酒店管理系统发挥最大的作用,大大提高酒店的管理水平,同时,实现人机交互,使得管理更加的透明化,完整化,使得工作的衔接更加的流畅,帮助酒店管理好业务,提高了效率,以最小的代价获得最大的经济利益。1

8、.3 国内外现状对于酒店而言,标准化是基础,个性化是趋势。标准化服务,科学化、规范化、制度化、程序化是标准化服务的核心。目前中国酒店的服务质量管理处于推销不力;员工缺乏纪律,经常三五成群聊天;浴池太小;楼面服务可以取消。领导人“不求有功但求无过”意识浓厚;.有章不循,员工过于散漫;形式主义,许多改革走过场。基本上属于情绪化服务,其弊端是服务质量的一致性差,波动大。服务科学化、规范化、制度化、程序化的标准化管理是克服情绪服务的良方。标准化意味着用数据说话,依规矩才能成方圆。要求制定操作规范,服务程序,服务标准与奖惩规则,标准应尽量具体化,使之易于考核与评判,员工依据标准行事。中国酒店业无法跳越标

9、准化而直接进入个性化阶段。 外国酒店的标准化服务己不是什么时髦的方式了,大多数酒店已经推行个性化服务。个性化服务的优点是:同客户建立密切的关系,容易促成额外的销售,容易得到顾客的满意;顾客的忠诚度加强;顾客参与酒店活动,如产品/服务开发:一线员工能表现个性。个性化服务的缺点是:每个服务时间更长;顾客可能变得更苛刻;员工必须受到良好的培训能应付各种不同的交往场合;成本太高;个性化依赖顾客数据库,但它要受到严格的立法限制;非常难以得到顾客的真正需求信息;顾客并不总是需要个性服务。国外酒店业集团化发展的方向,速度与形式主要取决于市场需求的牵引力。而国内酒店业集团化发展的方向,速度与形式则主要取决于行

10、政命令的驱动力。在过去的数十年间,欧美等国的酒店集团始终在集团化进程中扮演着领跑和助动的角色。而国内的酒店集团则基本上都是在扮演着模仿或陪练的角色。1.4 论文研究的主要内容本酒店管理系统是基于Qt进行基础性设计及开发。应用系统为windows。通过程序运行可以方便的对酒店日常运营进行管理。其中程序主要包括:客房入住管理,客房查询,退房管理,VIP客户管理,酒店管理人员信息管理,具体完成入住、退房、查找,VIP客户入住、退房、查找,VIP客户优惠、VIP客户管理、全部房间视图(视图能够通过不同图标可以显示出房间处于入住或者空闲状态),以及数据库的建立、查找、更新、修改或删除数据等功能的实现。

11、系统分析2.1 可行性研究2.1.1 引言(1)编写目的 目的是为了对酒店管理系统问题进行研究,以最小的代价在最短时间内确定问题是否可解。 经过对此次项目进行详细调查研究,初拟系统试验报告,对软件开发中将要面临的问题及其解决方案进行初步设计及合理安排。明确开发分析及其所带来的经济效应。本报告告经核查后经软件经理审查。(2)项目背景: 开发软件名称:酒店管理系统。 项目开发者:冯宇 产品的用户:酒店管理人员 项目与其他软件,系统的关系: 本项目采用客户机/服务器原理,客户端的程序是建立在windows系统上以Qt为开发平台的应用程序,服务器端采用windows位操作系统的工作站,是采用mysql

12、的为开发软件的数据库服务程序。(3)参考资料:Qt4图形设计与嵌入式开发 丁松林,黄丽琴编著 北京:人民邮电出版社,2009.4 QtCreator快速入门 霍亚飞 编著 北京:北京航空航天大学出版社,2012.5C+ GUI Qt4编程 Jasmn Blanchett,Mark Sumrfield著 闫锋欣译 北京:电子工业出版社 ,200 可行性研究的前提(1)要求 主要功能:为酒店提供方便自动化的管理服务,方便管理员的管理工作,提高管理部门的服务质量和效率。 性能要求:酒店管理的信息必须及时对酒店住户的信息进行录入等操作。对服务器上的数据必须进行及时正确的刷新。 输出要求:数据完整,详实

13、。 输入要求:简介,快速,实时。 安全与保密要求:服务器的后台管理员拥有对系统的信息修改。管理员只享有对客户信息的修改。 完成期限:预计一个月,截至2014.5.15(2)目标: 系统实现后,大大提高了酒店管理前台的服务效率。降低传统服务中的错误发生率及现金的流失,减少信息交流繁琐过程及其带来的开销。(3)条件,假定和限制 建议软件寿命:5年。 硬件条件:服务器酒店管理工作站,终端PC机。 运行环境:Windows 数据库:MySql(4)决定可行性的主要因素 成本/效益分析结果,效益成本。 技术可行,现有技术可完全承担开发任务。 操作可行,软件能被原有人员快速接受。2.1.3 技术可行性分析

14、(1)系统简要描述 在酒店的前台安装了windows7的PC机,主要目的是想服务器传递数据。当酒店管理员在PC机上进行操作时,终端向服务器发出相应请求,服务器根据信息库的实时数据,向终端发出数据,显示在终端的屏幕上。(2)处理流程和数据流程图2.1 系统总体数据流程2.2 功能需求该酒店管理系统主要功能在于实现对酒店内部的信息进行管理,系统的用户是负责管理酒店的管理人员,系统应该具有信息查询,入住登记,退房登记,收入查询,vip信息管理,管理人员信息管理等主要功能。(1)用例分析 用例图主要用来图示化系统的流程,描述系统应该具有的功能模块和各个模块之间的调用关系。图2.2 系统总体用例图图2.

15、3 入住管理用例图图2.4 退房管理用例图图2.5 房间信息管理用例图图2.6 管理人员管理用例图图2.7 Vip管理用例图2.3 性能需求系统的性能主要关心的是系统在实现主要功能的反应能力,为了客观的度量系统的性能,需要在不同的情况下以不同的性能指标来度量系统的性能。2.3.1 响应时间响应时间是指在操作系统中,用户发出请求或者指令到系统做出反应的时间,在大量的处理环境中,超过3秒以上的响应时间将会严重影响工作效率。2.3.2 吞吐量 吞吐量是指没有帧丢失的情况下,软件能够接受的最大速率。吞吐量与响应时间是反比关系,由于本系统的响应时间短,所以吞吐量大。2.3.3 资源利用率资源利用率是指在

16、一段时间内资源平均占用的情况。资源利用率可以直接反应系统性能的高低。 开发环境及工具介绍3.1 Qt简介3.1.1 简介Qt是1991年奇趣科技开发的一个 HYPERLINK /view/469855.htm t _blank 跨平台的 HYPERLINK /view/824.htm t _blank C+图形用户界面应用程序框架。它提供给应用程序开发者建立艺术级的图形用户界面所需的所有功能。Qt很容易扩展,并且允许真正地组件编程。基本上,Qt 同 X Window 上的 Motif,Openwin,GTK 等图形界 面库和 Windows 平台上的 MFC,OWL,VCL,ATL 是同类型的

17、东西。(1) Qt CreatorQt Creator是一个用于Qt开发的轻量级 HYPERLINK /view/469855.htm t _blank 跨平台 HYPERLINK /view/14867.htm t _blank 集成开发环境。Qt Creator可带来两大关键益处:提供首个专为支持跨平台开发而设计的集成开发环境 (IDE),并确保首次接触Qt框架的开发人员能迅速上手和操作。即使不开发Qt应用程序,Qt Creator也是一个简单易用且功能强大的IDE。Qt Creator包含了一套用于创建和测试基于Qt应用程序的高效工具,包括:一个高级的C+代码编辑器 上下文感知帮助系统

18、可视化调试器 源代码管理 项目和构建管理工具。(2)Qt LinguistQt Linguist被称为Qt语言家。它的主要任务只是读取翻译文件、为翻译人员提供友好的翻译界面,它是用于界面国际化的重要工具。3.1.2 优势(1)优良的跨平台特性Qt支持下列操作系统: Microsoft Windows 95/98, Microsoft Windows NT, Linux, Solaris, SunOS, HP-UX, Digital UNIX (OSF/1, Tru64), Irix, FreeBSD, BSD/OS, SCO, AIX, OS390,QNX 等等。(2)面向对象Qt 的良好封装

19、机制使得 Qt 的模块化程度非常高,可重用性较好,对于用户开发来说是非常 方便的。 Qt 提供了一种称为 signals/slots 的安全类型来替代 callback,这使得各个元件 之间的协同工作变得十分简单。(3)丰富的 APIQt 包括多达 250 个以上的 C+ 类,还提供基于模板的 collections, serialization, file, I/O device, directory management, date/time 类。甚至还包括正则表达式的处理 功能。(4)支持 2D/3D 图形渲染,支持 OpenGL(5)大量的开发文档(6)XML 支持(7)用户自定义控件

20、其他的工具包在应用时都存在一个普遍的问题,就是经常没有真正适合需求的控件,生成的自定义控件对用户来说,也是一个黑匣子。比如,在Motif手册中就讨论了用户自定义的控件的问题。而在Qt中,能够创建控件,具有绝对的优越性,生成自定义的控件非常简单,并且容易修改控件。(8)方便性由于Qt是一种跨平台的GUI工具包,所以,它对编程者隐藏了在处理不同窗口系统时的潜在问题。为了将基于Qt程序更加方便,Qt包含了一系列类,该类能够使程序员避免了在文件处理、时间处理等方面存在依赖操作系统方面的细节问题。(9)高性能的工具对于库来讲,它的有效性远超过应用性。为了提高Qt库的有效性、快捷性,对其进行了优化,Qt能

21、执行一些基本的任务,比如图形的润色,比一般的基于平台的代码要快。Qt是基于Xlib,而不依赖Motif工具包。(10)优越的绘画功能Qt的绘画工具Qpainter类,在任意一个绘画设备上都可以润色图形。绘图设备包括组件、像素映射、图形文件和打印机,相同的代码可以用在4种不同类型的设备上。Qpainter类支持复杂的同等系统的转换,很容易在所有平台上画旋转文本和像素映像。(11)绘制2D/3D图形功能Qt提供了QGLWidget类,使用该类能够绘制2D/3D图形。用就像用一个Qt组件一样方便。这比纯粹的OpenGL做的3D图形更好使用。3.2 Mysql数据库简介MySQL是一个 HYPERLI

22、NK /view/394804.htm t _blank 开放源码的小型关联式数据库管理 HYPERLINK /view/25302.htm t _blank 系统,开发者为 HYPERLINK /view/14445.htm t _blank 瑞典 HYPERLINK /view/2270659.htm t _blank MySQL AB公司。MySQL被广泛地 HYPERLINK /view/220910.htm t _blank 应用在 HYPERLINK /view/11165.htm t _blank Internet上的中小型网站中。由于其 HYPERLINK /view/2744

23、17.htm t _blank 体积小、速度快、总体拥有成本低,尤其是开放源码这一特点,许多中小型网站为了降低网站总体拥有成本而选择了MySQL作为网站 HYPERLINK /view/1088.htm t _blank 数据库。MySql的特性:1使用 HYPERLINK /view/10075.htm t _blank C和 HYPERLINK /view/824.htm t _blank C+编写,并使用了多种 HYPERLINK /view/487018.htm t _blank 编译器进行测试,保证 HYPERLINK /view/60376.htm t _blank 源代码的可移植

24、性。2支持 HYPERLINK /view/349664.htm t _blank AIX、 HYPERLINK /view/21459.htm t _blank FreeBSD、HP-UX、 HYPERLINK /view/1634.htm t _blank Linux、Mac OS、 HYPERLINK /view/68826.htm t _blank NovellNetware、 HYPERLINK /view/337596.htm t _blank OpenBSD、OS/2 Wrap、Solaris、 HYPERLINK /view/4821.htm t _blank Windows等

25、多种 HYPERLINK /view/880.htm t _blank 操作系统。3为多种 HYPERLINK /view/552871.htm t _blank 编程语言提供了 HYPERLINK /view/16068.htm t _blank API。这些编程语言包括 HYPERLINK /view/10075.htm t _blank C、C+、 HYPERLINK /view/21087.htm t _blank Python、 HYPERLINK /view/29.htm t _blank Java、 HYPERLINK /view/46614.htm t _blank Perl、

26、 HYPERLINK /view/99.htm t _blank PHP、Eiffel、 HYPERLINK /view/45135.htm t _blank Ruby和Tcl等。4支持 HYPERLINK /view/65706.htm t _blank 多线程,充分利用CPU资源。5优化的 HYPERLINK /view/34.htm t _blank SQL查询算法,有效地提高查询速度。6既能够作为一个单独的 HYPERLINK /view/330120.htm t _blank 应用程序应用在 HYPERLINK /view/3028815.htm t _blank 客户端服务器网络环

27、境中,也能够作为一个库而嵌入到其他的软件中。7提供多语言支持,常见的 HYPERLINK /view/237708.htm t _blank 编码如中文的GB 2312、BIG5,日文的Shift_JIS等都可以用作数据表名和数据列名。 系统设计4.1 需求分析4.1.1 任务概述(1)目标本管理系统实现后,能够大大提高酒店管理服务质量。降低服务中心的错误发生率,减少信息交流的繁琐过程及其带来的开销。(2)运行环境终端:pc机。 运行环境:windows 数据库:Mysql(3)条件与限制 、人力、资源、时间的约束 酒店管理系统实施的目标就是要带给酒店看的出的效益其开发过程中也要考虑到人力、资

28、金和时间的约束。因此,在设计过程中,重点是能提供工作人员对酒店的管理,管理员对酒店信息的管理。提高数据统计的及时性,准确性、方便性,给酒店带来良好的管理方式。 、技术发展规律的约束 计算机技术和产品的发展日新月异,将给信息处理带来更多的手段,同时也会带来更加丰富的信息表达形式。例如,图像和声音技术的进步,多媒体技术的发展,这些都要求系统在设计时考虑技术变化的可能性,为可能的变化预留一定的系统处理能力。4.1.2 数据描述(1)数据特性 、数据录入和处理的准确性和实时性 数据的输入是否准确是数据处理的其前提,错误的输入会导致系统输出的不正确和不可用,从而使工作失去意义。手工输入要通过系统界面上的

29、安排系统具有容错性,并且对操作人员要进行系统的培训。在系统中,数据色输入量往往是大量的,因此系统要有一定的处理能力,以保证迅速的处理数据。、数据的一致性与完整性由于系统的数据是共享的,所以如何保证这些数据的一致性,时系统必须解决的问题。要解决这一问题,要有一定的人员维护数据的一致性,在数据录入出控制数据的去向,并且要求对数据库的数据完整性进行严格的约束。对于输入的数据,要为其定义完整性规则,如果不能符合完整性约束,系统应该拒绝该数据。(2)系统数据流图图4.1 系统总体数据流图图4.2 入住登记流程图4.3 退房登记流程图4.4 vip管理登记流程图4.5 管理员管理登记流程图4.6 房间信息

30、管理登记流程(3)数据字典数据字典是关于数据的信息的集合,也就是对数据中包含的所有元素的定义的集合,它为软件开发人员提供数据库设计的参考,并为用户了解系统时作为一个必有工具。以下是部分数据字典的内容: * 名 字:入住事务 别 名:入住登记描 述:酒店管理员进行酒店入住登记人员管理的特定事件 定 义:入住事务=预定房间|即是入住 位 置:顾客表* 名 字:退房信息 别 名:退房登记描 述:酒店管理员进行酒店退房人员管理的特定事件 定 义:退房事务=余额结算|退房位 置:员工表 * 名 字:VIP管理 别 名:会员管理描 述:酒店的VIP客户的信息的描述定义:VIP事务=添加VIP|查询VIP|

31、删除VIP位 置: VIP表 * 名 字:管理员信息管理 别 名:员工信息管理 描 述:对酒店管理人员的描述 定 义:管理员信息=信息查询|密码修改 位 置:管理员表 *名 字:房间信息管理别 名:房间信息管理描 述:对酒店的房间的信息进行描述定 义:房间信息=房间类型|房间价格 位 置:房间类型表4.1.3 功能需求(1)客户端子系统客户端子系统负责将管理员在客户端输入的信息,入住或退房,进行有效性验证之后,将申请数据打包,发送到服务器端,并接收从服务器返回的信息,根据返回的信息对顾客信息进行处理。(2)服务器端子系统 服务端子系统负责接收客户端子系统发送的数据,解包后判断是何种操作,执行相

32、应的数据库操作,并将操作的结果返回给客户端。4.1.4 性能需求为了保证系统能够长期、安全、稳定、可靠、高效的运行,宿舍管理系统应该满足以下的性能需求:(1)系统处理的准确性和及时性系统处理的准确性和及时性时系统的必要性能。在系统设计和开发过程中,要充分考虑系统当前和将来可能承受的工作量,是系统的处理能力和响应时间能够满足管理员对信息处理的需求。在系统开发过程中,必须采用一定的方法保证系统的准确性。(2)系统的开放性和系统的可行性酒店管理系统在开发过程中,应该充分考虑以后的可扩充性。例如管理模块的加入也不会不断的更新和完善。所有这些,都要求系统提供足够的手段进行功能的调整和扩充为ERP系统。而

33、要实现这一点,应通过系统的开放性来完成,系统应是一个开放系统,只要符合一定的规范,可以简单的加入和减少系统的模块,配置系统硬件。通过软件的修补、替换完成系统的升级和更新换代。(3)系统的易用性和易维护性酒店管理系统是直接面对使用人员的,而使用人员往往对计算机并不是非常熟悉。这就要求系统能够提供良好的用户接口,易用的人机交互界面。要实现这一点,就要求系统应该尽量使用用户熟悉的术语和中文信息的界面;针对用户可能出现的使用问题,要提供足够的在线帮助,缩短用户对系统熟悉的过程。(4)系统的标准性 系统在设计开发使用过程中都要涉及到很多计算机硬件、软件。在开发中使用的操作系统、网络系统、开发工具都符合通

34、用标准。如规范的数据库操作界面。在自主开发本系统时,要进行良好的设计工作,制定行之有效的软件工程规范,保证代码的易读性、可操作性和可移植性。(5)系统的先进性目前计算机系统的技术发展相当快。作为酒店管理系统工程,应该保证系统在一段时间内是先进的,在系统的生命周期尽量做到系统的先进,充分完成企业信息处理的要求而不至于落后。这一方面通过系统的开放性和可扩充性,不断改善系统的功能完成。另一方面,在系统设计和开发过程中,应在考虑成本的基础上尽量采用当前主流并先进且有良好发展前途的产品。4.1.5 运行需求酒店管理系统中的各个子系统的硬件和软件的配置如下:服务端子系统的运行要求:系统软件:windows

35、 数据库管理系统:Mysql客户端子系统的运行要求: 系统软件:Windows 硬件要求:Pentium133以上,32M RAM4.2 概要设计概要设计的目的是主要解决了实现该系统需求的程序模块设计问题。如何把该系统化分成若干各模块,决定各个模块之间的接口,模块之间传递的信息,以及数据结构,模块结构的设计等。4.2.1 系统结构系统的大致结构如下:在 C/S 结构下的该酒店管理系统大致可以划分为以下模块:(见下页)图4.7 系统结构图在整体设计中,将酒店管理系统分为五个大的模块:入住登记模块、退房管理模块、VIP管理模块、管理员管理模块、房间信息模块、每个模块将实现不同的功能。下面将具体进行

36、介绍。(1)入住登记模块 入住登记模块包括酒店预订和即时入住,输入顾客信息和房间号码,为顾客分配房间。(2)退房管理模块 退房模块包括房间的退订和酒店收入的查询,退房登记需要输入用户的信息,并且计算余额,然后退还余额,结束退房,该模块涉及到顾客表以及房间状态表的更新。收入查询需要指定查询的起止时间,得出该时间段的收入总额。(3)VIP管理模块 VIP管理模块基本上包括:VIP添加,VIP查询,VIP删除三个部分。 1. VIP添加:输入合法的用户信息,添加酒店会员。2. VIP查询:根据会员编号,会员手机号码进行会员的查询。3. VIP删除:根据会员提供的信息删除相应的会员。(4)管理员信息管

37、理模块 管理员信息管理模块包括:管理员信息查询,管理员密码修改两个功能模块。1. 管理员信息查询:根据正确的管理员编号进行管理员信息的查询。2. 管理员密码修改:根据正确的管理员编号和密码修改新的密码。(5)房间信息模块出入登记模块包括:房间类型、房间价格两个模块。房间类型:对不同类型房间信息进行查询。房价价格:不同时间段不同类型房间的价格的查询与修改。4.2.2 数据库表(1)顾客表用来存放用户的入住信息,与登记房间相关联。表1为该表的详细信息。表1 顾客表(customer)字段名 描述数据类型 数据长度是否允许为空 主键id 编号char18否是name姓名varchar10否否gend

38、er性别varchar3否否phone 电话char11否否roomnum房间号int11否否intime入住时间date否否staytime预祝时间int11否否address地址varchar100否否cash押金int11否否roomtype房间类型varchar15否否(2)管理员信息表对管理员登录酒店管理系统进行统计,存放管理员信息。表2为该表的详细信息。表2 管理员信息表(manager)字段名 描述数据类型数据长度是否允许为空主键id 遍号char10否是name姓名varchar10否否age 年龄Int11否否phone 电话char11否否password 密码char10

39、否否(3)房间状态表主要存放的是房间的入住状态,status为0表示为空房,1表示该房间已入住,2表示已预订。表3为该表的详细信息。表3 房间状态表(roomstatus)字段名 描述数据类型 数据长度是否允许为空主键roomnum 房间号int11否是roomtype房间类型varchar10否否status房间状态int11否否(4)房间价格表对房间的价格进行登记,用来计算住房金额。表4为该表的详细信息。表4 房间价格表(roomprice)字段名 描述数据类型 数据长度是否允许为空主键single单人间int11是否sd标准间int11是否bb自主大床房int11是否st标准三人间int

40、11是否ld豪华标准间int11是否lt豪华三人间int11是否(5)VIP表对酒店的会员进行管理的数据表,以便进行增删。表5为该表的详细信息。表5 VIP表(vip)字段名 描述数据类型 数据长度是否允许为空主键id编号char10否是vipid 会员号char15否否vipname姓名varchar4否否gender 性别varchar1否否phone电话char11否否checkindays已住天数int11否否(6)收入表对酒店的收入进行统计,以便进行查找。表6为该表的详细信息。表6 收入表(income)字段名 描述数据类型 数据长度是否允许为空主键time收入日期date否否gai

41、n 收益double否否4.2.3 运行设计(1)运行模块的组合客户基础现在有输入时启动接收数据的模块,通过各模块之间的调用,读入进行格式化。在接收数据模块得到充分的数据时,将调用网络传输模块。将数据通过网络送到服务器,并等待接受服务返回的信息。接收到返回信息后随即调用数据输出模块,对信息进行处理,产生想要的输出。服务器程序的接受网络数据模块必须始终处于活动状态。接收到数据后,调用数据处理查询模块对数据库进行访问,完成后调研网络发送模块,将信息返回给客户机。(2)运行控制运行控制将严格按照各模块间函数调运关系来实现。在各事务中心模块中,需要对运行控制进行正确判断,选择正确的运行控制路径。在网络

42、传输方面客户机在发送数据后,将等待服务器的接收信号,收到后,再吃等待服务器发送回答数据,然后对数据进行确认。服务器接收到数据后发送确认信号,在对数据处理,访问数据库后,将返回信息送回客户机,并等待确认。(3)运行时间在软件的需求分析中,对运行时间的要求为必须对作出的操作有较快的反应。网络硬件对运行时间有最大的影响,当网络负载量大时,对操作反应将受到很大的影响。所以将采用告诉atm网络,实现客户基于服务器之间的连接,以减少网络传输上的开销。其次是服务器的性能,这将影响对数据库访问时间的长短,影响加大客户及操作的等待时间,所以必须使用高性能的服务器,建议使用pentium III处理器。硬件对系统

43、的影响将大于软件。4.3 系统详细设计系统详细设计确定应如何具体实现所要求的系统,从而在编码阶段可以把这个描述直接翻译成具体的程序语言书写的程序。主要的工作有:根据需求规格说明书所描述的数据、功能、运行、性能需求,并依照概要设计说明书所确定的处理流程、总体结构和模块外部设计,设计软件系统的结构设计、逐个模块的程序描述。4.3.1 总体设计为方便酒店管理员对酒店住房的管理,需要开发一个酒店管理系统,为了便于酒店对顾客信息的管理,系统需要实现入住登记,退房登记,VIP管理等功能。要求系统能有效、快速、安全、可靠的完成上述操作。并要求界面简单易用。4.3.2 系统界面设计(1)用户登录本酒店管理系统

44、登录模块中,在登录中,输入正确的用户名及密码,能够登录到系统主界面,当输入错误的用户名或密码,系统提示错误,并回到登录界面重新登录。系统登录界面如图4.8所示:图4.8 系统登录界面管理员如果没有输入合法的编号和密码,系统会给出错误并重新输入的提示信息,如图4.9所示。连接数据库,取得查找到的管理员信息,如果输入的信息正确,比较用户输入的密码是否与数据库匹配,如果没有显示错误信息,关闭数据库连接并返回。图4.9 提示信息界面如果管理员输入信息错误,点击按钮重置可以将输入的数据清空。建立登录界面与主界面之间的连接,显示主界面。退出按钮点击按钮退出。(2)主界面酒店管理系统的主界面会在菜单显示功能

45、菜单,还显示了全部房间状态信息和不同类型房间的当前房价菜单栏包含客房管理,退房管理,VIP管理,管理员管理,帮助信息。客房管理功能菜单主要进行客房的类型与设施信息的查询,退房管理进行退房结算登记,VIP管理中心主要对酒店的重要客户进行登记,帮助主要是对软件功能进行扩充,如图4.10所示。菜单栏中间将各个房间状态全部显示出来,不同颜色表示不同的房间类型,在主界面的最下方中间给出备注,除房间类型颜色不同之外,还对不同的房间状态设置不同的颜色,红色代表该房间已预订,白色代表该房间已入住。点击每个房间,可以进行房间的预订。图4.10 系统主界面(3)房态更新在登录酒店管理系统之后,会进行房间状态的查询

46、,并以不同的颜色表示,在每次进行入住或者退房之后需要进行房间状态的更新。酒店管在右下角点击“更新房态”按钮可以进行房态更新,并且连接数据库,查看房间信息roomstatus表,取得全部记录的数据,即房间的状态。通过读取数据库中房间状态的信息,改变不同的房间的颜色,房间显示颜色的不同,反应房间的不同状态。(4)房价更改酒店管理系统主界面的左侧一栏,用来显示不同类型房间的价格,也可以输入新的价格,点击“房价更改”按钮进行价格调整,如图4.11所示为价格更改成功的提示信息,如图4.12所示,表示因为输入的房价有误,即非数字,而提示的信息。图4.11 价格更改成功提示图图4.12 价格更改失败提示图(

47、5)入住预定点击房间按钮,进入入住预定界面,如图4.13所示,酒店管理系统的入住系统主要是管理人员用来对顾客信息进行登记并且分配房间,实现顾客入住的登记入住管理。在登记入住时,酒店管理系统提供了即是入住和预定两种状态。图4.13 入住中心进入预订中心,依次填写各项信息,要求客户的身份证号是唯一的,入住房间号码、入住情况、押金为必填,为了避免房费不足的情况,需要人为的根据当日房价收入押金,点击“登记”会连接数据库,检查相关的表约束条件,在顾客表中插入合法的信息,便可完成入住操作。操作成功将弹出提示窗口。若房间已被登记,则弹出提示窗口,如图4.14所示。图4.14 已登记提示信息(6)退房登记在主

48、菜单中,退房管理中点击退房登记,进入退房中心,如图4.15所示,输入房间号、入住时间、当日房价,如果是会员,输入正确的会员卡号,则最后计算房价按相应的优惠政策打折,会员卡号输入错误则按照非会员计算房价,会给出相应的提示,如图4.16所示。图4.15 退房登记图4.16 会员卡号输入错误提示图根据用户的实际入住信息,该扣款项目填写完整,如果填入的房间号和入住时间在顾客表中查询得到,则点击“计算”按钮计算出应该返还给客户的金额,此时才可以点击退房,退房成功后会进行房间状态的更新。否则给出相应的提示信息,如图4.17所示。图4.17 错误信息提示(7)收入查询在主菜单中,退房管理中点击收入查询,进入

49、查询页面,如图4.18所示,该功能可以查询日收入,月收入余年收入。输入欲查询的起止时间,点击查询,该时间段的查询结果会在下方的查询结果结果栏中显示。图4.18 会员添加图(8)VIP管理在主界面上的菜单栏中选择VIP管理,可以选择VIP管理的三个不同功能。点击“添加会员”进入会员信息添加界面,如图4.19所示,根据要求填入正确的合法的用户信息,VIP编号与VIP卡号不能与已存在的卡号相同,点击“确定”会连接数据库,检查信息,如果信息填写与数据库表的约束相符,则可以完成会员登记,并给出添加成功的提示信息。否则,验证数据有误之后,会给出相应的信息提示,需要重新填写信息,才可以进行会员信息的添加。图

50、4.19 会员添加图点击“查询会员”进入会员查询界面,如图4.20所示,有两种查询方式:查询一可以根据VIP卡号查询;查询二根据手机号码查询;这两种查询都会查询相应的数据库表,根据点击查询结果会在结果栏中显示,显示的顺序对应提示栏依次为编号,VIP卡号,姓名,性别,电话,和已住天数。在窗体界面有一个“清空结果”的按钮,点击可以将查询结果栏中已查询到的信息清除。图4.20 会员查询图 输入查询的条件,点击对应的查询按钮会连接数据库,查询会员表,如果输入的是不正确的VIP卡号或者电话号码,系统会给出错误的提示信息,详细情况如图4.21和图4.22所示。图4.21 会员卡号非法图图4.21 电话号码

51、非法图点击“删除会员”进入会员删除界面,如图4.23所示,根据用户提供的信息将窗体中的内容填入完整,点击“注销”会连接数据库,如果在相应的数据库表中查询到相应的信息,则将该数据删除,否则给出相应的错误提示信息,要求重新输入之后进行相应的操作。 图4.23 会员删除图点击“会员优惠”进入会员优惠界面,该界面主要显示酒店的VIP用户享受的会员优惠程度,持卡者累计入住100天以内,享受九五折优惠,累计住宿天数越多,优惠越多。同时,也对会员卡的使用做出相关的规定。如图4.24所示,详细的介绍了持卡者的会员权益。图4.24 VIP优惠目录(9)管理员管理在主界面上的菜单栏中选择管理员管理,对管理员有两个

52、不同的功能。点击“信息查询”进入管理员信息查询界面,如图4.25所示,根据要求填入正确的合法的管理员信息,点击“查询”在结果栏中显示管理员的信息,点击“结果清空”会将结果栏中的信息清空。图4.25 管理员信息查询图点击“密码修改”进入管理员密码修改界面,如图4.26所示,根据界面信息填入正确的合法的管理员信息,重新设置密码,点击“更改”,连接数据库,如果管理员编号和旧密码合法,则进行密码的修改。否则给出错误信息的提示。图4.26 管理员密码修改图(10)帮助信息本酒店管理系统是本人自主完成,版权归本人所有,故下拉菜单“帮助”选项只有一项“关于系统”,是有关本人的信息,如图4.27所示。图4.2

53、7 酒店管理系统信息另外,方便管理员的信息查询,设计下拉菜单“帮助”选项只有一项“百度链接”,可以直接连接到百度网址,进行信息的查询。(11)酒店客房信息本酒店管理系统提供六种不同类型的房间,分别是单人间,标准间,标准三人间,自主大床房,豪华标准间,豪华三人间,每种不同类型的房间的设施装备不同,每个房间的详细情况如图4.28所示。图4.28 酒店客房信息另外,图4.25仅是对房间类型进行简单的描述,每个房间的标准配备设施根据房间类型,房间价位有所区别。房间的详细设施情况如图4.29所示。图4.29 酒店房间设施信息4.3.3 部分程序描述(1)登陆界面:登录按钮:void MainWindow

54、:on_loginButton_clicked()/登录数据库 this-db=QSqlDatabase:addDatabase(QMYSQL); this-db.setHostName(localhost); this-db.setDatabaseName(hotelmanagement); this-db.setUserName(root); this-db.setPassword(asdsaz123); this-db.open(); /获取输入的编号和密码 QString user=ui-userEdit-text(); QString pwd=ui-passwordEdit-text

55、(); /查询相应的编号和密码 QSqlQuery query; query.prepare(select * from manager where id=:id and password=:password); query.bindValue(:id, user); query.bindValue(:password, pwd); query.exec(); if(query.next() /显示主界面 this-close(); management *manage=new management; manage-show(); manage-on_updateButton_clicked(

56、); else/错误信息提示 QMessageBox:information(this,tr(错误),tr(用户名或密码错误,请重新输入),tr(返回); return; this-db.close();/关闭数据库(2)入住登记:void room:on_submitButton_clicked()/连接数据库 this-db=QSqlDatabase:addDatabase(QMYSQL); this-db.setHostName(localhost); this-db.setDatabaseName(hotelmanagement); this-db.setUserName(root);

57、 this-db.setPassword(asdsaz123); this-db.open(); /获取输入的信息 QString name=ui-nameEdit-text(); QString id=ui-indentyIdEdit-text(); QString phone=ui-phoneEdit-text(); QString intime=ui-dateEdit-text(); QString address=ui-addressEdit-toPlainText(); QString cash=ui-cashEdit-text(); QString gender=ui-maleBu

58、tton-text(); if(ui-femaleButton-isChecked() gender=ui-femaleButton-text(); QString roomtype=ui-twoRadioButton-text(); if(ui-oneradioButton-isChecked() roomtype=ui-oneradioButton-text(); if(ui-threeRadioButton-isChecked() roomtype=ui-threeRadioButton-text(); if(ui-bigBedRadioButton-isChecked() roomty

59、pe=ui-bigBedRadioButton-text(); if(ui-bigTwoRadioButton-isChecked() roomtype=ui-bigTwoRadioButton-text(); if(ui-oneradioButton-isChecked() roomtype=ui-oneradioButton-text(); if(ui-bigThreeRadioButton-isChecked() roomtype=ui-bigThreeRadioButton-text(); int roomnum=ui-roomNumEdit-text().toInt(); int s

60、taytime=ui-dayEdit-text().toInt(); /查询想要入住的房间的状态 QSqlQuery query3; query3.prepare(select * from roomstatus where roomnum=:roomnum); query3.bindValue(:roomnum, roomnum); query3.exec(); int a=1; while(query3.next() a=query3.value(2).toInt(); if(a=0) /空房,进行入住登记,添加顾客信息 QSqlQuery query; query.prepare(ins

温馨提示

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

评论

0/150

提交评论