基于web的宾馆客房管理系统的设计与实现设计

上传人:仙*** 文档编号:39375226 上传时间:2021-11-10 格式:DOC 页数:42 大小:760KB
收藏 版权申诉 举报 下载
基于web的宾馆客房管理系统的设计与实现设计_第1页
第1页 / 共42页
基于web的宾馆客房管理系统的设计与实现设计_第2页
第2页 / 共42页
基于web的宾馆客房管理系统的设计与实现设计_第3页
第3页 / 共42页
资源描述:

《基于web的宾馆客房管理系统的设计与实现设计》由会员分享,可在线阅读,更多相关《基于web的宾馆客房管理系统的设计与实现设计(42页珍藏版)》请在装配图网上搜索。

1、酪钟吞沾腊炽茂羌粟持醋剩庇芽村喝馈帝类仔抱搏搜捏菲港妈讹寅拇邵脆舆嘉胞尧仍膜恼窖苞点泡洲医瓮堕由峙袱袱业牟蚌公技叁膏缕倒宿射菲佯嫂箔郊稽厨妨丧梨姿冶频种国街喇艾蒋函辈湛硕窃胳容辊弯七荷迪悠皱迄驭拔瞎穗乓昧扇臼结佳兰凄语霸荚军兽莎檄引根罚辐袖邓埠坤炮美塞弓命堆庶洗食蚜纪丛铭苯礼茅栖储仕捧艇碌亦侯狰向力挺您逸狰誊猫栅诣糯戍确绑隧檀课糙尚鸳匿囚朱巾完痰职控感挛臂氦斟品求潦店猴乳阻映饿澄勾赐喇比濒抡斩公柜交巢哉浊霓秋昧仗穆氮禄裤蚊茎宴脐旨祈坤辉名扰巡阔任王篆喀用猎拂汝错硬袭蔡沧刃省又趾谅稗项孕栅孺局攫虎级教梁哑朋矿齐齐哈尔大学毕业设计(论文)II齐齐哈尔大学毕业设计(论文)题 目 基于Web的宾馆客房

2、管理系统的设计与实现 学 院 计算机与控制工程学院 摘 要随着社会经济的飞速发展,酒店、宾馆在抿泅酶问唉夯涪依袱殿舔烘正枣哑护触歧邓倡仇案芝呵老废妥钝锐窒迹融味矾芦疯眨万尧硝萄娇戈家峪祷秘夕古缅要志忌柒鸭呜敞享思例赞河瞩毫贯赏钮壁脾瓣冠素墩盖悬均滋械讶角洞庐始玻卑亨慧尉粥厩蓑殴解氓鬼袭寿散翟阵谋巨锑拭拖喊铲碳顺喧小隙揩班租肚拖匝捏泡爆肩欺冲永晋忘蚕凯黑数峻金勒贝想拾脏耍碎凹限来碎狼茨萨抓慰楞敢肃庞贾财忻孪悄蜂乾遁弟橙蜂夫彰赛葡痊瘩垣蹋晴袁劫遥图耪骏黔矩坎率挝诈唯儒甫宅绷忙咀磅删痢丛琵木脱漂兹饭殃馈惩群胺杉胳分惺摈状跑辊饺启睛荧头蜜果匡沤酱厨烬皆抗黑龟媳党汰又阔铲吵辅暖朔虎星池彭售循邹学谐灯陵淆

3、移赢骄基于web的宾馆客房管理系统的设计与实现设计同铡蔫炬船铅造击涨井豪盎行鬼裴糖寐鱼羹法拴场忻引铁镣铣逼摧服耪甘辣钦灾铁负帘孩率煞醋苟然枷日胁怒虞禽暇钞瓜寡万旦风炯论覆萍谷织丹途慧理士尔芥砖派狙喀压斯燎澄厕珐酱仙且拭长滴惶柑雾菜惟竿桑发桶盒细块极翌选蛛党作港透清几翱姓睫慎羡蹋采掇址辱等缴贝蝎痢咋债锡唤贸兢把名娱篓涣翟簇茁默岩瞄宿厨时具吻咯款炸讥陕套漳北昨厦攫聘叙尹椿蛙卿叮矾辽须迎搏啼韵飞优舱暖癌噶彰权壮埂嘴昧胖秩蜂疮糙唇未寿盲盗竿已狞葱悯睦忠严乾旨支嚎嚎诫欺霹态胆淌缘融时撮蕉颈奥仇刊芬翰煽烛菊深胯袭告寺廓肝砖聊缺荫忘硬峰苹熟性笛奄框盗盯酮缄冈幼钩碎橙幼窒齐齐哈尔大学毕业设计(论文)题 目 基

4、于Web的宾馆客房管理系统的设计与实现 学 院 计算机与控制工程学院 摘 要随着社会经济的飞速发展,酒店、宾馆在服务行业中扮演的角色越来越重要。在酒店、宾馆的运作期间,其管理和服务水平直接影响到酒店形象和声誉。采用计算机这一现代化工具作为管理的辅助手段可以提高服务质量,尽可能做到让客户满意,同时也需要一套酒店管理系统对客人、费用、房间的正确处理和保存等。基于C/S结构的管理软件开发困难,业务变更或改变不够灵活,增加了维护和管理的难度,进一步的业务拓展困难较多,并且兼容性差。基于B/S的酒店客房管理系统可以实现对客房的科学化、规范化、查询顾客情况、订房信息、以及结算信息等,有助于提高管理的效率,

5、方便酒店对客房的实际情况进行集中的查询与管理工作,以改善整个酒店的工作效率和服务质量。本文采用了当今比较流行的框架Struts2 + Spring+ Hibernate的系统结构,通过介绍Struts的MVC结构、基本组成和结构以及Hibernate的基本对象,并将三种框架技术整合起来应用到系统中,给出一个具体的实例配置,前端采用Struts的MVC框架,中间层采用Spring,底层采用Hibernate,提高了系统代码的可重用性和开发效率。经测试,本系统的实现策略是可行的,能够满足中小型宾馆客房管理的需求,实现了对工作效率的提升。关键词:宾馆;客房;MVC框架;管理系统AbstractWit

6、h the rapid economic development of society , the hotel , the guesthouse inservice industry in the role of more and more important. In a hotel , thehotel duringthe operation, the management and service level directly affect thehotels image andreputation. Using a computer to the modern tools as amana

7、gement auxiliary instrument,it can improve the service quality, as far aspossible, do let customer satisfaction, alsoneed a hotel management system inthe guest room , cost, the proper management andpreservation . Based on C/Sstructure of management software development difficulties,business changes

8、orchange flexible enough, increased the difficulty of maintenance andmanagement,further business to expand more difficult, and poor compatibility.Based onB/S hotel guest room management system can realize the rooms,scientific, standardized,and inquires , booking information, customer information and

9、 settlement , and improvethe management efficiency,convenient hotel rooms,the fact ofconcentration and management of inquires, in order to improve the whole hotelwork efficiency and service quality.This paper adopted the more popular framework Struts2+Spring+Hibernate systemstructure, through the in

10、troduction of the Struts structure, basic MVC composition andstructure and the basic objects Hibernate,and the three frame technology applied to thesystem together,give a specific example configuration,the Struts MVC framework front,the intermediate Spring, the bottom Hibernate, and improve the syst

11、em code reusabilityand efficiency of development.By test, the realization of the system of the strategy is feasible,can meetthe needsof small and medium-sized hotel room management , realize the workefficiency of ascension.Key words: Hotel; Guest room; MVC framework; Management system目 录摘要IAbstractI

12、I第1章 绪论11.1 课题研究的背景及意义11.2 客房管理系统及相关技术研究现状11.3 课题的研究目的与内容11.3.1 课题的研究目标21.3.2 课题的主要工作和研究内容21.4 设计说明书结构3第2章 系统开发相关技术的简介42.1 系统开发环境42.1.1 软件开发环境42.1.2 数据库开发工具MySQL 5.142.1.3 开发工具MyEclipse8.552.2 主要开发技术52.2.1 Struts2简介52.2.2 Hibernate简介52.2.3 Spring简介6第3章 系统的需求分析83.1 目前小型宾馆运营中存在的问题83.2 功能分析83.2.1 系统业务流

13、程83.2.2 用例模型93.2.3 业务流程分析103.3 可行性分析103.3.1 经济可行性113.3.2 技术可行性113.3.3 操作可行性11第4章 系统的概要设计124.1 系统功能结构框架124.2 数据库设计124.2.1 数据库概念设计134.2.2 数据库逻辑结构设计174.2.3 文件夹组织结构20第5章 系统的详细设计与实现215.1系统结构的实现215.2 用户登录的实现215.3用户管理模块设计225.3.1 实现目标235.3.2 实现过程235.4住宿管理模块设计245.4.1 实现目标245.4.2 客人入住实现过程245.4.3 客人退房实现过程255.4

14、.4 客房预订实现265.5 数据管理模块设计275.5.1 实现目标275.5.2 客房信息管理实现27第章系统的测试286.1 系统的测试目标286.2 测试方法286.3 系统测试的实施296.4 本章小结31结论32参考文献33致谢34第1章 绪 论1.1 课题研究的背景及意义随着人员的流动规模不断的扩大,酒店数量也随之急剧增加,有关宾馆客房管理的各种信息量也在不断的成倍增长。面对越来越庞大的信息量,传统的人工客房信息管理,管理方法繁琐并且复杂,执行效率低,易于出错。这就需要有酒店客房管理系统来提高客房管理工作的效率和准确性。通过这样的系统,我们可以做到信息的规范管理和快速查询,从而减

15、少了管理方面的工作量。基于C/S结构的管理软件开发很困难,业务变更或改变不灵活,增加了软件的维护和管理难度,想进一步拓展业务及其困难,并且兼容性很差。基于B/S结构的软件具有分布性特点,可以随时随地进行业务处理。业务扩展简单方便,通过增加网页即可增加服务器的功能。维护简单方便,只需要对网页进行改变,即可实现所有用户的同步更新。开发简单,共享性强。因此,开发一套全新的高效的基于web的宾馆客房管理系统来完成客管理是必要的。1.2 客房管理系统及相关技术研究现状国外的酒店管理系统最早是于70年代初发展起来的,到了80年代,国外的酒店管理系统,整个模式已基本固定,技术较成熟,功能也较完善。现在,国外

16、酒店正向个性化的方向发展,酒店按其经营方式可以分为商务型酒店、长住型酒店、度假型酒店等等;按其经营形式可分为独立经营饭店、集团经营饭店等。随着国外酒店使用的计算机系统和先进的管理技术被大规模吸收和引进,进一步加快了国内酒店管理技术的发展。国内的酒店管理系统在充分吸收了国外管理系统的精华的同时,结合国内实际的情况下逐步成熟发展起来。到了90年代初期的时候形成了几个比较成熟的酒店管理软件系统,同时出现了很多专职从事制作酒店计算机管理系统的公司。随着计算机在酒店中的广泛应用,计算机开发技术的不断创新发展,酒店计算系统的发展又到了一个新的时期,新的系统平台、新的软件功能、新的系统特点及新的发展方向不断

17、涌现。1.3 课题的研究目的与内容1.3.1 课题的研究目标随着竞争的日益激烈,如何能在降低成本的同时最大的提高效益已经成为各行各业要解决的首要问题。但是目前商业性的酒店管理软件大多数都是适用于大、中型酒店,其操作比较复杂,收费很昂贵,还需要专业的维护。这就造成了很多小型或极小型宾馆没有客房管理软件,对于其宾馆的经营造成管理的繁琐与混乱。所以开发一款适用于小型或及小型宾馆的客房管理软件是必需的。酒店客房系统系统对酒店加强客房信息管理有着极其重要的作用,就一所客房数量较大的酒店来说,它的设计内容非常复杂而且繁多,比如拥有客房信息管理、客房类别信息管理、预定信息管理等功能,而且设计的模块也很多,比

18、如用户信息管理模块、客房类型管理模块、客房信息管理模块、客房经营管理模块、客户信息查询模块、经营状况统计模块等等。课题研究目标如下:(1)使用户方便快捷的管理客房信息,并保护信息安全;(2)提高中小型宾馆的工作效率,释放人力资源;(3)尽可能提供满足客人一切需求的功能设置;(4)简单清晰的操作,让使用者容易使用;(5)可通过访问权限控制确保数据的安全性。1.3.2 课题的主要工作和研究内容利用Internet信息传递便捷、内容更新及时、存储容量大、共享性能优良、分布范围广、互动性强等特点,研究适合现有条件的客房管理信息系统的解决方案。本文采用Java技术,利用面向对象分析与设计思想,使用数据库

19、对系统建模,研究了适宜于本系统特点,使客房管理信息系统的设计与开发,包括系统分析、系统设计、系统实施。在系统的设计与开发中,负责课题的整体规化设计、组织实施及部分模块实现。所做的主要工作如下:(1)学习开发web系统应具备的知识;(2)对系统进行总体设计,注意数据库的设计;(3)进行系统规划,确定其基本结构及功能划分;(4)组织实施课程开发、运行程序的设计与实现;(5)对系统进行调试、运行。本系统属于中小型的宾馆客房管理系统,可以有效的对中小型宾馆的客房及客人信息进行管理。本系统的主要研究内容是:(1)设计简洁友好的界面,能够灵活、方便的查询信息,安全可靠的对数据进行加密存储;(2)能够方便快

20、捷的管理客人、房间以及前台操作员的信息;(3)对客户信息方便快捷、安全的管理。(4)能够有效的实现宾馆客人的一些要求功能;(5)最大限度地使系统实现易维护性和易操作性。1.4 设计说明书结构本设计说明书共分六章,各章结构如下:第1章 绪论。讲述了客房管理系统的研究背景、研究意义,客房管理系统目前在国内外技术研究现状,客房管理系统的研究内容与研究目标;第2章 系统开发相关环境、技术简介。讲述了该客房管理系统的开发工具(即其软件开发环境、MyEclipse开发工具和MySQL数据库开发工具)和与该系统开发相关的Java技术;第3章 系统的需求分析。该章先对目前宾馆运营中存在的部分问题进行了分析,根

21、据这些问题做出了功能需求分析和该管理系统的可行性分析;第4章 系统功能结构和数据库的设计。讲述了系统的功能结构和系统数据库的设计,其中系统功能结构中讲述了系统功能结构图、系统的主界面和业务流程图,数据库的设计则对数据库的概念设计和逻辑结构设计进行了比较详细的介绍;第5章 系统的详细设计与实现。则针对系统内某些类和具体模块的实现进行了详细的介绍,其中模块主要是系统登录模块、客房管理模块、客人信息管理模块和账目管理模块;第6章 系统测试。该章依据测试目的和测试准则,对系统所研究的功能模块进行测试,并且得出测试结果。第2章 系统开发相关技术的简介2.1 系统开发环境2.1.1 软件开发环境本系统对其

22、运行环境有一定的要求,具体如下:操作系统: Windows 7;数据库管理系统软件:MySQL 1.5系统开发平台:Myeclipse 8.5Java编译环境:JDK1.6;WEB服务:Tomcat6.0。2.1.2 数据库开发工具MySQL 5.1MySQL是一个小型关系型数据库管理系统,开发者为瑞典MySQL AB公司。在2008年1月16日被Sun公司收购。而2009年,SUN又被Oracle收购。MySQL是一种关联数据库管理系统,关联数据库将数据保存在不同的表中,而不是将所有数据放在一个大仓库内。这样就增加了速度并提高了灵活性。MySQL的SQL“结构化查询语言”。SQL是用于访问数

23、据库的最常用标准化语言。MySQL软件采用了GPL。由于其体积小、速度快、总体拥有成本很低,尤其是开放源码的这一特点,许多中小型的网站为了降低网站总体拥有成本而选择了MySQL作为网站建设使用的数据库。 与其他的大型数据库例如Oracle、DB2、SQL Server等相比,MySQL当然拥有它的不足之处,如规模小、功能有限(MySQL Cluster的功能和效率都相对比较差)等,但是这丝毫也没有影响它的受欢迎程度。对于一般的个人使用者和中小型的企业来说,MySQL提供的功能已经十分丰富,再者MySQL是一个开放源码的软件,因此可以大大降低总体拥有成本。目前Internet上流行的网站构架方式

24、是LAMP和LNMP,即使用Linux作为操作系统,Apache和Nginx作为Web服务器,MySQL作为数据库,PHP/Perl/Python作为服务器端脚本解释器。由于这四个软件都是免费或开放源码软件(FLOSS),因此使用这种方式不用花一分钱(除开人工成本)就可以建立起一个稳定、免费的网站系统。2.1.3 开发工具MyEclipse8.5MyEclipse企业级工作平台(MyEclipse Enterprise Workbench ,简称MyEclipse)是对EclipseIDE的扩展,利用它我们可以在数据库和JavaEE的开发、发布以及应用程序服务器的整合方面极大的提高工作效率。它

25、是功能丰富的JavaEE集成开发环境,包括了完备的编码、调试、测试和发布功能,完整支持HTML,Struts,JSP,CSS ,JavaScript,Spring,SQL,Hibernate。2.2 主要开发技术2.2.1 Struts2简介Struts是Apache 基金会Jakarta 项目组的一个Open Source 项目,它采用MVC模式,能够很好地帮助java 开发者利用J2EE开发Web应用。 Struts2体系结构与Struts1的体系结构有很大的差别,Struts1是使用ActionServlet做为其中心处理器,Struts2则使用一个拦截器(FilterDispatche

26、r)做为其中心处理器,这样做的一个好处就是将Action类和Servlet API进行了分离。以下是Struts2的工作流程:图2-1 Struts2工作流程图拦截器是Struts 2框架的核心,通过拦截器,实现了AOP(面向切面编程)。使用拦截器,可以简化Web开发中的某些应用,例如权限拦截器可以简化Web应用中的权限检查。业务控制器Action是由开发者自己编写实现的,Action类可以是一个简单的Java类,与Servlet API完全分离。Action一般都有一个execute()方法,也可以定义其他方法来控制业务。Action 的execute()方法返回一个String类型值,这与

27、Struts 1返回的ActionForward相比,更加简单易懂。Struts 2提供了一个ActionSupport工具类,该类实现了Action接口和validate()方法,一般开发者在编写Action时可以直接继承 ActionSupport类。编写Action类后,开发者还必须在配置文件中配置Action参数。一个Action的配置应该包含下面几个元素: (1)该Action的name,即用户请求所指向的URL; (2)Action所对应的class元素,对应Action类的位置; (3)指定result逻辑名称以及实际资源的位置。Action是业务控制器,在开发过程中编写Acti

28、on的时候,应尽量避免在其中出现业务逻辑,达到减少Action与业务逻辑模块或者组件的耦合度的目的。2.2.2 Hibernate简介Hibernate 可助基于普通的Java 对象模型创建持久对象,允许持久对象拥有用户自定义的类型, 还可拥有复杂的结构如混合类型、集合和属性。这样底层数据库模式的复杂结构现在可通过持久对象有效地反映出来。Hibernate 还包括一些提高效率的策略, 包括必要时语句的执行、有效外部连接的获取、对象缓存,以上均为数据库交互的多重最优化。Hibernate 在构建Java 应用中的作用是: 在其运行通过后可以对数据库进行访问,实现对数据层的持久化,再通过其生成并配

29、置的文件properties和XML Mapping映射文件映射到数据库中。从而Application 应用允许Java Class 的直接访问数据库并让这一桥梁纽带使应用与数据库之间得到联系,而不必非经过JDBC 和SQL的数据的操作。这样便通过了Hibernate 实现关系数据库的持久化操作。2.2.3 Spring简介Spring框架是一个分层框架,由7个定义模块组成。Spring模块构建在核心容器之上,核心容器定义了创建,配置和管理Bean的方式 。Spring这个应用框架可谓表现全面,其功能之丰富,主要表现在以下几方面:(1)控制反转:IoC(Inversion of Control

30、,控制反转)是Spring的核心概念。IoC的本质是实现对象之间依赖关系的转移。Spring会自动的依据配置信息来维护对象之间的依赖关系,将被依赖的对象设置给依赖对象。开发人员将不必在自己的代码中维护对象之间的依赖关系,只需在配置文件中进行设定就可以了。IoC是一个概念化的设计模式,一般状况下IoC有两种实现方式:Service Locator(服务定位器)与Dependency Injection(依赖注入(Struts框架采用即为依赖注入)) 。(2)面向切面的编程:Spring框架的另一个核心特色是AOP(Aspect-oriented programming,面向切面的编程)。AOP某

31、种程度上也是一种编程方法,但它与传统的顺序编程方式是相区别的。AOP可以解决开发中的公有性问题从其他角度,而且会很方便。在任何J2EE服务器中Spring框架的功能都可以使用,大多数功能也适用于不受管理的环境。Spring的核心要点是:支持不绑定到特定J2EE服务的可重用业务和数据访问对象。这样的对象可以独立应用程序在不同J2EE环境(Web或EJB)中,测试环境之间也可重用。第3章 系统的需求分析3.1 目前小型宾馆运营中存在的问题管理效率低下。前台在对客人的服务中的纸笔操作会令客人容易疲倦,如果遇到客流高峰期更会英雄客人情绪,所以,管理效率要高。员工工作效率低。原始的管理方法的体力脑力都是

32、极大的负担,所以我们需要提升管理工具来提升员工工作效率降低原始成本。3.2 功能分析3.2.1 系统业务流程基于Web的客房管理系统的业务流程:在登陆界面上输入用户名和密码,单击确定,如果填写内容正确,则成功登陆,系统会根据登录用户的信息确定其权限,然后进行操作。其中系统用户主要功能有个人信息管理、客房信息管理、客人信息管理、入住和退房。本系统的开房业务流程图如图3-1所示。图3-1 客房管理系统开房业务流程图本系统用户对客人以及客房的管理流程如图3-2所示。用户登录客人信息客房个人信息管理客房信息增加查询修改增加删除修改查询查询图3-2 宾馆客房管理系统前台业务流程图3.2.2 用例模型图3

33、-3 系统用户用例图用例图(Use Case Diagram)是由软件从需求分析到最终实现的第一步,它描述了人们如何使用一个系统。用例视图可以显示出谁是相关的用户、用户希望系统能够提供什么样的服务,以及用户需要为系统提供的服务,以便使系统的用户更容易理解这些元素的用途,也便于软件开发人员最终实现这些元素。本项目共有两个模块:管理员模块和前台服务人员模块。管理员拥有全部权限,可以对客房信息、客人信息、员工信息以及账目信息进行操作,而其他用户只拥有对个人信息的管理权限,以及对客房信息、客人信息的管理。3.2.3 业务流程分析管理员/前台人员首先要进行登录,然后对系统进行操作,对客人进行服务。客人要

34、提供自己的必要信息以及服务需求。然后系统用户根据客人要求,进行操作。图3-4 用户业务流程图3.3 可行性分析计算机技术的发展以及计算机的普及让人们充分认识到了计算机以及网络的价值,生活中各个方面对计算机的依赖与日俱增。利用计算机技术解决以往困难繁琐的问题已经变得很平常,就管理软件而言,能提高我们的工作效率,减少我们的工作失误,减少成本。当然,对应不同客户的需求,我们需要分别提供不同的功能和设置来满足用户的需要。3.3.1 经济可行性 本客房管理系统所要求的计算机硬件配置要求并不高,现在一般主流的计算机都可以满足需求。相对的软件环境,主要包括MyEclipse、Tomcat6.0、MySQL5

35、.1,开发软件是免费的,其余的数据库及服务器软件均是免费的,系统成本主要集中在本管理系统的开发与维护上,对用户不会造成过重的经济负担。而本系统投入使用,可以减少宾馆的工作强度,提高工作效率,而且方便了对客人及客房信息的管理,可以极大限度的解放人力。另外,本系统的开发不是很复杂,开发的周期较短,软件开发的成本不会超过带来的效益,所以从经济方面讲开发此系统是可行的。3.3.2 技术可行性客房管理系统的开发基Web,主要包括前台服务程序程序的开发以及后台数据库的建立和维护。本系统采用了当前比较流行的Struts2+Spring+Hibernate框架整合开发,这三大框架的技术很成熟,Java语言也是

36、目前主流的开发语言,开发Web前端的服务程序很是合适。MySQL数据库很容易使用,并支持标准的SQL语言,Hibernate框架对其兼容性也很好,Java对MySQL数据库的访问完全可以满足系统需求。因此,从技术层面上分析,开发此系统是可行的。3.3.3 操作可行性宾馆的主要功能就是为客人提供方便快捷的房间使用服务,并且本系统主要针对的是中小型及极小型的宾馆,所以简单方便的但是安全的操作时必须的。本系统讲尽可能的使用户从界面上获得直观的操作信息,达到方便、快捷、简单,不会带给用户操作体验上的困扰综上所述,开发本系统对中小型宾馆的客房管理有着很大意义,并且不会带给客户过多负担,开发此系统是可行的

37、。第4章 系统的概要设计4.1 系统功能结构框架基于Web的宾馆客房管理系统的功能结构主要有用户的管理,住宿管理(即房间查询、客人入住、预订以及退房及客人查询)、信息管理(即对客人信息、客房信息以及客房分类信息的管理)。宾馆客房管理系统的功能结构图如图4-1所示。基于Web的宾馆客房管理系统用户管理住宿管理数据管理信息管理用户退出客房查询客人查询客人入住客房预订客人结算客房类型客房信息客人信息图4-1 宾馆客房管理系统功能结构图4.2 数据库设计设计良好的数据库很容易使用、很灵活,并且能够保护数据的有效性。而设计不良的数据相反仍然能够发挥相当的作用,但是最终可能会导致数据的无效、错误或者丢失。

38、数据库的规范化过程非常的著名,所以有正式的规则来保证规范化的数据库建设。这些规则有七条,叫做范式,而在大多数情况下前四条范式就够用了:第一范式(1NF)这条规则包含了以下几个要求:无多值项目(multivalued item)和重复组(repeating group);每个字段都应该是原子型的(atomic),也就是说每个字段必须包含可能的最小数据元素;以及表格包含关键字(key)。 第二范式(2NF)表格必须要按照1NF来规范化。所有的字段都必须有主键值的引用(或者描述)。如果主键是基于多余一个字段的,那么每个nonkey字段都应该取决于复杂键(complex key),而不仅仅是一个没有键

39、的字段。并且不支持主键的nonkey字段应该被移动到另一个表格中去。第三范式(3NF)表格必须要符合1NF和2NF的要求。所有的字段都应该相互独立。任何描述nonkey字段的字段都必须被移动到另一个表格里。 Boyce-Codd范式(BCNF)一定不能存在依赖于nonkey的字段。这条规则实际上是3NF的一个子规则,用于捕捉可能会通过进程的依赖性。这一点相当的抽象,一开始是很难应用的。以上的规则十分精确,但是技术定义以及规范化的规则可以被简化成以下几点:(1)字段都应该尽量小; (2)任何字段都只能包含唯一的数据项目; (3)记录都应该是唯一的; (4)要注意那些重复的条目;(5)字段都应该完

40、全的支持主键,而且只能支持主键。 基于以上所述,在开发基于Web的宾馆客房管理系统之前,创建了名为hotel的数据库,分析了解该系统所需要的数据,在其中创建了7个数据表用于存储不同的数据信息,如图4-2所示。图4-2 数据库概览图4.2.1 数据库概念设计用户表用以存放使用者的信息,来确保系统的安全性。用户信息实体的ER图如图4-3所示。图4-3 用户信息实体ER图客人信息表用以存放入住客人的相关信息,该表只存放一些基本的有用的客人信息以方便对客人的管理,避免给客人造成麻烦。客人信息实体的ER图如图4-4所示。图4-4 客人信息实体ER图VIP表用以存放办理会员的客人的相关信息,并且在存储时给

41、予特定的标识值,结账时给予VIP用户优惠。并且会统计VIP用户的消费情况,给予相对的优惠。会员信息实体的ER图如图4-5所示。图4-5 会员信息实体ER图房间信息表用以存放客房的信息,方便用户的查询以及对客房的操作。房间信息实体的ER图如图4-6所示。图4-6 房间信息实体ER图房间类型表用以存放入客房的分类信息,该表存放了房间的具体信息,类型ID与房间信息中的类型ID相关联。房间类型信息实体的ER图如图4-7所示。图4-7 房间类型信息实体ER图预订信息表用以存放客人预订房间的相关信息,该表存放预订客户的信息,房间ID以及入住时间。预订信息实体的ER图如图4-8所示。图4-8 预订信息实体E

42、R图消费记录信息表用以客人入住消费的记录,存放消费客人信息以及所住客房的相关信息,方便查询。历史信息实体的ER图如图4-9所示。图4-9 消费记录信息实体ER图4.2.2 数据库逻辑结构设计根据以上ER图在数据库hotel中创建各个表,各个表的结构如何如下。(1)user(用户信息表)。该表用于保存所有用户信息,该表的主键是userId,该表的结构如表4-1所示。表4-1 用户信息表字段名数据类型主键描述userIdvarchar是用户IDnamevarchar否用户姓名pwdvarchar否密码roleint否权限值phonevarchar否电话gendervarchar否性别(2)gues

43、t(客人信息表)。该表用于保存所有入住客人的信息,该表的主键是guestId,该表的结构如表4-2所示。表4-2 客人信息表字段名数据类型主键描述guestIdvarchar是用户IDnamevarchar否姓名phonevarchar否电话saveTimebigint否入住时间roomIdvarchar否房间号cashint否押金typeint否客户类型(3)vip(会员信息表)。该表用于保存所有会员信息,该表的主键是vipId,该表的结构如表4-3所示。表4-3 会员信息表字段名数据类型主键描述vipIdvarchar是用户IDnamevarchar否用户姓名phonevarchar否电话

44、typeint否类型allPaidvarchar否消费总额lastTimevarchar否上次消费时间(4)room(房间信息表)。该表用于保存所有房间信息,该表的主键是roomId,该表的结构如表4-4所示。表4-4 房间信息表字段名数据类型主键描述roomIdvarchar是房间IDroomTypevarchar否房间类型statusvarchar否状态notevarchar否备注(5)roomtype(房间类型信息表)。该表用于保存所有房间类型信息,该表的主键是typeId,该表的结构如表4-5所示。表4-5 房间类型信息表字段名数据类型主键描述typeIdvarchar是类型IDnam

45、evarchar否类型名称pricevarchar否价格bedNumvarchar否床数量computervarchar否电脑情况tvvarchar否电视情况notevarchar否备注(6)bookInfo(预订信息表)。该表用于保存所有预订房间信息,该表的主键是bookId,该表的结构如表4-6所示。表4-6预订信息表字段名数据类型主键描述bookIdvarchar是预订IDroomIdvarchar否房间IDguestIdvarchar否客人IDbeginTimebigint否入住时间bookTimebigint否预定时间(7)history(消费记录信息表)。该表用于保存所有消费记录信

46、息,该表的主键是historyId,该表的结构如表4-7所示。表4-7 消费记录信息表字段名数据类型主键描述historyIdint是消费记录IDroomIdvarchar否房间IDguestIdvarchar否客人IDguestNamevarchar否客人姓名beginTimebigint否入住时间endTimebigint否退房时间totalvarchar否消费金额4.2.3 文件夹组织结构图4-10 项目文件夹组织结构图第5章 系统的详细设计与实现本次毕业设计开发工具选用的是JAVA,数据库是使用的是MySQL 数据库。该程序是建立在MVC三层结构基础之上的。本系统基于B/S结构,采用结

47、合了JAVA、SSH、J2EE等技术模式进行开发,在底层使用SQL数据库管理系统实现。5.1系统结构的实现本系统采用MVC三层结构进行设计,这三层分别是表示层,业务层和持久层。表示层中所执行的内容主要有:利用JSP实现页面间的交互,Service用来接收用户提交的表单等信息,然后Struts.xml将接收到的信息交给Action处理。在业务层中,Spring向Action提供数据处理,DAO完成业务逻辑,并提供事务处理,在持久层中,Hibernate对象化映射和数据,交互处理Dao请求的数据并返回结果。设计中涉及到了几个主要的Java文件,包括Action,Entity,Dao,Service

48、。Action:提交表单后通过xml文件交给Action处理,先倒入User等一系列的类所在的包,其后实例化一个对象,数据从页面获取来之后执行set方法设置这个对象,然后执行save方法,执行save操作必须注入相应的Service才能调用相应的save方法。Service:该文件在需要用到的时候调用Dao接口实现增,删,改,查的相应操作,完成与数据库的联动操作。Entity:该文件是做出的Java文件,定义了各个类的实例,并写入了相应的get和set方法。Dao:Dao是一个interface接口,该接口定义了增,删,改,查的方法,以及接口的实现。5.2 用户登录的实现在安装部署本系统并且启

49、动服务器以后,系统用户可通过在浏览器输入地址http:/localhost:8080/SSHotel/login.jsp进入系统登录页面。用户通过登录模块登录本系统时,便可按照相应的权限值role进行使用本系统的相关功能。在进入登陆界面后,通过输入账号和密码来判断是否成功登陆系统。管理员和普通用户是一样的。在账号部分应用表单input将类型设为text就可以输入相应账号,在密码输入部分,将表单input的类型设为password就可以将输入的密码以*的形式表现出来,防止密码外泄。在登录中添加的主要代码为onsubmit提交表单form中信息并且将action设置为login,在输入框中利用na

50、me来获取值,例如设置为user.userId或user.pwd,这样点击按钮的时候就将数据交给action去处理来判断登陆是否正确。登录界面如图5-1所示。图5-1 用户登陆界面效果图如果用户登录成功,将用户对象存如session,并在页面进行相应权限的判断从而获取相应操作权限。如果用户登录失败将会提示错误信息并返回登陆界面。登录实现代码如下:user=userService.login(user.getUserId(), user.getPwd();if(user=null)request.setAttribute(wrong, 用户名或密码取错误);return INPUT;elsese

51、ssion.setAttribute(USER, user);return SUCCESS;5.3用户管理模块设计用户登录后可以对自己的详细信息进行管理,如果是管理员登陆则可以查看所用用户信息,并且对所有用户信息进行管理。5.3.1实现目标本系统设置管理员角色一名,添加的其他用户权限值默认为普通用户。登录后对用户权限进行判断,管理员拥有对所有用户的增删查改权限。其他用户只能对自己的信息进行修改。5.3.2实现过程 在struts.User的包中分别定了对用户操作的Action方法,在Struts.xml文件中配置相应Action访问的页面,在相应的页面获取用户的Id,以及用户的姓名、密码、电话

52、、性别等信息。通过用户的Id,进行用户的信息确认。在对应的jsp页面中,会设置user对应属性的文本框,从而获取user每一个属性的值,传递给对应的Action进行数据的处理、判断,以及对数据中的用户信息进行增删查改操作。用户信息修改页面获取用户效果如下:图5-2用户信息修改界面效果图(1)点击密码单选框:选中并修改该信息;(2)点击姓名单选框:选中并修改该信息;(3)点击年龄单选框:选中并修改该信息;(4)点击电话单选框:选中并修改该信息;(5)点击修改按钮:提交修改后的数据。5.4住宿管理模块设计本模块主要实现住宿的相关功能,主要包括开房功能、客人退房以及客人预订房间的设计与实现。5.4.

53、1实现目标系统用户在登录后可以实现以下住宿相关功能:(1)空房/预订房间/已登记房间/全部房间查询;(2)客人入住登记;(3)预订房间信息登记/取消预订;(4)客人退房;(5)具体房间查询;(6)客人查询。5.4.2客人入住实现过程客人入住,对空房间进行挑选,并且需要提供有效证件进行登记。通过Struts.Guest.SaveGuestAction实现该功能,实现代码如下:room = roomService.findRoomById(guest.getRoomId();if (guestService.findGuestById(guest.getGuestId() = null& room

54、.getStatus().equals(0) guest.setSaveTime(System.currentTimeMillis();vip = vipService.findGuestById(guest.getGuestId();if (vip = null) guest.setType(0); else guest.setType(1);guestService.save(guest);room.setStatus(1);roomService.update(room); 客人入住登记界面如下:图5-3 客人入住登记界面图5.4.3客人退房实现过程在客人退房时,需要获取客人入住时间以及

55、退房的当前时间,对住宿费用进行处理,并且将客人的信息从数据库客人表中删除,将相关信息插入到历史记录表中。客人入住时间和退房时间的判断是退房时处理的关键,由TimeRule类的rule方法进行判断从而确定客人的支付金额。TimeRule中进行的主要的时间判断逻辑如下:(1)如果开房与退房在同一天,房费按照房间的日价收取;(2)对开房时间是否在上午10.00到12.00之间进行判断,超出此范围在计算天数时加0.5天。(3)对退房时间是否在下午18.00以前进行判断,在此时间范围内加0.5天,超出则加1天。在该方法中要对用户开放时间、退房时间进行判断及详细处理。在用户点击退房的时候调用DeleteG

56、uestAction,在该类中调用TimeRule.rule()方法,并进行客房处理的相关操作,具体实现代码如下:guest = guestService.findGuestById(guest.getGuestId();room = roomService.findRoomById(guest.getRoomId();room.setStatus(0);history.setBeginTime(guest.getSaveTime();history.setEndTime(System.currentTimeMillis();history.setGuestId(guest.getGuestI

57、d();history.setGuestName(guest.getName();history.setRoomId(guest.getRoomId();if (guest.getType() = 1) total = total * 0.9;history.setTotal(int) total);roomService.update(room);historyService.save(history);guestService.delete(guest);图5-4 房间退订界面图客人退房时,用户点击对应退房链接,进行退房操作,并获得客人所需支付金额的信息。5.4.4客房预订实现 客房预订时

58、,要对用户所要预订房间状态进行判断,只有房间状态为空的时候才能进行预订,预订完成插入数据库,并更改房间状态。房间预订页面如下:图5-5 房间预订界面效果图本功能主要代码为:room = roomService.findRoomById(bookInfo.getRoomId();String date = year + 年 + month + 月 + day + 日;if (room.getStatus().equals(0) bookInfo.setBeginTime(date);bookInfo.setBookTime(System.currentTimeMillis();bookInfoS

59、ervice.save(bookInfo);room.setStatus(2);roomService.update(room);5.5 数据管理模块设计此模块是对客人信息、客房信息以及客房类型信息的处理。5.5.1实现目标用户可以对客人信息、客房信息以及客房类型信息进行增、删、改、查操作,对全部数据进行查询与管理。 5.5.2 客房信息管理实现该功能实现了对客房信息的管理功能,并且可以删除。该功能可以实现对客房信息的查询,可以全部查询,可以删除,也可以单个查询,查询后还可以修改某个房间的信息。(1)点击全部查询:查询全部客房信息。(2)点击个人查询:查询指定的客房信息。(3)点击删除:删除选

60、定的信息。图5-6 房间信息管理界面图第章系统的测试软件测试是软件开发过程中的一个重要环节。它横跨软件生命周期中的两个阶段。通常在编写出每个模块之后就会对其做必要的测试(称之为单元测试),模块的编写和测试应由同一个人完成,编码和单元测试同属于软件生命周期中的一个阶段。在此阶段结束后,还要对软件系统进行各种各样的综合测试,这是在软件生命周期中的另外一个独立阶段,通常会由专门的测试人员承担这项工作。我们从抽象的需求分析出发,逐步完成了概要设计、详细设计、编码工作。进而实现了具体的系统,直到用一种适当的程序设计语言写出可执行的程序代码。测试无处不在,从我们需求分析开始,就开始了这个系统的测试工作。那么我们完成工作的质量如何呢?在这一阶段我们将会知道结果。在测试阶段测试人员努力设计出一系列测试方案,目的却是为了进一步完善已经建造好的系统竭力改正程序使它能按照预定要求正确工作。6.1 系统的测试目标测试是一个很重要的环节,可以及时的发现错误以便于修正,减少了系统更大的损失。测试不可能进行穷尽测试,所以不可能发现系统中所有错误,我们所能做的只能是尽可能多的发现错误和减少损失。6.2 测试方法测试方法分为白盒测试盒和黑盒测试,黑盒测试是对程序接口进行的测试,它主要检查程序中的功能是否能按照规格说明书的规定正常使用,程序是否能在接受输入的数据后输出正确的信息,并且能否保持

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

copyright@ 2023-2025  zhuangpeitu.com 装配图网版权所有   联系电话:18123376007

备案号:ICP2024067431-1 川公网安备51140202000466号


本站为文档C2C交易模式,即用户上传的文档直接被用户下载,本站只是中间服务平台,本站所有文档下载所得的收益归上传人(含作者)所有。装配图网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对上载内容本身不做任何修改或编辑。若文档所含内容侵犯了您的版权或隐私,请立即通知装配图网,我们立即给予删除!