PlantUML

PlantUML 是一个开源项目,支持快速绘制时序图、用例图、类图、活动图、组件图、状态图、对象图、部署图等。同时还支持非 UML 图的甘特图、架构图等。例如下面等用例图:

PlantUML - 图1

快速入门

在工具上,选择卡片插入,再选择 PlantUML

PlantUML - 图2

点击之后会弹出 PlantUML 编辑浮层,在这里你可以参考模板进行修改,然后点击预览即可生成图例了。例如插入下面源码:

  1. @startuml

  2. actor A
    actor B

  3. A -up-> (up)
    A -right-> (center)
    A -down-> (down)
    A -left-> (left)

  4. B -up-> (up)
    B -left-> (center)
    B -right-> (right)
    B -down-> (down)

  5. @enduml

就可以生成上面的用例图。

还可以通过 PlantUML 编辑器提供的常用模板快速查询到各种示例代码:

PlantUML - 图3

更多支持

详见 http://plantuml.com

为什么会使用 PlantUML?

感谢 @天猪(atian25) 的详细回复说明。

PlantUML 的优势是:

一般来说,你不需要太关注语法和布局,很自然的画即可。

当然,它提供了不少特性,可以让你画的更好看点,如下是我之前画的一个:

PlantUML - 图4

对应的源码:

  1. @startuml

  2. autonumber
    hide footbox
    title Node 应用研发部署流程

  3. actor "开发者" as user
    participant "代码仓库(GitLab)" as gitlab
    participant "持续集成系统" as ci
    participant "运维发布系统" as sys #orange
    participant "服务器" as server

  4. == 研发流程 ==
    user -> gitlab: 提交代码
    activate user
    deactivate user
    activate gitlab
    gitlab -> ci: 单元测试
    deactivate gitlab
    activate ci
    note right of ci: tar docker
    ci -> ci: 打包
    ci -> sys: 推送
    note right of sys: 存储到 oss
    activate sys #orange
    deactivate ci
    deactivate sys

  5. == 上线/回滚流程 ==
    user -> sys: 选择要上线的版本
    activate sys #orange
    activate user
    deactivate user
    sys -> server: 推送
    activate server
    note right of server: 无需—安装依赖—,快速且确定
    server -> server: 解压
    server -> server: 启动
    server —> sys

  6. @enduml

若有收获,就赏束稻谷吧

196 颗稻谷