UML建模基础概念

1、介绍

UML(Unified Modeling Language,统一建模语言)是用来对软件系统进行可视化建模的一种语言。UML是面向对象方法开发系统的产品进行说明、可视化和编制文档的一种标准语言。1994年10月,Grady Booch和Jim Rumbaugh首先将Booch 93和OMT-2 统一起来,并于1995年10月发布了第一个公开版本,称之为统一方法UM 0.8(Unitied Method)。1995年OOSE 的创始人Ivar Jacobson加盟到这一工作。经过Booch、RumbaughJacobson三人的共同努力,于1996年6月和10月分别发布了两个新的版本,即UML 0.9和UML 0.91,并将UM重新命名为UML,1997年1月发布了UML 1.0。
UML是一种定义良好、易于表达、功能强大且普遍适用的建模语言,它融入了软件工程领域的新思想、新方法和新技术,它的作用域不限于支持OOA(面向对象分析)和OOD(面向对象设计),还支持从需求分析开始的软件开发的全过程。

2、事物

UML中的事物也称为建模元素,包括结构事物(structural things)、行为事物(behavioralthings,动作事物)、分组事物(grouping things)和注释事物(annotational things,注解事物)。这些事物是UML模型中基本的构造块

(1)结构事物。结构事物在模型中属于静态的部分,代表概念上或物理上的元素。UML有七种结构事物,分别是类、接口、协作、用例、活动类、构件和节点

是描述具有相同属性、方法、关系和语义的对象的集合,一个类实现一个或多个接口;

接口是指类或构件提供特定服务的一组操作的集合,接口描述了类或构件的对外的可见的动作;

协作定义了交互的操作,是一些角色和其它事物一起工作,提供一些合作的动作,这些动作比事物的总和要大;

用例是描述一系列的动作,产生有价值的结果。在模型中用例通常用来组织行为事物。用例是通过协作来实现的;

活动类的对象有一个或多个进程或线程。活动类和类很相似,只是它的对象代表的事物的行为和其他事物是同时存在的;

构件是物理上或可替换的系统部分,它实现了一个接口集合;

节点是一个物理元素,它在运行时存在,代表一个可计算的资源,通常占用一些内存和具有处理能力。一个构件集合一般来说位于一个节点,但有可能从一个节点转到另一个节点。

(2)行为事物:行为事物是UML 模型中的动态部分,代表时间和空间上的动作。UML有两种主要的行为事物。

第一种是交互(内部活动),交互是由一组对象之间在特定上下文中,为达到特定目的而进行的一系列消息交换而组成的动作。交互中组成动作的对象的每个操作都要详细列出,包括消息、动作次序(消息产生的动作)、连接(对象之间的连接);

第二种是状态机,状态机由一系列对象的状态组成。

(3)分组事物。分组事物是UML 模型中组织的部分,可以把它们看成是个盒子,模型可以在其中进行分解。UML只有一种分组事物,称为包。

是一种将有组织的元素分组的机制。与构件不同的是,包纯粹是一种概念上的事物,只存在于开发阶段,而构件可以存在于系统运行阶段。

(4)注释事物。注释事物是UML模型的解释部分。

3、关系

UML 用关系把事物结合在一起,主要有下列四种关系:

(1)依赖(dependency)。依赖是两个事物之间的语义关系,其中一个事物发生变化会影响另一个事物的语义。

(2)关联(association)。关联描述一组对象之间连接的结构关系。

(3)泛化(generalization)。泛化是一般化和特殊化的关系,描述特殊元素的对象可替换一般元素的对象。

(4)实现(realization)。实现是类之间的语义关系,其中的一个类指定了由另一个类保证执行的契约。

4、图

UML 2.0包括14种,分别列举如下:

(1)类图(class diagram)类图描述一组类、接口、协作和它们之间的关系。在OO系统的建模中,常见的图就是类图。类图给出了系统的静态设计视图,活动类的类图给出了系统的静态进程视图。

(2)对象图(object diagram)。对象图描述一组对象及它们之间的关系。对象图描述了在类图中所建立的事物实例的静态快照。和类图一样,这些图给出系统的静态设计视图或静态进程视图,但它们是从真实案例或原型案例的角度建立的。

(3)构件图(component diagram)构件图描述一个封装的类和它的接口、端口,以及由内嵌的构件和连接件构成的内部结构。构件图用于表示系统的静态设计实现视图。对于由小的部件构建大的系统来说,构件图是很重要的。构件图是类图的变体。

(4)组合结构图(composite structure diagram)。组合结构图描述结构化类(例如,构件或类)的内部结构,包括结构化类与系统其余部分的交互点。组合结构图用于画出结构化类的内部内容。

(5)用例图(use case diagram)用例图描述一组用例、参与者及它们之间的关系。用例图给出系统的静态用例视图。这些图在对系统的行为进行组织和建模时是非常重要的。

(6)顺序图(sequence diagram,序列图)顺序图是一种交互图(interactiondiagram),交互图展现了一种交互,它由一组对象或参与者以及它们之间可能发送的消息构成。交互图专注于系统的动态视图。顺序图是强调消息的时间次序的交互图。

(7)通信图(communication diagram)通信图也是一种交互图,它强调收发消息的对象或参与者的结构组织。顺序图和通信图表达了类似的基本概念,但它们所强调的概念不同,顺序图强调的是时序,通信图强调的是对象之间的组织结构(关系)。在UML 1.X版本中,通信图称为协作图(collaboration diagram)。

(8)定时图(timing diagram,计时图)。定时图也是一种交互图,它强调消息跨越不同对象或参与者的实际时间,而不仅仅只是关心消息的相对顺序。

(9)状态图(state diagram)状态图描述一个状态机,它由状态、转移、事件和活动组成。状态图给出了对象的动态视图。它对于接口、类或协作的行为建模尤为重要,而且它强调事件导致的对象行为,这非常有助于对反应式系统建模。

(10)活动图(activity diagram)活动图将进程或其他计算结构展示为计算内部一步步的控制流和数据流。活动图专注于系统的动态视图。它对系统的功能建模和业务流程建模特别重要,并强调对象间的控制流程。

(11)部署图(deployment diagram)。部署图描述对运行时的处理节点及在其中生存的构件的配置。部署图给出了架构的静态部署视图,通常一个节点包含一个或多个部署图。

(12)制品图(artifact diagram)。制品图描述计算机中一个系统的物理结构。制品包括文件、数据库和类似的物理比特集合。制品图通常与部署图一起使用。制品也给出了它们实现的类和
构件。
(13)包图(package diagram)。包图描述由模型本身分解而成的组织单元,以及它们之间的依赖关系。

(14)交互概览图(interaction overview diagram)。交互概览图是活动图和顺序图的混合物。

  • 0
    点赞
  • 4
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值