UML-活动图
Posted 一个调皮的bug
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了UML-活动图相关的知识,希望对你有一定的参考价值。
温馨提示:
-
对于 UML图有用无用,网上说法不一,不管怎样 也是 可 以稍微 学习一下的 -
看懂本文需要 -
编程思维 -
懂中文:) -
您的观看与点赞是对本公众号最大力的支持和鼓励~~
目录
介绍
活动图的作用是描述一系列具体动态过程的执行逻辑,展现活动和活动之间转移的控制流,并且它采用一种着重逻辑过程的方式来叙述。
在对软件密集系统建模的时候,有时需要详细地模拟系统在运作时的业务流程。面对这种需要,我们可以分析对象间发生的活动和触发条件,选用活动图对这些动态方面进行建模。
活动图的主要组成元素包括动作、活动、动作流、分支与合并、分叉与汇合、泳道和对象流等。
![UML-活动图](https://image.cha138.com/20210417/344a2f6a38cc41efb2d0af7c3e933cce.jpg)
活动图组成元素:动作和活动节点、开始和终止、控制流、判断节点、合并节点、泳道。
![UML-活动图](https://image.cha138.com/20210417/4454aa73e76a48668b5406ebcdc8a52f.jpg)
动作和活动节点
动作代表一个原子操作,操作可能是任何合法的行为。动作可以是并且不限于:创建或删除对象、发送消息、调用接口,甚至数学运算以及返回表达式的求值结果。
活动节点是一系列动作,主要用于实现动作序列的简化和动作图的嵌套。活动节点在图例上的表达方式和动作相同。、
![UML-活动图](https://image.cha138.com/20210417/e59436f07ff449129ad6ec7556eed919.jpg)
开始和终止
活动图中的开始和终止是两个标记符号,分别标记了业务流程的起始位置和结束位置。
活动图中必须有且仅有一个开始标记,一般至少有一个结束标记。(存在一些特殊的无穷过程不存在终止标记。)
![UML-活动图](https://image.cha138.com/20210417/1661fea7accf483da519130337a1e593.jpg)
控制流
控制流是活动图中用于标示控制路径的一种符号。它负责当一个动作或活动节点执行完毕后,将执行主体从当前已完毕的节点转移到过程的下一个动作或动作节点。
控制流从活动图的开始标记开始运行,经过顺序、分支等结构引导着各个动作的连续执行。
![UML-活动图](https://image.cha138.com/20210417/09ca3cecf4b24afdb19d48d389ee276d.jpg)
判断节点
判断节点是活动图中进行逻辑判断、并创造分支的一种方法。
判断节点具有一个进入控制流和至少两个导出控制流。
判断节点具有多个导出流,对于每条导出流而言,应当在表示该控制流的箭头上附加控制条件。
![UML-活动图](https://image.cha138.com/20210417/012a673694cf4cc099af4884981e20cb.jpg)
判断的三种处理方式
![UML-活动图](https://image.cha138.com/20210417/cc70c9c03d3242fba4935534145bf706.jpg)
-
在不需要写下判断的内容,直接通过监护来表示这个判断 -
在判断菱形旁边写下判断的句子。 -
在判断菱形前增加一个活动,表明判断的动作,而判断菱形不需要写下判断的句子。
合并节点
合并节点将多个控制流进行合并,并统一导出到同一个离开控制流。
合并节点仅有逻辑意义而没有时间和数据上的意义:几个动作都指向同一个合并节点也并不意味着这些动作要在进入之后互相等待或进行同步数据之类的操作。
![UML-活动图](https://image.cha138.com/20210417/033caaa8d8f943509d321a9074e4c84e.jpg)
泳道
泳道是将活动中的具体活动按照负责进行该活动的对象进行分区,一条泳道中的所有活动由同一个对象来执行。
除了以上的对线性流程进行分区以外,使用泳道表示法可以更清晰地表示并发。
![UML-活动图](https://image.cha138.com/20210417/71861517061445479c0bac8084ba6c92.jpg)
工时审批流程
员工填写工时,项目工时报项目经理审批后再报部门经理审批、非项目工时直接报部门经理审批。
![UML-活动图](https://image.cha138.com/20210417/60a24b0814954d04b7bc07a200303985.jpg)
分叉节点 & 结合节点
分叉节点是从线性流程进入并发过程的过渡节点,它拥有一个进入控制流和多个离开控制流。分叉节点的所有离开流程是并发关系,即分叉节点使执行过程进入多个动作并发的状态。
结合节点是将多个并发控制流收束回同一流程的节点标记,功能上与合并节点类似。结合节点的各个进入控制流间具有并发关系,它们在系统中同时运行。
![UML-活动图](https://image.cha138.com/20210417/7525bd008d3f4fe7b5de6536951f62bf.jpg)
例子:学生选课的活动图
学生选上课后需要上课、复习、考试、查询成绩,查询成绩后可以申请复核、查询复核结果、成绩如果及格庆祝、未通过补考或重修。
![UML-活动图](https://image.cha138.com/20210417/0a3a834a7a1248c4836c408e4fc8bba7.jpg)
注意:有“分叉”必须有“汇合”,“分叉”与“汇合”必须成对出现。
对象流
![UML-活动图](https://image.cha138.com/20210417/3ea223dcc4594aeeb09ab610158842b2.jpg)
和“输入”、“输出”相连的箭头叫对象流(Object Flow)
而活动与活动之间的箭头叫控制流(Control Flow)
示例
![UML-活动图](https://image.cha138.com/20210417/00dc937a46714acc91e0766ae16eb576.jpg)
我们说:工作产品1、2是活动A的输入,活动B输出工作产品3、4、5,其中工作产品5是活动C的输入
对象流是UML为填补活动图与面向对象思想之间的疏离而出现的。如果需要在活动图中表现对象流,则首先需要绘制出泳道,且对象应该作为泳道的负责对象出现。
![UML-活动图](https://image.cha138.com/20210417/81684c32fe7a42c38014b2a52b0f8e36.jpg)
![UML-活动图](https://image.cha138.com/20210417/cc09e23196cb4d9ba381eb1dba401f92.jpg)
连接件(Connector)
![UML-活动图](https://image.cha138.com/20210417/868af65be5ab40e0bba53cb45bd3f753.jpg)
左边的符号是箭头指向A,表示活动图到这里要转到另外一张图。
右边的符号由A开始指向一个箭头,这表示从这个A符号开始继续这个活动图。
例子
例子(1)上班活动图
![UML-活动图](https://image.cha138.com/20210417/e7527bfd0bf04e229cf687aa2f338579.jpg)
例子(2)汽车租赁
![UML-活动图](https://image.cha138.com/20210417/336f7137e99f40ffa8f75af78e9c0643.jpg)
例子(3)客户下单
活动图与状态图的比较
活动图与状态图的相同点
都是对系统的动态行为建模。
活动图与状态图的区别
①描述对象不同
状态图:描述对象状态及状态之间的转移;活动图:描述从活动到活动的控制流。
②使用场合不同
状态图:描述对象在其生命期中的行为状态变化;活动图:描述过程的流程变化。
参考文章
https://www.cnblogs.com/gd-luojialin/p/10356755.html UML之活动图
https://www.cnblogs.com/greatesthacker/p/12823876.html 活动图
end
以上是关于UML-活动图的主要内容,如果未能解决你的问题,请参考以下文章