解析UML动态建模中四种图

开发 架构
UML建模机制有两种,动态建模和静态建模,这里和大家分享一下,相信通过本文的学习你一定会对UML动态建模有明确的认识。

本文和大家重点讨论一下UML动态建模方面的知识,这里主要包括消息,顺序图,状态图,活动图和协作图等内容,希望本节的介绍对你的学习有所帮助。下面是UML动态建模内容的详细介绍

UML动态建模

消息

在面向对象领域,两个对象的交互是通过消息的发送和接收来完成的。消息分为简单消息、同步消息和异步消息:
(1)简单消息:只是表示控制如何从一个对象发给另一个对象,并不包含控制的细节;
(2)同步消息:同步意味着阻塞和等待,如果对象A给对象B发送一个消息,对象A会等待对象B执行完这个消息,接着才进行自身的工作;
(3)异步消息:异步意味着非阻塞,如果对象A给对象B发送一个消息,对象A不必等待对象B执行完这个消息,就可以接着进行自身的工作。

顺序图

UML动态建模中顺序图(也称序列图)是一种交互图(InteractionDiagram,用于描述执行系统功能的各个角色之间相互传递消息的顺序关系,显示跨越多个对象的系统控制流程),强调的是时间和消息的次序,用来说明系统的动态情况,顺序图由参与者、对象、对象生命线和消息组成。一个顺序图显示了一系列的对象(通常是类的实例,也可以代表其他事物的实例.

状态图

状态图是UML中的状态机视图。状态机由对象的各个状态和连接这些状态的转换组成。每个状态对一个对象在其生命期中满足某种条件的一个时间段建模,当一个事件发生时,它会触发状态间的转换,导致对象从一种状态转化到另一新的状态。与转换相关的活动执行时,转换也同时发生。

UML动态建模中状态图用于描述对象可以拥有的状态以及引起状态相互转移的事件和条件,它揭示了对象的生命周期,是针对类的一种建模工具。状态是对象前一次操作的结果,事件是引起状态向另一状态转化的活动。所有对象都有状态,但通常只对具有复杂行为的类建立状态图。状态图强调的是事件驱动的对象的动作,这在对反应式系统的建模是相当重要的。两个类的状态图之间可以相互发送消息,一个状态还可以有嵌套的子状态,各子状态之间的关系可以为与/或关系。

活动图

UML动态建模中活动图用于描述系统、用例、程序模块中的逻辑流程的先后执行次序、并行次序,是对人类组织的现实世界中的工作流程的建模,有助于理解系统高层活动的执行行为。
活动图中的主要概念是"活动",而"活动"的具体含义又取决于作图目的和抽象层次:

(1)当活动图用于描述系统行为时,主要侧重于系统多个用例活动之间相互制约的执行顺序,同时,识别出系统中存在的可以并行进行的用例,此时,活动表示系统要完成的任务;

(2)当活动图用于描述用例时,用于描述用例中的操作执行次序和操作完成的结果,显示多个对象的操作是如何相互结合起来共同完成用例的一个脚本,揭示出操作之间的并行性,为编码实现提供开发并行程序的便利,此时,活动表示类中的方法,即操作。允许将某个组织或执行者要完成的若干操作聚集在泳道中,以明确责任。
活动图用于低层次程序模块的作用类似于流程图,但活动图还可以描述并行操作,而流程图则只能描述串行操作。

协作图

与顺序图一样,协作图也是一种交互图,用于描述对象之间的协作关系,其模型元素与序列图的基本相同,但它侧重于描述对象之间是如何相互连接的,强调的是发送和接收消息的对象之间的组织结构。顺序图着重体现对象间消息传递的时间顺序,协作图着重于哪些对象间有消息传递,表达了对象之间的静态连接关系。UML动态建模中顺序图和协作图是同构的,它们相互之间可以转化而不损失信息,依靠工具协作图和顺序图可互相转换。

用例图主要用来描述系统的外部行为;类图和对象图用来定义类和对象以及它们的属性和操作;状态图描述类的对象所有可能的状态以及事件发生时状态的转移条件;顺序图显示对象之间的动态合作关系,它强调对象之间消息发送的顺序,同时显示对象之间的交互;合作图强调对象间的动态合作关系;活动图描述满足用例要求所要进行的活动以及活动间的约束关系,有利于识别并行活动。

【编辑推荐】

  1. UML轻松入门--UML动态建模
  2. 学习笔记 解析UML动态建模机制
  3. UML基础 UML构件图简介
  4. 名师讲解UML动态建模机制中消息,状态图和顺序图用法
  5. 深入剖析UML动态建模机制中的四种动态模型

 

 

责任编辑:佚名 来源: sina.com.cn
相关推荐

2010-06-17 09:48:54

UML动态建模

2010-06-18 09:19:39

UML面向对象建模

2010-07-09 11:01:30

UML动态建模

2010-06-12 18:12:34

UML类图关系

2010-07-09 13:55:53

UML面向对象建模

2010-07-09 11:23:07

UML动态建模

2010-06-17 10:05:35

UML动态建模

2010-07-12 09:18:36

UML模型图

2010-06-17 09:34:50

UML面向对象建模

2010-07-05 13:55:40

UML图分类

2010-06-30 10:30:29

UML动态建模

2010-06-17 10:22:18

UML动态建模

2010-06-18 14:43:28

UML关系图

2010-07-09 13:16:46

UML动态建模机制

2010-07-06 11:21:37

UML状态图

2010-06-30 14:37:20

UML类图

2010-06-30 15:10:18

2010-06-17 09:22:48

UML面向对象分析与建

2010-06-30 14:24:02

UML类图建模

2010-06-29 18:16:57

UML建模
点赞
收藏

51CTO技术栈公众号