【系统设计】:画UML时序图的技巧

发布于:2022-12-19 ⋅ 阅读:(1072) ⋅ 点赞:(0)

1 推荐办法

作为程序员,肯定是使用代码画图比较方便快捷。

以下推荐使用plantUML来画各种UML图。

 以下网站是plantUML的官网:

www.plantuml.com

网站提供了一个在线的IDE, 可以通过代码生成UML图:

通过在在线的IDE编辑代码,就可以同步生成UML图了,样子如下:

PlantUML Web Server

左上方是代码,红框框起来的是自动生成的UML图

2 语法参考

以下链接是序列图的语法参考

https://plantuml.com/zh/sequence-diagram#efeda651e89e596c

大家可以上下翻看,看自己需要什么样子的图形,然后看一下示例代码,然后模仿即可。

其他类型的UML图也可以参照官网给出的示例来画出。

3 代码举例

可以将以下代码放到在线编辑器跑以下,则能得到一副UML时序图。

@startuml
actor user as user
participant terminal as terminal  #e5f9ff
participant kernel as kernel      #e5f9ff
participant storageManagerDaemon as storageManagerDaemon    #e5f9ff
participant storageManager as storageManager                #e5f9ff


user -> terminal: "点击"
terminal -> kernel: "触发中断"
activate kernel      #c2d1f0
kernel -> storageManagerDaemon: "可插拔事件上报"
activate storageManagerDaemon  #c2d1f0

storageManagerDaemon -> storageManagerDaemon : "事件解析"
storageManagerDaemon -> kernel : "获取存储信息"
kernel --> storageManagerDaemon: 
deactivate kernel

storageManagerDaemon -> storageManagerDaemon : "添加设备"

storageManagerDaemon -> storageManager: "上报新设备添加"
activate storageManager   #c2d1f0
storageManager-> storageManager: "添加"
storageManager--> storageManagerDaemon : 
deactivate storageManager
deactivate storageManagerDaemon 

storageManager-> storageManagerDaemon : "设备挂载"
activate storageManager   #c2d1f0
activate storageManagerDaemon   #c2d1f0
storageManagerDaemon -> kernel: "设备挂载"
activate kernel  #c2d1f0
kernel--> storageManagerDaemon : "挂载成功"
deactivate kernel
storageManagerDaemon --> storageManager: "挂载成功"
deactivate kernel
@enduml

我们明显能够发现,如果学会使用了UML图的语法,则使用代码画图比软件手工画图快的多。

生成的图如下所示:

以上涉及到的关键语法为:

1,声明参与者并声明颜色属性

2,在参与者之间画箭头 (实线,虚线等)

3,生命线的激活与撤销, 声明生命线的颜色属性 (active, deactive)

工作中,我就用到如上几个基本属性就可以搞定工作中的UML时序图了,更多更复杂的时序图,请参考手册:

        顺序图的语法和功能

画完之后,可以通过draw.io来产生图片:

 

本文含有隐藏内容,请 开通VIP 后查看