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

图片如下:

img

4 引用

posted @ 2018-11-22 10:28  翻书  阅读(2787)  评论(0编辑  收藏  举报