StarUML中的活动图本质上是流程图,活动图相对来说,更加专业,它有对信号的处理,对状态动作、数据区别表示,使得更清晰地了解控制流的走向。

1、基本元素

a、活动状态图(Activity)、动作状态(Actions)

活动和动作使用同一个图表示,活动状态与状态机的状态是同一个意思,代表着一种状态,它是由别的状态流转而来,也可以流转到别的状态,同时也可以自流转,流转到自己;动作状态代表的就是一个动作。

活动状态图,是可以细化的,所以有时候会先画一个大的活动状态图,然后将该活动暴露的接口和所使用到的接口都在这个图里标识好,然后再在这个活动图里细化相应的逻辑。

内部填充具体的支付系统逻辑,更详细的案例,见文末案例e。

b、动作流(Control Flow)

即动作之间的转化,由一根连线将两个动作状态图连接起来。

c、开始节点(Initial)

即活动开始的节点。

d、终止节点(Final nodes)

终止节点分为活动终止节点和流程终止节点;

活动终止节点,代表着整个活动结束了,不会有其他的分支在跑。

流程终止节点,代表着某个流程结束了,其他流程还在跑,整个活动还没有终止。

e、对象(object)

对象属于数据流的一部分,用矩形框表示。

f、数据存储对象(DataStore)

使用关键字<<datastore>>。

g、对象流(Object Flow)

对象流实际上是控制流中插入对象,以表达对象、动作和状态之间的关系。

具有以下特征:

(1) 一个对象可以由对个动作操作;

(2) 一个动作输出的对象可以作为另一个动作的输入对象;

(3) 在活动图中,一个对象可以出现多次,它的每一次出现代表着对象分处于生命周期的不同状态。

对象流中的对象名称分为两部分,一部分是对象名,下面是对象的状态,如果一个对象不存在多个状态,那么下面的状态表示可以去除掉。(暂时不知道怎么将状态写到下面,只能写在右边)

h、分支和合并(Decision Merge)

分支和合并公用一个图形,该图形有多个出口也有多个入口,每个出口都用对应的条件标识,类似于编码中的if  else 或者 switch case,每个分支都是条件的。

i、分叉和汇合(Fork Join)

分叉和汇合与分支和合并类似,但有本质区别,否则是状态流转与条件挂钩,一次只能走一条路,但是分叉和汇合则是并行的,每次每条路都要走,它表示的不是说多条路选一条的意思,而是多条路要同时走。

分支和分叉因为前者入口都标有条件而后者没有标,所以容易区分,但是合并和汇合非常类似,入口都是没有条件的,区分的方法就是 所有入口是不是相斥的,如果是就是合并,后者就是汇合

j、信号(Signal)

信号分为两种,一种是接收信号,一种是发出信号,还有一种比较特殊,时间事件,有的地方也把这个叫做时间信号

时间信号,本质上是在表示一种时间动作,一般是表示等待

接收信号大部分情况下不用画,直接由发出信号指向活动或者动作图。

2、泳道

泳道图出自 跨职能图,每个泳道代表着不同的组织、系统或者是个人,泳道里的图代表着该组织所负责的逻辑,在活动图里也是一样,在信号部分,就用到了泳道。

3、案例

a、购物用例图

b、 带有发送信号与接收信号的活动图

这个案例中,左上角用的是汇合,用错了,应该采用合并,因为有空位和没有空位是相斥的,才能采用合并。

c、带对象流的活动图

d、辅助活动图

e、典型案例

画得好的图,图在兼顾清晰明了的基础之上,尽量让图更加紧凑些。

本文学习对象:https://www.cnblogs.com/xiaolongbao-lzh/p/4591953.html

【StarUML】 活动图的更多相关文章

  1. 用rose画UML图(用例图,活动图)

    用rose画UML图(用例图,活动图) 首先,安装rose2003,电脑从win8升到win10以后,发现win10并不支持rose2003的安装,换了rose2007以后,发现也不可以. 解决途径: ...

  2. 初次启动app校验的活动图和分析

    初次启动活动图 version 1 version 2 version 3 根据上图的活动图分析,可能存在较严重的问题: 主线程中如果发现是sdcard的url,则可能进行重命名 FirstEnter ...

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

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

  4. [UML]UML系列——活动图activity diagram

    系列文章 [UML]UML系列——用例图Use Case [UML]UML系列——用例图中的各种关系(include.extend) [UML]UML系列——类图Class [UML]UML系列——类 ...

  5. Enterprise Architect 学习 之 活动图

    UML中,活动图用来展示活动的顺序.显示了从起始点到终点的工作流,描述了活动图中存在于事件进程的判断路径.活动图可以用来详细阐述某些活动执行中发生并行处理的情况.活动图对业务建模也比较有用,用来详细描 ...

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

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

  7. iOS 活动图 流程图

    活动图        活动图和状态机图都被称为演化图,其区别和联系如下:       1.活动图:用于描述用例内部的活动或方法的流程,如果除去活动图中的并行活动描述以后,它就变成流程图.       ...

  8. UML精粹5 - 状态图,活动图,通信图,组合结构,组件图,协作,交互概述图,时间图

    状态机图state machine diagram 下面是状态图的一个例子(一个城堡中的秘密保险箱的控制面板). 转换transition包括3个部分:trigger-signature [guard ...

  9. UML状态图和活动图

    UML状态图和活动图 统一建模语言UML(Unified Modeling Language)是非专利的第三代建模和规约语言.UML是一种开放的方法,用于说明.可视化.构建和编写一个正在开发的.面向对 ...

随机推荐

  1. Android列表类视图之基本适配器BaseAdapter

    说到列表视图,不难联想到前面提到过的数组适配器,但是数组适配器只能搭建文本选择项,扩展能力并不强,Android提供了一种适应性更强的基本适配器BaseAdapter,该适配器允许开发者在别的代码中进 ...

  2. cf 989C

    构造一个网格图使得四种类型的联通分量分别有a,b,c,d 看图就知道应该如何去构造了 int gird[maxn][maxn]; int main(){ int a[4]; for(int i=0;i ...

  3. Linux X_window与文本模式的切换

    用x_window启动的情况下的切换方法: [Ctrl] + [Alt] + [F1] ~ [F6]  :文字接口登陆 tty1 ~ tty6 终端机: [Ctrl] + [Alt] + [F7]   ...

  4. Pikachu-File Inclusion(文件包含漏洞)

    File Inclusion(文件包含漏洞)概述 文件包含,是一个功能.在各种开发语言中都提供了内置的文件包含函数,其可以使开发人员在一个代码文件中直接包含(引入)另外一个代码文件. 比如 在PHP中 ...

  5. 小白月赛22 G : 仓库地址

    G : 仓库地址 考察点: 二维中位数 坑点 : 做就 OK 析题得侃: 我们发现 x 和 y 是相互独立的,也就是说先移动 x 或者先移动 y 都是可以到达一个点的,所以我们可以先找到 横坐标的 中 ...

  6. 141.内置上下文处理器debug、request、auth、messages、media、static、csrf

    上下文处理器 上下文处理器可以返回一些数据,在全局模板中都可以使用,比如登录后的用户数据,在很多页面中都需要使用,那么我们就可以方在上下文处理器中,就没有必要在每个视图中返回这个对象了. 在setti ...

  7. ECMAScript基本语法——⑤运算符 逻辑运算符

    &&与,会短路:左边为false右边就不参与运算||或,会短路:左边为true右边就不参与运算!非, 注意:在JavaScript中,如果运算数不是运算符要求的类型,那么JavaScr ...

  8. java8的ConcurrentHashMap为何放弃分段锁,为什么要使用CAS+Synchronized取代Segment+ReentrantLock

    原文地址:https://cloud.tencent.com/developer/article/1509556 推荐一篇 ConcurrentHashMap 和 HashMap 写的比较的的文章 j ...

  9. 牛客CSP-S提高组赛前集训营4 赛后总结

    复读数组 分成 3 种区间算答案: 一个块内的区间 两个块交界处,长度小于块长的区间 长度不小于块长的区间 对于第三种区间,容易发现每个区间的权值一样,只需要算出个数即可. 对于前两种空间,我的思路是 ...

  10. Wannafly Camp 2020 Day 2K 破忒头的匿名信 - AC自动机,dp

    给定字典和文章,每个单词有价值,求写文章的最小价值 标准的 AC 自动机 dp,设 \(f[i]\) 表示写 \(s[1..i]\) 的最小价值,建立AC自动机后根据 trans 边暴力转移即可 建了 ...