UML-活动图以及PlantUML绘制

介绍

活动图(英语:activity diagram)是工作流的图形化表示。活动图主要由活动和动作构成,也可以支持分支选择、迭代、并行。在 UML 中,活动图主要用于为计算性和组织性过程(即工作流)建模,相关活动之间的数据流也在其覆盖范围之内。活动图主要是用来说明控制流,不过也可以显示数据在各数据储存之间的流动。

组成元素

  1. 圆角矩形:表示“动作”
  2. 菱形:表示“决策”
  3. 粗实线:表示并行(并发性)活动的开始(分离)和结束(汇合);
  4. 黑圆:工作流的开始(初始节点);
  5. 黑圈套住的黑圆:工作流的结束(结束节点)。

PlantUML

我们再画UML的时候可以借助一些工具,比如startUML拖拽的,还有PlantUML可以使用代码生成的。这里介绍我自己比较喜欢的PlantUML工具

网站

PlantUML在线网站

基本语法

使用起来也比较简单。这里介绍一些基本的语法,一般情况下也足够满足我们的日常使用了。一般我们会以 @startuml 开始,以@enduml结束。

标题

表该图的主题,一般放在第一行,使用方式如下:

title your title

起点和结束

一般使用关键字 start 和 stop / end表示图示的开始和结束

连接顺序

活动标签 (activity label) 以冒号开始,以分号结束,文本内容支持creole wiki 语法,活动默认安装它们定义的顺序就行连接。

简单示例

在这里插入图片描述

条件语句

可以使用关键字 if,then 和 else 设置分支测试。标注文字则放在括号中。下面以一个简单的周 / 日报提醒服务为例说明

示例
@startuml
title: 周 / 日 报提醒服务
start
if (今天周五?) then (yes)
:汇总周报 \n下周规划;
else (no)
:今天日报总结;
endif
stop
@enduml

在这里插入图片描述

循环语句

你可以使用关键字 repeat 和 repeatwhile 进行重复循环

示例
@startuml
title: 部门月度会议
start
repeat
:部门月度会议;
repeat while (月末最后一个周五?)
stop
@enduml

在这里插入图片描述

并行处理

可以使用关键字 fork,fork again 和 end fork 表示并行处理
比如每周五,组长一方面需要汇总组员当日的日报,也需要汇总这一周的报告。而组员只需要每日汇总日报即可

@startuml
start
if (周五?) then (yes)
fork
:组长汇总组员日报;
fork again
:组长汇总团队周报;
end fork
else (no)
:组员汇报日报;
endif
@enduml

在这里插入图片描述

注释

一般使用note right 或者是note left来添加注释,当注释比较多时,也可以使用 note right/left + end note来标记注释模块

示例
@startuml
title: 周 / 日 报提醒服务
start
if (今天周五?) then (yes)
:汇总周报 \n下周规划;
else (no)
:今天日报总结;
note right: 组员只需要总结日报即可;
endif
stop
@enduml

在这里插入图片描述

多行注释示例
@startuml
title: 周 / 日 报提醒服务
start
if (今天周五?) then (yes)
:汇总周报 \n下周规划;
note left
  小组负责人职责:
  1、需要汇总组内周报内容
  2、规划下周内容
end note
else (no)
:今天日报总结;
note right: 组员只需要总结日报即可;
endif
stop
@enduml

在这里插入图片描述

泳道

可以使用管道符 | 来定义泳道,也可以改变泳道的颜色。

示例

以一个登录的场景作为示例。用户输入某网站的账密,服务器接受信息之后,会处理数据,并将其传递给公司内部统一的一个账户服务来校验。最后返回结果给业务服务器。如果校验成功,就将登录信息写入cookie,反之就会记下错误日志信息,最后将登录结果返回给用户侧。

@startuml
title: 用户登录
|用户|
start
:页面登录操作;
|#AntiqueWhite|网站服务器|
:接受账密;
:数据处理;
|#E9F7E9|账户中心|
:接受数据;
:校验账密;
:返回校验结果;
|网站服务器|
:接受校验结果信息;
if (校验成功?) then (yes)
:将登录信息写入cookie;
else (no)
:日志记录错误信息;
endif
|用户|
:返回登录结果;
@enduml

在这里插入图片描述

参考文档

维基百科
PlantUML
书籍-UML需求分析

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

问白

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值