基于UML的酒店管理系统的分析与设计.docx

上传人:b****6 文档编号:7408224 上传时间:2023-01-23 格式:DOCX 页数:9 大小:70.33KB
下载 相关 举报
基于UML的酒店管理系统的分析与设计.docx_第1页
第1页 / 共9页
基于UML的酒店管理系统的分析与设计.docx_第2页
第2页 / 共9页
基于UML的酒店管理系统的分析与设计.docx_第3页
第3页 / 共9页
基于UML的酒店管理系统的分析与设计.docx_第4页
第4页 / 共9页
基于UML的酒店管理系统的分析与设计.docx_第5页
第5页 / 共9页
点击查看更多>>
下载资源
资源描述

基于UML的酒店管理系统的分析与设计.docx

《基于UML的酒店管理系统的分析与设计.docx》由会员分享,可在线阅读,更多相关《基于UML的酒店管理系统的分析与设计.docx(9页珍藏版)》请在冰豆网上搜索。

基于UML的酒店管理系统的分析与设计.docx

基于UML的酒店管理系统的分析与设计

基于UML的酒店管理系统的分析与设计

 

1.定义

 当今社会对信息系统的需求日益增长,需求变化也越来越快,软件开发的技术发展方向已经从“提升被开发系统的执行效率”转变为“提升开发效率”。

UML作为一种通用的建模语言,融入了软件工程领域的新思想、新方法、新技术,在软件的开发不同阶段可以采用相同的一套概念和表示法,在同一个模型中它们可以混合使用,具有定义良好、易于表达、功能强大等优势。

面向对象技术降低了解决方法域与问题域的差别,提供了良好的复用机制,能够更加有效提高软件开发效率,完全顺应了软件开发技术的发展方向。

 UML(TheUnifiedModelingLanguage,即统一建模语言)是一个通用的标准建模语言,可以对复杂的系统建立可视化系统模型,目前已经被工业标准组织OMG(ObjectManagementGroup)接受,一经推出便得到许多著名计算机厂商如Microsoft,HP,IBM,Oracle等支持,在国际上应用日益广泛。

UML(UnifiedModelingLanguage)又称统一建模语言或标准建模语言,是一个支持模型化和软件系统的图形化语言,为软件开发的所有阶段提供模型化和可视化支持,由类图、对象图、用例图、状态图、顺序图、活动图、协作图、构件图、包图及部署图这些基本图型组成。

软件工程是用工程、科学和数学的原则与方法研制、维护计算机软件的有关技术及管理方法,软件工程的方法、工具和过程构成了软件工程的三要素。

软件工程的目标实在给定成本、进度的前提下,开发出具有可修改性、有效性、可靠性、可理解性、可维护性、可重用性、可适应性、可移植性、可追踪性和可互操作性并满足用户需求的软件产品。

软件产品从形成概念开始,经过开发、使用和维护,直到最后退役的全过程成为软件的生存周期。

软件的生存周期都包括软件定义、软件开发、软件使用与维护3个部分。

软件开发模型给出了软件开发各个阶段之间的关系。

它是软件开发过程的概括,是软件工程的重要内容。

它为软件工程管理提供里程碑和进度表;为软件开发过程提供原则和方法。

 本文通过一个酒店管理系统的分析与设计,阐述如何通过UML降低开发难度和提高开发效率。

2.需求分析

酒店管理系统的基本特征和功能模块:

在软件工程中,需求分析指的是在建立一个新的或改变一个现存的电脑系统时描写新系统的目的、范围、定义和功能时所要做的所有的工作。

需求分析是软件工程中的一个关键过程。

在这个过程中,系统软件员和软件工程师确定顾客的需要。

只有在确定了这些需要后他们才能够分析和寻求新系统的解决方法。

1)用户与开发人员很难进行交流:

在软件生存周期中,其它四个阶段都是面向软件技术问题,只有本阶段是面向用户的。

需求分析是对用户的业务活动进行分析,明确在用户的业务环境中软件系统应该"做什么"。

但是在开始时,开发人员和用户双方都不能准确地提出系统要"做什么?

"。

因为软件开发人员不是用户问题领域的专家,不熟悉用户的业务活动和业务环境,又不可能在短期内搞清楚;而用户不熟悉计算机应用的有关问题。

由于双方互相不了解对方的工作,又缺乏共同语言,所以在交流时存在着隔阂。

2)用户的需求是动态变化的:

对于一个大型而复杂的软件系统,用户很难精确完整地提出它的功能和性能要求。

一开始只能提出一个大概、模糊的功能,只有经过长时间的反复认识才逐步明确。

有时进入到设计、编程阶段才能明确,更有甚者,到开发后期还在提新的要求。

这无疑给软件开发带来困难。

3)系统变更的代价呈非线性增长;需求分析是软件开发的基础。

假定在该阶段发现一个错误,解决它需要用一小时的时间,到设计、编程、测试和维护阶段解决,则要花2.5、5、25、100倍的时间。

因此,对于大型复杂系统而言,首先要进行可行性研究。

开发人员对用户的要求及现实环境进行调查、了解,从技术、经济和社会因素三个方面进行研究并论证该软件项目的可行性,根据可行性研究的结果,决定项目的取舍。

本系统以“酒店服务”为核心,构建出了以“客户”为中心的酒店管理模式。

所以该系统具有以下一些功能:

i.用户信息管理:

对酒店管理系统的使用员工进行管理,包括对员工的基本信息(如用户姓名、所属部门、用户类型等)进行检索、录入和修改;

ii.类型管理:

用户可自定义类型,并对其进行管理,包括对类型的基本信息(如类型名称、面积、床位、价格等)进行检索、录入和修改;

iii.信息管理:

用户对信息进行管理,包括对的基本信息(如号、类型、位置等)进行检索、录入和修改;

iv.经营管理:

实现对的订房和退房管理,包括对的业务信息(如号、入房时间、退房时间、金额等)进行检索、录入和修改。

v.客户信息查询:

用户可对入住过酒店的客户信息进行查询,包括对客户的基本信息(如身份证号、客户姓名、联系电话)进行检索。

vi.经营状况统计:

根据酒店的业务记录,用户可选择不同的统计方式对营业额进行统计。

从功能描述的内容来看,本实例可以实现六大功能。

我们根据这些功能,设计出系统的功能模块,如图1所示。

图1.酒店管理系统功能模块示意图

酒店管理系统作为当前使用非常广泛的数据库应用系统之一,其开发过程包括需求分析、UML系统建模、数据库分析和设计以及各功能模块的实现。

我们重点对UML系统建模进行详细讲述。

3.系统的UML分析与实现

UML概述及特点;UML又称统一建模语言或标准建模语言,是一个支持模型化和软件系统的图形化语言,为软件开发的所有阶段提供模型化和可视化支持。

由类图、对象图、用例图、状态图、顺序图、活动图、协作图、构件图、包图及部署图这些基本图形组成。

UML是一种编制系统蓝图的标准化语言,可以对大型复杂系统的各种成分可视化说明并构造系统模型,以及建立各种必要的文档。

UML通过三类图形建立系统模型:

UseCase图,静态结构图(类图,对象图,组件图,配置图)和动态行为图(顺序图,协同图,状态图,活动图),这些图可以从不同抽象角度使系统可视化。

UML具有面向对象、可视化、独立与开发过程和程序设计语言以及易于掌握使用等特点。

UML适用于各种规模的系统开发,能促进软件复用,方便地集成已有的系统并有效减少开发中的各种风险。

UML在酒店管理系统中的实际应用.UML是一种建模语言,是系统开发的一个组成部分,本身并没有关于开发过程概念的定义和表示符号。

UML的创始人booch,Jacobson和RumBaugh在rational公司的支持下综合了多种系统开发过程的长处,提出新的面向对象的开发过程,称为Rational统一过程(RationalUnifiedProcess,RUP)。

RUP过程的核心工作流程包括:

业务建模、需求分析、系统分析与设计和实现、实现、测试和系统部署。

下面通过UML来分析并构造酒店管理系统模型,并结合Rational统一过程加以描述,图形使用RationalRose工具软件绘制。

3.1.酒店管理系统的业务建模和需求分析

业务模型和需求分析的目的是对系统进行评估,采集和分析系统的需求,理解系统要解决的问题,重点是充分考虑系统的实用性。

结果可以用一个业务用例(BusinessUseCase)框图表达,根据酒店管理系统的基本特征和功能可得到本系统的用例图,如图2。

图2.酒店管理系统业务用例框图

模型中的活动者代表外部与系统交互的单元,包括酒店管理员、前台服务员等等;业务用例框图是对系统需求的描述,表达了系统的功能和所提供的服务,该用例图标记了酒店管理系统的所有用例,并且形象地描述了各用例与用户角色之间的关系。

图2是酒店管理系统层次的用例模型,只包含了最基本的UseCase模型,是系统的高层抽象。

在开发过程中,随着对系统需求认识的不断加深,用例模型可以从顶向下不断细化,演化出更加详细的UseCase模型。

根据系统的用例图,可以对系统的持久对象进行设计。

3.2.酒店管理系统设计

 系统分析与设计是研究欲采用的实现环境和系统结构,结果是产生一个对象模型,也就是设计模型。

设计模型包含了UseCase的实现,可以表现对象如何相互通信和运作来实现UseCase流的。

对于系统的静态结构,可以通过类图、对象图、组件图和配置图来描述;对于系统的动态行为,可以通过顺序图、协同图、状态图、活动图描述。

这些图在加上说明文档就构成一个完整的设计模型。

3.2.1.系统架构设计

 酒店管理系统拥有大量业务信息资源,这些资源包括各种客户信息、订房、和退房等信息。

其数据量大、信息变化快,非结构化信息与结构化信息共存。

使用UML对酒店管理系统进行基于面向对象的分析和实现,可以从开发的第一步开始,从系统的底层就把握住酒店信息资源的特征,为下一步具体实现打好基础。

在酒店管理系统建立模型时要涉及到处理大量的模型元素,如类、接口、组件、节点、图等,可以将语意上相近的模型元素组织在一起,这就构成了UML的包,包从较高的层次来组织管理系统模型。

 系统主要有以下四个包:

1)用户接口包(UserInterfacePackage)

 用户接口包在其他包的顶层次,为系统用户提供访问信息和服务。

要注意一点,由于开发工具使用不同,该接口描述也是有区别的。

如果采用JavaWeb开发,就要以JSP(JavaServerPages)为基础,如果采取Microsoft的A开发,其基础就是标准化控件组。

本系统在此将使用JavaWeb开发,下面有关代码的描述都是基于Java的。

2)业务逻辑包(BusinessRulePackage)

 该包是酒店管理系统业务的核心实现部分,包括客户管理、订房管理、退房管理等,其他包可以通过访问该包提供的接口,实现业务逻辑,如客户管理业务等。

3)数据持久访问包(DataPersistencePackage)

 该包实现数据的持久化,也就是与数据库交互,实现数据的存取、修改等操作。

4)通用工具包(UtilPackage)

 该包主要包括应用程序安全检查的类,可以为上面三个包提供安全检查,如客户端检查和服务器端业务规则检查等,同时包括一些系统异常检查与抛出处理以及系统日志服务等。

3.2.2.系统详细设计

 详细设计主要是描述在系统分析阶段产生的类,与分析阶段类的区别就是偏重于技术层面和类的细节实现。

酒店管理系统提供的各种服务都是建立在分布、开放的信息结构之上,依托高速、可靠的网络环境来完成的。

每项服务都可以看作一个事件流,由若干相关的对象交互合作来完成。

对于这种系统内部的协作关系和过程行为,可以通过绘制序列(Sequence)框图和协作(Collaboration)框图来帮助观察和理解。

此外,描述工作流和并发行为还可以通过活动框图,表达从一个活动到另一个活动的控制流。

同时,可以在理解这些图的基础上,抽象出系统的类图,为系统编码阶段继续细化提供基础。

下面以JavaWeb开发为例,介绍客户管理子系统的详细设计。

1.客户管理子系统的基本结构建模:

下图是客户管理子系统主要类极其关系的详细设计

图3.酒店管理系统域类图

2.序列图:

序列图是一种对象交互图,着重强调了时间序列,而不是静态对象的关系,通过序列图可以清楚地看到“谁在什么时间对谁说了写什么”。

图4.订房管理时序图

图5.退房管理时序图

图4是一个订房管理的序列框图例子。

描述了先加载某个客户;显示某些状态;再更改某些属性值,最后更新数据库状态的一次执行过程。

 通过序列框图可以清晰看出系统客户、客户管理子系统的用户接口、数据库连接模块之间以时间为顺序的消息交换,这对于把握系统的控制流、顺序行为和交互行为是非常有益的。

建立在分布网络环境下的管理系统的事件流和控制流是非常复杂的,需要从顶层到底层进行一步步分解,用多幅能反映动态结构的图来分析与说明。

图5反映了退房管理的顺序框图。

3.状态图适合描述一个对象穿越多个UseCase的行为。

类的状态图表示类的对象可以呈现的状态和这个对象从一种状态到另一种状态的转换。

图6.状态图

图6描述了对象的生命期中可能的状态及状态变化(从创建、更新到消亡的转变过程),我们需要使用状态图来描述类的对象的状态及其行为,显示对象的整个生命周期。

此例说明其他对象的操作可能改变当前对象的状态。

到此,经过了需求分析,使用UML建模绘出了各用例的用例图、状态图、时序图之后,我们已经对酒店管理系统的具体功能实现有了比较明确的认识。

接下来,需要我们对系统进行框架设计和详细设计。

在进行构架设计时,我们将酒店管理系统设计视图中的类组织成一个标准的三级体系结构,如图7所示。

用户服务包(UserServices)中的元素提供了表现信息和收集的可视化界面。

业务服务包(BussinessServices)中的元素负责维护、访问和修改数据。

数据服务包(DataServices)中的元素为另两个包的元素搭桥,并包含了管理用户请求(为了执行业务上的任务)的所有类和其他元素,包括支配数据操纵策略的业务规则。

图7.酒店管理系统的体系结构

至此,UML系统建模完成。

3.2.3.酒店管理系统的实现、测试和系统配置

系统采用五层逻辑结构:

客户端只需中文浏览器;表示层用12个JSP(JavaServerPage)文档实现动态页面以创建、操作业务对象;核心对象层用6个Java类以JavaBean形式构成业务处理的核心对象;连接层采用JDBC2提供两种连接方式:

一种是基于DriverManager,主要支持Java应用和测试;另一种基于DataSource;资源层即数据库服务器。

经过系统分析和设计后,就可以根据设计模型在具体的环境中实现系统,生成系统的源代码、可执行程序和相应的软件文档,建立一个可执行系统;进而需要对系统进行测试和排错,保证系统符合预定的要求,获得一个无错的系统实现。

测试结果将确认所完成的系统可以真正使用;最后完成系统配置,其任务是在真实的运行环境中配置、调试系统,解决系统正式使用前可能存在的任何问题。

4.结束语

酒店管理系统的发展方兴未艾,目前正处于传统手工、半手工管理向数字化过渡的阶段,转变过程中需要应用和集成最新的信息技术,以达到对网络信息资源最有效的利用和共享。

传统的系统分析设计方法难以保证效率和质量,将UML应用于酒店管理系统的建设,可以加速开发进程,提高代码质量,支持动态的业务需求。

从实际效果来看,UML可以保证软件开发的稳定性、鲁棒性,在实际应用中取得良好的效果。

展开阅读全文
相关资源
猜你喜欢
相关搜索

当前位置:首页 > 小学教育 > 语文

copyright@ 2008-2022 冰豆网网站版权所有

经营许可证编号:鄂ICP备2022015515号-1