Activity Diagram 活动图
活动图(英語:activity diagram)是工作流的图形化表示。活动图主要由活动和动作构成,也可以支持分支选择、迭代、并行。 维基百科
简介
活动图参考了 PlantUML 的 Activity Diagram Beta 语法。
简单动作
简单动作行以 :
开始,以 ;
结尾,之间为描述文字。
activityDiagram :动作 1; :动作 2;
start/end 关键字
使用 start
和 stop
关键字来表示一个图的开始和结束。
activityDiagram start :纸上得来终觉浅; :绝知此事要躬行; end
条件语句
使用关键词 if
, then
和 else
指定条件分支。说明文字放在括号中。
以下是几种常见语法:
if (...) then (...)
activityDiagram if (diagram registered ?) then :get implementation; else (no) :print error; endif
While 循环语句
使用关键词 while
和 endwhile
可指定 While 循环语句。
同时,可选择使用 is (...)
来指定条件满足时的说明文字。
activityDiagram start while (data available) :read data; :generate diagrams; endwhile while (met another test) is (yes) :do something; endwhile end
Repeat 循环语句
使用关键词 repeat
和 repeatwhile
可指定 Repeat 循环语句。
activityDiagram start repeat :read data; :generate diagrams; repeatwhile (data available ?) end
activityDiagram start repeat :prepare for each loop; :read data; :generate diagrams; repeatwhile (there is more data ?) is (alright then) not (nope) end
Switch/Case 语句
使用 switch
和 case
关键字可组成分支选择语句。
activityDiagram switch (test ?) case ( condition A ) :Text 1; case ( condition B ) :Text 2; case ( condition C ) :Text 3; endswitch
分组
使用分组关键词和花括号来实现分组,目前支持的分组关键字有:
group
partition
同时,也可选择在分组关键字后添加颜色 #\d{6}
来指定背景色。
activityDiagram start partition Init { :Read config; group #88bbf4 "Inner Process" { :Init themes; :Init symbols; } } end
并行(fork)
使用 fork
/ forkagain
/ endfork
/ endmerge
来实现并行处理的实例。
- 并行的 fork
activityDiagram start fork :Action 1; forkagain :Action 2; forkagain :Action 3; endfork end
- 带有
endmerge
activityDiagram start fork :Action 1; forkagain :Action 2; endmerge end
- 配合条件语句一起使用
activityDiagram start if (multiprocessor?) then fork :Action 1; forkagain :Action 2; endfork else (monoproc) :Action 1; :Action 2; endif end
添加备注
在动作语句之后使用 @note
,以及带上方位指示词和参与者来添加便签样式的备注。
- 方位词
left
和right
表示在参与者的左/右添加备注 - 可添加多行备注,在结尾使用
@end_note
结束
activityDiagram start :Some action; @note right: 右边的注释 if (diagram registered ?) then :get implementation; else (no) :print error; endif @start_note left 左边的 多行注释 @end_note end
为箭头添加文字
在动作语句下一行可以使用箭头标记语法来指定箭头文字。
目前只支持单行文字。
-> [说明文字];
activityDiagram start :行动 1; -> 行动说明文字; :行动 2; end
覆盖设置
可以使用 @param
指令覆盖图表的部分设置。
可设置项的说明请见 Config page.
activityDiagram @param actionBackground #61afef @param textColor #fff @param noteTextColor #purple @param edgeColor #143C9A @param edgeType curved @param { keywordBackground #143C9A labelTextColor #143C9A } start partition Init { :Read config; @note right: comment } while (data available) is (yes) :read data; endwhile end