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
分组
使用分组关键词和花括号来实现分组,目前支持的分组关键字有:
grouppartition
同时,也可选择在分组关键字后添加颜色 #\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
@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