@startuml Bob ->x Alice Bob -> Alice Bob ->> Alice Bob -\ Alice Bob \\- Alice Bob //-- Alice
Bob ->o Alice Bob o\\-- Alice
Bob <-> Alice Bob <->o Alice @enduml
关键字 autonumber 用于自动对消息编号
1 2 3 4 5 6 7 8
@startuml autonumber Alice -> Bob: Authentication Request Bob --> Alice: Authentication Response
Alice -> Bob: Another authentication Request Alice <-- Bob: Another authentication Response @enduml
使用 as 关键字来重新命名参与者,你可以把它理解成定义变量一样, as 后面跟着的就是变量,声明后我们后面就可以使用这个变量了。 使用 order 关键字来定制参与者的显示顺序,数字越小,越往前排。 使用 title 关键字定义时序图的标题。 参与者后加上冒号(:),后面跟上当前连线上的说明。如果连线上的文本过长,可以使用 \n 使长文本换行展示,不至于导致连线过长。
1 2 3 4 5 6 7 8 9
@startuml title 测试PlantUML绘图 participant Last as L order 30 participant Middle as M order 20 participant First as F order 10
@startuml participant Participant as Foo actor Actor as Foo1 boundary Boundary as Foo2 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
分段以及分页
使用 == 关键字将时序图分割为不同的逻辑部分,方便阅读查看。
1 2 3 4 5 6 7 8 9
@startuml == 初始化 == Alice -> Bob: 你好,我是Alice,请问有什么可以帮助您? Bob -> Alice: 您好,我是Bob,很高兴为您服务。
== 商机分析 == Alice -> Bob: 请问您有什么想法或建议吗? Bob -> Alice: 您好,我有一些想法,但我想先征求您的意见。 @enduml
@startuml == 初始化 == Alice -> Bob: 你好,我是Alice,请问有什么可以帮助您? Bob -> Alice: 您好,我是Bob,很高兴为您服务。
newpage 第二页 == 商机分析 == Alice -> Bob: 请问您有什么想法或建议吗? Bob -> Alice: 您好,我有一些想法,但我想先征求您的意见。 @enduml
注释
可以使用 note left 或 note right 关键字在信息后面加上注释。 你可以使用 end note 关键字有一个多行注释。
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19
@startuml == 初始化 == Alice -> Bob: 你好,我是Alice,请问有什么可以帮助您? note right of Alice: 请问您有什么想法或建议吗? Bob -> Alice: 您好,我是Bob,很高兴为您服务。 note left of Bob: 您有什么想法或建议吗?
== 商机分析 == Alice -> Bob: 请问您有什么想法或建议吗? note right: 您好,我有一些想法,但我想先征求您的意见。 Bob -> Alice: 您好,我有一些想法,但我想先征求您的意见。 note right 这是多行的版本 1 2 3 end note @enduml
可以使用 note left of,note right of 或 note over 在节点(participant)的相对位置放置注释。 还可以通过修改背景色来高亮显示注释。
1 2 3 4 5 6 7 8 9 10 11 12 13
@startuml == 初始化 == Alice -> Bob: 你好,我是Alice,请问有什么可以帮助您? note right of Alice: 请问您有什么想法或建议吗? Bob -> Alice: 您好,我是Bob,很高兴为您服务。 note left of Bob: 您有什么想法或建议吗?
== 商机分析 == Alice -> Bob: 请问您有什么想法或建议吗? note over Alice, Bob #lightblue: 您好,我有一些想法,但我想先征求您的意见。 Bob -> Alice: 您好,我有一些想法,但我想先征求您的意见。 @enduml