基于SSM的酒店客房管理系统的设计

2017-11-15 19:34王虎
电脑知识与技术 2017年28期
关键词:酒店管理

王虎

摘要:随着网络的迅速发展,人们使用网络进行购物、订餐、预订酒店等需求激增,酒店的网络化管理和经营管理的重要性突显。该文以某国内知名连锁酒店”为原型,具体分析了该酒店的业务和管理模式,设计出一个功能完善的酒店客房管理系统,满足了酒店的客房管理需求。

关键词:SSM;酒店管理;MySQL;html5

中图分类号:TP393 文献标识码:A 文章编号:1009-3044(2017)28-0089-03

随着我国经济的健康发展,国内旅游业得到了迅猛的发展、酒店行业随之迅速崛起,目前国内已经有多家诸如“汉庭”、“7天”、“如家”、“速8”等全国性连锁性酒店,这些酒店占领了全国酒店行业的大部分市场。由于这些酒店在全国范围内都有加盟分店,有时同城就会有多个酒店的分店一起运营。为了有效管理酒店不同分店间的竞争与合作,酒店需要一个平台对其分店进行管理,协调和共享各个分店客房资源以备客户根据自身情况进行最佳选择。本设计以某国内知名酒店为原型,针对酒店多分店、多用户管理的需求为酒店开发出一套完整的酒店客房管理系统。

1 SSM 开发框架

SSM是一个由Spring、SpringMVC、MyBatis三大Java开源框架整合而成的框架集,它是具有MVC开发模式的框架集,该框架将整个系统划分为四层即:表现层、控制层、服务层和数据访问接口层[1]。

1.1 Spring MVC框架

SpringMVC是SpringFrameWork的后续产品,融合在Spring Web Flow里面。它是一个能够提供构建 Web 应用程序的全功能 MVC 模块的框架[2]。

SpringMVC运行原理是:1)客户端发起请求到控制器(DispatcherServlet);2)控制器请求HandlerMapping寻找 Handler(可以根据xml配置、注解进行查找);3)请求对应的处理器执行controller处理; 4)controller调用模型进行数据操作;5)处理器适配器向控制器返回处理结果;6)控制器请求视图解析器去进行视图解析;7)视图解析器向前端控制器返回Model和View;8)将视图向用户展示给用户。具体原理如图1所示。

SpringMVC框架的优点是:易于同其它视图框架无缝集成,采用控制反转便于测试,框架简单便于开发。

1.2 MyBatis框架

MyBatis是一个基于Java技术的持久层框架,提供的持久层框架包括SQL Maps和Data Access Objects(DAO),支持普通 SQL查询,存储过程和高级映射的优秀持久层框架[3]。

MyBatis具有三层功能架构模型:API接口层:对外提供接口API,通过这些API接口操纵数据库。接口层接收到调用请求调用数据处理层完成具体的数据处理;数据处理層:负责具体的SQL查询、SQL解析、SQL执行和执行结果映射处理等。它主要的功能是根据调用的请求完成一次数据库操作;基础支撑层:负责最基础的功能支撑,包括连接管理、事务管理、配置加载和缓存处理。MyBatis具体架构如图2所示。

MyBatis框架的优点:1)SQL写在xml文件里,方便统一管理和优化,同时也解除了与程序代码的耦合。2)提供映射机制,支持对象与数据库字段间的关系映射。3)提供对象关系映射标签,支持对象关系的组建和维护。4)提供xml标签,支持编写动态的SQL语句。

1.3 html5

本系统的移动端应用程序设计和开发中采用APICloud柚子公司提供的html5技术。由于html5是采用网络通用的开发语言,所以html5开发APP不需要考虑设备和操作系统的兼容性。另外由于W3C也正在与汽车业、出版业、电视业进行磋商,全力将html5技术引入新的设备平台中[4]。这也意味着html5技术支撑的平台逐渐丰富,利用它开发应用的成本优势将会日益凸显。所以本设计采用html5技术能够使得移动端的程序降低开发成本,并且实现平台的无关性,以及实现多样化界面样式。

2 系统需求分析

为了实现准确的功能和性能要求,笔者进行了深入的调研,经过分析和整理各级用户需求,将系统的用户分为三类:系统超级管理员、各分店管理员、各分店操作员(包括酒店前台、财务等)及酒店会员。并且系统各管理员与操作员操作权限不同,进入系统所看到的菜单功能也不同。其中系统为管理员、操作员提供WEB端后台登录功能,为会员客户提供手机APP端的登录使用能力。

本系统能提供超级管理员、分店管理员、分店操作员和会员四类用户操作权限的准确限制。

其中超级管理员操作权限包括创建、管理各个分店信息基本,对各分店管理员与分店操作员进行增删改管理及授权管理,系统地址管理,会员管理及会员类型、折扣管理以及对自己所属店铺信息、房间、业务的管理功能。若超级管理员有所属店铺,则有所属店铺分店管理员所有权限。

分店管理员操作权限包括管理所属店铺的店铺信息、房间信息、业务信息、会员的增添操作以及对自己店铺的操作员进行增删改操作及授权管理。同时还包含分店操作员所有操作权限。

分店操作员只可操作自己权限范围内的业务。分店操作员权限包括4项:第一,可管理分店的基本信息,如:分店简绍信息,分店客房信息等;第二,可将游客(未成为会员的客户)添加成为会员;第三,分店操作员可以对酒店会员客户进行线下登记入住、离店结算等。会员操作权限包括管理个人信息,查看酒店发布信息、个人入住信息,在线预订酒店房间,在线评论酒店,选择入住酒店入住房间,享受会员优惠等。

针对上面的需求,我们用用例图描述用户与系统之间的交互关系,这样可以直观的描述了系统为用户提供的服务关系。通过用例图实现从用户角度对系统功能进行建模。endprint

系统总体用例图,如图3所示。直观的描述了系统参与者(超级管理,管理员,会员)与系统模块(PC端和移动端)的交互关系。系统功能如图中椭圆表示,连接线说明和参与的关联。

3 系统设计

3.1 系统架构设计

本系统架构采用当前较为常用的B/S三层架构体系。即系统整体划分为表示层、业务逻辑层和数据访问层三层体系。其结构图如图4所示:

1) 表示层

表示层是系统和用户的交互接口,系统将功能以多种形式呈现在表示层,用户通过表示层提示向系统发送请求,系统再将响应呈现到表示层,如此反复。表示层的作用是获取用户请求,展现系统响应的角色。本系统中表示层有web端和APP端共同充当,为用户提供多样化服务。

2) 业务逻辑层

业务逻辑层是系统业务逻辑的执行者,是三層的中间层,占主导地位。表示层获取到用户的请求信息后提交到业务逻辑层进行判断处理后,发送给数据层等待处理。

3) 数据层

数据层主要作用是存储和管理系统所涉及所有的数据,用户所有涉及数据操作的请求都由这一层处理。完成处理结果由表示层呈现给用户查看。数据层的核心是数据库的设计,良好的数据库设计决定系统的性能优劣,所以数据层的设计决定系统质量的优劣,至关重要。

3.2 功能设计

根据对系统的需求分析,得出本系统功能模块图,如图5所示。

3.3 数据库设计

根据系统需求和功能,设计出该系统的14个关系:

1) 用户权限表(权限编号,权限名称,可授权集合,备注说明)

2) 用户表(用户编号,登录名,密码,权限id,店铺id)

3) 后台菜单表(菜单编号,菜单名称,链接,父菜单编号,是否关联分店)

4) 用户授权表(用户编号,权限编号,权限集合)

5) 地区表(地区编号,父地区编号,地区级别,地区名称)

6) 分店表(分店编号,分店名称,联系电话,分店所在省,分店所在市,分店所在县、区,详细地址,分店简介,温馨提示)

7) 分店图片表(自增编号,所属分店,图片地址)

8) 客房类型表(类型编号,类型名称,所属分店,床型,房间面积,是否启用APP端预订)

9) 客房类型图片(自增编号,所属客房类型,图片地址)

10) 客房表(客房编号,门牌号,所属分店,客房类型,客房环境,客房状态,单价)

11) 客房类型图片(自增编号,所属客房,图片地址)

12) 会员等级表(等级编号,等级名称,升级、加入条件,入住折扣,等级图片,备注说明)

13) 会员表(手机号,会员姓名,会员类型,昵称,会员头像,登录密码,备注说明)

14) 酒店登记表(登记编号,房间编号,会员编号,预订、入住时间,退房时间,金额,实收金额,状态)

4 关键技术

4.1 省市县级三级联动

由于该酒店属于全国连锁性酒店,需要系统提供省、市、县三级联动的编程实现,很多系统多是采用网上现有的javascript代码,嵌入到自己的系统中,直接调用就可以了,但这种方式,无法动态的实现数据的更新。所以,在本系统中,是通过自己设计数据表实现的,表里的数据是从第三方showAPI那里拿到的,只是导入自己系统数据库中进行了父子id关联。同时,将动态获得的数据保存在本地数据表中。有利于在第三方的数据未及时更新时,酒店可以自行更新数据。同时,在设计数据表时也考虑到数据库优化方面的问题,第三方的数据传给我们是没有id属性的,我们只可通过具体地名进行查询,这一点虽然会影响一些性能,但便于检索。

4.2 权限管理

作为全国连锁性的酒店客房管理系统,必然涉及权限的管理。本系统包括三级权限管理:系统管理员、分店管理员和分店操作员。系统要求能动态实现该操作用户的权限检测,并动态显示该权限所拥有的菜单功能。该项功能通过设计用户登录拦截器结合菜单的判定进行权限的限制。具体包括三个步骤:首先,进行用户的登录信息的验证(即验证该用户是系统的合法用户);然后对用户的权限进行判定(判定其是“系统管理员、分店管理员和分店操作员”三者中哪一种);最后,动态输出该权限所应显示的功能菜单,供用户操作。

5 系统测试

为了验证系统的功能正确性、易用性和性能,对系统进行了确认测试,测试环境如下:

1) 服务器环境

操作系统:Windows Server2008

硬件配置:8GB内存、四核处理器(1.8GHz)、500G硬盘

2) 客户机

浏览器(IE6.0以上)

经过多次的测试,系统的功能正确,界面美观、性能良好、系统的扩展性良好,有利于系统的功能扩展。

6 结束语

本酒店客房管理系统选择SSM(spring、springMVC、mybatis)框架,综合运用Java、MySQL、html5等技术进行开发。实现了系统管理员对所有分店的总体管理,各个分店管理员对其所在分店的管理,分店操作员可办理客户预订、入住、退房等操作,各分店数据互不干扰。同时系统为酒店提供会员管理功能,超级管理员可以设定不同等级的会员类型,调整每个类型会员的入住折扣、享受优惠等,分店操作员可以对会员进行管理,酒店会员可在线预订酒店房间。系统极大提高了酒店的管理效率,降低了酒店的经营成本。同时在客房预订、入住办理等方面为酒店会员提供了方便。

参考文献:

[1] 白元.基于SSM的客户关系管理系统的设计与实现[D].北京:北京交通大学,2016.

[2] 戴克.Spring MVC学习指南[M].北京:人民邮电出版社,2015.

[3] 邹红霆.基于SSM框架的Web系统研究与应用[J].湖南理工学院学报:自然科学版,2017,30(1):39-43.

[4] 赵学铭,叶颖,王茜.基于HTML5交互式移动学习平台的设计与实现[J].黑龙江科技信息,2017(3):197-199.endprint

猜你喜欢
酒店管理
“酒店管理”课程教学改革探讨