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 引用

UML绘图工具——PlantUML的更多相关文章

  1. UML绘图工具

    画UML图与写文章差不多,都是把自己的思想描述给别人看,关键在于思路和条理,图好看与否就是看你的字是否规范,至于工具,就像你用什么笔,不算非常重要. 目前市场上常见的建模工具有StarUML,IBM ...

  2. 转载--初识绘图工具plantUML

    原文出处:http://www.jianshu.com/p/e92a52770832 什么是 PlantUML PlantUML 是一个画图脚本语言,用它可以快速地画出: 时序图 流程图 用例图 状态 ...

  3. UML系列01之 UML和绘图工具Visio介绍

    概要 UML,全称是Unified Modeling Language,中文是"统一建模语言".通俗点说,UML是一种创建模型的语言.UML是在开发阶段,说明,可视化,构建和书写一 ...

  4. UML和绘图工具Visio介绍

    UML系列01之 UML和绘图工具Visio介绍 概要 UML,全称是Unified Modeling Language,中文是"统一建模语言".通俗点说,UML是一种创建模型的语 ...

  5. Java逆向之UML查看工具(检索记录)

    花了几个钟头时间,搜索了一下,如何从源代码得到UML,因为WCI(Writing Compilers and Interpreters,下同)越往后代码越多,必须得借助工具才能把握整个工程了.初次涉猎 ...

  6. 三大UML建模工具Visio、Rational Rose、PowerDesign的区别

    本文源自http://developer.51cto.com/art/201006/207993.htm UML建模工具Visio .Rational Rose.PowerDesign的比较   RO ...

  7. 用MSoffice里的绘图工具

    试过一些绘图表的工具,在xbeta推荐的替代visio一文中介绍的一些软件.之前用得最多的就是Dia,在linux下也有.现在才发现在微软的office下的绘图工具已经足够我使用了,不需要专业的图形符 ...

  8. 推荐一款好用轻便的在线UML画图工具

    刚接触UML时间不长,看了N多教学视频,下载好了几个软件各种不习惯 当我遇见了ProcessOn  从此我彻底“爱上”了它! http://www.processon.com/ UML各类例图它几乎全 ...

  9. 一起来画画!8款最佳HTML5绘图工具

    HTML5无疑是当前最受宠的一项技术,今天推荐8款HTML5绘图工具,同样惊艳你的眼球!这些绘图工具大多数是用HTML5画布(Canvas)实现的,部分辅以Javascript.对每一个web设计者来 ...

随机推荐

  1. 史上最全PMP备考考点全攻略(上篇-五大过程组,附赠资料)

    一.这可能是一篇史上最全的PMP备考考点全梳理文章 写在前面,这可能是史上最全的PMBOK考点全书考点梳理,由PMP备考自律营呕心沥血整理,内容较长,分为上下篇,绝对值得所有正在备考PMP的学员收藏! ...

  2. ROS time stamp and sync

    1. https://answers.ros.org/question/189867/what-is-the-timestamp/ In ROS messages timestamp is taken ...

  3. Unity历史

    Unity历史 2004年诞生于丹麦阿莫斯特 2005年06月:Unity 1.0发布 2006年06月:Unity 1.5发布 2007年10月:Unity 2.0发布,增加地形引擎.实时动态阴影, ...

  4. Git复制已有分支到新分支开发

    如果我们需要在现有的分支代码基础上,复制代码到新分支进行开发,并推送至远程仓库,可以进行如下操作: 注:被复制的分支代码(ibis35),创建新的分支(ibis35-dev) 1. 切换到被copy的 ...

  5. python 生产者 --- 消费者

    值得拿出来 看看的 多进程 爬取 (生产) , 解析 (消费) 网页 同时进行,可以作为以后项目扩展使用 from bs4 import BeautifulSoup import requests i ...

  6. WebGL&Three.js工作原理

    一.我们讲什么? 我们讲两个东西:1.WebGL背后的工作原理是什么?2.以Three.js为例,讲述框架在背后扮演什么样的角色? 二.我们为什么要了解原理? 我们假定你对WebGL已经有一定了解,或 ...

  7. iptables 防火墙日常

    . 检查机目标机器 httpd 服务/etc/init.d/httpd status ========================================================= ...

  8. git下载/上传文件提示:git did not exit cleanly

    问题:git操作下载/上传文件,提示信息如下 TortoiseGit-git did not exit cleanly (exit code 1) TortoiseGit-git did not ex ...

  9. 更改checkbox的默认样式

    最近做一个vue项目要用到checkbox要修改默认样式,选中是纯白色,不选择只有白色边框,起初以为很容易,没想到还折腾了一翻,记录一下. 几经折腾,理清input 和label的关系 最终改进版本, ...

  10. 转:为什么要有Spring?

    Java后端技术https://mp.weixin.qq.com/s?__biz=MzI1NDQ3MjQxNA==&mid=2247484822&idx=1&sn=6fbee2 ...