11.活动图activity diagram

  活动图是描写叙述过程化逻辑procedural logic、业务过程business process和工作流work flow的技术。

他和流程图flowchart类似,但不同是他们支持并行行为parallel bahavior。

见图11.1

我们从初始节点initial node动作開始。然后做Receive Order的动作。

完毕后遇到一个fork分叉。一个分叉fork有一个收入流incoming flow和一些外出的并行流outgoing concurrent flow。

  图中fill order、send invoid和兴许的动作都并行出现。这意味着他们间的顺序是不相干的。

  活动图非常少描写叙述我必须尾随的顺序相关的规则,这对于业务模型businessmodeling非常重要,由于这些过程常常并行出现。这在并行算法concurrent algorithm中也非常重要。

  当你有并行动作,你须要同步。我们使用join结合。

对于一个join结合,输出的流仅仅在全部输入的流都到达reach这个join时才进行。

  你会发现活动图中的节点叫做action动作。不是活动activity。

严格讲一个活动值的是一系列动作。所以活动图是由一些动作组成的。

条件行为是由decisions决策和merge合并描写叙述。

一个决策decision叫做分支branch。有一个输入流和一些守卫的输出流。

每一个输出流有一个守卫:一个放在方括号中的布尔表达式。

每次你遇到一个决策时。你仅仅能选择一个输出流,所以这些守卫必须相互排斥。使用[else]作为守卫表示当该决策的全部其它守卫都是false的时候就使用它。

一个merge合并有多个输入流和一个输出流,表示条件行为的结束。





【分解一个动作decompose an action】

  动作可被分解为子活动subactivity。

见图11.2

watermark/2/text/aHR0cDovL2Jsb2cuY3Nkbi5uZXQvYWRmYW5zb25n/font/5a6L5L2T/fontsize/400/fill/I0JBQkFCMA==/dissolve/70/gravity/Center" alt="">

见图11.3

watermark/2/text/aHR0cDovL2Jsb2cuY3Nkbi5uZXQvYWRmYW5zb25n/font/5a6L5L2T/fontsize/400/fill/I0JBQkFCMA==/dissolve/70/gravity/Center" alt="">

动作可用子活动实现或作为类的方法,你可用rake symbol显示子活动。

也可用class-name::method-name表示一个方法的调用。你也能够写一个代码片段到动作符号去。假设引入的行为不仅仅是一个调用的话。

【分开partition】

  见图11.4





【信号signal】

  动作也能够回应信号。一个时间信号time signal出现因为时间的通路passage。

一个信号表示这个活动收到一个来自外部进程的事件。

这意味着活动连续的监听那些信号。活动图定义了活动怎样反应。

见图11.5

相同的我们也能够发送信号。当我们须要发送消息并等待一个回答然后再继续 的时候这个非常实用。

见图11.6

上图展示了超时的一个样例。那两个流在竞争,最先到终于状态的会胜利并终止另外一个流。

  虽然接受信号常常仅仅是等待一个外部事件。我们也能够先说一个流进入他们。这表示我们一開始并不開始侦听,直到这个流触发了这个接受信号until the flow triggers the accept。

  

【记号token】

P96





【流和边缘edge】  

  uml2使用flow和edge来同义的描写叙述两个动作之间的连接。最简单的edge是两个动作间的箭头线,你也能够给edge命名,但一般箭头就够了。

见图11.7

watermark/2/text/aHR0cDovL2Jsb2cuY3Nkbi5uZXQvYWRmYW5zb25n/font/5a6L5L2T/fontsize/400/fill/I0JBQkFCMA==/dissolve/70/gravity/Center" alt="">

假设你画线有困难,能够用连接器connector(尽量避免使用)。

【栓和变换pins and transformations】

  动作能够有參数。假设你希望展示參数则能够用pins。你须要确认输出的參数和还有一个输入的參数是否一致,假设不一致则须要转换transformation。

见图11.8

【扩展区域expansion regions】

  常常有这样的情况:一个动作输出 触发了还有一个动作的多次调用。扩展区域标记一个活动图的区域里全部动作都会出现一次,对于一个集合里的每一项each item in a collection。

见图11.9

上图中的行为是并行的。由于用<<concurrent>>keyword标记了。





【流终点flow final】

  一个流终点表示一个特定的流的结束,而不停止整个活动。

见图11.11

图中同意文章被拒绝。假设一个文章被拒绝。该记号token会被流终点销毁。跟活动终点不同,其它的活动还能够继续。这让扩展区域可作为过滤器filters,即输出集合会比输入集合小。





【结合说明join specification】

一个合并说明是附加到一个合并的布尔表达式。每次一个记号token到达一个合并的时候,合并说明会被检測,假设为真,则输出记号被发射emit。

见图11.12

【uml精粹 读书笔记分享】

http://download.csdn.net/detail/adfansong/8781683

uml精粹——11.活动图(及整个读书笔记分享)的更多相关文章

  1. UML状态图和活动图

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

  2. Enterprise Architect UML 建模之活动图

    EA(Enterprise Architect) UML 建模之活动图   一.活动图的概念作用 活动图本质上是一种流程图,它描述活动的序列,即系统从一个活动到另一个活动的控制流. 活动图的作用:描述 ...

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

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

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

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

  5. 【UML 建模】活动图介绍

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

  6. UML精粹3 - 类图,序列图,CRC

    类图Class diagram 类图描述系统中的对象类型,以及它们之间的各种静态关系.类图也展示类的性质和操作,以及应用于对象连接方式的约束.UML中的特性feature,涵盖了性质property和 ...

  7. uml精粹——10.状态机图

    10.状态机图state machine diagram   状态机图是常见的描写叙述一个系统行为的技术. 在面向对象的方法中,为单个类绘制一个状态机图来展示单个对象的生命周期行为. 见图10.1 图 ...

  8. EA(Enterprise Architect) UML 建模之活动图

    一.活动图的概念作用 活动图本质上是一种流程图,它描述活动的序列,即系统从一个活动到另一个活动的控制流. 活动图的作用:描述用例  .   描述类的操作.描述算法(单独使用) 二. 活动图的基本符号 ...

  9. UML指南系列——活动图

    活动图用来描述传统意义上的流程图

随机推荐

  1. 想知道WiFi是什么样子的么?

    据英国<每日邮报>报道.英国纽卡斯尔大学博士生路易斯·赫南日前利用定制的仪器为WiFi信号拍照,绘制出一系列展现人类周围无形网络WiFi连接情况的图,这些盘旋环绕的明亮光束,宛如幽灵一般缠 ...

  2. Activity启动模式的深入分析

    网上关于Activity启动模式的文章许多.可是看起来都千篇一律,看完之后我们都能理解这4种启动模式.只是官方api对singleTask这个启动模式解释有些争议,导致我事实上并没有真正理解这几种模式 ...

  3. Linux 解压缩命令整理

    一.tar命令 参数 参数 详解 参数 详解 -c 可以使用绝对路径来压缩 -x 解开一个压缩文件的参数指令 -t 查看内容 -r 向压缩归档文件末尾追加文件 -u 更新原压缩包中的文件 -z 有gz ...

  4. 洛谷 P2095 营养膳食

    洛谷 P2095 营养膳食 题目描述 Mr.L正在完成自己的增肥计划. 为了增肥,Mr.L希望吃到更多的脂肪.然而也不能只吃高脂肪食品,那样的话就会导致缺少其他营养.Mr.L通过研究发现:真正的营养膳 ...

  5. 【习题 6-4 UVA-439】Knight Moves

    [链接] 我是链接,点我呀:) [题意] 在这里输入题意 [题解] bfs模板题 [代码] /* 1.Shoud it use long long ? 2.Have you ever test sev ...

  6. MyCat中间件:读写分离(转)

    利用MyCat中间件实现读写分离 需要两步: 1.搭建MySQL主从复制环境 2.配置MyCat读写分离策略 一.搭建MySQL主从环境 参考上一篇博文:MySQL系列之七:主从复制 二.配置MyCa ...

  7. Project Euler 613 Pythagorean Ant(概率+积分)

    题目链接:点击我打开题目链接 题目大意: 给你一只蚂蚁,它在一个 边长为 \(30-40-50\) 的直角三角形\((x,y)\)上,并且它在直角三角形中选择的位置和移动方向的概率都是相等的.问你这只 ...

  8. 删除dataGridview中选中的一行或多行

    一.实现的功能:可以删除一行或者多行数据,并在删除前提醒是否确定进行删除! DialogResult RSS = MessageBox.Show(this,"确定要删除选中行数据码?&quo ...

  9. LM4990音频功放芯片

    我们选用的一种封装:我们用的是DGK封装. 典型电路图: 下面是示意图:四中封装的示意图是不一样的: 下面是真正的原理图: 高放大倍数的原理图: 查分式的: 单个输入的原理图: 下面是有关电源的选择:

  10. 11.4 Android显示系统框架_APP与SurfaceFlinger内部机制分析

    4.1 APP跟SurfaceFlinger之间的重要数据结构 一个应用程序有一个或者多个surface(一般只有一个),一个surface有一个或者多个buffer,这些buffer需要应用向sur ...