程序员绘图工具-Plantuml

作者: SCQ000 | 来源:发表于2018-11-29 16:07 被阅读134次

在写文档的过程中,经常需要进行画图。虽然说现在有很多类似viso之类的可视化画图工具,但是还是要花费大量时间在拖拉组件上,效率十分低下。最近在网上找到了一款还算不错的绘图工具-- Plantuml, 它本质上是也算一门可以快速画图的设计语言,学习起来也很方便。可以在http://plantuml.com/网站上体验一下。
在vscode, webstorm都有相关的插件可以使用。

时序图

时序图相对来说是平常比较经常画的一种设计图稿,在这里记录一下plantuml中相关的语法。

基本用法

@startuml
A -> B: do something
B -> A: do something
@enduml
image.png

设置不同的角色

时序图角色可以分为: actor, boundary, control, entity, database,每种角色呈现的图形也是不一样的。

@startuml
actor Foo1
boundary Foo2
control Foo3
entity Foo4
database Foo5
collections Foo6
Foo1 -> Foo2 : To boundary
Foo1 -> Foo3 : To control
Foo1 -> Foo4 : To entity
Foo1 -> Foo5 : To database
Foo1 -> Foo6 : To collections

@enduml
image.png

不用的箭头样式

@startuml
Bob ->x Alice
Bob -> Alice
Bob ->> Alice
Bob -\ Alice
Bob \\- Alice
Bob //-- Alice

Bob ->o Alice
Bob o\\-- Alice

Bob <-> Alice
Bob <->o Alice
Bob -[#red]> Alice : hello
Alice -[#0000FF]->Bob : ok
@enduml
image.png

分页

@startuml

Alice -> Bob : message 1
Alice -> Bob : message 2

newpage

Alice -> Bob : message 3
Alice -> Bob : message 4

newpage A title for the\nlast page

Alice -> Bob : message 5
Alice -> Bob : message 6
@enduml
image.png

分段

@startuml

== Initialization ==

Alice -> Bob: Authentication Request
Bob --> Alice: Authentication Response

== Repetition ==

Alice -> Bob: Another authentication Request
Alice <-- Bob: another authentication Response

@enduml
image.png

生命线

@startuml
participant User

User -> A: DoWork
activate A #FFBBBB

A -> A: Internal call
activate A #DarkSalmon

A -> B: << createRequest >>
activate B

B --> A: RequestCreated
deactivate B
deactivate A
A -> User: Done
deactivate A

@enduml
image.png

图例注脚等

@startuml

header Page Header
footer Page %page% of %lastpage%

title Example Title

Alice -> Bob : message 1
note left: this is a first note

Alice -> Bob : message 2

@enduml
image.png

C4架构图

C4 model是一种软件架构图的设计方法,具体介绍可以参考C4 architecture model。利用C4-PlantUML工具,可以画出很多很不错的架构图。
C4模型分为Context, Container, Component和Code 4个组成部分,我们一般在画图的时候主要用到前三个组成部分。

@startuml C4_Elements
!includeurl https://raw.githubusercontent.com/RicardoNiepel/C4-PlantUML/master/C4_Context.puml
!includeurl https://raw.githubusercontent.com/RicardoNiepel/C4-PlantUML/master/C4_Container.puml
!includeurl https://raw.githubusercontent.com/RicardoNiepel/C4-PlantUML/master/C4_Component.puml

System(systemAlias, "System", "这可以看作系统上下文(Context)")
Container(containerAlias, "Container", "这是Container")
Person(personAlias, "Person", "这可以看作是组件(Component)")

Rel(personAlias, containerAlias, "Label", "设置关联关系")
@enduml
image.png

相关文章

  • 程序员绘图工具-Plantuml

    在写文档的过程中,经常需要进行画图。虽然说现在有很多类似viso之类的可视化画图工具,但是还是要花费大量时间在拖拉...

  • 正确的编程姿势

    最近两个星期,我使用 plantuml (贝尔实验室出品了一个超级绘图工具 graphviz, 这是一个包装版)把...

  • 开源项目参与有感

    作为参与者的的第一个开源项目献给了PlantUML,这是一个部分基于Graphviz的UML绘图工具,提供Ecli...

  • VScode添加PlantUML绘图工具--Apple的学习笔记

    VScode添加Graphviz生成各种图--Apple的学习笔记入门后,我发现dot最擅长的还是画数据流图,或者...

  • 如何画时序图

    在语雀上,使用/wbht (文本绘图)可以使用plantUML绘制各种文本。其中时序图是最常用的。 具体时序图里...

  • VS Code中使用PlantUML绘图

    声明:本文为本人原创,在 CSDN 首发。通过 CSDN 和简书两个平台发布。 PlantUML 是一个开源项目,...

  • PlantUML-环境安装-2021-06-17-周四

    工具选择 PlantUML没有独立的工具,一般是作为插件的形式存在。这里选择Visual Studio Code作...

  • uml画图工具plantuml

    网站: http://plantuml.com plantuml网页版 很多软件都可以支持该软件http://ww...

  • 用PlantUML画时序图

    Android Studio安装PlantUML插件,参考安装PlantUML语法非常简单,参考PlantUML语...

  • Mac下安装配置PlantUML

    导读 PlantUml 是什么? 为什么选择PlantUml 如何开始? PlantUml 是什么 PlantUm...

网友评论

    本文标题:程序员绘图工具-Plantuml

    本文链接:https://www.haomeiwen.com/subject/rtrfcqtx.html