Phpstormcookie
在Plugins中 安装PlantUML integration
插件测试
到http://www.graphviz.org/
网站下载graphviz.exe
并安装(这个软件能够支持更多的UML语法)网站
将graphviz安装目录下的dot.exe
路径添加到PlantUML的设置中spa
文档地址:http://plantuml.com/
插件
建议使用活动图-Activity-bate
语法:活动图Activity-Betacode
活动图(新语法)orm
当前活动图(activity diagram)的语法有诸多限制和缺点,好比代码难以维护。因此从V7947开始提出一种全新的、更好的语法格式和软件实现供用户使用(beta版)。就像序列图同样,新的软件实现的另外一个优势是它再也不依赖与Graphviz。
新的语法将会替换旧的语法。然而考虑到兼容性,旧的语法仍被可以使用以确保向前兼容。
可是咱们鼓励用户使用新的语法格式。blog
@startuml
、@enduml
开始、结束标记,表示UML解析的部分文档
start
、end
表示图示的开始和结束。图示的开始和结束。get
:Hello world;
活动标签(activity label)以冒号开始,以分号结束。活动默认安装它们定义的顺序就行链接。
if
、then
、else
和elseif
设置分支测试。标注文字则放在括号中。
repeat
、repeatwhile
重复循环。
while
和endwhile
进行while循环。还能够在关键字endwhile
后添加标注,还有一种方式是使用关键字is
。
fork
,fork again
和end fork
表示并行处理。
note
、end note
、floating note left
等等表示注释,例如:
floating note left: This is a note :foo2; note right This note is on several //lines// and can contain <b>HTML</b> ==== * Calling the method ""foo()"" is prohibited end note
#HotPin:activity;
、#AAAAAA:ending of the process;
表示颜色
使用->
标记,你能够给箭头添加文字或者修改箭头颜色。dotted
, dashed
, bold
or hidden arrows
和颜色标记,例如-[#blue]->
经过定义分区(partition),你能够把多个活动组合(group)在一块儿。经过定义分区(partition),你能够把多个活动组合(group)在一块儿。例如:
partition Initialization { :read config file; :init internal variable; }
使用管道符|来定义泳道。还能够改变泳道的颜色。
|Swimlane1| start :foo1; |#AntiqueWhite|Swimlane2| :foo2; :foo3; |Swimlane1| :foo4; |Swimlane2| :foo5; stop
关键字detach
移除箭头。
经过修改活动标签最后的分号分隔符(;),能够为活动设置不一样的形状。|、<、>、/、]、}
:next(o)| :Receiving; split :nak(i)< :ack(o)> split again :ack(i)< :next(o) on several line| :i := i + 1] :ack(o)> split again :err(i)< :nak(o)> split again :foo/ split again :i > 5} stop end split :finish;
@startuml start if (is login?) then (Y) if (gived box?) then (Y) :illegal request; detach else (N) :release box; :get boxOid; endif else (N) if (has boxOid?) then (N) :illegal request; detach endif endif :check wechat broswer; if (wechat broswer?) then (Y) if (get openid from cookie?) then (Y) if (get userInfo from DB by openid?) then (N) :clear openid in cookie; :re-request Url; detach endif else (N) :location wechat auth; detach endif endif :receive chocolate; end @enduml