语法小结
简单活动图
活动标签(activity label)以冒号开始,以分号结束。
开始/结束
关键字start
和stop
表示图示的开始和结束。也可以使用 end
关键字。
条件语句
在图示中可以使用关键字if
,then
和else
设置分支测试。标注文字则放在括号中。也可以使用关键字elseif
设置多个分支测试。
重复循环
使用关键字repeat
和repeatwhile
进行重复循环。
while循环
使用关键字while
和end while
进行while循环。还可以在关键字endwhile
后添加标注,还有一种方式是使用关键字is
。
并行处理
可以使用关键字fork
,fork again
和end fork
表示并行处理。
注释
文本格式支持creole wiki语法。
颜色
可以为活动(activity)指定一种颜色。
箭头
使用->
标记,你可以给箭头添加文字或者修改箭头颜色。同时,你也可以选择点状 (dotted),条状(dashed),加粗或者是隐式箭头
连接器
可以使用括号定义连接器。
组合
通过定义分区(partition),可以把多个活动组合(group)在一起。
泳道
可以使用管道符|
来定义泳道。
分离
可以使用关键字detach
移除箭头。
特殊领域语言(SDL)
通过修改活动标签最后的分号分隔符(;
),可以为活动设置不同的形状。
语言描述
@startuml
start
:选择商品;
:商品交给收银员;
if (是否是会员) then (非会员)
if (还有商品否?) then (有)
:接收商品条码;
if (还有商品否?) then (没有)
stop
endif
else (会员)
endif
start
:选择商品;
:商品交给收银员;
if (是否是会员) then (非会员)
if (还有商品否?) then (有)
:接收商品条码;
if (还有商品否?) then (没有)
stop
endif
else (会员)
endif
if (还有商品否?) then (没有)
:结算;
else
if (会员卡是否有效?) then (有)
:接收商品条码;
else (没有)
:接收商品条码;
endif
endif
stop
@enduml
@enduml