论文参考-酒店管理系统的设计与实现

更新时间:2024-05-05 04:53:01 阅读量: 综合文库 文档下载

说明:文章内容仅供预览,部分内容可能不全。下载后的文档,内容与下面显示的完全一致。下载之前请确认下面内容是否您想要的,是否完整无缺。

摘 要

酒店行业随着现在中国经济的不断发展日趋激烈。竞争也不断增加。为了解决此情况,酒店必须不断完善自身管理的手段和方法,提高自身的服务水平,只有这样才能得到健康稳定的发展。因此需要一套相对完善的酒店管理系统来实现。市场经济的不断成熟和技术的不断进步,也迫使各类企业从“以产品为中心”的经营理念逐渐转移到“以客户为中心”的服务模式上来。

整个系统从符合操作简便、界面友好、灵活、实用、安全的要求出发。主要实现酒店管理系统的各个功能模块,系统主要分为了前台管理和后台管理[1]。其中前台管理主要针对酒店所有的工作人员,包括入住登记模块、结账模块、预定模块、客户管理模块和业务统计模块等。后台管理主要针对的是超级管理员,包括客房类型设置模块、客户设置模块、操作员设置模块等。

与目前市面上的酒店管理系统相比,本设计更注重的是酒店的管理系统。本系统的UI界面更加友好,效率会更加提高,更快的办理入住手续,减少不必要的流程。将酒店管理中的数据提取分析,将其中有价值的客户信息提取出来,利用可视化技术将分析结果实时反映在系统业务流程中,直接为管理层提供决策支持,真正实现“以客户为中心”。

本文研究了酒店管理系统,并阐述了如何实现各功能模块。本设计的优势是设计集中体现“以客户为中心”的服务模型,帮助酒店增加客户价值、改善客户关系、提高客户满意度,以此来增强酒店的核心竞争力,使酒店在竞争中取得优势[2]。

关键词 酒店管理系统 客户中心 设计过程

I

Abstract

The hotel industry now with the continuous development of China's economy has become increasingly fierce.Competition is increasing.In order to solve this situation, the hotel must improve their own management means and methods, improve their service level, only then can obtain the healthy and stable development.So you need a set of relatively perfect hotel management system to achieve.Market economy matures and technological advances, and force of all kinds enterprise from \products as the center\the management idea gradually transferred to \

The whole system from conforms to the simple operation, friendly interface, flexible, practical, safety requirements.Each function module mainly realizes the hotel management system, system is mainly divided into the foreground and background management [1].Including front desk management mainly aimed at the hotel all the staff, including check-in registration module, check module, the module, customer management and business statistics module, etc.Background management mainly aims at is the super administrator, including guest room type module, customer setting module, operators setting module, etc.

And currently on the market compared with style hotel management system, this design is paid more attention to the hotel management system, more focus on the management system of each function module design.The UI interface of this system is more friendly, efficiency will be improved more and faster check-in procedures, reduce unnecessary process.Data extraction and analysis, from the hotel management will be one of the valuable customer information extracted, using visualization technology to analyze the results reflected in the real-time system business process, direct to provide decision support for management, truly achieve \as the center\

In this paper, we study the hotel management system, and expounds how to realize each function module.This design has the advantage of concentrated reflection of \the customer as the center\service model, to help the hotel to increase customer value, improve customer relationship and improve customer satisfaction, in order to enhance the core competitiveness of the hotel, a competitive edge in hotel in [2].

Key words Hotel Management System Customer Center Design Process

II

目 录

摘 要 ...............................................................................................................................I Abstract ......................................................................................................................... II 第1章 绪论 .................................................................................................................. 1

1.1 研究的背景及意义 .......................................................................................... 1 1.2 研究的现状及存在的问题 .............................................................................. 2 1.3 研究目标及内容 .............................................................................................. 3 1.4 研究成果 .......................................................................................................... 4 1.5 论文的组织结构 .............................................................................................. 4 第2章 需求分析 .......................................................................................................... 5

2.1 系统总体需求描述 .......................................................................................... 5 2.2 系统功能性需求 .............................................................................................. 6

2.2.1 客房类型设置模块的需求分析 ............................................................ 6 2.2.2 客房设置模块的需求分析 .................................................................... 7 2.2.4 入住登记模块的需求分析 .................................................................... 8 2.2.5 结账模块的需求分析 .......................................................................... 10 2.2.6 预定模块的需求分析 .......................................................................... 11 2.2.7 客户管理模块的需求分析 .................................................................. 12 2.3 非功能性需求分析 ........................................................................................ 13 2.4 小结 ................................................................................................................ 14 第3章 系统的总体设计 ............................................................................................ 15

3.1 运行环境选型 ................................................................................................ 15 3.2 系统总体设计 ................................................................................................ 15 3.3 系统核心功能模块设计 ................................................................................ 16

3.3.1 系统的登录模块设计 .......................................................................... 16 3.3.2 管理员登录模块的设计 ...................................................................... 17 3.3.3 客房类型设置模块设计 ...................................................................... 17 3.3.4 客房设置模块设计 .............................................................................. 18 3.3.5 操作人员设置模块设计 ...................................................................... 19 3.3.6 入住登记模块设计 .............................................................................. 20 3.3.7 结账模块设计 ...................................................................................... 21 3.3.8 预定模块设计 ...................................................................................... 21 3.3.9 客户管理模块设计 .............................................................................. 22 3.3.10 业务统计模块设计 ............................................................................ 23 3.4 系统的数据库设计 ........................................................................................ 23

3.4.1 系统E-R图 ......................................................................................... 23

III

3.4.2 客人信息表设计 .................................................................................. 24 3.4.3 房间状态表设计 .................................................................................. 25 3.4.4 房间信息表设计 .................................................................................. 25 3.4.5 预定信息表设计 .................................................................................. 26 3.4.6 退房信息表设计 .................................................................................. 27 3.4.7 历史信息记录表设计 .......................................................................... 27 3.5 小结 ................................................................................................................ 28 第4章 系统软件的详细设计与实现 ........................................................................ 29

4.1 核心模块详细设计 ........................................................................................ 29

4.1.1 登录模块的设计与实现 ...................................................................... 29 4.1.2 入住登记模块的设计与实现 .............................................................. 30 4.1.3 结账模块的设计与实现 ...................................................................... 31 4.1.4 客户管理模块的设计与实现 .............................................................. 31 4.2 核心代码展示 ................................................................................................ 32 结 论 ............................................................................................................................ 37 致 谢 ............................................................................................................................ 38 参考文献 ...................................................................................................................... 39

IV

第1章 绪论

1.1 研究的背景及意义

随着中国经济的不断增长和旅游行业的日益壮大以及大量的人员流动,酒店的数量迅速增长,与之相关的订房管理等各类信息量也成倍增加,酒店行业的竞争日趋激烈。酒店数量的越来越多,人们生活品质的越来越高,酒店业的竞争也更激烈。酒店行业要在竞争激烈的环境中良好的生存与发展,那么服务水平就必须跟着提高上来。所以电脑上的服务引入和电脑上的管理就显得尤为重要。有客房预定服务的行业,如酒店、宾馆等服务行业,在引进电脑管理系统后,提升了服务的效率,并且得到了客观的收益。所以这些行业要不停的改善和提高自身的管理办法才能在服务的质量与效率上得到提升,才能更好地服务于客人,从而拥有良好的口碑。因市场经济在我国的高速提升,使得各行各业从发展的眼光来看将目光从产品的质量发展上,渐移到服务的品质上。

为此,国家建设部已于最近做出明确规定:凡星级酒店在项目审批时,其设计方案必须包括电脑管理系统,否则不予立项[3]。可见,酒店管理电脑化势在必行。酒店管理系统将先进的电脑技术与现代酒店服务管理完美地结合起来,实现了住宿、餐饮全新概念的服务和管理方式[4]。

在酒店的传统管理上,因其入住办理的速度慢、错误率高、程序繁琐、资料不全、剩余位置无法及时得到更新等并且可能影响工作人员的耐心,导致服务质量差、投诉率高等潜在问题。这大大增加了经营者的压力与负担,分散其精力去处理以上问题所带来的麻烦与困扰。至此,体现了酒店管理系统的重要性,在上述问题中,其产生的根本原因在于无法系统的整理所有预定的数据。而电脑的酒店管理系统可以根据酒店的需要,增减其功能,使得在管理预定方面显得更得心应手,从而提高了工作效率和入住率,并且提升了客人对酒店服务质量的印象和为酒店提供了现代化、智能化的元素,这样就达到了提高员工服务效率和降低雇佣成本的目的。由此酒店管理系统的设计以及实现过程就显得尤为重要。

对于大量的登记信息的数据,开发一个电脑的管理系统去整合编写数据是非常有意义的。该设计系统拥有快速查询,登记入住,自动计费等功能,从而规范的对信息数据进行记录与管理。这样就可以减少人力物力,而且该系统设计的操作方式简单易懂,符合人性化管理,不同于传统的人工操作管理方式。具有高效,快捷,易操作,错误率低等特点。从而实现了对数据系统规范的管理,提高企业核心竞争力和优质的服务形象。

酒店管理系统是整个酒店管理中的核心体现,所以酒店管理系统需要从酒店管理层的角度出发来设计实现。面对信息时代的机遇和挑战,利用科技手段来提高企业管理无疑是一条行之有效的途径。信息与科技在酒店管理与现代化建设中显现出越来越重要的地位[5]。从某方面看来,酒店宾馆客房数据的科学

1

化管理可以体现该企业的现代化水平,成为当今酒店系统等服务行业科技化的重要符号。这就是此次要设计本系统的意义与背景,对入住数据的管理有着重要的地位。

1.2 研究的现状及存在的问题

商业竞争日趋激烈,客户个性化需求在市场竞争环境下更加显著。随着我国改革不断深化、经济转型不断深入,酒店行业市场更加广阔。但是各种类型的酒店不断涌现、客户群体差异化,使得酒店行业无法满足客户个性化需求和日益恶化的生存环境。所以首先要在该行业中普及电子商务来酒店行业需要增加电子商务来提高服务质量与效率,同时,降低成本。其次,酒店行业需要一种适用于其自身的可以有效帮助酒店增加客户价值、改善客户关系、提高客户满意度的酒店管理系统,以此来增加酒店的核心竞争力,使得酒店在竞争中取得一定的优势[6]。

二十年来,我国加大旅游业宣传力度,使得租住率骤然上升,酒店类行业乘次巨浪也激流勇进,得到广泛发展。2004年国家旅游局发布报告指出我国星级酒店增长率为11.7 %,2007年《中国旅游业统计年鉴》显示全国的星级酒店增长到12751家,星际酒店总数的年均增长率达到15.3%[7]。酒店星级的考评中,有对酒店电脑信息化管理的考察项,因此提升了管理系统在酒店中的关键地位。旅游业的发展带动酒店业,酒店业带动酒店管理系统,形成良性循环。促使该系统更加人性化,功能全面化的提升进步。所以酒店管理系统可以使酒店管理的大量繁琐工作自动化、简单化,能有效地节省人力物力,提高酒店的管理水平,降低酒店的运营成本[8]。所以在这样发展的条件下,酒店的管理系统的设计与实现就显得尤为重要。

近年来,许多国际知名的跨国酒店集团已经将注意力落到酒店的管理系统上来。著名国际酒店希尔顿很早就开始把客户入住偏好、基本信息等记录下来,为客户提供个性化的服务。以服务顾客为宗旨成为各国际大酒店如喜来登酒店、卡尔森旅游集团、汤姆森旅游集团等的重要服务理念,以这种信息化的管理模式下工作,可以在服务顾客的同时,更好地替身自我。并保证了酒店的现代化的竞争力度与发展目标。

在国外,酒店更倾向于经济型发展,较我国相比更前卫,更发达一些,其在三十年前便普及了网络实时管理等系统,在顾客感受科技所带来的便利的同时,又得到了无与伦比的享受服务。但在国内,却是仍然刚刚兴起的探索时期,并没有那么多的经验和思路。本文设计的酒店管理系统目标为达成分类并系统的处理各种信息数据,并可以统计数据,并记录往来人群的信息,得到分析的数据,对消费群体的层面(年龄,消费水平,最受欢迎的项目等)进行统计,从而给予酒店发展的目标,提升酒店服务倾向和项目的开发重点,来做出更加符合消费者消费习惯的优秀服务。

通过以上调查不难看出,酒店间无形的增加了在管理系统上的竞争,成为

2

一处酒店业间的战场,所以各酒店的管理系统需要将自己的系统统一好。在国外的一些连锁的大酒店采用自主开发的管理系统,有的已经具有非常成熟的体系,功能完善并加以实施,并同时垄断了一些国内的星级酒店的管理系统。所以规模稍小的宾馆酒店便缺乏酒店管理系统,无法更好地提升。就用一些最简单的管理系统来提升自己的服务。虽然酒店系统在我国仍处于较初级的层面,与国外智能化相比明显有差距,但仍然算为朝阳期,未来将会有很大的提升空间和发展的潜力。

1.3 研究目标及内容

本论文主要研究的是酒店管理系统的设计与实现。随着酒店行业的不断发展壮大,酒店管理系统越来越广泛地应用到酒店的管理中去,并且目前市面上的酒店管理系统更多的是注重酒店的产品推荐,所以我研究的课题主要以酒店管理系统为重点,研究其设计以及各个功能模块的实现。

为了将酒店管理系统中做的更加完善,效率更高,所以事先进行了查阅大量资料、了解国内外酒店管理系统的历史和近况,以及酒店管理系统的在现代的发展趋势等工作。

经过研究发现,随着旅游行业的日益发达,直接影响了酒店行业的发展,酒店行业的发展趋势蒸蒸日上,现在的酒店管理系统经过多年以来的发展已经很完善,但是大多数的酒店管理系统更为注重的是产品的介绍,但是如果没有一套完整的酒店管理系统来支撑整个的酒店运营管理,就容易造成浪费大量的时间和人力来处理这些事情,所以我研究的课题主要以酒店管理系统为中心,大大减少酒店员工和管理层的时间和精力。

酒店管理系统分为前台和后台两个部分,其中后台供管理员管理系统之用,包括客房类型设置模块、客房设置模块以及操作员设置三个子模块,具体的功能模块如下。

客房类型设置模块:酒店管理系统的所有客房类型都由此模块来管理。包括增加新的客房类型信息、编辑已有的客房类型、删除客房类型信息等功能。

客房设置模块:客房设置主要用来设置该酒店的客房类型,包括增加新的客房信息、编辑已有客房信息、删除客房信息等功能。

操作员设置模块:该酒店管理设置管理员的操作都在该模块进行。该模块用来管理酒店的操作员的信息以及权限,包括新增操作员、编辑已有操作员信息、删除操作信息等功能。

系统前台管理是供酒店所有工作人员使用,包括客户入住登记模块、结账模块、预定模块、客户管理模块以及业务统计五个模块。具体的功能模块如下。

入住登记模块:该模块是酒店管理系统中的前提部分,其中包括登记信息、客人信息以及费用信息三部分。

结账模块:客户如果办理退房手续,需要登录该模块处理。只需要得知房

3

间号码即可办理退房手续。

预定模块:管理人员可以帮助客户在此模块办理预定,除此之外,还可以对已有的预定信息进行管理。

客户管理模块:用来进行设置新增客户信息、编译已有客户信息、删除客户信息等功能。

业务统计模块:酒店客房的出租率是用该模块来体现的。图形直观明了。

1.4 研究成果

本论文主要研究酒店管理系统。对于系统前台来说,本系统目前可以让酒店管理人员快速登记客户的入住信息、处理客户的退房信息、处理客户的预定信息、管理客户的登记信息、统计酒店的客房出租率。对于系统后台来说,该系统可以让管理员管理酒店的所有客房类型、管理酒店的所有客房信息、管理酒店的操作员信息。

1.5 论文的组织结构

论文的章节分为以下几个部分:

第1章是绪论。该部分主要介绍了本项目的课题背景,以及研究的目的和意义。分析了国内国外的现状以及国内外的现状对比。阐述了研究的目标及其内容。

第2章是系统需求分析。该部分主要阐述了系统的各个功能模块的需求分析。详细介绍了各个功能模块的具体内容。

第3章是系统的总体设计。主要介绍了系统的一些运行环境以及总体设计。详细描述了各个功能模块的具体设计。

第4章是系统软件的详细设计与实现。主要介绍了系统的流程以及核心模块的详细设计。展示了部分核心代码。

结论主要阐述了写作期间所遇到的问题和下一步工作展望。

致谢主要感谢在写论文期间对我有过帮助的各位老师,同学和父母。

4

第2章 需求分析

本章对酒店的管理系统的设计及其功能模块的实现进行需求分析,以便为后续章节的详细设计做好准备工作。

2.1 系统总体需求描述

如图2-1所示酒店管理系统用例图。

入住登记模块结账模块预定模块客户管理模块业务统计<><><><><><>前台酒店工作人员酒店管理系统<><>客房类型设置模块<><>客房设置模块后台管理员操作员设置模块

图2-1 酒店管理系统用例图

本论文所设计的酒店管理系统分为前台管理和后台管理两个部分,其中后台供超级管理员管理系统使用,可以进行所有功能操作,除前台所有功能外,主要包括客房类型设置模块、客房设置模块以及操作员设置三个模块,具体的功能模块如下。

客房类型设置模块:该酒店所有的客房类型设置都由该模块来进行管理操作,主要包括增加客房类型、编辑已经存在的客房类型、删除客房类型等功能。

客房设置模块:该酒店所有的客房信息都由该模块来进行管理操作,包括新增客房信息、编辑已有客房信息、删除客房信息等功能。

5

操作员设置模块:该酒店所有的操作人员的设置都由该模块来进行管理操作,可以对操作人员的身份进行增加、删除、整改、删除等操作。

系统前台管理主要是供酒店所有工作人员使用,主要包括顾客入住登记模块、结账模块、预定管理模块、客户管理模块以及业务总结统计五个模块。具体的功能模块如下。

入住登记模块:所有来访的客户入住信息都由本模块操作,其中包括入住前登记信息、客人详情以及所需费用信息三部分。

结账模块:如果客户需要进行退房处理则需要在本模块操作,为了操作方便,退房出示房间号码即可进行退房。

预定模块:如果客户在入住前进行了预定,则可在本模块查询操作,也可进行增加预定信息操作。

客户管理模块:客户的登记信息将在此模块被管理归纳,主要包括增加客户信息、编辑已经存在的客户信息、删除不需要的客户信息等功能。

业务统计模块:该模块用来统计酒店的客房出租率,并且以图形报表的形式来展示客房出租率。

酒店管理系统的功能性框图如图2-2所示。

客房类型设置模块新增客房类型编辑已有的客房类型删除客房类型

图2-2 酒店管理系统功能性框图

2.2 系统功能性需求

2.2.1 客房类型设置模块的需求分析

客房类型设置模块属于后台管理的部分,是供超级管理员(也就是酒店的最高管理人员)使用操作。主要的权限有增加新的客房类型、编辑已经存在的客房类型、删除客房类型等功能。

6

酒店的管理系统均会提供给客户多种多样的房间类型,本操作模块就是用来设置多种的房间类型,可以添加不同的房间的类型以及各种房间类型所携带的房间类型信息供客户选择,客户可以根据自己的喜好来选择自己需要的客房。

展示界面如下图2-3所示:

图2-3 酒店管理系统客房类型设置展示图

2.2.2 客房设置模块的需求分析

客房设置模块属于后台管理部分,是供超级管理员(即酒店的最高管理人员)使用操作。主要功能有增加新的客房、编辑已经有的客房、删除客房等功能。

展示界面如下图2-4所示:

图2-4 酒店管理系统客房设置展示图

7

超级管理员在此模块的权限主要有,在客房类型界可以进行添加客房、保存数据、删除选中客房、重新加载数据等操作。并且需要填写房间号、区域、楼层、房间类别、房间状态、实际价格、实际折扣、分机电话、房间图片、是否可用?等信息。

超级官员添加以上信息后,方便普通管理员和客户的使用操作,使客房信息简介明了,容易操作,提高效率。

2.2.3 操作人员设置模块的需求分析

操作人员设置模块也属于后台管理部分,是供超级管理员(也就是酒店的最高管理人员)使用操作。主要有增加新的操作人员、编辑操作人员、删除操作人员等功能。

超级管理员在此功能模块的主要权限,就是对今后可以对本系统进行前台登录的管理员进行管理,对其增删改除,并且对其赋予权限。

展示界面如下图2-5所示:

图2-5 酒店管理系统操作人员设置展示图

2.2.4 入住登记模块的需求分析

入住人员登记模块属于系统的前台管理部分,是供酒店所有工作人员使用操作的。主要有登记入住信息、客人信息、费用信息等功能。

该模块主要用来录入来访客户的入住信息,填写完入住信息之后,办理相应手续,即可入住。

填写入住基本信息之后,还可完善客户的个人信息,进行存档,以便下次使用,该操作快捷方便容易操作。

8

如果已经完成入住,因为在录入信息时会填写入住时间和离店时间以及人员数量等信息,所以填写以上信息后,也会在该模块也会自动算出相应的费用信息。展示界面如下图2-6所示:

图2-6 酒店管理系统入住登记模块登记信息展示图

9

展示界面如下图2-7所示:

图2-7 酒店管理系统入住登记模块客人详细信息展示图

2.2.5 结账模块的需求分析

结账模块属于前台管理部分,是供酒店所有工作人员使用操作。可根据顾客的入住时长来进行结算。

此模块顾名思义,是用来进行结算费用信息的,根据客户入住时所登记的入住时间,以及住房的时间,还有所选的房间类型等信息,系统可以自动计算

10

出所需的费用,客户根据数额缴费即可。

展示界面如下图2-8所示:

图2-8 酒店管理系统结账模块设置展示图

2.2.6 预定模块的需求分析

预定模块属于前台管理部分,是供酒店所有工作人员使用操作。管理人员对于该模块的权限为,可以对该模块进行增加新的预定信息和对已有信息进行管理。

展示界面如下图2-9所示:

图2-9 酒店管理系统预定模块设置展示图

11

根据用户所需,有时客户可根据多种方式来进行客房预订,管理人员为客户将预定信息录入好之后即可存档,待客户来入住时调出即可,之后可继续完善信息,办理入住。

展示界面如下图2-10所示:

图2-10 酒店管理系统信息添加成功提示展示图

2.2.7 客户管理模块的需求分析

客户管理模块属于前台管理部分,是供酒店所有工作人员使用操作。该模块的主要权限是增加新的客户信息、编辑已经存在的客户信息以及删除客户信息等。

该模块主要展示客户的各种信息,可以随时对其进行增删改查已经其他管理操作。

展示界面如下图2-11所示:

图2-11 酒店管理系统客户管理模块设置展示图

12

2.2.8 业务统计模块需求分析

业务统计模块属于前台管理部分,是提供酒店所有工作人员使用操作。 主要为某年度的旅客住宿率统计图,并且以图形报表的形式展现出租率,采用条形统计图可以更直观的提供给酒店管理人员,更方便快捷的看出12个月份的出租率对比。

展示界面如下图2-12所示:

图2-12 酒店管理系统业务统计模块设置展示图

2.3 非功能性需求分析

本节主要是针对用户的需求进行一些细节上的分析。

易用性需求。易用性是以用户为中心,结合视觉、交互、情感等综合感受,使软件更简易、高效地适应用户的使用需求和习惯。系统已经涵盖了业务需求,功能比较齐全,也尽可能的采用了先进成熟的技术,进行了界面原型设计并经过用户反复确认,通过了性能测试、系统测试以及用户接受测试[9]。软件系统的功能现如今已经非常商品化了,而在未来将不同的供应商和产品区分高下的根本因素将使功能是否易懂[10]。设计应考虑到在未来的发展中,该设计是否可以被普遍认可与使用。大多过多接受该方面的小型宾馆一类,是否可以做到一学就会那样的方便快捷。而且用户们渐渐地已经习惯于基于web的操作简易但是功能全面的系统并希望自己的系统也可以一样简便全面。而本酒店管理系统采用的方式和方法正是如此。随着商业市场和环境的越来越复杂,软件必须进一步简化。据此调查,大抵总结为,我们所设计的酒店管理系统需要全面考虑使用者的实际要求与感受,这样才能做出令人满意的程序。

13

对于稳定性的要求方面比较多,应该提前调查用户的实际使用的需要与建议,而且考虑到随着使用时间的增加,对系统操控的熟练度也会增加,之后可能会不满足于现有的功能,在需求上也许会增加,要准备随时弄清用户的反馈,做及时的更新,只有处理好与用户的交流,才会提高软件发展的稳定性。搭建系统框架需要在此阶段完成,其中包括需求规格说明书、详细规格说明书、企业管理等成果物的编写。也就是说设计时应该尽量避免不必要的因素影响,这才能设计出好的作品来保证双方的合作关系与系统的稳定性。在开发复杂系统时,尽可能地将组件或者服务单独实现,以便因为某一环节的出现错误而影响整个系统。

对于后期维护性的方面讲的是设计的该系统源代码是否容易被更改,其实更改是一定的,因为只有随时根据需求而改变才能获得更好的口碑,更加符合市场需求,让软件的功能更完善,但在更改的过程中容易出现与当初设计时的想法背道而驰,从而导致架构崩乱,质量下降,所以,在开发设计时,应考虑程序与程序之间尽量不要循环以来或者相互依赖。相互依赖的危害性很大,其中任何一个片段的改变都容易引起整个系统的变动。综上所述,本系统的可维护性需求是高内聚,低耦合的特点。

为了该系统能有更好的发展,该应用的设计应有良好的随机应变性,可随时对其功能进行补充或升级。改动其功能和工作的能力效率等不会对代码程序造成过大的影响。能够在不影响系统的正常使用前提下实现系统功能模块的扩充,容易实现系统的在线升级。让系统拥有良好的可扩充性也成为此次设计的一部分挑战。

对于其应用的要求:界面美观、选项详细、功能强大、排版简洁、提示人性化,并且一些输入的部分有记录功能,方便用户使用。

在运行方面期待可以更加人性化,并且可以后台操作,还可以考虑与一些平台合作,可以达到更全面的扩展,还能推出一系列活动,入扫码付费,网上自行预订房间等??

系统安全性良好。重要的数据要求为较高的加密等级,系统的健壮性好,具有一定的数据恢复能力,有着良好的错误提示,且有较好的容错处理机制。安全性已经成为管理软件不能回避的重大问题。相对于一般的管理软件,标准管理系统对安全性的要求更高。网络中的应用系统面临的风险多种多样,因此要充分考虑各种安全机制的结合,引入防火墙、入侵检测、漏洞扫描、信息加密以及数据备份等安全技术,确保系统的安全运行、数据的安全保密[11]。

2.4 小结

本章主要介绍了该酒店管理系统的系统需求分析。先对该酒店管理系统的系统总体需求进行描述,并展现了用例图以及功能性框图,然后对系统性的需求进行了分析,对其中的各个模块进行了详细的需求分析,最后对该系统的非功能性需求进行了整体的描述。

14

第3章 系统的总体设计

3.1 运行环境选型

本系统主要基于的硬件环境: (1)CPU:P4 3.0G以上; (2)内存:1GB以上;

(3)硬盘:硬盘80G; (4)本系统的开发工具具体如下; (5)系统开发平台:MyEclipse 6.5。 (6)数据库管理系统软件:MySQL 5.0。 (7)Java开发包:JDK 5.0以上。 (6)Web服务器:Tomcat 6.0。

3.2 系统总体设计

为了满足用户对系统的功能需求、以及对系统数据的安全性、数据一致性要求,本系统的设计思想是:

本系统采用MVC模式,模型—视图—控制器模式简称为MVC(Model-View-Controller,MVC)。

MVC之间关系如图3-1。

图3-1 MVC之间关系图

用户对软件最直接的感受是软件的界面特性。对同一个应用问题,不同的用户、不同的计算环境、不同的时期,可能都要求有不同的界面表示形式[12]。例如,当在不改变领域模型的前提下要求扩展应用功能,当用户对界面提出新的和特别的要求时,当把某个系统的设计思想移植到另一个运行环境时,都要求对界面进行某些修改[13]。

从保证数据的安全性和有效性考虑,将分为数据录入用户和数据查询用户。

15

录入用户主要负责数据的录入和修改。

系统安全性设计: 身份验证(登录) 数据限制:访问数据库用户的分部属性决定的访问数据的范围。 功能限制:通过用户功能视图限制用户对数据的操作[14]。

用户角色设定和用户权限分配:每个用户都有自己的权限,权限所涉及的功能是超级管理所分配的。用户的权限与当时设定的全线都是相匹配的,而且用户的权限根据实时需要可以变更。

系统架构如图3-2。

图3-2 系统架构图

3.3 系统核心功能模块设计

3.3.1 系统的登录模块设计

登录是每个系统都不可或缺的一部分,系统的登录模块设计主要功能就是用来登录到该酒店管理系统中去。因为该酒店管理系统分配了不同的管理权限,所以在登录本系统成功之后,不同权限的用户会根据设计的模式,进入到显示操作不同的界面。由于在程序内部的后台会对用户进行判断,所以第一个步骤就是把从前台得到的用户名和其所对应的密码进行接受处理,之后会在后台按照拟定好的原则进行后台处理,然后再把已经得到的用户名在数据库中进行匹配相关的信息,从而在数据库中进行继续的查询,如果能够检查到该用户,那么则会把该用户对对应的权限以及密码全部提取出,之后分别赋予两个不同的字符串变量,从而判断用户在前端输入的密码是否能够与数据库中给定的密码匹配成功,如果密码匹配能够成功,则会依据权限的值,进入不同的操作页面,但是如果输出的密码是错误。即便是用户没有被管理员分配指定的权限,那么

16

同样也是无法成功登陆本系统的,

展示界面如下图3-3所示:

图3-3系统登录模块界面展示图

3.3.2 管理员登录模块的设计

管理员的登录权限有两种模式:最高级管理员和普通权限的管理员。 超级管理员是指酒店的最高管理员,可进行一些后台上的操作和前台的所有操作。进入后台管理后分为客房设置和用户基本设置。超级管理员可以分配权限,设置普通管理员的用户名和密码以及所能操作的功能。

普通管理员只能进行前台操作,而超级管理员可以前台和后台的操作。权限不同,分配的功能也不同。

3.3.3 客房类型设置模块设计

该模块用来管理酒店的所有客房类型,包括新增客房类型、编辑已有客房类型、删除客房类型等功能。

客房类型设置模块属于后台管理部分,是供超级管理员(也就是酒店的最高管理人员)使用操作。

登录说明:管理员登录是需要输入用户名和密码。如果输入错误,显示框红显,需要重新输入,直到正确为止才会登录成功。输入正确的用户名和密码之后,会出现提示“正在登录,请稍后??”,在跳转页面会根据网络情况提示“初始化核心代码”、“欢迎进入酒店管理系统”字样,成功登录之后就会进到酒店管理系统的主页面,本页面设计简单明了,很直观,也很容易操作。

17

如图3-4所示是客房类型设置功能框图

客房类型设置模块新增客房类型编辑已有的客房类型删除客房类型

图3-4 客房类型设置功能框图

进入主页面以后,点击右侧上方的【系统维护】,进入到后台管理页面。选择菜单栏列表中的后台管理>系统基本设置>客房设置>客房类型设置。

1.在客房类型界面中,可以进行【添加客型】、【保存数据】、【删除选中客型】、【重新加载数据】等操作。并且需要填写【房间类别名称】、【床数】、【预定价格】、【预定折扣】、【计时最低价】、【计时每小时价】等信息。

2.点击添加客房类型时默认添加房间类别名称:单人间。床数:0。预定价格:¥0.00。预定折扣:¥0.00。计时最低价:¥0.00。计时每小时价:¥0.00。单击选中信息位置即可更改。

3.可以勾选上复选框来进行选择删除数据操作。可以进行多选,如果选择房间类别名称前的复选框则可进行全选。

3.3.4 客房设置模块设计

客房设置模块属于后台管理部分,是供超级管理员(也就是酒店的最高管理人员)使用操作。主要有新增客房、编辑已有客房、删除客房等功能。登录操作步骤以及跳转说明同客房类型设置模块中的登录说明。

进入主页面以后,点击右侧上方的【系统维护】,进入到后台管理页面。选择菜单栏列表中的后台管理>系统基本设置>客房设置。

(1)在客房类型界面中,可以进行【添加客房】、【保存数据】、【删除选中客房】、【重新加载数据】等操作。并且需要填写【房间号】、【区域】、

18

【楼层】、【房间类别】、【房间状态】、【实际价格】、【实际折扣】、【分机电话】、【房间图片】、【是否可用?】等信息。

如图3-5是客房设置功能框图。

客房设置模块新增客房信息编辑已有的客房信息删除客房信息

图3-5 客房设置功能框图

(2)点击添加客房类型时默认添加房间号:10000。区域:0。楼层:0。房间类别:标准间。房间状态:空闲。实际价格:¥0.00。实际折扣:¥0.00。分机电话:0。房间图片:(标准间的图片)。是否可用?:设置为勾选状态。单击选中信息位置即可更改。

(3)可以勾选上复选框进行选择删除数据操作。可以进行多选,如果选择房间号前的复选框则可进行全选。

3.3.5 操作人员设置模块设计

操作人员设置模块属于后台管理部分,是供超级管理员(也就是酒店的最高管理人员)使用操作。主要有新增操作员、编辑操作员、删除操作员等功能。

进入主页面以后,点击右侧上方的【系统维护】,进入到后台管理页面。选择菜单栏列表中的后台管理>系统基本设置>用户基本设置。

1.在客房类型界面中,可以进行【添加操作员】、【保存数据】、【删除选中的操作员】、【重新加载数据】等操作。并且需要填写【操作员用户名】、【密码】、【权限】、【地址】、【姓名】、【电话】、【手机】、【邮编】、【创建时间】等信息。

2.点击添加操作员时默认添加操作员用户名:user。密码:空。权限:普通权限(可以下拉菜单进行选择)。地址:空。姓名:空。电话:0。手机:0。邮编:0。创建时间:(系统将自动生成)。单击选中信息位置即可更改。

19

3.可以勾选复选框进行选择删除数据操作。可以进行多选,如果选择操作员用户名前的复选框则可进行全选。

如图3-6是操作人员设置功能框图

操作人员设置模块新增操作人员编辑已有的操作人员删除操作人员

图3-6操作人员设置功能框图

3.3.6 入住登记模块设计

入住登记模块设置功能如图3-7。

入住登记模块登记信息客人信息费用信息

图3-7 入住登记模块设置功能框图

入住人员登记模块属于前台管理部分。主要有登记信息、客人信息、费用信息等功能。进入到主页面以后,右侧部分为入住登记模块。入住登记模块主要分为两部分,有登记信息和客人详细信息。其中登记信息菜单主要有登记信息、客人资料、费用信息。

登记信息主要包括登记时间、天数、离店时间、客人类型以及人数。其中客人的类型有四种类型,普通客人、会员、贵宾和协议单位。

客人资料主要包括姓名、性别、证件号和证件类型。其中证件类型可在下

20

拉列表中选择身份证、学生证、军官证、警官证、士兵证、驾照、护照、户口簿以及其他。

费用信息主要是对已经选择房间进行信息展示以及所需要的价格。会根据选择列表展示出房间号码、类型、预设价、折扣、实际价、加床费、总费用、操作的营业员、付款方式(单击可以选择现金、信用卡、支票、其他)、预付金、登记单号(登记单号会在提交登记记录后自动生成)。

单击【登记】按钮后,弹出提示框“登记成功”,然后【登记】按钮灰色显示,可以按【重置】进行重新录入信息。

点击下方菜单栏进行切换,可以选择【客人详细信息】,可以将客人的信息更加完善,具体包含内容有:姓名、性别、证件号、证件类型、国籍、客人类型、邮编、电话号码、手机号码、Email、家庭住址、工作单位。

客史资料:可以通过查看交易单号查询。

3.3.7 结账模块设计

结账模块属于前台管理部分,是供酒店所有工作人员使用操作。可根据顾客的入住时长进行结算。

进入到主页面以后,主页面会显示住房状态以及住房信息。在房间图片处右击,可显示【登记该房间】、【查看登记信息】、【查看预定信息】、【预定入住】、【更改房间状态】等操作。点击【查看登记信息】,在右侧的入住登记栏中即可显示入住时录入的信息,包括登记信息、客人资料以及费用信息。并且可以对登记时间、离店时间、入住天数等进行更改操作。系统在后台可以根据入住天数自动计算出所用的费用。

点击【结账】按钮,系统会弹出结账信息的提示框,结账信息主要包括登记单号、结账类型、付款方式、离店应收、预付押金、剩余金额、续收金额、营业员以及结账说明等信息。可以点击【结账】按钮确定进行结账。

3.3.8 预定模块设计

预定模块属于前台管理部分,是供酒店所有工作人员使用操作。预定模块主要包括新增预定信息和对已有信息进行管理。

进入到主页面以后,依次点击酒店管理系统>预定管理>预定中心。主要包括预定信息、可用预定、管理预定、所定房间以及单日预定状态图。

其中预定信息模块包括预定方式、预到日期、预离时间、最早到店、最晚到店、预定状态、姓名、性别、证件类型、证件号、联系电话、Email、传真、总费用、预付方式、预定金、预定单号、营业员以及备注。可将以上预定信息必填项全部填好。其余项可自行选择是填选。

下一步进行可用预定的查看,按照日期和房间类型可将可以筛选出想要选

21

择的房间信息。双击房间信息可将该房间添加到所定房间的模块中去。如果重复点击,会提示“该房间已在预定中”。

预定模块设置功能如图3-8.

预定模块新增预定信息对已有的预定信息进行管理

图3-8 预定模块设置功能框图

所定房间模块会显示刚才已经选择预定的房间号码,确定好之后可以点击【预定】按钮。添加成功后,会弹出提示框显示“预定信息添加成功”。

点击【入住】即可直接切换到入住登记页面中去。

3.3.9 客户管理模块设计

客户管理设置功能如图3-9。

客户管理模块新增客户信息新增客户信息删除客户信息

图3-9 客户管理设置功能框图

22

客户管理模块属于前台管理部分,是供酒店所有工作人员使用操作。客户管理模块主要包括新增客户信息、编辑客户信息以及删除客户信息。

进入到主页面以后,依次点击酒店管理系统>客人信息。

客人信息主要包括姓名、性别、有效证件类型、有效证件号、国籍、客人类型、家庭住址以及删除操作。然后所有的客人均按客人的类型进行分组排列。点击客人所在行删除操作下的按钮可进行该客人信息的删除操作。

选中客人信息然后会在右侧的客人详细信息中显示出来,点击修改可以重新录入客人的信息。可进行重置等操作,最后确定修改即可。

3.3.10 业务统计模块设计

业务统计模块属于前台管理部分,是供酒店所有工作人员使用操作。业务统计模块主要是统计出租率。

进入到主页面以后,依次点击酒店管理系统>业务统计。

主要为某年月度旅客住宿率统计图,并且以图形报表的形式展现出租率,采用条形统计图可以更直观的提供给酒店管理人员,更方便快捷的看出12个月份的出租率对比。

3.4 系统的数据库设计

数据库的设计,指的是给予一个特定的环境,然后构造出相对比较来说良好的数据库的使用模式,然后建立出相应的数据库以及对应的应用系统,从而将用户的实际需要满足。由此看来,数据库的设计对于整个系统来说是一个必不可少的一个环节。总体来讲,数据库好比是一切的系统的设计以及开发的基础。那么简单来讲,数据库的设计就像是盖房子之前所打的地基,如果设计的稍有不合理或者是不完善,那么在系统开发过程中,更甚者到后期进行的系统维护、功能的变更以及进行功能的扩充时,将会引起较多的问题,严重的时候甚至会导致进行重新设计,来重做大量已经早已完成工作,这样将会大大的浪费我们的时间,如果将这些浪费的时间放到设计系统上,从而来优化系统,则是更好的选择。

3.4.1 系统E-R图

系统的E-R图展示了各个模块的属性以及各个表之间的关联。

23

如图3-10所示系统E-R图

图3-10 系统E-R图

3.4.2 客人信息表设计

客人信息表保存了该酒店管理系统中客人的相关信息。其中表中各个字段的说明如下表3-1和3-2所示。

表3-1客人信息表 字段名称 数据类型 是否为空 说明 身份证号 Cus_ID Int Not null 房间ID Room_ID Int Not nul 姓名 Cus_Name Char Not null 性别 Cus_sex Char Not null 年龄 Cus_Age Int 国际 Cus_National Char 家庭住址 Cus_Address Char VIP号 Cus_Vip Int 是否合约 Cus_Agreement Bool

24

姓名=1{汉字}8 身份证号= 性别=男|女 年龄=0~200 国籍=1{汉字}10 家庭住址=1{汉字}16 房间ID=“0000”?“9999” VIP号=“00000001”?“99999999” 是否合约=“1”“0” 表3-2客人个人信息表定义 姓名为1~8位汉字 身份证号规定为18位数字 性别为男女两种 国籍10个汉字之内 地址为1~16位汉字 房间ID号规定为4位数字 账号规定为8位数字 1表示是,0表示否

3.4.3 房间状态表设计

房间状态表保存了该酒店管理系统中房间状态的相关信息。其中表中各个字段的说明如下表3-3和3-4所示。

表3-3房间状态表 字段名称 数据类型 是否为空 说明 客房ID号 Room_ID Int Not null 房间状态 Room_State Char Not null

表3-4房间状态表定义 客房ID=“0000”?“9999” 房间ID号规定为4位数字 房态=“1”“0” 1——出租 0——未出租 3.4.4 房间信息表设计

房间信息表保存了该酒店管理系统中房间信息的相关信息。其中表中各个字段的说明如下表3-5和3-6所示。

表3-5房间信息表定义 字段名称 数据类型 是否为空 说明 客房ID号 Room_ID Int Not null 客房类型 Room_Type Char Not null 客房价格 Room_Price Int Not null 房间面积 Room_Area Int Not null 床位 Room_Bed Char Not null 客房描述 Room_Description Char

25

表3-6房间信息表定义 客房ID=“0000”-“9999” 房间ID号规定为4位数字 客房类型=高|中|地 00、01、11表示 客房面积=0~200平方米 客房价格=20~20000元 床位=1~8个 3.4.5 预定信息表设计

房间状态表保存了该酒店管理系统中房间状态的相关信息。其中表中各个字段的说明如下表3-7和3-8所示。

表3-7预定信息表 字段名称 数据类型 是否为空 说明 姓名 Cus_name Char Not null 身份证号 Cus_ID Int Not null 性别 Cus_Sex Int Not null 家庭住址 Cus_Address Char Char 电话 Cus_Tel Int 房间号 Cus_RoomNun Int 订房时间 Cus_Time Int Not null 押金 Cus_Money Int Not null

表3-8预定证明表定义 姓名为1~8位汉字 身份证号规定为18位数字 性别为男女两种 地址为1~16位汉字 电话号为16位数字之内 日期由年月日组成 姓名=1{汉字}8 身份证号= 性别=男|女 家庭住址=1{汉字}16 电话=1{数字}16 房间数量= 订房时间=年+月+日 年=“0001”..“9999” 月=“01”..“12” 日=“01”..”31” 押金=“0000000.01”..“9999999.99

26

3.4.6 退房信息表设计

退房信息表保存了该酒店管理系统中退房的相关信息。其中表中各个字段的说明如下表3-9和3-10所示。

字段名称 Name ID Sex

表3-9退房信息表 数据类型 是否为空 Char Int Char Not null Not null Not null 说明 姓名 身份证号 性别 姓名=1{汉字}8 身份证号= 性别=男|女 客房核实结果=1-4

表3-10退房信息表定义 姓名为1~8位汉字 身份证号规定为18位数字 性别为男女两种 结果为1~4位汉字 3.4.7 历史信息记录表设计

历史信息记录表保存了该酒店管理系统中房间状态的相关信息。其中表中各个字段的说明如下表3-11和3-12所示。

字段名称 Room_ID Room_BeginTime Room_LastTime Room_TotalPrice

表3-11历史信息记录信息表 数据类型 是否为空 Int Int Int Int Not null Not null Not null Not null 说明 客房ID号 开房时间 退房时间 收取金额 27

表3-12历史信息记录信息表定义 客房ID号=“0000”?“9999” 房间ID号规定为4位数字 开房时间=年+月+日 日期由年月日组成 年=“0001”..“9999” 月=“01”..”12” 日=”01”..”31” 退房时间=年+月+日 日期由年月日组成 年=“0001”..“9999” 月=“01”.. “12” 日=”01”.. “31” 金额=“0000000.01”.. “9999999.99” 住客ID= 身份证号规定为18位数字

3.5 小结

本章节主要介绍了系统的总体设计。阐述了本系统的运行环境和总体设计模式。介绍了系统的一些核心功能模块的设计。并介绍系统的数据库设计以及数据库中各个表的设计。

28

第4章 系统软件的详细设计与实现

本酒店管理系统的设计的侧重点在于,对该系统的入住手续办理、快速录入信息以及房间选择等一系列业务流程的设计与实现,整个流程思路清晰,采用AJAX异步处理方式,使得各个模块的操作不互相影响,简单明了的表现方式很容易让操作人员操作,可以更快速的为顾客办理入住手续,大大提高了办理效率。

本章主要介绍系统的是一些核心的功能模块的设计,阐述如何设计这些模块以及各模块的功能。

4.1 核心模块详细设计

4.1.1 登录模块的设计与实现

登录模块是各种各样系统的前提操作,无论是什么样的系统,都需要首先进行登录操作,才能进入到系统的内部,所以,登录操作模块是不可或缺的一部分,只有登录成功,进入到系统内部,才有其他的操作。

操作流程图如下图4-1所示:

开始用户名和密码点击进入密码正确?Y登录成功N登录失败结束

29

图4-1 系统登录模块流程图

用户名和密码输入均正确后才可进入系统,如果其中其一输入不正确都不可进入系统,直到输入正确为止。

4.1.2 入住登记模块的设计与实现

操作员登陆成功后,进入到主界面,首先展现的就是入住登记模块,该模块也是十分重要的模块,是酒店管理系统不可或缺的一部分。因为酒店来访人员的主要目的就是办理入住。

入住人员登记模块属于前台管理部分,是供酒店所有工作人员使用操作的。主要有登记入住信息、客人信息、费用信息等功能。

该模块可以为来访的入住人员快速办理入住手续,具体展示界面同图2-6和图2-7。

操作流程图如下图4-2所示:

进入入住登记模块是否已经预定房间是否点击已经预定的信息查看信息填写入住信息(登记信息、客人资料、选择房间)登记

图4-2 入住登记模块流程图

该模块的设计实现快速办理入住手续的目的。

30

4.1.3 结账模块的设计与实现

结账模块是酒店管理系统的重要模块,该模块的操作需要精准,本系统设计的结账模块简单精确易操作。

通过后台数据库的调用,通过对入住日期,离店日期,所住天数,房间类型,其他费用的计算,系统会自动的计算出该客户所需要缴纳的费用。如图4-3为结账模块流程框图。

查看登记信息完善住房信息填写结账信息结账

图4-3结账模块流程框图。

4.1.4 客户管理模块的设计与实现

客户管理模块对于酒店管理系统来说是个庞大的体系,对于客户管理的维护必不可少,酒店系统中客户管理模块主要有新增加客户信息,更改已经存在的客户信息,删除客户信息等操作,有了庞大的客户信息,对于酒店来讲是一种资源,可以建立客户历史资料档案。我觉得本设计的酒店管理系统在未来的完善过程中就可以根据酒店建立的客人资料、客户历史信息,来建立一些会员优惠等活动。

31

所以我觉得该模块的设计很重要,为今后的模块拓展也做了一些准备。

4.2 核心代码展示

因为本设计需要很多排序的列表,所以采用了快速排序法。 基本思想:选择一个基准元素,通常选择第一个元素或者最后一个元素,通过一趟扫描,将待排序列分成两部分,一部分比基准元素小,一部分大于等于基准元素,此时基准元素在其排好序后的正确位置,然后再用同样的方法递归地排序划分的两部分[15]。

具体核心代码展示如下: public class quickSort {

inta[]={49,38,65,97,76,13,27,49,78,34,12,64,5,4,62,99,98,54,56,17,18,23,34,15,35,25,53,51};

public quickSort(){

quick(a);

for(int i=0;i

System.out.println(a[i]); }

publicint getMiddle(int[] list, int low, int high) {

int tmp = list[low]; //数组的第一个作为中轴

while (low < high) {

while (low < high && list[high] >= tmp) {

high--;

}

list[low] = list[high]; //比中轴小的记录移到低端

32

while (low < high && list[low] <= tmp) {

low++;

}

list[high] = list[low]; //比中轴大的记录移到高端

}

list[low] = tmp; //中轴记录到尾

return low; //返回中轴的位置

}

publicvoid _quickSort(int[] list, int low, int high) {

if (low < high) {

int middle = getMiddle(list, low, high); //将list数组进行一分为二

_quickSort(list, low, middle - 1); //对低字表进行递归排序

_quickSort(list, middle + 1, high); //对高字表进行递归排序

}

}

publicvoid quick(int[] a2) {

if (a2.length > 0) { //查看数组是否为空

_quickSort(a2, 0, a2.length - 1);

33

}

} }

public class quickSort {

inta[]={49,38,65,97,76,13,27,49,78,34,12,64,5,4,62,99,98,54,56,17,18,23,34,15,35,25,53,51};

public quickSort(){

quick(a);

for(int i=0;i

System.out.println(a[i]); }

publicint getMiddle(int[] list, int low, int high) {

int tmp = list[low]; //数组的第一个作为中轴

while (low < high) {

while (low < high && list[high] >= tmp) {

high--;

}

list[low] = list[high]; //比中轴小的记录移到低端

34

while (low < high && list[low] <= tmp) {

low++;

}

list[high] = list[low]; //比中轴大的记录移到高端

}

list[low] = tmp; //中轴记录到尾

return low; //返回中轴的位置

}

publicvoid _quickSort(int[] list, int low, int high) {

if (low < high) {

int middle = getMiddle(list, low, high); //将list数组进行一分为二

_quickSort(list, low, middle - 1); //对低字表进行递归排序

_quickSort(list, middle + 1, high); //对高字表进行递归排序

}

}

publicvoid quick(int[] a2) {

if (a2.length > 0) { //查看数组是否为空

35

_quickSort(a2, 0, a2.length - 1);

}

} }

36

本文来源:https://www.bwwdw.com/article/4sfg.html

Top