PlantUML 时序图全面指南:从基础到高级

在软件开发中,清晰地表达系统组件之间的交互至关重要。时序图(Sequence Diagram)是统一建模语言(UML)中的一种图表类型,它用于描述对象之间如何按时间顺序进行交互。PlantUML 是一种开源工具,它允许用户使用简单的文本语法来创建 UML 图表和其他类型的图表。本文将向您介绍如何使用 PlantUML 创建时序图,并通过一系列示例来展示其强大功能,包括参与者定义、消息传递、注释以及更复杂的控制结构等。

基本示例

->:表示绘制两者之间的关系;
–>:带有箭头的;
<-;<–也可以使用;
适用于顺序图,其他图的规则不同

@startuml
title study uml base

A -> B:hello sb
B -> A:hello SA

A --> B:hello SB
B --> A:hello SA
@enduml

在这里插入图片描述

生命参与者

使用关键字participant来声明,声明的顺序是默认的显示顺序

  • actor :角色
  • boundary :边界
  • control :控制
  • entity :实体
  • database :数据库
  • collections :集合
  • queue :队列
@startuml
title 声明参与者

participant Participant as Foo
actor  Actor as Foo1 #red
boundary Boundary as Foo2 #green
control Control as Foo3
entity Entity as Foo4
database Database as Foo5
collections Collections as Foo6
queue Queue as Foo7

Foo -> Foo1: to actor
Foo -> Foo2 : to boundary
Foo -> Foo3 : to control
Foo -> Foo4 : to entity
Foo -> Foo5 : to database
Foo -> Foo6 : to collections
Foo -> Foo7 : to queue
@enduml

在这里插入图片描述

多行定义参与者

participant Participant[=title

““content””
]

@startuml
title 多行定义参与者
participant A[
    =title
    ----
    ""参与者""
]
participant B
A -> B
@enduml

在这里插入图片描述

在参与者中使用非字母

可以使用引号来定义参与者,使用as关键字给参与者一个别名

@startuml
title 参与者使用非字母

A -> "B()":hello
"B()"->"my name is sb" as sb
sb -->"B()": "your name is sb"
@enduml

给自己发消息

可以使用\n换行

@startuml
title 给自己发消息

B->B:my name is sb

A<-A:自己给自己发消息
@enduml

在这里插入图片描述

文本对齐

箭头的文本对齐可以使用skinparam sequenceMessageAlign,后接参数left、right或者center
也可以使用direction或reverseDirection来根据箭头的方式对齐文本
同时,也可以使用skinparam responseMessageBelowArrow true命令,让响应体显示在箭头下面

@startuml
title 文本对齐
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

double_lifly

点喜欢就是最好的打赏!!

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值