记一次PlanUML时序图学习

前言

最近因为工作需要学习了使用PlanUML画时序图,上一次学这个还是在大学的时候,以为这辈子再也不会遇到这个东西了,结果又遇到了,还是总结一下,下次再遇到就好看

PlantUML是什么

PlantUML是一款开源的UML图绘制工具,支持通过文本来生成图形,使用起来非常高效。可以支持时序图、类图、对象图、活动图、思维导图等图形的绘制。

插件

在这里插入图片描述

然后右键点击就可以新建puml文件作画时序图了

在这里插入图片描述

时序图效果

时序图(Sequence Diagram),是一种UML交互图。它通过描述对象之间发送消息的时间顺序显示多个对象之间的动态协作。通常,在系统的Oauth2的时候,第一步就是需要搞懂Oauth2的流程,这时候有个时序图就非常必要。我们先上最终成果:

在这里插入图片描述

代码及其属性解析

下例代码就可以生成上例时序图

@startuml

actor User as  USER
participant  UI as UI
participant Disclaimer as Disclaimer

participant  Unconnectedpage as Unconnectedpage
participant  ConnectedManager as  ConnectedManager
queue 中间件 as "中间件"

skinparam sequenceMessageAlign center
autonumber
USER -> UI : click app
note over USER,UI: 这是一个备注
alt#Gold #LightBlue Successful
UI -> Disclaimer: 满足条件,show disclaimer dialog
else #Pink Failure
UI -->x USER :不满足条件,exit app
end
alt#Gold #LightBlue Successful
 Disclaimer ->Unconnectedpage : accept
else #Pink Failure 
Disclaimer -->x USER : refuse ,exit app
end
alt#Gold #LightBlue Successful
Unconnectedpage -> ConnectedManager: accept to open hotspot,regsiter listener
else #Pink Failure
Unconnectedpage -->x   USER : refuse to open hotspot,exit app
end
 ConnectedManager -> "中间件": send  regsiter listener request
"中间件" -> "设备": start socket server to get ip
"设备" -> "中间件": start socket client to send ip
"中间件" -> "设备": start socket  client to get  regsiter listener
"设备" -> "中间件": start socket  server to send  regsiter listener
 "中间件" -> ConnectedManager: receive  regsiter listener massge
alt#Gold #LightBlue Successful 
ConnectedManager ->  UI :connected successfully ,refresh UI  
else #Pink Failure 
ConnectedManager -->x ConnectedManager:    connected fail ,reconnection
end
@enduml

解析

actor

  • actor User as USER 人形

在这里插入图片描述

participant

  • participant UI as UI 默认形状 参与者

在这里插入图片描述

queue

  • queue 中间件 as “中间件” 队列

在这里插入图片描述

skinparam sequenceMessageAlign center

  • 箭头文字居中

在这里插入图片描述

autonumber

  • 箭头添加序号
    在这里插入图片描述

–>x

  • UI -->x USER :不满足条件,exit app 虚线x

在这里插入图片描述

note over

  • note over USER,UI: 这是一个备注 备注

在这里插入图片描述

alt

  • 条件语句,是否

alt#Gold #LightBlue Successful
UI -> Disclaimer: 满足条件,show disclaimer dialog
else #Pink Failure
UI -->x USER :不满足条件,exit app
end

在这里插入图片描述


总结

PlanUML时序图是一个非常有用的工具,可以帮助开发者更好地理解系统中不同对象之间的交互方式和流程,从而有助于提高系统的设计质量和开发效率。PlanUML时序图是UML(Unified Modeling Language)建模语言中的一种图示,用于描述对象之间的交互和消息传递的时间顺序。

  1. 时序图中的“参与者”通常表示软件系统中的对象或模块。参与者之间的交互以及消息传递的时间顺序可以通过箭头和延迟线表示。

  2. 时序图中的箭头代表消息,可以是同步的或异步的。同步消息的发送方会等待接收方返回一个响应,而异步消息则不会。

  3. 时序图中的延迟线表示的是一段时间内的等待,可以是固定的时间或者是特定事件的发生。

  4. PlanUML时序图还支持循环、条件和分支语句,这有助于描述更加复杂的交互场景。

  5. PlanUML时序图的语法比较简单,可以通过一些基本的关键字和符号来描述大部分情况,如参与者、生命线、消息等。

  6. 要想绘制PlanUML时序图,可以使用一些开源的工具,如PlantUML、Draw.io等。这些工具可以帮助开发者更加高效地进行时序图的建模和绘制。

总体来说,PlanUML时序图是一个非常有用的工具,可以帮助开发者更好地理解系统中不同对象之间的交互方式和流程,从而有助于提高系统的设计质量和开发效率。

  • 1
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

打赏作者

我怀里的猫

你的鼓励将是我创作的最大动力

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

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

打赏作者

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

抵扣说明:

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

余额充值