PlantUML绘制活动图
PlantUML系列文章
PlantUML 绘制时序图https://blog.csdn.net/zhangwei_david/article/details/125451459 PlantUML绘制类图https://blog.csdn.net/zhangwei_david/article/details/125477021
目录
一、什么是活动图
二、活动图构成
2.1 活动图示例
三、如何使用PlantUML 绘制时序图
3.1 开始/停止/结束/
3.1.1示例代码
3.2 普通活动
3.3 条件选择
3.3.1 if/else
3.3.3 switch
3.4 循环
3.4.1 while
3.4.2 repeat
3.5并行与分割
3.5.1 并行
3.5.2 分割
3.6泳道
3.7样式与颜色
3.7.1 改变活动颜色
3.7.2 改变连接线颜色
四、综合运用
一、什么是活动图
活动图是常用的动态视图,是用来描述在具体场景下如何做特定的事情;通过可视化的工具,描绘现实生活中具体事物运转流程,输出让人更直观理解,便于沟通的内容。
二、活动图构成
一般活动图包含一下几个部分
- 起点
- 活动
- 判断
- 泳道
- 执行顺序
- 结束
2.1 活动图示例
下面就是一副以在充值APP上进行一次手机充值的活动图
三、如何使用PlantUML 绘制时序图
3.1 开始/停止/结束/
说明 | 语法 |
开始 | start |
结束 | end |
停止 | stop |
杀死活动 | kill |
摆脱活动 | detach |
3.1.1示例代码
!pragma useVerticalIf on
startif(条件A) then(yes):条件A操作;detachelseif(条件B) then(yes):条件B操作;killelse(default): 默认操作;endif
stop
效果图:
3.2 普通活动
普通活动最简单几本语法就是
:活动说明;
3.3 条件选择
条件选择主要就是ifelse和switch
3.3.1 if/else
条件判断的语法格式是 if(...) then(...) elseif(...) else endif.
上文中的示例图就是基于ifelse条件选择
3.3.3 switch
switch的语法格式如下:
start
switch(测试)
case (条件A)
:TextA;
case (条件B)
:TextB;
case (条件C)
:TextC;
endswitch
stop
3.4 循环
循环主要就是while和repeat,goto还是属于实验性质,效果不佳
3.4.1 while
下面示例就是while的基本语法
startwhile(更多数据?) is(not empty):读取数据;:生成图片;endwhile(empty)stop
3.4.2 repeat
下面示例就是repeat的基本语法
start
repeat:读取数据;:生成图片;
repeat while (更多数据?)stop
3.5并行与分割
3.5.1 并行
可以使用fork
,fork again
和end fork
或者 end merge
等关键字表示并行处理。
首先看看简单的并行处理(fork .... fork again.... end fork)
start
fork:行为 A;
fork again:行为 B;
end fork {或}
stop
在看看合并以及结束子行为是如何处理的。
start
fork:行为 A;
fork again:行为 B;end
fork again:行为 C;detach
fork again:行为 D;stop
fork again:行为 E;kill
fork again:行为 F;
end merge
stop
3.5.2 分割
使用 split
, split again
和 end split
关键字去表达分割处理,下文通过使用split来处理多输入和多输出。
'多输入'
split
-[hidden]->:行为 A;
split again
-[hidden]->:行为 B;
end split-[#green,dashed]->
:处理分发;
split
-[#blue]->:行为 A;kill
split again#red:行为 B;detach
split againend
split again
stop
end split
3.6泳道
泳道使用“|泳道名称|”来定义泳道
3.7样式与颜色
3.7.1 改变活动颜色
对于活动的颜色可以 #颜色:行为;来改变行为颜色
#red:行为 B;
3.7.2 改变连接线颜色
可以使用 -[#颜色,线型]-> 来改变连接线类型和颜色
如:
语句 | 说明 |
-[#red,dashed]-> | 红色虚线 |
-[#blue,dotted]-> | 蓝色点状线 |
-[#red]-> | 红色实线 |
3.7.3 改变泳道颜色
|#lightYellow|用户|
四、综合运用
下一就是文章开头活动图的代码
@startuml
|#lightYellow|用户|
start
:输入手机号;
:选择话费套餐;
|#lightBlue|充值APP|
:生成,提交订单;
|#lightgray|服务商|
:生成订单;
|充值APP|
:展示支付方式;
|用户|
:选择支付方式;
:支付套餐金额;
|服务商|
:支付结果通知;
split
:更新订单状态;
|充值APP|
:展示支付结果;
|用户|
:获取支付结果;
kill
split again|服务商|-[dashed]->if(支付成功) then(成功):向运营商发起充值请求;|#pink|运营商|:接收到充值请求;:执行充值;:通知充值结果;|服务商|:更新订单状态;|充值APP|:展示充值结果;|用户|:获取充值结果;floating note left #red:充值流程结束endelse(失败)|服务商|:失败处理流程;kill@enduml
PlantUML绘制活动图相关推荐
- PlantUML绘制类图
系列文章目录 PlantUML绘制活动图https://blog.csdn.net/zhangwei_david/article/details/125507374 PlantUML 绘制时序图htt ...
- PlantUML 绘制时序图
PlantUML系列文章 PlantUML绘制活动图https://blog.csdn.net/zhangwei_david/article/details/125507374PlantUML绘制类图 ...
- Visual Paradigm 教程[UML]:如何在UML中绘制活动图?
下载Visual Paradigm最新版本 活动图由活动和状态之间的活动,状态和转换组成,描述了如何协调活动以提供服务,例如,单个用例中的事件如何相互关联,或者用例集合如何协调创建 组织的工作流程. ...
- Visio绘制活动图
原文地址为: Visio绘制活动图 为什么要绘制活动图? 当我们真正地进入了编码阶段,我们写程序的时候需要按照一定的业务逻辑来组织我们的代码.这就要求我们要细化一个用例所需要涉及的业务流程.活动图用来 ...
- 使用 PlantUML 绘制时序图
目录 一.简介 二.安装 1.1 安装插件到PyCharm 2.2 验证 2.2.1 插件检查是否安装 2.2.2 新建PlantUML文件 一.简介 Github地址:https://github. ...
- plantuml绘制UML图
转载自:https://www.cnblogs.com/youlangta/p/7878777.html Table of Contents 前言 什么是PlantUML 在Emacs里配置Plant ...
- plantuml 依赖_使用PlantUML绘制类图
本文基于sublime的PlantUML插件绘制类图.如需了解插件安装,请点击 Sublime安装PlantUML插件 类的UML表示 使用UML表示一个类,主要由三部分组成. 类名 . 属性 . 方 ...
- PlantUML:一款让你爽到起飞的高效代码绘制时序图工具
背景 对于工作中遇到一些复杂的业务逻辑场景,需要借助图形工具去准确的表达,会更高效的理解和梳理复杂的逻辑,同时在跟领导和同事汇报时也更能清晰.准确.快速的表达想法以及方案.比如梳理源码常用的时序图以及 ...
- UML模型中的图-行为图【状态图、活动图】
前言 前面的博文为大家分享了UML模型中的用例图.静态图.接下来继续为大家分享UML模型中的图-行为图. 正文 行为图用来描述系统的动态模型和对象之间的交互关系.行为图在UML模型中也是一个语义上分类 ...
最新文章
- chrome调试的JavaScript官方技巧
- 如何删除tmp计算机桌面,Win10系统中tmp文件删除不了应该如何解决?
- 窥探Swift编程之强大的Switch
- String.valueOf(Object)与Objects.toString(Object)
- 认识死锁之生产者与消费者
- react使用antd实现日期与时间的不可选定
- UVA10602 Editor Nottoobad【贪心】
- python数据库操作——NoSQL数据库之连接MongoDB、Redis数据库
- 计算机无法关机 总是自动启动,告诉你win10电脑关机后自动开机怎么解决
- 如何制作linux安装光盘,新手看招 如何制作Linux系统的安装光盘?
- Android8.1 MTK平台 修改系统默认语言和默认输入法
- 使用IDEA编写Java程序时遇到的小提醒Common part can be extracted from ‘if‘
- 面试题-评价一下你之前公司的领导、同事或之前学校中的导师、同学
- win10升级Java版本
- 梅科尔工作室-王宣-鸿蒙笔记1
- 编程求圆的面积和周长(c语言)
- Macbook磁盘空间不足怎么办?
- 抖音小程序可做类目--资讯
- 深入理解——字节、字符/字符串、Unicode 字符集
- JS中String字符串
热门文章
- 【自考】网络经济与企业管理(一)——泛读
- WWDC 2012 Session笔记——AutoLayout(自动布局)入门
- 漏洞复现 - - - 未授权访问漏洞Redis
- 汽车销售管理系统[C/S版本]-Java课程设计
- 2023-2028年中国胶原蛋白行业深度调研与投资趋势分析报告
- 2023年全国DAMA-CDGP数据治理专家认证线上班招生简章
- 智慧树怎么导入教务系统的课_智慧树网学习手册导入选课之APP版.doc
- 掘金 Android 文章精选合集
- 孩子为什么要上托育园?这8项技能,在家学不到!
- Ubuntu 18.04.2 安装 x11vnc