序列图根据时间序列展示对象如何进行协作。它展示了在用例的特定场景中,对象如何与其他对象交互。
UML时序图在Markdown语法中固定以sequenceDiagram
开头。
参与者/角色(Participants/Actors)可以隐式声明,也可以显式声明,它们的顺序与在代码中声明的顺序一致。
隐式声明
老板->>小明: 你好 小明-->>老板: 你好 老板-)小明: 请你出去
显式声明
participant 老板
participant 小明
老板->>小明: 你好
小明-->>老板: 你好
老板-)小明: 请你出去
我们可以给参与者起一个方便的别名as
,在之后只需要使用别名即可。
participant B as 老板
participant M as 小明
B->>M: 你好
M-->>B: 你好
B-)M: 请你出去
消息线可以由实线和虚线来表示。
participant B as 老板
participant M as 小明
B -> M: 你好
B --> M: 你好
B ->> M: 你好
B -->> M: 你好
B ->> M: 你好
B -x M:你好
B --x M:你好
B -) M:你好
M --) B:gun
激活角色或者使角色失活。
使用activate/deactivate
实现
participant B as 老板
participant M as 小明
B -> M: 你好
B --> M: 你好
B -) M:你好
activate M
M --) B:gun
deactivate M
在消息箭头后使用+/-
来实现
participant B as 老板
participant M as 小明
B -> M: 你好
B --> M: 你好
B -) M:你好
activate M
M --) B:gun
deactivate M
同一个角色重复激活
participant B as 老板
participant M as 小明
B ->+ M: 你好
B -)+ M:你好
M -->- B: 你好
M --)- B:gun
为时序图添加一个说明Note
,可以通过指定方向来定制说明的位置
左(left of)、右(right of)、跨越(over)
participant B as 老板
Note left of B: 暴发户
participant M as 小明
Note right of M:董事长的亲孙子
Note over B,M : 相亲相爱一家人
B ->+ M: 你好
B -)+ M:你好
M -->- B: 你好
M --)- B:gun
表示一个循环loop...end
participant B as 老板
Note left of B: 暴发户
participant M as 小明
Note right of M:董事长的亲孙子
B ->> M: 你好
M -) B:我爷爷是董事长
loop 每小时一次
B -) M : baba
end
M --) B:gun
B -) M : 好勒
在时序图中表示选择,使用alt...else..end
来表示。
若是没有else的选择,可以使用opt
来表示。
participant B as 老板
participant M as 小明
B ->> M: 你爷爷是董事长吗?
alt 是的
M -) B:我爷爷是董事长
else 不是
M -) B:我爷爷不是董事长
end
opt 额外回复
M --) B:想干嘛?
end
B -) M : 没事,就问问
表示并行发生,使用par...and...end
单层并行
par A to B
A->>B: hello,B
and A to C
A->>C: hello,C
end
C-->>A: hello A
B-->>A: hello A
嵌套并行
par A to B
A->>B: hello,B
and A to C
A->>C: hello,C
par C to D
C-)D:hello D
and C to E
C-)E:hello E
end
end
C-->>A: hello A
B-->>A: hello A
D--)C: hello C
E--)C: hello C
使用rect...end
实现,颜色可以使用CSS的颜色名称,RGB,HEX,HSL,RGBA,HSLA值来指定。
participant B as 老板
participant M as 小明
rect yellow
B ->> M: 你好
rect rgb(255,0,0)
M -) B:我爷爷是董事长
M --) B:gun
end
B -) M : 好勒
end
使用autonumber
来自动生成序列号
autonumber
participant B as 老板
participant M as 小明
B ->> M: 你好
M -) B:我爷爷是董事长
M --) B:gun
B -) M : 好勒
作者:MySQ
链接:https://juejin.cn/post/6993339707555840007
来源:掘金
著作权归作者所有。商业转载请联系作者获得授权,非商业转载请注明出处。