PlantUML - 程序员必备绘图工具,不只是UML

发表于2016-12-10 12745次阅读

可能很多程序员喜欢用Viso(window下)或OmniGraffle(Mac 下)绘制UML图。但你用过 PlantUtml 之后,你可能会觉得其他工具简直“弱爆了”!。Viso或OmniGraffle 这类工具的确更灵活,绘制系统结构图的时候更有优势,但在绘制UML方面(不太关心样式的情况下),他们和 PlantUML比起来效率就低很多。PlantUML 完全使用代码方式绘图,更符合程序员的习惯,让逻辑表述更清晰,更易于修改。

官方网址:plantuml.com
PlantUML - 程序员必备绘图工具,不只是UML - 图1
图片来源 wikimedia

快速入门

核心的使用方式就是“名称”加“箭头”,官方的入门文档也只有两段话:

  1. 编写绘图代码文件,如:sequenceDiagram.txt

    1. 1
    2. 2
    3. 3
    4. @startuml
    5. Alice -> Bob: test
    6. @enduml
  2. 运行命令生成图片,会自动生成名为 sequenceDiagram.png 文件


    1. java -jar plantuml.jar sequenceDiagram.txt
    PlantUML - 程序员必备绘图工具,不只是UML - 图2
    So Easy!,用PlantUML绘制UML图就是这么简单,形象你用Viso之类的工具需要拖拽多久?用代码方式简单明了,几秒钟搞定。

当然这里使用命令行方式生成图片未免有些笨拙,后面会介绍跟好用的工具。

PlantUML 能做什么?

UML 图形是必备

  • 时序图:
    PlantUML - 程序员必备绘图工具,不只是UML - 图3
    更多例子参考官方网址
  • 用例图:
    PlantUML - 程序员必备绘图工具,不只是UML - 图4
    更多例子参考官方文档
  • 类图:
    PlantUML - 程序员必备绘图工具,不只是UML - 图5
    PlantUML - 程序员必备绘图工具,不只是UML - 图6
    更多例子参考官方文档
  • 活动图/流程图
    PlantUML - 程序员必备绘图工具,不只是UML - 图7
    PlantUML - 程序员必备绘图工具,不只是UML - 图8
    更多例子参考官方文档
  • 组件图
    PlantUML - 程序员必备绘图工具,不只是UML - 图9
    更多例子参考官方文档
  • 状态图
    PlantUML - 程序员必备绘图工具,不只是UML - 图10
    更多例子参考官方文档
  • 对象图
    PlantUML - 程序员必备绘图工具,不只是UML - 图11
    更多例子参考官方文档

    不是只有 UML

    PlantUML 的强大之处在于不只能绘制UML,还能绘制更多:

  • 复杂的数学公式:
    PlantUML - 程序员必备绘图工具,不只是UML - 图12
    更多例子参考官方文档

  • 表格:
    PlantUML - 程序员必备绘图工具,不只是UML - 图13
    更多例子参考官方文档
  • Graphviz/DOT
    可以使用 Graphviz/DOT 语法绘图:
    PlantUML - 程序员必备绘图工具,不只是UML - 图14
  • 图表:
    PlantUML - 程序员必备绘图工具,不只是UML - 图15
    PlantUML - 程序员必备绘图工具,不只是UML - 图16
    更多例子参考官方文档
  • 使用图标
    PlantUML - 程序员必备绘图工具,不只是UML - 图17
    更多例子参考官方文档
  • XEarth 地图图片
    PlantUML - 程序员必备绘图工具,不只是UML - 图18
    PlantUML - 程序员必备绘图工具,不只是UML - 图19
    更多例子参考官方文档

    一些好玩的功能

  • 向 史蒂夫·乔布斯 和 斯蒂夫·盖瑞·沃兹尼亚克 致敬!真正的hacker应该做的事情!
    PlantUML - 程序员必备绘图工具,不只是UML - 图20
    来源地址:点这里

  • ASCII Art
    PlantUML还可将绘图代码绘制成 ASCII ART 形式:
    PlantUML - 程序员必备绘图工具,不只是UML - 图21
    来源地址:点这里
    还可以将ASCII ART 转成图片形式:
    PlantUML - 程序员必备绘图工具,不只是UML - 图22
    来源地址:点这里
  • 数独游戏
    PlantUML - 程序员必备绘图工具,不只是UML - 图23
    来源地址:点这里
  • 手绘风格
    PlantUML - 程序员必备绘图工具,不只是UML - 图24
    来源地址:点这里
    PlantUML - 程序员必备绘图工具,不只是UML - 图25
    来源地址:点这里

    支持中文

    PlantUML - 程序员必备绘图工具,不只是UML - 图26

    工具

    在线编辑工具

  • https://www.planttext.com/
    非常强大,单不挂代理国内访问会比较慢,工具引了几个google的js文件,国内访问不了只能等到超时才行。PlantUML - 程序员必备绘图工具,不只是UML - 图27

  • 官方在线编辑工具
    非常简单的工具,截图:PlantUML - 程序员必备绘图工具,不只是UML - 图28
    但是可以生成一个可引用的图片地址:PlantUML - 程序员必备绘图工具,不只是UML - 图29
  • Plant UML Previewer
    也是一个非常简单的编辑器,有预发高亮功能。PlantUML - 程序员必备绘图工具,不只是UML - 图30
  • 其他官方推荐在线编辑器
    有些是收费的。PlantUML - 程序员必备绘图工具,不只是UML - 图31
    参考:官方文档

    本地工具

    PlantUML 可集成的IDE工具非常多,几乎主流编辑器都支持:
    PlantUML - 程序员必备绘图工具,不只是UML - 图32
    参考:官方文档
    下面仅用Eclipse举例

    集成到 Eclipse

  1. 安装 Graphviz/DOT 官方网址:http://www.graphviz.org/Download.php Mac可以用brew install graphviz 安装
  2. 安装PlantUML Eclipse扩展: 更新地址(Eclipse 4 ):http://basar.idi.ntnu.no/svn/tdt4100/anonymous/trunk/updatesite/
  3. 配置Graphviz Path 设置->PlantUML->Graphviz PathPlantUML - 程序员必备绘图工具,不只是UML - 图33
  4. 打开PlantUML view window -> show view -> PlantUMLPlantUML - 程序员必备绘图工具,不只是UML - 图34
  5. 试用 对于已有的Java文件,PlantUML 可以自动绘制出类图:PlantUML - 程序员必备绘图工具,不只是UML - 图35
    普通UML绘制试用txt文件即可:PlantUML - 程序员必备绘图工具,不只是UML - 图36

参考:官方文档

自建 PlantUML Web 服务

如果你觉得用别人的在线服务,以及别人的图片地址不够安全或稳定。PlantUML 官方也提供自建Web服务的套件,基于 Java 和 Tomcat。参考:官方文档
自建效果参考 http://www.plantuml.com/plantuml/uml/

多种开发语言调用

PlantUML - 程序员必备绘图工具,不只是UML - 图37
参考:官方文档

其他在线UML工具

PlantUML - 程序员必备绘图工具,不只是UML - 图40
出处:https://www.coderxing.com/plantuml-the-best-uml-tools.html
本文为原创文章,采用署名-相同方式共享 3.0 中国大陆(CC BY-SA 3.0 CN))进行许可,欢迎转载,但未经作者同意必须保留此段声明,且在文章页面明显位置给出原文连接。