uml活动图 各个功能的操作流程和分支_UML建模之活动图介绍(Activity Diagram)

一、活动图的组成元素 Activity Diagram Element

1、活动状态图(Activity)

2、动作状态(Actions)

3、动作状态约束(Action Constraints)

4、动作流(Control Flow)

5、开始节点(Initial Node)

6、终止节点(Final Node)

7、对象(Objects)

8、数据存储对象(DataStore)

9、对象流(Object Flows)

10、分支与合并(Decision and Merge Nodes)

11、分叉与汇合(Fork and Join Nodes)

12、异常处理(Exception Handler)

13、活动中断区域(Interruptible Activity Region)

14、泳道(Partition)

二、活动图案例分析.

三、总结

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

1、活动状态图(Activity)

活动状态用于表达状态机中的非原子的运行,其特点如下:

(1)、活动状态可以分解成其他子活动或者动作状态。

(2)、活动状态的内部活动可以用另一个活动图来表示。

(3)、和动作状态不同,活动状态可以有入口动作和出口动作,也可以有内部转移。

(4)、动作状态是活动状态的一个特例,如果某个活动状态只包括一个动作,那么它就是一个动作状态。

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

2、动作状态(Actions)

动作状态是指原子的,不可中断的动作,并在此动作完成后通过完成转换转向另一个状态。动作状态有如下特点:

(1)、动作状态是原子的,它是构造活动图的最小单位。

(2)、动作状态是不可中断的。

(3)、动作状态是瞬时的行为。

(4)、动作状态可以有入转换,入转换既可以是动作流,也可以是对象流。动作状态至少有一条出转换,这条转换以内部的完成为起点,与外部事件无关。

(5)、动作状态与状态图中的状态不同,它不能有入口动作和出口动作,更不能有内部转移。

(6)、在一张活动图中,动作状态允许多处出现。

UML中的动作状态图用平滑的圆角矩形表示,如下:

3、动作状态约束(Action Constraints)

动作状态约束:用来约束动作状态。如下图展示了动作状态的前置条件和后置条件

4、动作流(Control Flow)

动作之间的转换称之为动作流,活动图的转换用带箭头的直线表示,箭头的方向指向转入的方向。

5、开始节点(Initial Node)开始节点:表示成实心黑色圆点

6、终止节点(Final Node)分为活动终止节点(activity final nodes)和流程终止节点(flow final nodes)。

活动终止节点表示整个活动的结束

而流程终止节点表示是子流程的结束。

7、对象(Objects)

8、数据存储对象(DataStore)

使用关键字«datastore»

9、对象流(Object Flows)

对象流是动作状态或者活动状态与对象之间的依赖关系,表示动作使用对象或动作对对象的影响。用活动图描述某个对象时,可以把涉及到的对象放置在活动图中并用一个依赖将其连接到进行创建、修改和撤销的动作状态或者活动状态上,对象的这种使用方法就构成了对象流。

对象流中的对象有以下特点:

(1)、一个对象可以由多个动作操作。

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

(3)、在活动图中,同一个对象可以多次出现,它的每一次出现表面该对象正处于对象生存期的不同时间点。

对象流用带有箭头的虚线表示。如果箭头是从动作状态出发指向对象,则表示动作对对象施加了一定的影响。施加的影响包括创建、修改和撤销等。如果箭头从对象指向动作状态,则表示该动作使用对象流所指向的对象。

状态图中的对象用矩形表示,矩形内是该对象的名称,名称下的方括号表明对象此时的状态。

10、分支与合并(Decision and Merge Nodes)分支与合并用菱形表示

11、分叉与汇合(Fork and Join Nodes)

分为水平风向和垂直方向。

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

12、异常处理(Exception Handler)

当受保护的活动发生异常时,触发异常处理节点。

13、活动中断区域(Interruptible Activity Region)

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

14、泳道(Partition)泳道将活动图中的活动划分为若干组,并把每一组指定给负责这组活动的业务组织,即对象。在活动图中,泳道区分了负责活动的对象,它明确地表示了哪些活动是由哪些对象进行的。在包含泳道的活动图中,每个活动只能明确地属于一个泳道。

泳道是用垂直实线绘出,垂直线分隔的区域就是泳道。在泳道的上方可以给出泳道的名字或对象的名字,该对象负责泳道内的全部活动。泳道没有顺序,不同泳道中的活动既可以顺序进行也可以并发进行,动作流和对象流允许穿越分隔线。

1、泳道分为:会员泳道和系统泳道。会员选择商品并加入购物车,系统完成订单生成及其支付完毕。

2、开始节点:会员添加商品到购物车,点击【订单确认】,开始交于系统处理订单流程

3、结束节点:商品发送完毕和付款成功,订单处理流程结束

4、活动状态:产生订单、Check Credit Cart核对信用卡、Check Stock核对库存量、Deliver Goods发送商品、Process Credit Cart付款

5、分叉与汇合:【产生订单】份叉为检查库存量和会员支付金额是否足够,如果不足,取消订单,如过库存量和支付金额足够,发送商品和付款,最后汇合为订单完成。

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

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/news/244620.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

linux c 进程编程,linux c/c++ 编程之-----进程操作

进程系统调用 getpid 可以得到进程的 ID,而 getppid 可以得到父进程(创建调用该函数进程的进程)的 ID.#include ;pid_t getpid(void);pid_t getppid(void);struct passwd {char *pw_name; /* 登录名称 */char *pw_passwd; /* 登录口令 */uid_t pw_uid; /* 用户 ID */gid_t pw_g…

pcm 采样率转换_All Video Converter Pro for mac(音视频格式转换器)

视频格式不支持播放?macz为您介绍一款可以快速简单地将视频和音频文件转换为所有流行的格式。支持几乎所有的视频和音频格式,同时还可以裁剪视频,剪辑任何片段,将多个文件合并为一个,并 在视频上添加水印。All Video C…

qt中如何模拟按钮点击_qt – 在Windows中模拟鼠标按钮单击

这是在C#中,但可能会帮助您了解一下:[DllImport("user32.dll",CharSetCharSet.Auto,CallingConventionCallingConvention.StdCall)]public static extern void mouse_event(long dwFlags,long dx,long dy,long cButtons,long dwExtraInfo);private const …

linux监控哪些目录,linux管理文件和目录的命令

1.1 pwd命令该命令的英文解释为print working directory(打印工作目录)。输入pwd命令,Linux会输出当前目录。1.2 cd命令cd命令用来改变所在目录。cd / 转到根目录中cd ~ 转到/home/user用户目录下cd /usr 转到根目录下的usr目录中————-绝对路径cd test 转到当前…

input change获取改变之前的值和改变之后的值_科技改变游戏:玩家使用氛围灯追踪角色资源变化...

来自Reddit上的一位名叫Minokar的玩家,最近通过连接支持Wifi的LED智能灯,提出了一个巧妙追踪魔兽世界角色资源的办法。通过他的设计,这种智能氛围灯会根据角色的怒气、能量、连击点数或者当前的生命值来改变颜色和光的强度。他同时也发布了自…

红外传感器型号和参数_红外传感器参数|热释电红外传感器参数

宇宙间的任何物体只要其温度超过零度就能产生红外辐射,事实上同可见光一样,其辐射能够进行折射和反射,红外线传感器是用红外线的物理性质来进行测量的传感器。红外线又称红外光,它具有反射、折射、散射、干涉、吸收等性质。它是一…

linux 恢复boot分区,Linux boot分区格式化后恢复 示例

在之前的博客我们看了boot分区删除文件后的修复方法,如下:Linux boot 分区损坏重建 示例https://www.cndba.cn/dave/article/3534https://www.cndba.cn/dave/article/3535我们这里看一下直接把boot分区删除后的修复过程。 具体步骤如下。https://www.cnd…

netlink怎么读_内核交互 netlink,检测部分进程死亡和启动。

和内核交互netlinknetlink内核和用户进程交互用户空间用的是socket,内核空间用的是内部API和一个模块。向下兼容。面向数据包的应用。即SOCK_RAW and SOCK_DGRAM函数原型#include #include #include netlink_socket socket(AF_NETLINK, socket_type, netlink_famil…

nosuchelementexception 是什么异常_有甲状腺结节的人为什么越来越多?

有甲状腺结节的人为什么越来越多?甲状腺位于人体颈部正前方的位置,在喉结下方,形似蝴蝶,是人体最大的内分泌腺。甲状腺具有分泌甲状腺激素的功能,该激素在人体生长发育和新陈代谢方面扮演着重要角色。那么,…

hdf5编译+linux,在ubuntu上安装HDF5并编译执行

2.2.解压之后,cd hdf5-1.12.0.tar.gz路径3.按以下顺序在终端执行命令:(1)./configure --prefix/usr/local/hdf5 --enable-fortran(2)make(3) make check(检查环境,可选项)(4)sudo make install(5)sudo make check-install(可选项)至此&#x…

mysql5.7和8.0的区别_解答阿迪达斯Adidas ultra boost4.0与正品区别!如何选择?

随着天气渐热,小伙伴们也该换上清爽的鞋子了。说道这里以舒适,透气,踩屎感的adidas ultra boost或许是中高端鞋品最大的赢家。2年多的时间,adidas已经将UltraBOOST打造成了旗下最出色的慢跑鞋,也将它从1.0升级到了4.0。即便是新品…

开关电源环路的零极点可以在反馈端补偿吗_【干货分享】开关电源环路补偿设计步骤讲解...

微信公众号:硬核电子ps:本文撰写过程较为漫长,要画各种示意图和编辑公式,如果你觉得文章不错的话,就请点个赞同吧。​1. 理论讲解在上一篇文章中电子小白菜:【干货分享】轻松弄懂开关电源TL431环路补偿传递…

python实时监控文件大小_python实现实时监控文件的方法

在业务稳定性要求比较高的情况下,运维为能及时发现问题,有时需要对应用程序的日志进行实时分析,当符合某个条件时就立刻报警,而不是被动等待出问题后去解决,比如要监控nginx的$request_time和$upstream_response_time时…

linux 算法函数,数据结构——算法之(012)( linux C 全部字符串操作函数实现)...

数据结构——算法之(012)( linux C 所有字符串操作函数实现)题目:实现linux C下常用的字符串操作函数题目分析:一、面试中可能经常遇到这样的问题:比如strcpy、memcpy、strstr二、参考了linux 内核代码,对linux大神表示感谢&#…

汇编 begin_【精品】小学作文500字汇编九篇

【精品】小学作文500字汇编九篇在我们平凡的日常里,大家或多或少都会接触过作文吧,作文可分为小学作文、中学作文、大学作文(论文)。你所见过的作文是什么样的呢?以下是小编为大家整理的小学作文500字9篇,希望能够帮助到大家。小学…

linux mkdir绝对路径,linux学习(六)绝对路径、相对路径、cd、mkdir、rmdir、rm(示例代码)...

一、绝对路径就是从根开始的,如:/root、/usr/local。二、相对路径相对于当前路径的,比如我们在当前路径下建立了一个a.txt。[[email protected] ~]# pwd/]# ls1.cap 33.txt Application iptables.bak oneinstack shellscripts1.ipt a.php Doc…

python3.6打包成exe可执行文件、已解决方案_Python 3.6打包成EXE可执行程序的实现...

1、下载pyinstallerpython 3.6 已经自己安装了pip,所以只需要执行 pip install pyinstaller就可以了2、打包程序进入到你你需要打包的目录;比如我在H:\xcyk开始打包,执行pyinstaller xxx.py我们发现,竟然报错!&#xf…

steam加速_Apex英雄Steam版锁60帧 GoLink免费加速器助力畅快_综合资讯

之前一度爆火的大逃杀游戏《Apex英雄》最近登录了Steam平台,并且支持与Origin平台数据互通。这让很多被烂橘子平台劝退的玩家选择了在Steam平台重新入坑《Apex英雄》,不过由于Steam版刚推出,免不得出现很多问题,很多玩家在进入游戏…

springboot主线程_Springboot对多线程的支持详解

Springboot对多线程的支持详解这两天看阿里的JAVA开发手册,到多线程的时候说永远不要用 new Thread()这种方式来使用多线程。确实是这样的,我一直在用线程池,到了springboot才发现他已经给我们提供了很方便的线程池机制。本博客代码托管在git…

信号灯文件锁linux线程,linux——线程同步(互斥量、条件变量、信号灯、文件锁)...

一、说明linux的线程同步涉及:1、互斥量2、条件变量3、信号灯4、文件读写锁信号灯很多时候被称为信号量,但个人仍觉得叫做信号灯比较好,因为可以与“SYSTEM V IPC的信号量”相区分(如有不同意见,欢迎探讨)。二、互斥量1、定义互斥…