基于JAVA的酒店管理系统的设计与实现

目录

绪论 3

第一章课题研究途径与意义 5

1.1 本课题研究途径 5

1.2 本课题研究意义 6

第二章酒店管理系统分析 7

2.1 背景介绍 7

2.2 现实需求分析 8

1) 酒店首页介绍模块 9

2) 顾客注册登录模块 9

3) 信息查询模块 10

4) 预订管理模块 10

5) 管理员登录模块 10

6) 超级管理员登录模块 10

7) 房间信息模块 10

2.3 系统环境需求 10

1) 系统采用Windows操作系统下My Eclipse开发平台开发; 10

2) 程序设计语言为JAVA; 10

3) 后台数据库为MySQL。 11

2.4 开发语言需求 11

第三章系统概要设计和数据库概要设计 11

3.1 系统功能简介 11

3.2 具体系统功能需求描述 12

图3-1管理员操作模块E-R图 12

3.3 系统数据库分析 14

图3-2数据库流程图 14

3.4 概念结构设计 14

图3-3简略系统实体关系图 15

3.5 数据库表格结构设计 15

1) 建立数据库 15

表3-2 顾客信息表 16

表3-3 房间入住信息表 16

表3-4管理员登录信息表 17

2)建立数据库连接 17

e.printStackTrace(); 17

第四章主要功能模块的实现 18

4.1 网站首页主页面设计 18

4.2 预订管理界面设计 21

4.3 入住登记管理界面设计 21

4.4 顾客信息界面设计 23

4.5 管理员登录界面设计 24

图4-8超级管理员登录成功界面 28

图4-9超级管理员工作界面 28

4.6 数据库表格设计 29

图4-11顾客信息表 30

4.7 房间类型界面设计 30

图4-12房间类型管理界面 30

图4-13顾客预订管理列表界面 31

第五章系统测试以及总结 33

5.1 系统测试 33

1) 管理员分析的测试用例 33

图5-1 账号不存在页面 34

图5-2 验证失败页面 34

图5-3 顾客个人信息展示页面 35

2)顾客测试用例 35

5.2 系统测试的总结 36

5.3 系统的特点 37

第六章结论 38

6.1 系统总结 38

6.2 设计总结 39

绪论

随着人工化工作模式被信息化取代以后,各行各业都进行了重大转型。其中,酒店管理系统尤为明显。以前的人工模式,不仅增加了工作重复率,也存在很大的工作错误的风险,毕竟人的主观意识比较强烈。这样,不仅增加了成本,也不利于酒店长远的发展。信息和网络的高度发达使传统的人工管理模式已经无法满足现代化酒店发展的需要,通过对互联网的充分运用,进而对酒店客房管理系统进行开发与完善,产生新型酒店网络管理模式已经成为了一种趋势。[6]类似于布丁酒店、汉庭酒店等中小型快捷酒店连锁化进程的不断进步。对员工工作专业性的要求开始降低,这给酒店的发展带来了很大隐患。毕竟大规模发展,容易造成很多细节上的疏忽。所以,在正确的管理模式下,搭配一个正确的酒店管理系统是非常有必要的。

本系统是主要面向顾客和酒店管理人员设计的一个专业酒店管理系统。对于顾客来讲,包括了注册、登录、查询、预订、会员注册等功能,而且操作简便,但能够提供准确、快捷、优质的服务。极大地提高了酒店的吸引力。对员工管理方面,本系统设计了管理员登录界面。管理员可以凭借个人账号与密码,在登陆后对顾客信息以及客房信息进行增加、删除、修改等一系列操作。而且能够自动生成并保存首次注册与已入住的顾客信息。且在二次使用时能够及时反映出来。此外,本系统真实模拟酒店管理模式,添加了超级管理员功能,类似于酒店经理的工作职能,工作性质与管理员相同,但能够对酒店管理人员的工作以及信息进行处理。这样可以减少酒店员工由于操作不慎所带来的错误,而且提升了酒店专业性,使顾客更加新人酒店服务,从而推动酒店的长足发展。该系统的应用能够减少酒店客房管理人员的使用成本,提高酒店客房管理的效率。[1]


第一章课题研究途径与意义

1.1 本课题研究途径

我国目前还处于经济高速发展阶段,经济发展的模式、方法等都在不断的改变与进步。但这并不能掩盖我国很多行业经济信息化发展速度缓慢的弊端。尤其在餐饮、酒店等产业当中,传统的人工管理模式存在很多弊端。例如酒店管理,在传统模式中,只能通过门店接待的方式迎接顾客。顾客无法在进入酒店之前了解酒店的房间、价格等即时信息。例如顾客进入酒店后才发现酒店客房已满或者对价格不满意,并离开酒店,这不仅给顾客带来很多不便,而且当顾客面临二次选择时,可能因为第一次的遭遇而放弃选择,这也影响了酒店的发展。所以,酒店信息化发展势在必行。

酒店属于服务性行业,“客户至上”是永不变更的主题。所以,信息化发展的中心思想就能够初步设定吧,即针对性的面向顾客。当然信息化发展针对经济产业,自然,对于个人也是必不可少的。本系统随着电脑网络以及智能手机的普及,充分连接了酒店与顾客的交流。顾客可以通过手机APP,让客户随时随地可以查询该酒店信息,从而根据酒店信息进行针对性的筛选适合自己的房间。并可以通过手机先行预订、支付,让客户再简单方便的操作中,体验无障碍沟通的舒适度,做到拎包入住。对于服务性行业,客户对服务的便捷度有很高的要求。这是通过本人询问多个不同年龄段,不同职业人群得出的结论。所以,满足了客户的需求,更好地为客户服务,不仅提升了客户的满意度,也提高了酒店的服务质量。

此外,除了分析顾客需求,本人着重分析了酒店的管理模式以及酒店信息,然后初步制定了设计方案。系统采用Windows操作系统下My Eclipse开发平台开发选择JAVA语言进行编写,而且,一个酒店拥有房间、客户、管理人员等很多信息,所以要建立合适的数据库,以下论文会进行详细叙述。

1.2 本课题研究意义

科学有效的管理模式以及优质的服务是酒店发展必不可少的,而在酒店经营状况里面,影响最大的就是酒店所提供服务的质量。当然,作为一个产业,酒店需要盈利是毋庸置疑的,从根本做起,就是降低成本,早期的人工模式,缺乏专业性人才,而且员工素质略低,工作效率不合理,无疑消耗了很多成本,所以酒店管理系用的出现已成为必然趋势。

根据以上问题,别无奈人进行了针对性分析,并进行程序的初步架构。首先建立酒店主页,真实反映酒店建筑、交通等信息,一方面让顾客深入了解酒店,另一方面也可以通过酒店信息的展露,吸引更多顾客。顾客登录酒店首页以后才真正进入了酒店的服务页面,也是可操作页面。客户可以查询酒店的房间信息,包括价格、入住情况等,为了方便客户,还添加了快捷支付功能。客户可以根据满意房间的价格,直接在网上支付相应的金额,避免了到酒店以后客房已被他人预定的尴尬。此外,酒店管理人员也可以通过该系统登录,对房间信息、顾客信息进行登记修改,进而发布及时的信息,更好地为顾客服务。

要支持如此多信息的操作,则需要建立合理的数据库。本系统采用MySQL建立后台数据库。因为本系统面向中小型酒店,所以不需要使用类似于OracleDB2的大型数据库。而MySQL高并发存取能力同样优秀,且价格便宜,安装使用简便快捷。并且具有开源性,可以根据使用者的不同要求直接修改代码,进行定向优化,使其更适合自身发展。而且MySQL的主要运用场景就是互联网,更符合中小型酒店的发展。本课题旨在为酒店减少成本的同时,更好的为顾客服务。

第二章酒店管理系统分析

2.1 背景介绍

实现客房信息化管理,不仅可以使酒店能够提供给顾客安全舒适的休息环境,充分合理地运用互联网,是酒店信息化进程更加完善,从根本上提高外出顾客的生活水平,给客人提供高效、优质的服务。[4]酒店客房管理系统主要是互联网不断发展的产物就个人而言互联网的发展极大地丰富了人们的业余生活,故而,人们对衣食住行的要求也逐渐提高,尤其是外出的居住条件,顾客随着生活水平的提高,衍生了很多个性化需求,比如酒店的快捷方便程度、周边交通状况。顾客由于出行在外,所以时间要求比较高,希望能够尽可能节省时间,提高出行效率。所以酒店的工作效率、周边交通成为顾客首先考虑的因素。一般来说,酒店的交通都是比较方便的,但是对于初次到访的顾客,出行的路线以及采用何种对应的交通工具就比较难以抉择,所以本酒店根据这个问题系统人文化的添加了交通简略介绍,以下文中会详细解释。

自然顾客要求的提高也推动了酒店行业竞争的激烈程度如何在紧张的局势中脱颖而出已经成为酒店经营者急需解决的商业性难题一个好的企业除了需要卓越的管理层雄厚的经济实力优秀的管理文化团结的工作团队以及积极向上的工作态度顺应时代与科技发展所采用的经营模式也成为了必不可少的需求对于顺应时代与科技的发展则需要做到经营模式与互联网技术的紧密结合全方位的运用网络服务与管理能够取得优良的经济效益与社会效益。首先,能够减少酒店人力物力的损耗,极大地减少了酒店成本,这与本系统的初衷是完全吻合的。因为传统酒店的管理模式存在很多弊端,例如繁琐的登记结账手续、顾客费用计算错误、错误的信息查询、房源信息无法及时更新等。这些问题不仅给酒店带来难以估量的实质性损失,也会给顾客带来巨大麻烦,进而对酒店声誉造成巨大影响。而这些问题都可以通过计算机系统来合理的解决。其次,对于网络的充分运用,能够极好的宣传酒店,通过多途径、跨地域地让更多顾客了解酒店的优点,在酒店外部增加隐性收益。

在互联网的冲击下,把实体店当作展示模板的消费者日益增加。他们线下通过实地参观实体店面,挑选满意商品,然后在线上进行寻找,并最终购买。这种行为被称为“show rooming”。而正是这种行为,显而易见地大范围地减少了实体店面的收入,却也为其他领域带来了商机,比如酒店。酒店作为出差与旅行顾客的第二个家,顾客除了对酒店舒适度有要求以外,有很多顾客还会选择100%的布置酒店所住房间,这一个性化要求极大地满足了出行在外的顾客对家的渴望。对于此类顾客,过去,很多酒店只是简单的在店面内推荐自主品牌的日常洗漱用品,而由于特殊情况,这种收益少之又少。如今,结合互联网,很多精品酒店开始努力尝试将酒店互联网,开展O2O线上线下结合的模式,收纳更多品牌予以展示,获得了意想不到的收益。本人通过网络调查,找到了国外某酒店通过实体店与互联网完美结合所带来巨大收益的典型成功案例,下面本人进行了简单介绍与分析。

2006年,英国一对夫妇根据自己的个人品味,将古代旅店装修成现代酒店。酒店内是极具创意型与观赏性。他们将酒店房间内照片发布在网上,吸引了大量顾客。很多顾客开始询问酒店内物品的价格以及购买途径。这让这对夫妻发现了巨大商机。他们开始开办工厂进行加工顾客所需物品,并且与其他强大品牌公司合作,引进他们的产品。通过网络途径与酒店结合,售卖床上用品、洗漱用品、灯具等一系列产品。这不仅给他们带来巨额收益,也是他们酒店的知名度大大推广。因为他们的酒店在网络平台上已不仅仅是为顾客提供住宿的场所,更成为可一个大的展销平台。这就是享誉欧洲的George in Rye酒店。由此可见,酒店经营模式与互联网结合的途径与选择性太高了,并且收益巨大,不存在高风险。对于酒店管理者来说,如何选择一个正确的系统来获取巨大利益已经成为势在必行的举措。

2.2 现实需求分析

根据上文所提到的系统创建背景,我们不难发现酒店管理系统存在的必要性。而对于国外的成功案例,本人只是借助实例来表达酒店管理信息化所带来的巨大优势。但是因为国情与环境的不同,我们不能全盘照搬,只有了解其优点,不断的探索,选择适合自己的模式,才能在激烈的竞争中脱颖而出。所以本人通过采访周边酒店,了解酒店所存在的部分问题,进行了着重分析,其中,预订酒店这一流程,无论是顾客还是酒店,都存在很大弊端。尤其对于酒店工作人员而言,较为麻烦的是,很多顾客在同一酒店入住多次,且信息记录完全,但再次入住时,却仍然需要再次登记信息。这样不仅大大降低了工作人员的工作效率,也是顾客厌烦于酒店繁琐的操作流程,很有可能使顾客流失。

当然需求分析也需要从客户的需求中提取出需要解决的问题通过分析研究客户提出的需要解决的业务问题对系统的功能模块进行规划这直接关系到系统的质量[9]对于顾客方面的需求分析主要是无法通过手机直观地了解到酒店的房间信息。许多顾客希望能够直接看到酒店房间的信息,例如房间价格、内部装饰、价格、是否还有空房等。而对于此方面问题,国内连锁酒店之一的七天酒店进行了妥善解决。七天酒店也在不断地变革更新。七天酒店是铂涛集团旗下最重要的酒店资产之一。而在移动互联网的冲击下,七天酒店内部的管理经营模式不断升级更新,首先被打破的就是call center模式。七天酒店开辟了微信公众号的途径,利用微信,展示酒店详细信息,详细解答顾客问题,为酒店与顾客带来了极大地方便。优秀的服务质量使七天酒店的微信会员客户急剧增加妥善解决了之前电话客服中部分顾客电话交流不清等问题。目前,七天酒店的公众微信服务团队约有30人而且逐步递增七天酒店通过微信,用最专业的服务面向顾客解决了许多顾客问题及需求不得不说这是一种极其优秀的理念,为七天酒店的快速发展打下坚实基础。当然,本系统是针对酒店设计,面向酒店与客户的系统,所以需要根据酒店形式,创新开发。故而根据以上分析,本人针对性地对系统经行了合理的模块划分: 

  1. 酒店首页介绍模块

本模块是针对酒店、面向顾客所设计的模块。首先进行主页面的设计,需要酒店外观与内饰的图片,以便顾客了解信息。本模块人文化的添加了酒店地址以及周边交通状况还有不同交通工具的不同价格,为顾客出行带来了极大地方便。

  1. 顾客注册登录模块

想入住本酒店的顾客,可在首页利用个人信息进行注册,输入手机号,并设置密码,确认后登录,根据个人情况选择房间以及居住时间。

  1. 信息查询模块

信息查询这一模块面对的是酒店管理人员以及顾客设计的。顾客登录后可以对酒店房间信息进行查询,包括房价类型、存余量、价格等信息。酒店管理人员凭借工作账号登录后,可以对房间信息、顾客信息进行查询。

  1. 预订管理模块

本模块是在顾客登录并经过信息查询以后,选择出满意房间,然后进行预订的模块。避免了顾客到店后房间已被门店接待的客户使用的尴尬。而由于时间限制,若顾客不能在规定时间内到达酒店,本模块添加了快捷支付的功能,即顾客确定入住本酒店,可以先行通过手机支付,避免不必要的麻烦。

  1. 管理员登录模块

此模块是面向酒店工作人员。酒店工作人员可以凭借个人账号登录,进行信息查询,信息内容包括酒店信息与顾客信息,并且可以对信息进行增加、删除、修改等操作,以便信息的及时更新,更好的为顾客服务。

  1. 超级管理员登录模块

为了真实模拟酒店管理经营模式,本系统添加了超级管理员模块,职能类似与酒店经理。登陆以及工作与管理员一致,但可以对酒店管理员信息进行操作。

  1. 房间信息模块

本模块面向酒店管理员以及顾客。方便顾客查询信息,进行预订以及支付。而管理员除了查询信息以外,还可以对信息进行操作,便于及时信息的发布,进而提升了工作效率与酒店信誉,避免了顾客以及酒店之间不必要的麻烦。

2.3 系统环境需求

1) 系统采用Windows操作系统下My Eclipse开发平台开发;

2) 程序设计语言为JAVA

3) 后台数据库为MySQL

2.4 开发语言需求

1) 前台Web开发语言种类有很多,本系统通过HTML以及JSP语言实现前台编写。其中HTML能使顾客打开浏览器时,可以直接访问该应用,不需要经过审核,所以能够更加快捷方便。而且HTML被大量应用于移动应用程序,因为它的可移植性非常好。酒店管理系统的更新时间需要非常及时而普通平台审核时间较长,Web则不需要,这样就给酒店带来了实时的信息更新。JSP包括了更新快、客户端接口简易、便于使用者进行一定的修改、部署以及维护等一系列操作。而且JSP的所有运用程序基于服务器,所以更新及时。

2) JAVA伴随着网络的发展而发展,作为软件开发的一种革命性技术,其地位已被肯定。[11] JAVA是一种面向对象的编程语言,其好处就是能够在语言级别的基础上模拟世界的场景并且简化开发。很多的优点不仅仅局限于网站开发,对于其他开发也是相当优秀,如酒店管理系统。现在社会的软件开发形式也逐步向JAVA靠拢,JAVA的可移植性、跨平台和安全性是其他语言所不能达到的。

3)本系统是面向中小型酒店设计的系统,所以选择了Tomcat 7.X作为Web应用服务器。 它已被广泛与用在很多中小型系统中,是开发和调试JSP程序的首选。而整个系列中Apache Tomcat 7.X是目前的开发焦点。它在Tomcat6.0.X已有优点的基础上,实现了对Servlet3.0、JSP2.2等特性的支持。此外还有侦测和预防功能,提升了系统的安全性,对信息的处理与保护有着巨大的作用。而且Tomcat 7.X还支持Web应用中外部内容的直接引用。

第三章系统概要设计和数据库概要设计

3.1 系统功能简介

本系统设计的目的是为了方便管理员根据酒店情况对顾客与酒店信息进行快捷简便的操作,从而节省酒店成本,提高工作人员的工作效率,进而实现收益最大化。而顾客的登录界面与管理员是区分开的,因为角色的不同,所需要的功能操作也是不同的。酒店客房的管理系统,是为了让使用者能够轻松地找到理想的客房的相关信息,并根据角色不同所进行相关操作的[2]

3.2 具体系统功能需求描述

根据之前系统详细的模块划分,本人制作了部分E-R图,能够直观地发现各模块之间的关系与联系。

管理员操作E-R图,如下图3-1 所示:

图3-1管理员操作模块E-R图

数据库关系图就是所谓的E-R图,也就是实体关系图。通过关系图的表示,能够将数据库中表与表之间的关系清晰地展现出来。对于任意的数据库,我们都可以创建很多的数据库关系图从而区分设计的不同方面,并着重强调,使其不同的部分变为可视化,通过关系图直观的表现出来。

但是作为实体联系图是用来建立数据模型的。而建立实体联系图阶段其实属于概念设计阶段,进而建立一个模型,使其独立于机器和DBMS,形成一个独立的E-R图模型。它能够提供表示数据对象、属性以及联系的方法,从而能够成为一种对现实世界进行描述的概念模型。

而数据库关系图与E-R图二者本身有一定的联系,因为它们是辩证统一的,都表示实体间的关系,但又不尽相同。因为关系图反映的是数据库的细节,而E-R图则一般只反映实体及其属性。

在本系统中,我抽取了极具代表性的管理员操作E-R图以及管理员与顾客E-R图。具体如图3-1、3-2所示。首先,本系统是酒店管理系统,针对酒店管理员设计,故而管理员操作部分是极其重要的组成部分。将这一关系图制作出来,有利于后期程序的详细设计。但是本系统又面对顾客与管理员,不仅有顾客自身操作部分,管理员也需要对顾客信息进行相应的处理。所以根据这一关系,制作了顾客与酒店管理员的关系图。以下文中有详细描写。

 

3.3 系统数据库分析

建立合适数据库后,具体运行过程如图3-2 所示:

图3-2数据库流程图

3.4 概念结构设计

根据顾客与酒店管理员的不同关系,制作简略系统E-R图,如图3-3 所示:

               n                     1

   

        1              n                       1              1

           1                                              1

                          1                n

          n                                       n             n

                  n        1         1          n             1

图3-3简略系统实体关系图

3.5 数据库表格结构设计

初步建立了数据库E-R图以及简略关系图后,然后将关系系统化,建立恰当的数据库表格,利用JDBC连接数据库。

  1. 建立数据库

根据前文背景调查后所划分的模块、各E-R图以及酒店详细情况与,本人建立了以下恰当的四个数据表格,并存放在MySQL数据库表格中。具体图表建立情况如下:

(1) 酒店管理员登录信息表;

(2) 顾客信息表;

(3) 房间入住信息表;

(4) 酒店预订信息表;

然后建立对应表格具体图表如下:

表3-1预订信息表


表3-2 顾客信息表

表3-3 房间入住信息表


表3-4管理员登录信息表

2)建立数据库连接

数据库表格建立成功以后,添加ConnectionManager类,并用JDBC建立连接。此处是管理员数据库,因为管理员要处理较多信息,所以具有代表性。下面是建立数据库并实现的代码:

public class ConnectionManager {

  

  public static Connection getConnection(){

  Connection dbConnection=null;

  try {

  Class.forName(DRIVER_CLASS);

  dbConnection=DriverManager.getConnection(DATABASE_URL,

  DATABASE_USER,DATABASE_PASSWORD);

  }catch (Exception e){

  e.printStackTrace();

  }

  return dbConnection;

 con=ConnectionManager.getConnection();//获得连接对象

String sql1="insert into orderinfo (orstyle,ouid,ofromdate,otodate,oprice,oislive,orid) values(?,?,?,?,?,?,?)";//在表格内插入字段

ps=con.prepareStatement(sql1);//预处理SQL语句,得到结果集

result=ps.executeUpdate();//处理结果集

 

第四章主要功能模块的实现

4.1 网站首页主页面设计

网站首页主页面主要面对的是顾客。当顾客进入首页面后,可以根据界面提示进行注册,注册成功后便可登录,然后进行相关操作,如查询房间入住以及价格等信息以及预定房间、在线支付等。新顾客第一次使用本系统时,可根据提示进行信息注册,注册成功后,便可直接登录,然后进行查询预订等操作。此页面还添加酒店图片,使顾客直观感受宾馆环境。其中,4-1图表内,第一张为宾馆外观以及内饰,形象生动的表现了宾馆构造。第二张图为宾馆客房价格、剩余房量等信息,这对于客户来说是极其重要的,因为可以直观地反映房间信息,以便客户预定到自己满意的房间。宾馆首页亮点在于,首页有对该宾馆具体地址的详细描写。而且对周边地点、交通以及乘坐不同交通工具的不同价格进行了汇总,这一人文化设计更方便顾客出行与入住,极大地满足客户出行的需求。具体的首页界面如图4-1所示:

图4-1酒店首页主页面设计

实现该功能的主要代码代码如下

<table align="right"><tr><td><a href="login.jsp">登录</a></td><td>/</td><td><a href="register.jsp">注册</a></td></tr></table>

  <br>

  <br>

  <table align="center"  width="800" height="50">

  <tr></tr>

  <tr><td><img alt="首页1" src="firstpage3.png" width="400" height="230" align="middle" οnclick="window.open(this.src)"></td>

  <td><img alt="首页2" src="firstpage2.jpg" width="400" height="230" align="middle" οnclick="window.open(this.src)"></td></tr>

  </table>   

此段代码为顾客注册登录功能

<table align="center"  width="800" height="100">

     <tr align="center">

     <table align="center" width="800" height="100">

     <form method="post" action="/RoomsManagement/servlet/DoSearchDate">

               <td>入住时间 </td><td>  <input type="text" id="c10" name="fromdate" value=<%=date1 %> οnclick="J.calendar.get({to:'c11,min'});"/> </td>     

             <td>  退房时间</td>

                   <td><input type="text" id="c11"  name="todate" value=<%=date2 %> οnclick="J.calendar.get({to:'c10,max'});"/>  </td>                  

                   <td> <input type="submit" id="search" name="search" height="1000" width="1000" value="查询" size="1000" > </td>

     </form></tr></table>

此段代码为顾客入住时间、退房时间以及查询功能。

<tr bgcolor="gray"><td width="90px" align="center" valign="middle">房型</td><td width="90px" align="center" valign="middle">门市价</td><td width="90px" align="center" valign="middle">会员价</td><td width="90px" align="center" valign="middle">房态</td><td width="90px" align="center" valign="middle">预订</td><td width="90px" align="center" valign="middle">早餐</td><td width="90px" align="center" valign="middle">会员积分</td></tr>

    <%  RoomDao user=new RoomDaoImp();

    java.util.List list=user.getEachRoom();

    Room room=null;

for(int i=0;i<list.size();i++){

room=(Room)list.get(i);

此段代码表示房间信息,其中包括房间价格、房间状态即是否已有顾客入住等信息。而且还人性化添加了会员积分制。

<table  align="center" width="800" height="100">

<tr><td ><font color="blue">酒店详情</font></td></tr>

<tr><td>酒店位于上海市闵行区沪青平公路220号(近航东路),是如家酒店集团旗下的高端商务酒店,地铁10号线虹桥1号航站楼1号口出,步行15分钟即可到达酒店,酒店北邻虹桥机场、国家会展中心;南邻七宝古镇、靠近万科虹桥、上海动物园、打车起步价可至巴黎春天七宝店、汇宝广场。酒店配备有班车、餐厅、会议室、酒店内部覆盖WIFI。酒店环境优美舒适、内部设施齐全、人性化的优质服务,给您以全新豪华舒适便捷的居住体验。</td></tr>

</table>

<table align="center" width="800" height="100">

<tr><td><font color="blue">酒店交通</font></td></tr>

<tr><td >火车站</td><td>上海虹桥火车站</td><td>距离酒店5公里</td><td>出租车约5分钟,15元</td></tr>

<tr><td >机场</td><td>上海虹桥机场</td><td>距离酒店0.5公里</td><td>出租车5分钟约15元;1号航站楼步行至酒店15分钟</td></tr>

<tr><td >汽车站</td><td>上海南站汽车站</td><td>距离酒店14.8公里</td><td>出租车约25分钟, 47元</td></tr>

</table>

</table>

</body>

</html>

本段代码是酒店管理系统中首页登录界面的设计。将酒店信息、具体地址以及附近交通包括价格等信息在首页中展示出来。这一设计给顾客提供了很大的便利,极大地提升了顾客对酒店的亲切度。

4.2 预订管理界面设计

首先,预订管理界面使面向客户的,客户可以根据酒店信息界面给出的对应信息来进行选择,找到自己满意房型,成功预定后并入住。而面向管理员方面,管理员不仅可以查看房间信息,还可以查询顾客信息,并且可对信息进行增加、删除、修改等操作。此功能是为了防止顾客信息有所修改,还有对房间入住情况的实时更新。

在订单列表里,需要处理的信息有订单号、客户账号、房型、入住时间退房时间房间价格是否入住房间号入住人姓名入住人联系方式预订房间数量以及支付操作。还人性化的考虑到客户出行的时间多变性,添加了提醒功能,来提醒顾客酒店最早入住时间、最晚到店时间以及延迟退房须加半天房费,进而避免不必要的麻烦。具体的预订管理界面如下图4-2所示:

图4-2预订管理界面设计

4.3 入住登记管理界面设计

本系统面向顾客与酒店管理员,顾客可以自行根据提示操作,也可以在前台通过工作人员录入信息。其中需要处理的信息包括姓名、手机号码、登录密码、再次确认密码、性别以及身份证号等信息。其具体的界面如图4-3所示

图4-3 入住登记管理界面

注册成功后,顾客可以直接登录,并在选择好满意房间后进入预定界面进行操作这里的预订界面和图4-2订单管理界面相同在此页面客户可进行预订、修改、支付等操作,即进行酒店客房预订操作,操作的界面展示如下图4-4

图4-4订单列表

4.4 顾客信息界面设计

本系统中设计的顾客信息界面,是用户用于注册登录的功能,用户可用个人手机号进行注册,且要设置注册密码并再次确认,防止错误操作,身份证号的输入是为了核对个人信息。其中,如果第二次确认密码时,与第一次输入不一致,则无法注册成功。而且,该功能可根据顾客意向决定是否升级为VIP会员,并采用余额积分制,即注册成会员后,会对客户日后消费信息进行汇总,根据每次消费金额的10%进行积分。这一人性化设置,使顾客获得更大优惠权益,并直观体现出注册会员后的优惠权限从而提高服务质量,提升了酒店的服务标准,更有利于酒店发展。具体的用户个人信息界面如图4-5所示:

图4-5顾客信息界面

具体的实现功能的代码如下

value="<%=user.getUcredit() %>"></td></tr>

<tr><td width="90px" align="right" valign="middle">  是否升级为vip:</td><td width="90px" align="left" valign="middle"><input type="radio" name="uvip" id="uvip" value="否" checked>否<input type="radio" name="uvip" id="uvip" value="是">是</td></tr>

<tr><td width="90px" align="right" valign="middle">  我的积分:</td><td width="90px" align="left" valign="middle"><%=user.getUVipPoints() %></td></tr>

<tr><td width="90px" align="right" valign="middle">  我的余额:</td><td width="90px" align="left" valign="middle"><%=user.getUbalance() %></td></tr>

<tr><td  colspan="2" width="90px" align="center" valign="middle"><input type="button" value="修改" name="b1" οnclick="check()"></td></tr>

</table>

</form>

<table  align="center" width="800" height="100">

<tr><td ><font color="blue">友情提示</font></td></tr>

<tr><td>升级为会员之后,每产生一份订单,我们都将返还10%的金额到您的余额中。这个钱可以用于下次的订房消费</td></tr>

</table>

</body>

</html>

4.5 管理员登录界面设计

本系统是面向顾客以及酒店工作人员的除了顾客可以使用本系统进行查询信息注册预订房间等操作外还需要酒店管理人员来辅助顾客使用本系统并通过对应操作维持酒店正常运行所以我在本系统中添加了员工登录的功能,配合酒店系统,减小了工作成本,提升了工作效率。其界面如图4-6所示

图4-6 员工登陆界面

其中管理员可以对自己账号密码进行重置操作,即修改密码功能。该功能是为了防止酒店以及顾客的信息泄露,造成不必要的损失。管理员登陆成功后可对顾客信息房间信息进行相对应的操作实现简便快捷的信息化操作,并且详细反映了顾客信息对临时退房或者加订的客户信息进行修改然后公布即时更新的信息方便接下来的顾客的查询其具体界面如图4-7所示

图4-7房间类型管理界面

实现预订信息处理界面的主要代码如下

        case 1:

           String ss="星期日";

xingqi=ss;

           break;

        case 2:

           String mm="星期一";

xingqi=mm;

           break;

        case 3:

           String tu="星期二";

xingqi=tu;

          break;

        case 4:

           String we="星期三";

xingqi=we;

           break;

        case 5:

           String th="星期四";

xingqi=th;

           break;

        case 6:

           String fr="星期五";

xingqi=fr;

           break;

        default :

           String sa="星期六";

xingqi=sa;

-->

</head>

<body>

<form id="Regsiter" name="Regsiter"  method="post" action="/RoomsManagement/servlet/DoAddOrder">

<input type="hidden" name="ruserprice" value="<%=ruserprice%>">

<table align="center">

<tr><td colspan="5" bgColor="#0080ff" align="left">填写订单信息</td></tr>

<tr><td rowspan="1" colspan="5">预订信息</td></tr>

<tr><td align="right">入住时间:</td><td><input type="text" id="c10" name="fromdate" value=<%=date1 %>οnclick="J.calendar.get({to:'c11,min'});"/></td><td>退房时间:</td><td><input type="text" id="c11"  name="todate" value=<%=date2 %>οnclick="J.calendar.get({to:'c10,max'});"/></td><td><input type="button" value="确认修改"></td></tr>

<tr><td align="right">房型:</td><td colspan="4" name="rstyle1" value="<%=rstyle %>"><%=rstyle %></td></tr>

<tr><td>房间数量:</td><td colspan="4" width="100"<option name="rno" value="2">2</option>

<option name="rno" value="3">3</option>

<option name="rno" value="4">4</option></td></tr>

<tr><td rowspan="1" colspan="5">入住信息</td></tr>

<tr><td align="right">入住账号:</td><td><input type="text" value="<%=uid %>" name="uname"></td></tr>

<tr><td align="right">入住人:</td><td><input type="text" value="<%=uname %>" name="uname"></td><td colspan="3" align="left">请填写实际入住人</td></tr>

<tr><td align="right">联系人手机号:</td><td><input type="text" value="<%=user.getUphone() %>" name="uid"></td><td colspan="3" align="left">预订成功后,确认信息将会发送至您的手机</td></tr>

<tr></tr>

<tr><td rowspan="1" colspan="5">友情提醒</td></tr>

<tr><td rowspan="1" colspan="5">酒店最早入住时间为:12:00             最晚到店时间为:18:00      如延迟退房须加收半天房费</td></tr>

<tr></tr>

</table>

</form>

</body>

</html>

本段代码添加了友情提醒功能,提醒客户准确退房时间,如延迟退房须加半天房费,客观减少了客户与酒店之间不必要的矛盾。此外,本系统真实模拟了酒店管理模式,添加了超级管理员系统,类似于酒店经理职能。超级管理员凭个人账号与密码,可在员工登陆界面内登录,登陆后可对会员、员工、客房、订单等信息进行对应操作。其具体界面如图4-8、4-9所示,其中,登录界面参考图4-6,与管理员登录界面一致。

超级管理员在管理员登录界面,根据提示输入账号和密码后,会显示“欢迎超级管理员!”,如下图4-8所示:

4-8超级管理员登录成功界面

点击确定键后,进入超级管理员界面,进行对应工作,工作内容在下图4-9中详细展示:

4-9超级管理员工作界面

超级管理员登陆成功,进入工作界面后,可对会员、员工、客房、订单等信息进行处理。不仅体现酒店系统的专业性,也可以通过超级管理员对信息的核查,减少工作失误。

4.6 数据库表格设计

首先第三章提到的数据库表格的建立是为了配合顾客以及酒店员工使用该系统。其中,房源信息表是顾客与员工双向使用。顾客可通过该表了解酒店房间类型、原始价格、优惠价格、床的数量、有无窗户、是否已入住。员工可通过该表,了解房间存量以及类型,从而更好地服务与顾客,避免了推荐已有人入住的房间给新到顾客等错误操作所带来的不便。

其中具体的界面设计如图4-10所示

4-10房源信息表

房源信息表设计完成,需建立正确的顾客个人信息表,而顾客信息表是面向管理员的,管理员登陆成功后,可以对顾客个人信息进行队型的操作,其中包括顾客订单的处理,以及顾客是否为会员,从而为顾客带来更优质快捷的服务。其具体界面如图4-11所示

4-11顾客信息表

4.7 房间类型界面设计

管理员登陆成功后,可在该页面进行对应操作。比如客房信息的修改、入住退房后房间存余量的更新等,房间类型界面的详细内容如图4-12所示

4-12房间类型管理界面

加入房间类型列表成功后可以在顾客预订管理的列表中查询,管理员可以根据提示,为客户办理入住或退房手续。顾客管理预订界面如下图4-13所示

4-13顾客预订管理列表界面

下面是实现员工管理的主要代码

function RegsiterSubmit(){

   var reg1 = /^[0-9]*$/;//此段代码表示正则表达式

  

   if(form1.loginName.value=="")//判断账号是否为空,若为空,下段代码会进行提示

{

   alert("请输入你的账号!");

   form1.loginName.focus();

   return false;

  }

if(!reg1.test(form1.loginName.value)){

   alert("账号请填写数字!!");

   form1.loginName.focus();

   return false;

  }

  if(form1.password.value==""){

   alert("请输入你的密码!");

   form1.password.focus();

   return false;

  }

  

  if(!reg1.test(form1.password.value)){

   alert("密码请填写数字!!");

   form1.password.focus();

   return false;

  }

  form1.submit();

         }

本段代码是员工登录功能,员工可根据提示输入个人账号以及密码进行登录,为了操作简便,账号以及密码都设计为数字,所以密码为非数字时,则会有提示界面且无法登陆。

  form1.submit();name="uid"></td>

<td><input type="button" value="查询客户信息" οnclick="form1.action='/RoomsManagement/servlet/DoDealUserInfo';form1.submit()"></td>

<td><input type="button" value="新用户入房先注册" οnclick="form1.action='/RoomsManagement/StaffRegister1.jsp';form1.submit()"></td></tr></table></form>

<tr><td>入住时间</td><td><input type="text" id="c10" name="fromdate" value=<%=date1 %>οnclick="J.calendar.get({to:'c11,min'});"/></td>

<td>退房时间</td>

本段代码表示员工登录成功后进行的相关操作。包括查询顾客信息,帮助新顾客注册,以及对顾客入住时间与退房时间等操作。在下文第五章的系统测试中,也有相关内容,可互相参考。

 

第五章系统测试以及总结

5.1 系统测试

在系统完成并正常运行以后,为了从细节方面检测功能是否能够正常运行,本人选择了酒店管理员以及顾客的登录系统进行了运行检测,以确保程序的完美。本系统的登录界面就如同酒店的大门,只有登录成功才能进入并了解酒店的详细信息。所以选择登录功能进行相应的测试尤为重要,也极具代表性。如果测试失败,则整个系统都无法进行任何操作。所以,测试成功则可以进行接下来的相关操作,如果失败,则需要尽快找出程序中的问题并及时修改,以确保程序的正常运行。以下会通过图文结合的方式进行详细说明。

  1. 管理员分析的测试用例

本小节,我选择管理员登陆功能进行测试。由于本系统是面对酒店管理员与顾客的,但是管理员扮演了极其重要的角色。他不仅要查询酒店的信息,还要对信息更新以后进行及时性的修改。作为功能组成的重要部分,对于管理员登录功能的测试也就非常有必要。

接下来为具体分析步骤。由于管理员为酒店内部组成部分,所以管理员的登录所需信息为实现设计好的,只有超级管理员能够进行添加、修改等操作。所以当输入随意账号且该账号不存在于本系统内时,则无法进入该系统。页面显示为“对不起,不存在这个账号!”。点击“确定”按钮后回到管理员登陆首页。具体显示页面如图5-1所示:


 

图5-1 账号不存在页面

同理,当正确输入账号以后,但是填写不符合规定密码或者错误密码时,也无法进入该系统。页面显示为“验证失败!”。点击“确定”按钮后回到管理员登陆首页。具体显示页面如图5-2所示:

图5-2 验证失败页面

本系统初始设计员工登录账号及密码举例:账号为1001;密码为1001。当正确输入账号和密码后,页面显示为“验证成功!”。点击“确定”按钮后,进入管理员管理界面,图可参考4-7。此时可对顾客信息以及订单管理信息进行对应的操作,例如查询顾客信息。此时需要输入顾客账号信息才可进行查询。当顾客账号不存在时,则无法进行。如输入的顾客账号正确时,则会有顾客信息界面出现。具体显示页面如图5-3所示:

图5-3 顾客个人信息展示页面

此时,管理员只可以对顾客会员充值信息进行操作,其他信息属于顾客个人信息,管理员不可操作。具体内容可参考第四章第5小节。本系统真实模拟酒店管理系统,添加了超级管理员功能,登录界面与酒店管理员一致。超级管理员有且仅有一个,故而账号及密码都为000。具体登录界面参考图4-8、4-9。超级管理员是凌驾于酒店管理员之上的。他拥有管理员的所有权限,并且可以对酒店管理员进行操作。

经过测试,管理员登录部分运行正常。

2)顾客测试用例

同理,本小节对顾客注册登录系统进行测试为避免重复使用图片,本小节只用文字展示,详情可参考4.4以及5.1小节内容。顾客注册登录界面在本系统的首页,详情参考图4-1。当顾客还未注册时就无法登录,所以需要先注册。如果输入错误顾客账号,则显示“验证失败,请注册!”。点击“确定”按钮,返回首页进行注册。返回首页后,进行注册,详情参考第四章顾客登录系统。注册成功后,输入账号,不输入密码直接登录时,无法进行该操作。页面提示“请填写密码!”。同时返回注册首页。当顾客注册成功后,页面会进入顾客信息首页。顾客可对自己的个人信息进行查询与修改,而订单信息仅供查询,因为此信息属于顾客以往入住记录。此处,顾客注册手机号与登录账号是区分开的。登录账号是顾客注册成功后,系统自动生成的账号。

测试结束,顾客登录部分运行正常。

5.2 系统测试的总结

本系统是一个面对顾客与酒店管理员的双向服务系统。首先,管理员方面,平时人工服务时,总是或多或少的出现一些错误,而且工作繁琐程度高。通过该系统,管理员可以对房间信息、顾客信息进行查询,而顾客个人信息管理员不可修改,只能及时修改并发布酒店信息等一系列与权限相对应的操作。其次,本系统通过计算机对信息进行操作管理,不再像人工管理模式那样存在信息登记错误、信息易流失、工作繁琐程度大等缺点。也极大地减少了工作时间,提高工作效率。本系统真实模拟了酒店管理模式,添加了超级管理员系统,类似于酒店经理职能。超级管理员凭个人账号与密码,可在员工登陆界面内登录,登陆后可对会员、员工、客房、订单等信息进行增加、删除、修改等对应操作。

当顾客在网上自行注册并初次预订以后,或者在前台通过酒店前台工作人员办理入住登记后,顾客个人信息才能保存在对应的数据库中。顾客还可通过本系统决定是否升级为VIP会员,并采用余额积分制,即注册成会员后,会对客户日后消费信息进行汇总,根据每次消费金额的10%进行积分。这一人性化设置,使顾客获得更大优惠权益,并直观体现出注册会员后的优惠权限从而提高服务质量,提升了酒店的服务标准,更有利于酒店发展。

其次,无论是对酒店管理人员还是顾客自身而言,顾客的个人信息是极其重要的。所以本系统的设计中,顾客个人信息和管理员信息是互相保密的。顾客只能查询房间信息而不能进行添加、修改等操作,除非是自己个人信息。同样,对于管理员而言,功能权限比顾客多,能够检查顾客的个人信息,包括顾客姓名、手机号等,但任何酒店的工作人员都不可以泄露顾客信息,这是基本职业道德。而且酒店管理员无法知道顾客的登录密码,所以本系统对于顾客信息的保密性做得非常到位。 上文所做的系统测试是为不在信息环节出现系统漏洞

5.3 系统的特

随着商业与科技的发展,酒店管理系统不断地升级换代。本人根据实际调研考察,了解了酒店管理人员和顾客的需求,制作了这个主要针对中小型酒店并且面向大众型顾客的系统。对于中小型酒店而言,本系统操作方便简易,对酒店工作人员的要求较低,且掌握速度快。

而对于顾客而言这个管理系统操作简便快捷,适合不同的年龄段和知识层的顾客。根据本人实地调查发现,许多顾客对酒店服务的快捷度有着很高的要求。而本系统着重针对方便快捷这一特质进行了针对性完善。所以实用性高从而能够推广使用。跟随“客户至上”的理念,系统特有的智能化预订功能,凸显酒店的人文特色,大大提高客户的方便性,完美呈现酒店宾至如归的特色。[8]

 

第六章结论

6.1 系统总结

本系统是针对中小型酒店而设计的,实现了低功耗高效率高稳定性自动化和智能化节省了投资且便于维护和管理[5] 尤其对于开发语言的选择反方面本人都是选择实用性高操作简单且成本小的开发环境而这并不影响本系统的整体性与实用性

其中对于前台的开发选择HTML以及JSP语言,故而优点得以全面展现。整个系统功能齐全,界面友好,操作方便。[7] 考虑到酒店管理系统对于信息处理的准确性以及及时性所以用JSP语言进行前台编写。JSP包括了更新快、客户端接口简易、便于使用者进行一定的修改、部署以及维护等一系列操作。而且JSP的所有运用程序基于服务器,所以更新及时。这一优点完美解决了酒店管理员对信息处理中所存在的问题。在信息处理方面,顾客信息是重要组成部分。首先,酒店房间、消费价格等信息必须要面对顾客开放,且要更新及时,防止因为错误的信息更新且被顾客浏览后带来不必要的麻烦。另外,对于顾客的个人信息需要进行严格保密,所以顾客登录模块的建立花费了很大的精力。

此外,后台选择JAVA语言进行开发,因为JAVA是一种面向对象的编程语言,其好处就是能够在语言级别的基础上模拟世界的场景并且简化开发。很多的优点不仅仅局限于网站开发,对于其他开发也是相当优秀,如酒店管理系统等。而且JAVA能够大大减少开发的代码量的同时,保持强大的运行功能。这与本系统简易快捷的目的相符合

合理地选择数据库,也是本系统设计初期的重要环节。在一个管理系统中,有很多信息需要处理。本人还人文化添加了酒店附近的交通信息,所以对于数据库的选择非常谨慎。既要考虑实用性,还要对其成本以及可操作性等进行全面考虑。本系统采用MySQL建立后台数据库。因为本系统面向中小型酒店,所以不需要使用类似于Oracle、DB2的大型数据库。而MySQL高并发存取能力同样优秀,且价格便宜,安装使用简便快捷。并且具有开源性,可以根据酒店管理人员的不同要求进行代码的修改,达到定向升级优化的目的,从而使系统更适合酒店自身的需求。

当然管理系统相对于其他课题而言设计难度相对简单一点所以本系统中也存在一些不足一个完整的酒店系统会存在很多的数据处理。需要对顾客管理员酒店内部数据进行分类处理,然后进行汇总、分析等,最终形成酒店正常运行的所需数据信息。但由于个人能力有限,在本系统中,数据分析环节比较欠缺而且难以突破。例如顾客登录账号与注册账号是区分开的。注册账号为手机号,而登录账号为注册成功后系统自动生成。不足之处在于数据库中信息建立问题。如果时间充裕,本人会努力进行妥善解决。

6.2 设计总结

本设计经过不断的修改完善,已经实现了顾客注册、登录、查询、预订、快捷支付、修改个人信息等功能。顾客可以通过注册成功后根据提示进行操作。酒店管理员凭借个人账号密码,登录成功后,可以对客户信息、酒店信息进行查询、增加、删除和修改。而超级管理员是在管理员的基础上进一步完善,可以对管理员的信息进行相关操作。此功能是真实模拟酒店管理模式,显示反映职位等级不同,所进行的工作权限的区别。本系统的分类统计功能优越,对不同角色的不同使用权限进行了严格区分。着重注意个人信息的保护,提高酒店安全性。而且界面直观友好,操作简便快捷,对使用者要求较低。本人对开发运用的选择也本着简洁快速、缩小成本、功能强大的原则进行撰写。

写到这里,不经意间才发现毕业论文已即将完成。回顾整个过程都是不断地发现问题、解决问题的过程。

在设计本系统的过程中,我遇到了很多难以解决的问题且没有时间去请教老师,但通过查阅资料以及自己慢慢摸索,还有同学们的帮助,这些问题得到了妥善解决。当时只想着如何解决,并未考虑太多。现在仔细想来,都是自己基础知识薄弱造成的。在解决问题的同时,对以往所学的专业知识又进行了复习巩固,尤其是对数据库以及JAVA、JSP、HTML等知识点的了解与运用,进一步加深,从而牢固掌握一些必要技能,为我将来进入社会,走上工作岗位打下扎实基础。

四年大学生涯,学校给了我太多,而我却没能为学校做出贡献。本次毕业设计,是我对学校四年培养最完美的反馈。也许其中还存在很多不足,但的确花费了我很多的精力与时间。以前所学的理论知识在本次设计中得以充分运用,最大的成就感并不是毕业设计的完成,而是在解决解决问题的过程中对所学知识的复习巩固。并且让我明白了,理论知识只有通过与实践结合,才能真正意义上地拥有自身价值。同时,在做任何工作之前,充分的事前准备是非常有必要的。本次毕业设计,我在着手之前,对身边的一些快捷酒店的经营模式以及顾客的需求进行了充分调查与了解,才能够在后期针对性的进行毕业设计的开展,切实解决实质性问题。所以,本次课程设计相对而言,可用价值很高。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值