1、活动图,即Activity Diagram,是UML中用于对系统的动态行为建模的一种常用工具,它描述活动的顺序,展现从一种活动到另一种活动的控制流。其本质上是一种流程图,着重表现从一个活动到另一个活动的控制流,是内部处理驱动的流程。

2、活动图的组成元素有:Activity(活动状态)、Actions(动作状态)、Action Contraints(动作状态约束)、Control Flow(控制流)、Initial Node(开始节点)、 Final Node(结束节点)、Objects(对象)、DataStore(数据存储器)、Object Flows(对象流)、Decision and Merge Node(分支与合并节点)、Fork and Join(分叉与汇合节点)、Exception Handler(异常处理器)、Interruptible Activity Region(活动中断区域)、Partition(泳道)

3、Activity用于表达状态机中非原子的运行。其特点如下:

  • 可以分解成其他子活动或者动作状态。
  • 内部活动可以用另一个活动图来表示。
  • 和Actions不同,Activity可以有入口动作和出口动作,也可以有内部转移。
  • Actions是Activity的一个特例,如果某个Activity只包括一个动作,那么它就是一个Actions。

UML中ActivityActions的图标相同,但是活动状态可以在图标中给出入口动作和出口动作等信息。

4、Actions指原子的、不可中断、不可再分的动作,并在此动作完成以后转向另一个状态。其特点如下:

  • 原子的,它是构造活动图的最小单位。
  • 不可中断。
  • 瞬时的行为。可以有入转换,入转换既可以是动作流,也可以是对象流。Actions至少有一条出转换,这条转换以内部的完成为起点,与外部事件无关。
  • Actions与状态图中的状态不同,它不能有入口动作和出口动作,更不能有内部转移。
  • 在一张活动图中,Actions允许多处出现。

5、Action Constraints 用来约束Action。

6、Control Flow 即Action之间的转换,用带箭头的直线表示,方向指向转入的Action。

7、Object Flow 表示Activity或者Action与Object之间的依赖关系。用活动图描述某个对象时,可以把涉及到的对象放置在活动图中并用一个依赖将其连接到进行创建、修改和撤销的动作状态或者活动状态上,对象的这种使用方法就构成了对象流。用带箭头的虚线表示,如果箭头是从Action出发指向Object,则表示Action对Object施加了一定的影响。施加的影响包括创建、修改和撤销等。如果箭头从Object指向Action,则表示该Action使用对象流所指向的Object。其特点如下:

  • 一个Object可以由多个Action操作。
  • 一个Action输出的Object可以作为另一个Action输入的Object。
  • 在活动图中,同一个Object可以多次出现,它的每一次出现表明该Object正处于Object生存期的不同时间点。

8、Devision and Merge Node 使用空心菱形表示。

9、Fork and Join 分为水平方向和竖直方向。Object在运行时可能会存在两个或多个并发运行的控制流,为了对并发的控制流建模,UML中引入了分叉与汇合的概念。分叉用于将动作流分为两个或多个并发运行的分支,而汇合则用于同步这些并发分支,以达到共同完成一项事务的目的。

10、Exception Handler 当受保护的Activity发生异常时触发异常处理节点。

11、Interruptible Activity Region 围绕一些可被中断的动作状态图。比如,正常情况下【Process Order】顺序流转到【Close Order】,订单处理流程完毕;但在【Process Order】过称中,会发送【Cancel Order】请求,这时会流转到【Cancel Order】,从而订单处理流程结束:

12、Partition 将活动图中的活动划分为若干组,并把每一组指定给负责这组活动的业务组织,即对象。在活动图中,泳道区分了负责活动的对象,它明确地表示了哪些活动是由哪些对象进行的。在包含泳道的活动图中,每个活动只能明确地属于一个泳道。用垂直实线绘出,垂直线分隔的区域就是泳道。在泳道的上方可以给出泳道的名字或对象的名字,该对象负责泳道内的全部活动。泳道没有顺序,不同泳道中的活动既可以顺序进行也可以并发进行,动作流和对象流允许穿越分隔线。

13、活动图描述的是对象活动的顺序关系所遵循的规则,它着重表现的是系统的行为,而非系统的处理过程。活动图能够表示并发活动的情形,活动图是面向对象的。

本文参考:http://www.cnblogs.com/ywqu/archive/2009/12/14/1624082.html

【UML】活动图介绍的更多相关文章

  1. DataUml Design 介绍10 - DataUML 1.4版本功能(增加UML活动图和用例图)

    DataUml Design 1.4版本正式发布 1.解决软件自动关闭的问题 2.增加UML活动图和用例图功能 详细介绍稍后继续...........................

  2. uml活动图

    uml是程序员需要掌握一个重要工具,特别在研究hadoop(http://www.iigrowing.cn/hadoop)系统中,有很多相关的uml图形需要绘制,为了方便大家了解uml,在网络上找了些 ...

  3. UML 类图介绍

    UML 类图介绍 一. UML 简介 UML ( Unified Modeling Language )即统一建模语言,是 OMG ( Object Management Group )发表的图标式软 ...

  4. UML类图介绍&类的六大关系

    UML类图介绍&类的六大关系 官方定义 UML(统一建模语言),是一种用于软件系统分析和设计的语言工具,用于帮助软件开发人员进行思考和记录思路的方式 UML 图形化的语言 基本介绍 UML图: ...

  5. [.net 面向对象程序设计深入](3)UML——在Visual Studio 2013/2015中设计UML活动图

    [.net 面向对象程序设计深入](3)UML——在Visual Studio 2013/2015中设计UML活动图 1.活动图简介 定义:是阐明了业务用例实现的工作流程. 业务工作流程说明了业务为向 ...

  6. UML活动图与流程图的区别

    http://blog.chinaunix.net/uid-11572501-id-3847592.html UML活动图与流程图的区别 (1).流程图着重描述处理过程,它的主要控制结构是顺序.分支和 ...

  7. Thinking in UML 学习笔记(四)——UML活动图来看核心

    在UML活动图的性质是一个流程图,它需要描述为完成活动的特定目标的描述来完成,这些交互运行顺序. UML有两个级别的活动图,的用例场景的叙述性描述,还有的对象用来描述交互的描述. 工具.它不是我们的分 ...

  8. 北风设计模式课程---20、UML类图介绍

    北风设计模式课程---20.UML类图介绍 一.总结 一句话总结: 不仅要通过视频学,还要看别的博客里面的介绍,搜讲解,搜作用,搜实例 设计模式都是对生活的抽象,比如用户获得装备,我可以先装备工厂先生 ...

  9. UML用法及状态图,活动图介绍

    统一建模语言UML(Unified Modeling Language)是非专利的第三代建模和规约语言.UML是一种开放的方法,用于说明.可视化.构建和编写一个正在开发的.面向对象的.软件密集系统的制 ...

  10. UML建模之活动图介绍(Activity Diagram)

    一.活动图的组成元素 Activity Diagram Element 1.活动状态图(Activity) 2.动作状态(Actions) 3.动作状态约束(Action Constraints) 4 ...

随机推荐

  1. C++练习--创建Boat类和Car类(含友元)

    /* 定义Boat与Car两个类,二者都有weight属性, 定义二者的一个友元函数totalWeight()为外部函数, 计算二者的重量和. */ #include<iostream> ...

  2. PostgreSQL数据库的安装

    1 总体规划 操作系统 CentOS Linux release 7.5.1804 处理器 1 内存 4G 硬盘 38G 主机名称 chenzx IP地址 192.168.56.8 1.1 用户组和用 ...

  3. 导入项目后,js文件报错解决方法

    导入项目后,发现 js文件报错,但是js文件是从官网下载的.解决办法: 选中报错的js文件, 右键选择 MyEclipse-->Exclude From Validation : 然后继续右键执 ...

  4. linux命令之压缩与归档

    1.   gzip:压缩工具 语法·:gzip [选项](参数) 命令说明:运用广泛的压缩程序,文件经它压缩后,其名称后面以“.gz”扩展名 常用命令选项: -N:压缩文件后,保留文件的原文件名和时间 ...

  5. pyqt4学习资料

    官方文档: http://pyqt.sourceforge.net/Docs/PyQt4/classes.html 啄木鸟社区:https://wiki.woodpecker.org.cn/moin/ ...

  6. elasticsearch 5.x 系列之六 文档索引,更新,查询,删除流程

    一.elasticsearch index 索引流程 步骤: 客户端向Node1 发送索引文档请求 Node1 根据文档ID(_id字段)计算出该文档应该属于shard0,然后请求路由到Node3的P ...

  7. java初级应用:环境安装及配置

    相关文件下载: jdk下载路径:http://www.oracle.com/technetwork/java/javase/downloads/index.html eclipse下载路径:https ...

  8. fastDFS 上传 java源码

    要想搭建fastDFS网上有相近的文章: 分布式文件系统 - FastDFS 在 CentOS 下配置安装部署 分布式文件系统 - FastDFS 配置 Nginx 模块及上传测试 首先下载fastd ...

  9. Error: Error while compiling statement: FAILED: SemanticException Unable to determine if hdfs://hadoopNode2:8020/user/hive/warehouse/test is encrypted...

    1.发现问题: 在hive客户端或者beeline查询hive表时候报错: 根据报错信息查看,是在集群namenode做了HA之后,产生的hdfs路径不对的问题: 2.解决问题,修改hive元数据my ...

  10. 深度学习之卷积神经网络CNN

    转自:https://blog.csdn.net/cxmscb/article/details/71023576 一.CNN的引入 在人工的全连接神经网络中,每相邻两层之间的每个神经元之间都是有边相连 ...