IDE支持

Phpstorm

在Plugins中 安装PlantUML integration插件

到http://www.graphviz.org/网站下载graphviz.exe并安装(这个软件可以支持更多的UML语法)

将graphviz安装目录下的dot.exe路径添加到PlantUML的设置中

文档

文档地址:http://plantuml.com/

建议使用活动图-Activity-bate语法:活动图Activity-Beta

活动图(新语法)

当前活动图(activity diagram)的语法有诸多限制和缺点,比如代码难以维护。所以从V7947开始提出一种全新的、更好的语法格式和软件实现供用户使用(beta版)。就像序列图一样,新的软件实现的另一个优点是它不再依赖与Graphviz。

新的语法将会替换旧的语法。然而考虑到兼容性,旧的语法仍被能够使用以确保向前兼容。

但是我们鼓励用户使用新的语法格式。

语法

基础

@startuml、@enduml

开始、结束标记,表示UML解析的部分

start、end

表示图示的开始和结束。图示的开始和结束。

: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 HTML

====

* 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

php中绘画控制包括什么,PhpStorm中绘画UML相关推荐

  1. matlab中surf控制纵轴范围,matlab中3D曲面函数surf的坐标问题 | 学步园

    为了更形象的理解多元高斯概率密度函数,用matlab画了个图 代码如下: pi=3.14; u=[1;0]; D=[3 0;0 1]; Z=zeros(61); x=-3:0.1:3; y=-3:0. ...

  2. xdebug怎样在php中配置,教你在PHPStorm中配置Xdebug

    本教程适用于Laravel项目的使用者,并默认使用Homestead作为开发环境的虚拟机. 1. 确认你已经安装了Xdebug 通过ssh登录你的homestead,执行 ls /etc/php5/f ...

  3. python中分支结构包括哪些_python中的分支结构

    python不提供switch语句,但是python可以通过字典实现switch语句的功能 实现方法分两步: 首先:定义一个地点 其次:调用字典的get()获取相应的表达式 原始方法: from __ ...

  4. SAP SD基础知识之交货中的控制元素

    SAP SD基础知识之交货中的控制元素 一,交货类型Delivery Type Delivery type控制整个的交货,我们可以在delivery header中看到delivery type: D ...

  5. 通过sftp打开php.ini,PhpStorm中如何使用SFTP功能 详细操作方法

    1. 简介: PhpStorm是一个轻量级且便捷的PHP IDE,其提供的智能代码补全,快速导航以及即时错误检查等功能大大提高了编码效率.它是一款商业的 PHP 集成开发工具,以其独特的开发便利性,短 ...

  6. chmod 是一条在Unix系统中用于控制用户对文件的权限的命令

    chmod 是一条在Unix系统中用于控制用户对文件的权限的命令(change mode单词前缀的组合)和函数.只有文件所有者和超级用户可以修改文件或目录的权限.可以使用绝对模式,符号模式指定文件的权 ...

  7. 按网络中计算机所处的,按照网络中计算机所处的地位划分,计算机网络包括

    按照网络中计算机所处的地位划分,计算机网络包括 更多相关问题 与横道计划相比,网络计划具有的主要特点有()等.A.网络计划能够明确表达各项工作之间的逻辑关系 某新建项目包含多个单项工程,则该项目新增固 ...

  8. 什么是运动控制,工业控制与自动化领域中运动控制器的作用是什么?- 顶控科技

    作为一个工控人,时常都会提到运动控制.那么,什么是运动控制?在工业控制与自动化范畴中,运动控制器的作用是什么呢? 什么是运动控制 运动控制,也可叫做电力拖动控制:它是自动化的一个分支,其动力源大部分都 ...

  9. Android 4.0中振动控制

    为什么80%的码农都做不了架构师?>>>    最近 我研究了一下650的代码,发现系统中对播放铃声或通知时需不需要振动控制有以下几个: 勾选"振动并响铃"会设置 ...

最新文章

  1. CRF(条件随机场)与Viterbi(维特比)算法原理详解
  2. 只缺一个程序员 如何让产品实现
  3. linux+平均磁盘请求数量_SUSE LINUX下磁盘IO性能监测分析
  4. 非递归快速排序php,快排序的非递归实现(原创)
  5. 思科路由和交换限制用户出外网的几种策略
  6. spark项目实战:电商分析平台之项目概述
  7. Swift 使用WebKit动态执行javascript脚本
  8. 四 Apache Axis2 部署 WebService
  9. 2019-03-11-算法-进化(求众数)
  10. sftp shell 批量上传文件_如何在shell脚本里使用sftp批量传送文件-阿里云开发者社区...
  11. Windows 10 之修改登录背景(Win10BGChanger)
  12. apropos linux
  13. 使用class-dump 和Hopper实现简单反编译
  14. iOS base64解码失败
  15. 2021工作总结, 展望2022
  16. tp link无线路由器怎么设置
  17. 关于Adobe flash player 本地播放器
  18. linux中命令tat,10个炫酷的Linux终端命令大全
  19. face_recognition小实战:显示未知图片中已知人物的脸
  20. 基于JAVA疫情物资商城和疫情数据可视化系统设计与实现 开题报告

热门文章

  1. 4.1 基础-放苹果(整数划分)
  2. 【PAT乙级题库】全套总结
  3. 1143 Lowest Common Ancestor (30 分)【难度: 中 / 知识点: 最低公共祖先 未完成】
  4. python画圆形螺旋线_宝宝爱看小猪佩奇,很简单,让我们用python搞定它
  5. 【Mybatis 之应用篇】 3_Lombok、多对一处理和一对多处理
  6. 技术面试官告诉你面试应该怎么准备?
  7. java基础之包装类
  8. UI组件之AdapterView及其子类(六)ExpandableListView组件和ExpandableListActivity的使用
  9. 算法--2016搜狐面试:搜狐员工放假了,都玩什么?
  10. 06--JDBC各种连接方式的对比