酒店客房管理系统的设计与实现_第1页
酒店客房管理系统的设计与实现_第2页
酒店客房管理系统的设计与实现_第3页
酒店客房管理系统的设计与实现_第4页
酒店客房管理系统的设计与实现_第5页
已阅读5页,还剩30页未读 继续免费阅读

下载本文档

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

文档简介

摘 要随着社会经济的飞速发展,酒店、宾馆在服务行业中扮演的角色越来越重要。在酒店、宾馆的运作期间,其管理和服务水平直接影响到酒店形象和声誉。采用计算机这一现代化工具作为管理的辅助手段可以提高服务质量,尽可能做到让客户满意,同时也需要一套酒店管理系统对客人、费用、房间的正确处理和保存等。基于C/S结构的管理软件开发困难,业务变更或改变不够灵活,增加了维护和管理的难度,进一步的业务拓展困难较多,并且兼容性差。基于B/S的酒店客房管理系统可以实现对客房的科学化、规范化、查询顾客情况、订房信息、以及结算信息等,有助于提高管理的效率,方便酒店对客房的实际情况进行集中的查询与管理工作,以改善整个酒店的工作效率和服务质量。本文采用了当今比较流行的开源框架Struts2 + Spring+ Hibernate的系统结构,通过介绍Struts的MVC结构、基本组成和结构以及Hibernate的基本对象,并将三种框架技术整合起来应用到系统中,给出一个具体的实例配置,前端采用Struts的MVC框架,中间层采用Spring,底层采用Hibernate,提高了系统代码的可重用性和开发效率。经测试,本系统的实现策略是可行的,能够满足中小型酒店客房管理的需求,实现了对工作效率的提升。关键词:酒店;客房;MVC框架;管理系统AbstractWith 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 amanagement 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 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 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 introduction of the Struts structure, basic MVC composition and structure and the basic objects Hibernate, and the three frame technology applied to the system together,give a specific example configuration, the Struts MVC framework front,the intermediate Spring, the bottom Hibernate, and improve the system 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目录摘 要2Abstract3第 1 章 前言61.1 课题研究的背景及意义61.2 客房管理系统及相关技术研究现状61.3 课题的研究目的与内容71.3.1 课题的研究目标71.3.2 课题的主要工作和研究内容71.4 设计说明书结构8第2章 系统开发相关技术的简介102.1 系统开发环境102.1.1 软件开发环境102.1.2 数据库开发工具MySQL 5.5102.1.3 开发工具MyEclipse 10.0112.2 主要开发技术112.2.1 Struts2简介112.2.2 Hibernate简介122.2.3 Spring简介12第3章 系统的需求分析143.1 目前中小型酒店运营中存在的问题143.2 功能分析143.2.1 系统业务流程143.2.2 用例模型153.2.3 业务流程分析163.3 可行性分析163.3.1 经济可行性163.3.3 操作可行性17第4章 系统的概要设计184.1 系统功能结构框架184.2 数据库设计184.2.1 数据库概念设计194.2.2 数据库逻辑结构设计214.2.3 文件夹组织结23第5章 系统的详细设计与实现245.1系统结构的实现24第章系统的测试256.1 系统的测试目标256.2 测试方法256.3 系统测试的实施256.4 本章小结26结 论27参考文献28致 谢29第 1 章 前言1.1 课题研究的背景及意义随着人员的流动规模不断的扩大,酒店数量也随之急剧增加,有关客房管理的各种信息量也在不断的增长。面对越来越庞大的信息量,传统的人工客房信息管理,管理方法繁琐并且复杂,执行效率低,易于出错。这就需要有酒店客房管理系统来提高客房管理工作的效率和准确性。通过这样的系统,我们可以做到信息的规范管理和快速查询,从而减少了管理方面的工作量。基于C/S结构的管理软件开发很困难,业务变更或改变不灵活,增加了软件的维护和管理难度,想进一步拓展业务非常困难,并且兼容性很差。基于B/S结构的软件具有分布性特点,可以随时随地进行业务处理。业务扩展简单方便,通过增加网页即可增加服务器的功能。维护简单方便,只需要对网页进行改变,即可实现所有用户的同步更新。开发简单,共享性强。因此,开发一套全新的高效的基于web的客房管理系统来完成客房的管理是必要的。1.2 客房管理系统及相关技术研究现状酒店电脑管理系统最初出现于60年代末、70年代初的美国,其中较有代表性的有美国的Ecco系统,该系统使用Nova-3系统平台,基本实现前台业务中的预定、排房、结帐、客房、餐厅、问询、夜审等模块,由于当时仍然没有个人电脑的出现,所以整个电脑是基于集中式的小型机/终端的管理。到了80年代,随着硬件技术的发展和各种网络系统、数据库技术的发展,操作系统的发展,国外的酒店管理系统,整个模式已基本固定,技术较成熟,功能也较完善,从而推出了许多新型的酒店管理系统,按网络操作系统分,基本上有Unix系统、Novell系统和Windows-Nt系统三种类型。现在,国外酒店正向个性化的方向发展,按其经营方式可以分为商务型酒店、长住型酒店、度假型酒店等等;按其经营形式可分为独立经营饭店、集团经营饭店等。随着国外酒店使用的计算机系统和先进的管理技术被大规模吸收和引进,进一步加快了国内酒店管理技术的发展。在80年代初发展起来的国内酒店管理系统,充分吸收了国外管理系统的精华的同时,结合国内实际的情况下逐步成熟发展起来。到了90年代初期的时候形成了几个比较成熟的酒店管理软件系统,同时出现了很多专职从事制作酒店计算机管理系统的公司。到了90年代中后期,随着计算机在酒店中的广泛应用,计算机开发技术的不断创新发展,酒店计算系统的发展又到了一个新的时期,新的系统平台、新的软件功能、新的系统特点及新的发展方向不断涌现,主要体现在系统基本转到客户机/服务器模式下的Windows版,功能更加细致完善,系统更加稳定可靠。1.3 课题的研究目的与内容1.3.1 课题的研究目标随着竞争的日益激烈,如何能在降低成本的同时最大的提高效益已经成为各行各业要解决的首要问题。但是目前商业性的酒店管理软件大多数都是适用于大型酒店,其操作比较复杂,收费很昂贵,还需要专业的维护。这就造成了很多中小型或极小型酒店或宾馆没有客房管理软件,对于其酒店的经营造成管理的繁琐与混乱。所以开发一款适用于中小型或极小型酒店的客房管理软件是必需的。酒店客房系统系统对酒店加强客房信息管理有着极其重要的作用,就一所客房数量较大的酒店来说,它的设计内容非常复杂而且繁多,比如拥有客房信息管理、客房类别信息管理、预定信息管理等功能,而且设计的模块也很多,比如用户信息管理模块、客房类型管理模块、客房信息管理模块、客房经营管理模块、客户信息查询模块、经营状况统计模块等等。课题研究目标如下:(1)使用户方便快捷的管理客房信息,并保护信息安全;(2)提高中小型酒店的工作效率,释放人力资源;(3)尽可能提供满足客人一切需求的功能设置;(4)简单清晰的操作,让使用者容易使用;(5)可通过访问权限控制确保数据的安全性。1.3.2 课题的主要工作和研究内容利用Internet信息传递便捷、内容更新及时、存储容量大、共享性能优良、分布范围广、互动性强等特点,研究适合现有条件的客房管理信息系统的解决方案。本文采用Java技术,利用面向对象分析与设计思想,使用数据库对系统建模,研究了适宜于本系统特点,使客房管理信息系统的设计与开发,包括系统分析、系统设计、系统实施。在系统的设计与开发中,负责课题的整体规化设计、组织实施及部分模块实现。所做的主要工作如下:(1)学习开发web系统应具备的知识;(2)对系统进行总体设计,注意数据库的设计;(3)进行系统规划,确定其基本结构及功能划分;(4)组织实施课程开发、运行程序的设计与实现;(5)对系统进行调试、运行。本系统属于中小型的酒店客房管理系统,可以有效的对中小型酒店的客房及客人信息进行管理。本系统的主要研究内容是:(1)设计简洁友好的界面,能够灵活、方便的查询信息,安全可靠的对数据进行加密存储;(2)能够方便快捷的管理客人、房间以及前台操作员的信息;(3)对客户信息方便快捷、安全的管理。(4)能够有效的实现宾馆客人的一些要求功能;(5)最大限度地使系统实现易维护性和易操作性。1.4 设计说明书结构本设计说明书共分六章,各章结构如下:第1章 前言。讲述了酒店客房管理系统的研究背景、研究意义,客房管理系统目前在国内外技术研究现状,客房管理系统的研究内容与研究目标;第2章 系统开发相关环境、技术简介。讲述了该客房管理系统的开发工具(即其软件开发环境、MyEclipse开发工具和MySQL数据库开发工具)和与该系统开发相关的Java技术;第3章 系统的需求分析。该章先对目前酒店运营中存在的部分问题进行了分析,根据这些问题做出了功能需求分析和该管理系统的可行性分析;第4章 系统功能结构和数据库的设计。讲述了系统的功能结构和系统数据库的设计,其中系统功能结构中讲述了系统功能结构图、系统的主界面和业务流程图,数据库的设计则对数据库的概念设计和逻辑结构设计进行了比较详细的介绍;第5章 系统的详细设计与实现。则针对系统内某些类和具体模块的实现进行了详细的介绍,其中模块主要是系统登录及注销模块、客房信息管理模块、客人信息管理模块、数据库备份与恢复模块和客房出租记录管理模块;第6章 系统测试。该章依据测试目的和测试准则,对系统所研究的功能模块进行测试,并且得出测试结果。第2章 系统开发相关技术的简介2.1 系统开发环境2.1.1 软件开发环境本系统开发及运行环境,具体如下:操作系统: Windows XP/7;数据库管理系统软件:MySQL 5.5;系统开发平台:Myeclipse 10.0;Java编译环境:JDK1.7;WEB服务器:Tomcat6.0。2.1.2 数据库开发工具MySQL 5.5MySQL是一个小型关系型数据库管理系统,开发者为瑞典MySQL AB公司。在2008年1月16日被Sun公司收购。而2009年,SUN又被Oracle收购。MySQL根据收费与否,分为MySQL Community Server(即社区版)和MySQL Enterprise Edition(即商业版)。其中商业版包括MySQL标准版、MySQL企业版、MySQL集群版三个版本。该系列版本是收费版本,可以试用30天。MySQL是一种关联数据库管理系统,关联数据库将数据保存在不同的表中,而不是将所有数据放在一个大仓库内。这样就增加了速度并提高了灵活性。MySQL的SQL“结构化查询语言”。SQL是用于访问数据库的最常用标准化语言。MySQL软件采用了GPL。由于其体积小、速度快、总体拥有成本很低,尤其是开放源码的这一特点,许多中小型的网站为了降低网站总体拥有成本而选择了MySQL作为网站建设使用的数据库。 与其他的大型数据库例如Oracle、DB2、SQL Server等相比,MySQL当然拥有它的不足之处,如规模小、功能有限(MySQL Cluster的功能和效率都相对比较差)等,但是这丝毫也没有影响它的受欢迎程度。对于一般的个人使用者和中小型的企业来说,MySQL提供的功能已经十分丰富,再者MySQL是一个开放源码的软件,因此可以大大降低总体拥有成本。目前Internet上流行的网站构架方式是LAMP和LNMP,即使用Linux作为操作系统,Apache和Nginx作为Web服务器,MySQL作为数据库,PHP/Perl/Python作为服务器端脚本解释器。由于这四个软件都是免费或开放源码软件(FLOSS),因此使用这种方式不用花一分钱(除开人工成本)就可以建立起一个稳定、免费的网站系统。2.1.3 开发工具MyEclipse 10.0MyEclipse企业级工作平台(MyEclipse Enterprise Workbench ,简称MyEclipse)是对EclipseIDE的扩展,利用它我们可以在数据库和JavaEE的开发、发布以及应用程序服务器的整合方面极大的提高工作效率。它是功能丰富的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则使用一个拦截器(FilterDispatcher)做为其中心处理器,这样做的一个好处就是将Action类和Servlet API进行了分离。以下是Struts2的工作流程:图2-1 Struts2工作流程图拦截器是Struts 2框架的核心,通过拦截器,实现了AOP(面向切面编程)。使用拦截器,可以简化Web开发中的某些应用,例如权限拦截器可以简化Web应用中的权限检查。业务控制器Action是由开发者自己编写实现的,Action类可以是一个简单的Java类,与Servlet API完全分离。Action一般都有一个execute()方法,也可以定义其他方法来控制业务。Action 的execute()方法返回一个String类型值,这与Struts 1返回的ActionForward相比,更加简单易懂。Struts 2提供了一个ActionSupport工具类,该类实现了Action接口和validate()方法,一般开发者在编写Action时可以直接继承 ActionSupport类。编写Action类后,开发者还必须在配置文件中配置Action参数。一个Action的配置应该包含下面几个元素:(1)该Action的name,即用户请求所指向的URL; (2)Action所对应的class元素,对应Action类的位置; (3)指定result逻辑名称以及实际资源的位置。Action是业务控制器,在开发过程中编写Action的时候,应尽量避免在其中出现业务逻辑,达到减少Action与业务逻辑模块或者组件的耦合度的目的。2.2.2 Hibernate简介Hibernate 可助基于普通的Java 对象模型创建持久对象,允许持久对象拥有用户自定义的类型, 还可拥有复杂的结构如混合类型、集合和属性。这样底层数据库模式的复杂结构现在可通过持久对象有效地反映出来。Hibernate 还包括一些提高效率的策略, 包括必要时语句的执行、有效外部连接的获取、对象缓存,以上均为数据库交互的多重最优化。Hibernate 在构建Java 应用中的作用是: 在其运行通过后可以对数据库进行访问,实现对数据层的持久化,再通过其生成并配置的文件properties和XML Mapping映射文件映射到数据库中。从而Application 应用允许Java Class 的直接访问数据库并让这一桥梁纽带使应用与数据库之间得到联系,而不必非经过JDBC 和SQL的数据的操作。这样便通过了Hibernate 实现关系数据库的持久化操作。2.2.3 Spring简介Spring框架是一个分层框架,由7个定义模块组成。Spring模块构建在核心容器之上,核心容器定义了创建,配置和管理Bean的方式 。Spring这个应用框架可谓表现全面,其功能之丰富,主要表现在以下几方面:(1)控制反转:IoC(Inversion of Control,控制反转)是Spring的核心概念。IoC的本质是实现对象之间依赖关系的转移。Spring会自动的依据配置信息来维护对象之间的依赖关系,将被依赖的对象设置给依赖对象。开发人员将不必在自己的代码中维护对象之间的依赖关系,只需在配置文件中进行设定就可以了。IoC是一个概念化的设计模式,一般状况下IoC有两种实现方式:Service Locator(服务定位器)与Dependency Injection(依赖注入(Struts框架采用即为依赖注入)) 。(2)面向切面的编程:Spring框架的另一个核心特色是AOP(Aspect-oriented programming,面向切面的编程)。AOP某种程度上也是一种编程方法,但它与传统的顺序编程方式是相区别的。AOP可以解决开发中的公有性问题从其他角度,而且会很方便。在任何J2EE服务器中Spring框架的功能都可以使用,大多数功能也适用于不受管理的环境。Spring的核心要点是:支持不绑定到特定J2EE服务的可重用业务和数据访问对象。这样的对象可以独立应用程序在不同J2EE环境(Web或EJB)中,测试环境之间也可重用。第3章 系统的需求分析3.1 目前中小型酒店运营中存在的问题管理效率低下。前台在对客人的服务中的纸笔操作会令客人容易疲倦,如果遇到客流高峰期更会影响客人情绪,所以,管理效率要高。员工工作效率低。原始的管理方法,体力脑力都是极大的负担,所以我们需要提升管理工具来提升员工工作效率降低原始成本。3.2 功能分析3.2.1 系统业务流程基于Web的客房管理系统的业务流程:系统管理员(前台服务人员),在登陆界面上输入用户名和密码,单击确定,如果填写内容正确,则成功登陆,系统会根据登录用户的信息确定其权限,然后进行操作。本系统的客人入住登记业务流程图如图3-1所示。客人咨询挑选房间换房?登记入住客人入住 Y N图3-1 酒店客房管理系统开房业务流程图本系统管理员对客人以及客房的管理流程如图3-2所示。管理员登录客人信息客房信息增加查询增加删除修改查询删除 图3-2 酒店客房管理系统前台业务流程图 员工信息3.2.2 用例模型 客房信息 客人信息数据库信息超级管理员 普通管理员客房出租记录图3-3 系统管理员用例图用例图(Use Case Diagram)是由软件从需求分析到最终实现的第一步,它描述了人们如何使用一个系统。用例视图可以显示出谁是相关的用户、用户希望系统能够提供什么样的服务,以及用户需要为系统提供的服务,以便使系统的用户更容易理解这些元素的用途,也便于软件开发人员最终实现这些元素。本项目共有两个模块:超级管理员模块和普通管理员(前台服务人员)模块。超级管理员拥有全部权限,可以对客房信息、客人信息、员工信息、数据库信息以及房间出租记录信息进行操作,而普通管理员只拥有对个人信息的管理权限,以及对客房信息、客人信息的管理。3.2.3 业务流程分析管理员/前台人员首先要进行登录,然后对系统进行操作,对客人进行服务。客人要提供自己的必要信息以及服务需求。然后系统用户根据客人要求,进行操作。用户登录验证密码系统主界面客房管理客人客人入住/退房 验证失败 验证通过 入住 退房图3-4 用户业务流程图3.3 可行性分析计算机技术的发展以及计算机的普及让人们充分认识到了计算机以及网络的价值,生活中各个方面对计算机的依赖与日俱增。利用计算机技术解决以往困难繁琐的问题已经变得很平常,就管理软件而言,能提高我们的工作效率,减少我们的工作失误,减少成本。当然,对应不同客户的需求,我们需要分别提供不同的功能和设置来满足用户的需要。3.3.1 经济可行性 本客房管理系统所要求的计算机硬件配置要求并不高,现在一般主流的计算机都可以满足需求。开发的软件环境,主要包括MyEclipse 10.0、Tomcat6.0、MySQL5.5,开发软件是免费的,其余的数据库及服务器软件也是免费的,系统成本主要集中在本管理系统的开发与维护上,对用户不会造成过重的经济负担。而本系统投入使用,可以减少中小型酒店的工作强度,提高工作效率,而且方便了对客人及客房信息的管理,可以极大限度地解放人力。另外,本系统的开发不是很复杂,开发的周期较短,软件开发的成本不会超过带来的效益,所以从经济方面讲开发此系统是可行的。3.3.2 技术可行性本客房管理系统的开发是基于Web,主要包括前台服务程序的开发以及后台数据库的建立和维护。本系统采用了当前比较流行的Struts2+Spring+Hibernate框架整合开发,这三大框架的技术很成熟,Java语言也是目前主流的开发语言,开发Web前端的服务程序很是合适。MySQL数据库很容易使用,并支持标准的SQL语言,Hibernate框架对其兼容性也很好,Java对MySQL数据库的访问完全可以满足系统需求。因此,从技术层面上分析,开发此系统是可行的。3.3.3 操作可行性中小型酒店的主要功能就是为客人提供方便快捷的房间使用服务,并且本系统主要针对的是中小型及极小型的酒店,所以简单方便的但是安全的操作是必须的。本系统将尽可能的使用户从界面上获得直观的操作信息,达到方便、快捷、简单,不会带给用户操作体验上的困扰。综上所述,开发本系统对中小型酒店的客房管理有着很大意义,并且不会带给客户过多负担,开发此系统是可行的。第4章 系统的概要设计4.1 系统功能结构框架基于Web的酒店客房管理系统的功能结构主要有用户的管理,客人管理、客房管理、系统管理。酒店客房管理系统的功能结构图如图4-1所示。酒店客房管理系统用户管理客人管理客房管理系统管理用户登录修改密码注销登录客人入住查询客人客人退房添加客房编辑客房查询客房删除客房备份数据库恢复数据库 图4-1 酒店客房管理系统功能结构图4.2 数据库设计设计良好的数据库很容易使用、很灵活,并且能够保护数据的有效性。而设计不良的数据相反仍然能够发挥相当的作用,但是最终可能会导致数据的无效、错误或者丢失。数据库的规范化过程非常的著名,所以有正式的规则来保证规范化的数据库建设。这些规则有七条,叫做范式,而在大多数情况下前四条范式就够用了:第一范式(1NF)这条规则包含了以下几个要求:无多值项目(multivalued item)和重复组(repeating group);每个字段都应该是原子型的(atomic),也就是说每个字段必须包含可能的最小数据元素;以及表格包含关键字(key)。 第二范式(2NF)表格必须要按照1NF来规范化。所有的字段都必须有主键值的引用(或者描述)。如果主键是基于多余一个字段的,那么每个nonkey字段都应该取决于复杂键(complex key),而不仅仅是一个没有键的字段。并且不支持主键的nonkey字段应该被移动到另一个表格中去。第三范式(3NF)表格必须要符合1NF和2NF的要求。所有的字段都应该相互独立。任何描述nonkey字段的字段都必须被移动到另一个表格里。 Boyce-Codd范式(BCNF)一定不能存在依赖于nonkey的字段。这条规则实际上是3NF的一个子规则,用于捕捉可能会通过进程的依赖性。这一点相当的抽象,一开始是很难应用的。以上的规则十分精确,但是技术定义以及规范化的规则可以被简化成以下几点:(1)字段都应该尽量小;(2)任何字段都只能包含唯一的数据项目;(3)记录都应该是唯一的;(4)要注意那些重复的条目;(5)字段都应该完全的支持主键,而且只能支持主键。 基于以上所述,在开发基于Web的酒店客房管理系统之前,创建了名为hotel的数据库,分析了解该系统所需要的数据,在其中创建了5个数据表用于存储不同的数据信息,如图4-2所示。图4-2 数据库概览图4.2.1 数据库概念设计admin表用以存放系统管理员的信息,来确保系统的安全性。系统管理员信息实体的ER图如图4-3所示。Id(身份证号)角色姓名 性别系统管理员手机号住址登录密码图4-3 系统管理员信息实体ER图catagory表用以存放入客房的类型信息,该表存放了客房的类型名称,类型id以及该客房类型的描述信息。客房类型信息实体的ER图如图4-4所示。类型id类型名称客房类型描述信息图4-4 客房类型信息实体ER图guest表用以存放客人的相关信息,该表只存放一些基本的客人信息以方便对客人的管理,避免给客人造成麻烦。客人信息实体的ER图如图4-5所示。Id(身份证号)性别姓名入住日期客人房间id头像图4-5 客人信息实体ER图record表用以记录客房的出租记录,方便管理员进行查询及统计收入。客房出租记录信息实体的ER图如图4-6所示。客房出租记录客房id记录id图4-6 客房出租记录信息实体ER图客房类别idroom表用以存放客房的信息,方便系统用户的查询以及对客房的操作。客房信息实体的ER图如图4-7所示。客房id状态描述信息客房价格客房号图4-7 客房信息实体ER图4.2.2 数据库逻辑结构设计根据以上ER图在数据库hotel中创建各个表,各个表的结构如何如下。(1)admin(管理员信息表)。该表用于保存所有系统管理员信息,该表的主键是id,该表的结构如表4-1所示。表4-1 管理员信息表字段名数据类型主键描述idvarchar是Id身份证号namevarchar否姓名genderenum否性别passwordvarchar否密码cellphonevarchar否手机号addressvarchar否住址rolevarchar否角色(2)category(客房类别表)。该表用于保存客房的分类信息,该表的主键是id,该表的结构如表4-2所示。表4-2 客房类别信息表字段名数据类型主键描述idvarchar是客房类别idnamevarchar否名称 descriptionvarchar否描述信息(3)guest(客房信息表)。该表用于保存所有入住客房的信息,该表的主键是id,该表的结构如表4-3所示。表4-3 房客信息表字段名数据类型主键描述idvarchar是Id身份证号namevarchar否姓名genderenum否性别rentdatedate否入住日期imagevarchar否头像room_idvarchar否客房id(4)record(客房出租记录表)。该表用于保存客房出租记录信息,该表的主键是id,该表的结构如表4-4所示。表4-4 客房出租记录信息表字段名数据类型主键描述idvarchar是客房出租记录id room_idvarchar否客房id(5)room(客房信息表)。该表用于保存所有客房信息,该表的主键是id,该表的结构如表4-5所示。表4-5 客房信息表字段名数据类型主键描述idvarchar是客房idroomnumvarchar否客房号stateint否状态priceint否价格category_idvarchar否客房类型iddescriptionvarchar否描述信息4.2.3 文件夹组织结图4-10 项目文件夹组织结构图第5章 系统的详细设计与实现本次毕业设计开发语言选用的是JAVA语言,数据库使用的是MySQL 数据库。系统是建立在MVC三层结构基础之上的。本系统基于B/S结构,采用了SSH、J2EE、EL、JSTL、Ajax等技术模式进行开发,在底层数据库使用SQL标准语言实现。5.1系统结构的实现本系统采用MVC三层结构进行设计,这三层分别是表示层,业务层和持久层。表示层中所执行的内容主要有:利用JSP实现页面间的交互,Service用来接收用户提交的表单等信息,然后Struts.xml将接收到的信息交给Action处理。在业务层中,Spring向Action提供数据处理,DAO完成业务逻辑,并提供事务处理,在持久层中,Hibernate对象化映射和数据,交互处理Dao请求的数据并返回结果。设计中涉及到了几个主要的Java文件,包括action,entity,dao,service。action:提交表单后通过xml文件交给Action处理,先导入User等一系列的类所在的包,其后实例化一个对象,数据从页面获取来之后执行set方法设置这个对象,然后执行save方法,执行save操作必须注入相应的Service才能调用相应的save方法。service:该文件在需要用到的时候调用Dao接口实现增,删,改,查的相应操作,完成与数据库的联动操作。entity:该文件是生成的Java文件,定义了各个类的实例,并写入了相应的get和set方法。dao:dao是一个interface接口,该接口定义了增,删,改,查的方法,以及接口的实现。5.2 用户登录的实现将本系统部署到Tomcat服务器并且启动服务器以后,系统用户可通过在浏览器输入地址http:/localhost:8080/hotelsys进入系统登录页面。用户通过登录模块登录本系统后,便可按照相应的权限值role使用本系统的相关功能。在进入登录界面后,通过输入用户名和密码,校验成功则登录系统成功。超级管理员和普通管理员登录过程是一样的。在用户名部分应用表单input将类型设为text就可以输入相应账号,在密码输入部分,将表单input的类型设为password就可以将输入的密码以*的形式表现出来,防止密码外泄。使用Jquery做前台数据的校验,用户名和密码信息都不允许为空,若为空则在单击登录按钮的时候,将提示“请输入用户名或密码信息”,并且不提交表单的数据,若用户名和密码信息都不用空,则将表单数据交给action去处理来判断登录信息是否有效。登录界面如图5-1所示。图5-1 用户登录界面效果图如果用户登录成功,则将用户对象存在session域中,并在页面显示当前用户的登录信息,用户可进行相应权限的功能操作。如果用户登录失败将会提示错误信息并返回登录界面。登录实现代码如下:user=userService.login(user.getLogin(), user.getPassword();if(user=null)request.put(message, 用户名或密码输入错误!);return “input”;elsesession.put(user, user);return “success”;5.3用户管理模块设计普通管理员登录后可以查看个人信息,修改登录密码,以及拥有处理基本业务的权限;如果是管理员登录,则可以查看或更新所用系统用户的信息,还可以查看及管理出租记录信息,管理系统数据库备份信息。5.3.1实现目标本系统内置超级管理员角色一名,通过该用户添加其他系统用户,权限值默认为普通用户。系统用户登录后,对用户权限进行判断,超级管理员拥有系统的所有权限。普通管理员只拥有对基本业务操作的权限。5.3.2实现过程在cn.houjie.hotel.action的包中定义处理用户操作的类UserAction类,该类中定义了处理用户所有操作的方法,在struts.xml文件中配置相应Action处理类及跳转的页面,在各个页面中通过发送请求,动态地调用指定的Action处理类及方法。部分操作可以通过判断用户的role属性,确定是否拥有该操作的权限。在对应的jsp页面中,会设置user对应属性的文本框,从而获取user每一个属性的值,传递给对应的Action进行数据的处理、判断,以及对数据中的用户信息进行增删查改操作。编辑用户信息页面,获取用户信息效果如下:图5-2 编辑用户信息界面效果图(1)点击相应的文本框或单选框:选中并修改该信息;(2)点击保存按钮:提交修改后的数据。5.4住宿管理模块设计本模块主要实现住宿的相关功能,主要包括客人入住登记、自动添加客房出租记录、客人退房以及房客信息查询的设计与实现。5.4.1实现目标系统用户在登录后可以实现以下住宿相关功能:(1)客人入住登记;(2)客人退房;(3)所有房间及具体房间查询;(4)客人查询。5.4.2客人入住实现过程客人入住,对空房间进行挑选,并且需要提供有效证件进行登记。通过cn.houjie.hotel.action.GuestAction处理类中的save(Guest guest)方法处理该业务逻辑,实现代码如下:public String save(Guest guest)room = roomService.get(guest.getRoom.getId();if (guestService.get(guest.getIdCard() = null) guest.setRoom(room);guest.setRentDate(new Date();guestService.save(guest);客人入住登记界面如下:图5-3 客人入住登记界面图5.5 数据管理模块设计此模块是对客人信息、客房信息、客房类型信息、系统用户信息、房间出租记录信息以及系统数据库备份信息的操作管理。5.5.1实现目标系统普通管理员可以对客人信息、客房信息以及客房类型信息进行增、删、改、查操作;系统超级管理员在此基础上,还可以对系统用户信息、房间出租记录信息以及系统数据库备份信息的增、删、改、查操作。 5.5.2 客房类型及客房信息管理实现该功能实现了对客房类型及客房信息的管理功能。该功能可以查询所有客房类型信息,然后可以查询某类型的所有客房信息,并且可以对客房类型信息及客房信息进行更新、删除及添加操作。客房分类信息界面如下:图5-6 客房分类信息管理界面图(1)点击编辑:即可跳转到编辑客房类别信息页面进行编辑操作。(2)点击删除:删除当前记录信息。(3)点击详细:查询当前类别的所有客房。客房信息界面如下:图5-7 客房信息管理界面图(1)点击编辑:即可跳转到编辑客房信息页面进行编辑操作。(2)点击删除:删除当前记录信息。第章系统的测试软件测试是软件开发过程中的一个重要环节。它横跨软件生命周期中的两个阶段。通常在编写出每个模块之后就会对其做必要的测试(称之为单元测试),模块的编写和测试应由同一个人完成,编码和单元测试同属于软件生命周期中的一个阶段。在此阶段结束后,还要对软件系统进行各种各样的综合测试,这是在软件生命周期中的另外一个独立阶段,通常会由专门的测试人员承担这项工作。我们从抽象的需求分析出发,逐步完成了概要设计、详细设计、编码工作。进而实现了具体的系统,直到用一种适当的程序设计语言写出可执行的程序代码。测试无处不在,从我们需求分析开始,就开始了这个系统的测试工作。那么我们完成工作的质量如何呢?在这一阶段我们将会知道结果。在测试阶段测试人员努力设计出一系列测试方案,目的却是为了进一步完善已经建造好的系统竭力改正程序使它能按照预定要求正确工作。6.1 系统的测试目标测试是一个很重要的环节,可以及时的发现错误以便于修正,减少了系统更大的损失。测试不可能进行穷尽测试,所以不可能发现系统中所有错误,我们所能做的只能是尽可能多的发现错误和减少损失。6.2 测试方法测试方法分为白盒测

温馨提示

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

评论

0/150

提交评论