• plantuml介绍与使用


    介绍

    好用的免费画图插件,兼容vscode、IDEA等大牌IDE,使用编写代码的方式自动生成UML图形。官方中文文档:https://plantuml.com/zh/

    安装方式

    以IDEA为例,直接在Plugin -> Marketplace中安装即可,vscode同理。

    入门

    在文件目录中新建文件,可以看到PlantUML File,新建此文件,选中你需要的UML图形。
    在这里插入图片描述

    UML绘图语法规则

    全局规则

    作用域

    puml需要将代码写在@startuml@enduml之间才能生效。

    顺序图

    箭头

    @startuml
    Client -> Server: 建立连接
    '       ↓这里为了可读性也可以反过来写成: <--
    Server --> Client: 数据交互
    Client --> Server: 数据交互
    Server -> Client: 断开连接
    @enduml
    
    • 1
    • 2
    • 3
    • 4
    • 5
    • 6
    • 7

    在这里插入图片描述

    箭头样式:

    No字段表示
    1x丢失信息,箭头尾处为x
    2>实心箭头
    3>>虚心箭头
    4-实线
    5虚线
    6<->双向箭头

    声明参与者

    可以通过声明参与者的方式,为参与者更改属性、赋予别名as(一旦赋予别名后续不可再使用原名)、设置权重order(数量越小越靠前)。

    @startuml
    participant Client as c order 1
    participant Server as s order 2
    c -> s: 建立连接
    s --> c: 数据交互
    c --> s: 数据交互
    s -> c: 断开连接
    @enduml
    
    • 1
    • 2
    • 3
    • 4
    • 5
    • 6
    • 7
    • 8

    可以使用的参与者属性:

    No字段表示
    1participant参与者
    2actor角色
    3control控制
    4entity实体
    5database数据库
    6collections集合
    7queue队列
    8boundary边界

    文字对齐

    skinparam sequenceMessageAlign center

    消息序号

    autonumber 1.1,指定自增数字,默认增加最后一个数字,可指定自增数字位。

    @startuml
    'https://plantuml.com/sequence-diagram
    participant Client as c order 1
    participant Server as s order 2
    autonumber 1.1
    c -[#red]> s: 建立连接
    autonumber inc A
    s --> c: 数据交互
    c --> s: 数据交互
    autonumber inc A
    s -> c: 断开连接
    @enduml
    
    • 1
    • 2
    • 3
    • 4
    • 5
    • 6
    • 7
    • 8
    • 9
    • 10
    • 11
    • 12

    注释

    note left:、 note right: 单行注释或者使用 note left ... endnote多行注释。

    分隔符

    == 重复 ==... 重复 ...

    间距

    |||设置间距,或指定间距||45||

    生命线

    activate c初始化生命,deactivate c结束生命线,可以嵌套使用。

    在这里插入图片描述

    返回

    生命线可以返回内容,使用return返回,同时可以配合autoactivate实现自动生命线声明与销毁。

    快捷创建、销毁、生命线/实例

    @startuml
    alice -> bob ++ : hello
    bob -> bob ++ : self call
    bob -> bib ++  #005500 : hello
    bob -> george ** : create
    return done
    return rc
    bob -> george !! : delete
    return success
    @enduml
    
    • 1
    • 2
    • 3
    • 4
    • 5
    • 6
    • 7
    • 8
    • 9
    • 10

    也可以同时进行:

    @startuml
    alice   ->  bob     ++   : hello1
    bob     ->  charlie --++ : hello2
    charlie --> alice   --   : ok
    @enduml
    
    • 1
    • 2
    • 3
    • 4
    • 5

    活动图

    箭头

    • -->代表普通箭头
    • -[labels]->代表带标签的箭头
    • -left->指定方向的箭头(down, up, left, right)

    开始与结束

    • (*)开始/结束
    • start/stop开始/结束
  • 相关阅读:
    C++ push_back()和back() 、pop()、push()、emplace() 和 emplace_back()
    Vue2 零基础入门 Vue2 零基础入门第四天 4 生命周期 & 数据共享
    CRMEB知识付费系统小课堂——模版消息修改
    vue中自定义指令的使用场景及示例
    ubuntu系统安装配置gitlab+Jenkins+发布持续集成持续部署保姆级教程。
    Java8 判空这样写,惊艳,又骚气
    Rust引用转换时避免使用变量
    蓝桥杯 超级胶水 答疑
    TypeScript的函数(方法)
    代码随想录笔记_哈希_454四数相加II
  • 原文地址:https://blog.csdn.net/AlexanderRon/article/details/125446596