UML绘图工具——PlantUML
1 简介
PlantUML是一个开源项目,支持通过简单直观的语言来定义以下UML图。
- 时序图
- 用例图
- 类图
- 活动图
- 组件图
- 状态图
- 对象图
- 部署图
- 定时图
支持生成图片格式有:
- PNG
- SVG
- LaTeX
- ASCII艺术图 (只针对时序图)
2 应用场景
-
在线使用。在图床网站上,使用文本语言生成图片链接。
-
离线使用
-
在IDE或者在线仓储中集成
- AndroidStudio
- Eclipce
- Intellij IDEA
- Sublime
- GitLab
-
独立生成图片。在命令行下从文本生成图片。
-
3 示例
3.1 离线独立生成UML图
(1)安装命令
sudo apt install plantuml
sudo apt install -y graphviz default-jre
chmod +x plantuml.jar
(2)编写图片脚本
以下是一个区块链消费2-3多签UTXO的序列图。
@startuml
participant "2-3共享钱包\n(用户1)" as 用户1
participant "2-3共享钱包\n(用户2)" as 用户2
participant "2-3共享钱包\n(用户3)" as 用户3
用户1 -> 用户1 : 多签转账
activate 用户1
用户1 -> 用户1 : 根据转账要求创建多签交易(未签名)
activate 用户1
deactivate 用户1
用户1 -> 用户1 : 对交易签名
activate 用户1
用户1 -> 用户2 : 发送多签交易(未签名),请求签名
deactivate 用户1
用户2 -> 用户2 : 授权签名
activate 用户2
用户2 -> 用户1 : 将签名发送给用户1
deactivate 用户2
用户1 -> 用户1 : 组合用户1,2的签名,生成签名交易
activate 用户1
deactivate 用户1
用户1 -> 用户1 : 验证多重签名
activate 用户1
deactivate 用户1
用户1 -> 用户1 : 将签名交易广播到链上
activate 用户1
deactivate 用户1
deactivate 用户1
@enduml
(3)命令行生成图片
调用PlantUML工具生成图片。
java -jar plantuml.jar sequenceDiagram.txt
图片如下:
4 引用
- [1].PlantUML官网
- [2].使用 PlantUML 绘制 UML
- [3].在线使用Plant Text生成UML图
- [4].PlantUML图床