PlantUML 使用实例
文章目录
-
- [PlantUML 使用实例](#PlantUML 使用实例)
-
- [1. PlantUML简介](#1. PlantUML简介)
-
- [1.1 什么是PlantUML](#1.1 什么是PlantUML)
- [1.2 PlantUML优势在哪](#1.2 PlantUML优势在哪)
- [2. 怎么用](#2. 怎么用)
-
- [2.1 环境依赖](#2.1 环境依赖)
- [2.2 VS Code组件安装](#2.2 VS Code组件安装)
- [3. 常用语法](#3. 常用语法)
-
- [3.1 标记开始结束](#3.1 标记开始结束)
- [3.2 声明参与者](#3.2 声明参与者)
- [3.3 声明关系](#3.3 声明关系)
- [3.4 对消息序列编号](#3.4 对消息序列编号)
- [3.5 组合消息](#3.5 组合消息)
- [4. 实例](#4. 实例)
1. PlantUML简介
1.1 什么是PlantUML
PlantUML是一个用来快速绘制UML图的Java类库,支持常用的大部分UML图包括:时序图、用例图、类图、对象图、活动图、组件图、部署图、状态图、定时图,还支持这些非UML图:实体联系图、JSON数据、YAML数据、网络图、线框图形界面、架构图、规范和描述语言(DSL)、Ditaa图、甘特图、思维导图、WBS工作分解图等。
1.2 PlantUML优势在哪
使用广泛,生态成熟,目前PlantUML已经被集成到很多脚本和文档工具,可以满足一次编写到处转换
-
文本编辑器和IDE:
-
支持多编程语言协作:
-
其他支持
2. 怎么用
这里以visual studio code举例
2.1 环境依赖
PlantUML的组件是plantuml.jar,所以要运行必须配置java环境
官网下载后安装:https://www.oracle.com/cn/java/technologies/downloads
下载安装后记住安装目录,配置java的环境变量
创建JAVA_HOME
配置Path
完成配置后,保存
打开CMD,输入javac
配置完毕
2.2 VS Code组件安装
安装成功后,配置plantUML server
打开plantuml extension的配置
找到server,这里可以配置在线的server,也可以自己安装一台server
在线server:https://www.plantuml.com/plantuml/uml/SyfFKj2rKt3CoKnELR1Io4ZDoSa70000
安装组件Graphviz Preview
3. 常用语法
plantuml 教程地址:https://plantuml.com/zh/
上面有完善的plantuml语法教程
3.1 标记开始结束
以@startuml开始,@enduml结束
如果是在vs code里面记得用```plantuml,把源码包起来
3.2 声明参与者
- participant(参与者),使用最多
- actor(角色)
- boundary(边界)
- control(控制)
- entity(实体)
- database(数据库)
- collections(集合)
- queue(队列)
3.3 声明关系
使用->和-->表明指向关系
3.4 对消息序列编号
使用autonumber对消息进行编号,也可以指定从某个数字开始
3.5 组合消息
- alt/else
- opt
- loop
- par
- break
- critical
- group, 后面紧跟着消息内容
alt和loop用的最多
4. 实例
plantuml
@startuml
participant Participant as Foo order 1
actor Actor as Foo1 order 2
boundary Boundary as Foo2
control Control as Foo3
entity Entity as Foo4
database Database as Foo5
collections Collections as Foo6
queue Queue as Foo7
autonumber 3
Foo -> Foo1 : To actor
Foo -> Foo2 : To boundary
loop
Foo -> Foo3 : To control
end
alt
autonumber 5.1
Foo -> Foo4 : To entity
else
Foo -> Foo5 : To database
end
Foo -> Foo6 : To collections
Foo --> Foo7: To queue
@enduml
plantuml
@startuml
participant abc as d
participant eeee as e
autonumber
d -> e: 测试消息
e --> d: 回复消息
autonumber 13.1
d -> e: 13.1
e -> d: 13.2
alt 条件一
d ->e :
else 条件二
d ->e :
else 条件三
d ->e:
end
loop
d -> e:
end
@enduml