Loading [MathJax]/jax/output/CommonHTML/config.js
前往小程序,Get更优阅读体验!
立即前往
首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
MCP广场
社区首页 >专栏 >【UML建模】(5) UML建模之活动图

【UML建模】(5) UML建模之活动图

作者头像
码农飞哥
发布于 2022-03-31 12:12:10
发布于 2022-03-31 12:12:10
3.4K0
举报
文章被收录于专栏:好好学习好好学习

活动图的介绍

活动图可以看成是面向对象版的流程图,它是一种行为型模型图,主要用于表达系统某个功能的流程。活动图的作用是描述一系列具体动态过程的执行逻辑,展现活动和活动之间的转移的控制流,并且它采用了一种着重逻辑过程的方式来叙述。

主要元素

活动图主要动作、活动、动作流、分支与合并、分叉与汇合、泳道和对象流等元素。

动作和活动

一、动作代表一个原子操作,操作可能是任何合法的行为。动作可以是并且不限于:创建或删除对象、发送消息、调用接口、甚至数学运算以及返回表达式的求值结果。如下图所示就是各种类型的动作(Action):

  1. 普通的原子操作(Atomic),
  2. 调用接口(Call Behavior),
  3. 调用操作(Call Operation),
  4. 接受事件(Accept Event),
  5. 接受时间事件(Accept Time Event),
  6. 发送信号(Send Signal)
  7. 输入变量(Write Variable)
  8. 返回表达式的求值结果(Value Specification)
  9. 创建对象(Create Object)
  10. 删除对象(Destroy Object)
  11. 其他(Other)

二、活动节点 活动节点是一系列动作,主要用于实现动作序列的简化和动作图的嵌套。活动节点在图例上的表达方式和动作相同,其图标表示如下图所示:

开始和终止

活动图中的开始和终止是两个标记符号,分别标记了业务流程的起始位置和结束位置。活动图中有且仅有一个开始标记,一般至少有一个结束标记(死循环的情况下可能没有结束标记)。

  1. 开始的图标

2. 结束的图标

控制流

控制流是活动图中用于标示控制路径的一种符号,它负责当一个动作或活动节点执行完毕后,将执行主体从当前已完毕的节点转移到下一个动作或者活动节点。控制流从活动图的开始标记开始运行,经过顺序、分支等结构引导者各个动作的连续执行。

判断节点

判断节点是活动图中进行逻辑判断,并创造分支的一种方法。它有一个进入控制流和至少两个导出控制流。

判断节点具有多个导出流,对于每条导出流而言,应当在表示该控制流的箭头上附加控制条件。

分叉(fork)和汇合(join)

分叉节点是从线性流程进入并发过程的过渡节点,它拥有一个进行控制流和多个离开控制流。分叉节点的所有离开流程是并发关系,即分叉节点使执行过程进入多个动作并发的状态。汇合节点是将多个并发控制流收束回同一流程的节点标记,功能上与合并节点类似。结合节点的各个进入控制流间具有并发关系,它们在系统中同时运行。

泳道

泳道是将活动图中的具体活动按照负责进行该活动的对象进行分区,一条泳道中的所有活动由同一个对象来执行。除了以上的对线性流程进行分区以外,使用泳道表示法还可以更清晰地表示并发。案例:在线填写请假条,三天以下,直接上级审核即可,三天以上需要总监同意和人事批准,以上情况都通过,即可请假。

发送信号与接收信号

发送信号一种操作,可以将消息或信号发送给另一个活动,或同一活动中的并发线程。消息的类型和内容可以通过操作的标题或其他注释中指定的信息看出。

活动图的建模技术

对业务流程建模

  1. 选择一个将要描述的重要过程,过程中尽量涉及数量少但是关键的对象或参与者,将无关或关联很小的对象排除在外。
  2. 在总体业务流程中提取关键的动作或活动节点,并且将他们与对象或者参与者相对应;若发现有些动作无法对应,则考虑动作是否在这个流程中起关键作用,或者是否遗漏了某些对象或参与者。
  3. 规定初始状态:确定过程可能的结束位置,为活动图添加开始和结束节点。
  4. 从业务流程的开始节点开始,把过程中发生的动作按事件顺序排列,依次把这些动作添加到活动图中。
  5. 把局部的过于复杂的动作序列加以总结,绘制成一个活动节点;如果需要,把这个动作序列使用另外的活动图进行建模。
  6. 找出连接这些动作和活动节点的控制流,并且准确找到过程中的分支、分叉、合并与结合节点。
  7. 如果业务流程中有一些关键对象的值或状态需要加以描述,使用对象流添加这些对象在某些动作或活动节点前后的状态描述。

对用例交互建模

  1. 选择概念用例--即从系统对客户提供的各种服务中确定出一个关键业务,这个关键业务可能是在多个相同或者不同的情况下反复出现,或者是系统需要提供的一个关键服务或进行的关键操作。
  2. 对于当前选择的用例,通过事件流进行顺序叙述,并找出所有的参与者主动动作,把这些动作整理成动作或或活动节点。
  3. 把参与者和系统划分为两个泳道,如果有除了主参与者以外的其他参与者,也为它们分别划分泳道。
  4. 把活动节点纵向按照事件发生顺序,横向按照参与角色和系统角色对应填入活动图中。

综合例子

总结

本文详细介绍了UML活动图的信息。

本文参与 腾讯云自媒体同步曝光计划,分享自微信公众号。
原始发表:2022-03-20,如有侵权请联系 cloudcommunity@tencent.com 删除

本文分享自 码农飞哥 微信公众号,前往查看

如有侵权,请联系 cloudcommunity@tencent.com 删除。

本文参与 腾讯云自媒体同步曝光计划  ,欢迎热爱写作的你一起参与!

评论
登录后参与评论
暂无评论
推荐阅读
编辑精选文章
换一批
PaddleX全流程开发工具公开邀测啦!
依托飞桨开源深度学习框架和丰富的工具组件,PaddleX进行全流程的整合打通,为开发者提供飞桨全流程开发的最佳实践。它集飞桨核心框架、模型库、工具及组件等深度学习开发所需全部能力于一身,提供简明易懂的Python API,方便用户根据实际生产需求进行直接调用或二次开发,是提升深度学习项目开发效率的最佳辅助工具。这套工具的公测版于2020年3月30日在飞桨官网上发布,我们诚挚地邀请您试用,并根据您的意见不断进步及演化,让它助力每一位深度学习开发者实现无限创造。
用户1386409
2020/04/15
5920
又一神器面世:百度重磅发布「全流程开发套件」!
最近在做一个工业巡检的项目,主要涉及的内容是指针型表计的读取。本系列文章主要介绍实现表计读取的全流程开发。其中主要使用的工具为飞桨全流程开发工具 PaddleX 和 Visual Studio 2019。
GitHubDaily
2020/11/05
6170
又一神器面世:百度重磅发布「全流程开发套件」!
​小度巡检机器人上岗记:飞桨PaddleX助力实现室内精准巡检
百度大厦的一名安保人员手机里弹出这样一条信息。发信息的是他的“新同事”,一位近期上岗百度深研大厦的智能助手——小度巡检机器人。
用户1386409
2020/06/16
7030
​小度巡检机器人上岗记:飞桨PaddleX助力实现室内精准巡检
paddle 1-高级
在前面章节中,我们首先学习了神经网络模型的基本知识和使用飞桨编写深度学习模型的方法,再学习了计算机视觉、自然语言处理和推荐系统的模型实现方法。
zhangjiqun
2024/12/14
1240
paddle 1-高级
接球小游戏玩腻了?换个姿势让PaddleX帮你吊打游戏系统
这个小游戏你是不是自打会走路开始就在玩了呢?但是不是也还是会输给游戏系统得不到高分?不用怀疑自己手残,让我们走进AI的世界,尝试使用飞桨PaddleX开发一款“莫得感情”的自动接球程序,实现一顿让朋友们目瞪口呆、让游戏系统"自我怀疑"的操作吧!
用户1386409
2020/08/20
5230
接球小游戏玩腻了?换个姿势让PaddleX帮你吊打游戏系统
工业安全如何保障?30分钟上手安全帽检测全流程方案
在工厂、建筑工地、矿井等施工现场,安全帽是保障在场人员安全的重要防护装备。但当人员未佩戴安全帽进入施工场所时,靠人为监管耗时耗力,不易实时监管。针对上述问题,探索智能化转型的企业开始通过视频监控->目标检测->智能督导的方式智能、高效地完成此任务。
用户1386409
2022/08/31
4380
公共场所人流数据统计如何实现?解决重识别、漏检等检测难题
当前疫情形势严峻,商场、火车站、地铁口等公共场所对人员流量的统计至关重要。“每天进出多少人?” “现在商场中人员数量有多少?”这些关键数据直接影响到相关防疫管控措施。因为人员基数较大、流动性较高,通过人工来进行流量统计费时费力,更难保障准确性。针对上述难点,大量场景开始使用深度学习中视觉技术来解决此类问题。
用户1386409
2022/08/31
1.3K0
用乐高积木实现跨镜跟踪算法 | PPSIG诚邀你加入
飞桨社区特殊兴趣小组(PPSIG)旨在通过开放的社区形式与全球的开发者共同构建一个开放、多元和架构包容的生态体系,以开源理念和技术实践为驱动,让全球开发者更紧密的协作起来,构建更好的开源世界。
用户1386409
2021/05/07
5960
用乐高积木实现跨镜跟踪算法 | PPSIG诚邀你加入
GitHub 热榜:被网友疯狂恶搞的「蚂蚁呀嘿」项目终于开源了!
最近,小伙伴们的朋友圈、某音、某手、某博是不是都被魔性的「蚂蚁呀嘿」换脸视频刷屏了?!!甚至有网友纷纷吐槽:「这几天就仿佛捅了蚂蚁窝…」
架构师修炼
2021/03/22
7950
GitHub 热榜:被网友疯狂恶搞的「蚂蚁呀嘿」项目终于开源了!
算法SOTA、功能全面、性能最佳,PaddleDetection 2.0重磅升级!
目标检测技术作为视觉技术届的顶梁柱,不仅单兵作战在人脸、车辆、商品、缺陷检测等场景有出色的表现,也是文本识别,图像检索、视频分析、目标跟踪等复合技术的核心模块,应用场景可谓比比皆是。
用户1386409
2021/05/07
9790
算法SOTA、功能全面、性能最佳,PaddleDetection 2.0重磅升级!
工业党福利:使用PaddleX高效实现指针型表计读取系列文章(1)
最近在做一个工业巡检的项目,主要涉及的内容是指针型表计的读取。本系列文章主要介绍实现表计读取的全流程开发(立个FLAG,想想真是肝...留下了不争气的眼泪),其中主要使用的工具为百度开发的PaddleX和Visual studio 2019。
用户7699929
2020/08/27
1K0
工业党福利:使用PaddleX高效实现指针型表计读取系列文章(1)
从零学Paddle系列-0 Paddle框架整体概览
Paddle是百度开发的一个深度学习框架,运行时可采用静态图和动态图,通过多个版本的优化,Paddle的动态图运行效率已经可以媲美静态图,这里我推荐使用动态图来编写网络。基于Paddle框架进而衍生出了百度其他强大的开发套件,工具组件和模型库,基础概览如下
BBuf
2020/07/09
2.2K0
从零学Paddle系列-0 Paddle框架整体概览
智慧城市产业应用实践,高精度火灾烟雾检测方案详解
据报道,2021年全国消防救援队伍共接报火灾74.8万起,死亡1987人,受伤2225人,直接财产损失67.5亿元。传统靠人工报警的方法存在人员管理难、场地数量多且分散等问题,无法有效发现险情降低火灾损失。为了保障民众的生命财产安全,应用AI技术及时、自动检测监控区域内的烟雾和火灾至关重要。
用户1386409
2022/04/19
3810
智慧城市产业应用实践,高精度火灾烟雾检测方案详解
深度学习框架
深度学习(deep learning)是机器学习的分支,已经在工业生产、科学研究等领域有广泛应用。图 1-1-1 显示了深度学习、机器学习和人工智能之间的相对关系。
老齐
2022/12/09
8080
深度学习框架
超越YOLOv5的PP-YOLOv2和1.3M超轻量PP-YOLO Tiny都来了!
单阶段目标检测界的扛把子--YOLO,以其 「又快又好的效果」 在学术及产业界全面风靡。自 20 年下半年 YOLOv4、YOLOv5、PP-YOLO、YOLO-Fastest 和 YOLOv4 Tiny 等等轮番轰炸、掀起「YOLO 狂潮」后,时隔半年,超越 YOLOv5的PP-YOLOv2 和1.3M 超超超轻量级的PP-YOLO Tiny一起来了!!!
用户1386409
2021/05/07
1.6K0
超越YOLOv5的PP-YOLOv2和1.3M超轻量PP-YOLO Tiny都来了!
人工智能如何助力市政垃圾清洁?垃圾检测全流程方案详解
环境卫生是城市的名片,智慧环卫更是智慧城市中不可缺少的板块。随着作业严格化、服务综合化、人口老龄化等趋势的发展,环卫行业面临诸多新问题和新挑战,而AI技术的发展成为一大助力,帮助环卫智能升级,实现设施智能化、运营管理信息化、分析决策智慧化。如何充分利用现有的环卫车辆和设备,对城市整洁度实现实时的监控?如何在减少人工的前提下,更及时地发现问题,解决问题?如何有效监督环卫作业的完成质量?
用户1386409
2022/08/31
9290
太炸了!摸鱼AI小游戏,你也可以上一打了!Github
今天给大家分享一款 AI 小游戏:『寻物大作战』,这款游戏是基于 GitHub 上两个开源项目实现的。
张晓衡
2021/12/01
7530
太炸了!摸鱼AI小游戏,你也可以上一打了!Github
100倍加速!深度学习训练神器Determined AI宣布开源!更快,更简单,更强大
作为一名深度学习科研人员,小编我可是深受模型训练的困扰:一个模型要跑几天几夜,结果最后发现有一步错了 ...从头再来
新智元
2020/05/19
2.5K0
100倍加速!深度学习训练神器Determined AI宣布开源!更快,更简单,更强大
一行命令启动,十分钟内完成部署,Paddle Serving开放模型即服务功能
古人云:行百里者半九十。相信在深度学习领域中,不少做算法的小伙伴都会对这句话产生共鸣。辛辛苦苦搭建好网络,望眼欲穿得训练调试好模型,等到最后要部署,面对纷繁复杂的实际部署环境时,才发现原来终极大魔王在这里!
机器之心
2020/04/14
7370
一行命令启动,十分钟内完成部署,Paddle Serving开放模型即服务功能
就离谱!这么强悍发丝级超精细抠图算法开源了!
你还在用P.S.等商业软件,划着鼠标,一点点勾勒图像边缘完成抠图嘛? 有些大神可能会说:我可以用蒙板、通道等等高端操作实现超快抠图! 但如果能有一个软件可以实现智能全自动抠图,完美保留发丝、树叶等精细边缘,还完全免费,甚至代码都是全部开源的,它不香嘛!!! 图1 Matting效果展示 这绝对不是画饼,近期一项被称为Matting的算法可算是火爆了AI界,它相比于单纯的图像分割技术,可以根据透明度更进一步的对图像的像素进行分类,如下图,不仅图像中的主体目标被精准抠出,连超精细的毛绒边缘和透明玻璃杯
昱良
2022/04/27
2.5K0
就离谱!这么强悍发丝级超精细抠图算法开源了!
推荐阅读
相关推荐
PaddleX全流程开发工具公开邀测啦!
更多 >
领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档