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. C语言的第一堂课

    感觉茂哥讲了很多,但是有些输入的语句还是没能记住 刚讲的都是概念,看来需要看一下表格,以及C语言的基础 有些意思还不能够理解 略显尴尬 回去把C语言书的各种概念理解一下……

  2. linux/ubantu 安装 mysql 并且使其支持远程连接

    前言:打开ubantu的 控制台 或者 远程连接到 ubantu的服务器  其他的 linux 基本类似 可能下载 方式稍微不同 开始吧! [第一步]首先是安装(目前是2019-4-9 默认安装的是 ...

  3. H5_0006:JS判断PC,平板,手机平台的方法

    <script type="text/javascript"> //平台.设备和操作系统var system = { win: false, mac: false, x ...

  4. 乙方渗透测试之Fuzz爆破

    前言 爆破在渗透测试中,对技术的要求不高,但是对技巧和字典的要求就很高了,本篇整理下平时学到的一些爆破思路和技巧(偏web渗透登陆),当你无措可施时,暴力破解是最好的方式. 世界上最可怕的事情是你的习 ...

  5. node的应用场景

    I/O密集型 I/O密集的优势主要在于Node利用事件循环的处理能力,而不是启动每一个线程为每一个请求服务,资源占用极少. 是否不擅长CPU密集型业务 换一个角度,在CPU密集的应用场景中,Node是 ...

  6. selenium中的下拉框处理模块Select

    在UI自动化测试过程中,经常会遇到一些下拉框,如果我们基于Webdriver操作的话就需要click两次,而且很容易出现问题,实际上Selenium给我们提供了专门的Select(下拉框处理模块). ...

  7. 97w网站邀请码

    我是一个老粉丝了. 如果想要97w网站邀请码可以留下联系方式,给我发过去哦. 最好是邮箱. http://www.97w.net/tag.html

  8. 小程序git发布

    微信小程序提交项目: 1.码云上创建一个项目 xiaochengxu 2.本地创建一个文件夹,然后在控制台使用 cd 文件夹名字 (将文件拉到控制台) 3.使用 git init 命令 ,初始化一个g ...

  9. 为什么HashMap线程不安全,Hashtable和ConcurrentHashMap线程安全

    HashMap源码 public V put(K key, V value) { return putVal(hash(key), key, value, false, true); } final ...

  10. scrollview 嵌套imageview显示长图

    起初使用代码如下:但是图片显示不全,上半截被截 <ScrollView android:layout_width="match_parent" android:layout_ ...