时序图 plantuml教程

时序图和plantuml什么?

通过支付宝充话费说明,大概过程如下

  1. 向支付宝发起冲100元话费
  2. 支付宝向电信运营商转发向电话xxxx冲100元
  3. 电信运营商向支付宝返回接收到请求
  4. 支付宝向用户默认中国银行发起扣款100元
  5. 中国银行向支付宝返回接收到请求
  6. 中国银行向用户发送扣款短信
  7. 支付宝向用户返回充值成功
  8. 电信运营商向用户发送充值成功短信提示

对应序列图(这张图是我使用plantuml语言生成的,效果是不是很好)
在这里插入图片描述
这里演示一下plantuml用法,请注意这是一张GIF动图


在这里插入图片描述

plantuml插件安装

我是在eclipse中安装的插件,其他编辑器自行搜索,这里给出一个安装地址:
https://waylau.com/use-plantuml-in-eclipse/

plantuml教程

这里讲解一下快速入门需要用到的东西

简单示例

你可以用->来绘制参与者之间传递的消息, 而不必显式地声明参与者。
你也可以使用 --> 绘制一个虚线箭头。

另外,你还能用 <- 和 <–,这不影响绘图,但可以提高可读性。 注意:仅适用于时序图,对于其它示意图,规则是不同的。

@startuml
Alice -> Bob: Authentication Request
Bob --> Alice: Authentication Response

Alice -> Bob: Another authentication Request
Alice <-- Bob: another authentication Response
@enduml

在这里插入图片描述

声明参与者

关键字 participant 用于改变参与者的先后顺序。

你也可以使用其它关键字来声明参与者:

  • actor
  • boundary
  • control
  • entity
  • database

@startuml
actor Foo1
boundary Foo2
control Foo3
entity Foo4
database Foo5
collections Foo6
Foo1 -> Foo2 : To boundary
Foo1 -> Foo3 : To control
Foo1 -> Foo4 : To entity
Foo1 -> Foo5 : To database
Foo1 -> Foo6 : To collections

@enduml

在这里插入图片描述

对消息序列编号

关键字 autonumber 用于自动对消息编号。

@startuml
autonumber
Bob -> Alice : Authentication Request
Bob <- Alice : Authentication Response
@enduml

在这里插入图片描述

组合消息

我们可以通过以下关键词将组合消息:

  • alt/else
  • opt
  • loop
  • par
  • break
  • critical
  • group, 后面紧跟着消息内容
    可以在标头(header)添加需要显示的文字(group除外)。

关键词 end 用来结束分组。
注意,分组可以嵌套使用。

@startuml
Alice -> Bob: Authentication Request

alt successful case

	Bob -> Alice: Authentication Accepted
	
else some kind of failure

	Bob -> Alice: Authentication Failure
	group My own label
		Alice -> Log : Log attack start
	    loop 1000 times
	        Alice -> Bob: DNS Attack
	    end
		Alice -> Log : Log attack end
	end
	
else Another type of failure

   Bob -> Alice: Please repeat
   
end
@enduml

在这里插入图片描述

给消息添加注释

我们可以通过在消息后面添加 note left 或者 note right 关键词来给消息添加注释。

你也可以通过使用 end note 来添加多行注释。

@startuml
Alice->Bob : hello
note left: this is a first note

Bob->Alice : ok
note right: this is another note

Bob->Bob : I am thinking
note left
	a note
	can also be defined
	on several lines
end note
@enduml

在这里插入图片描述

and so on

其他细节请参考中文官网教程:http://plantuml.com/zh/sequence-diagram

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

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值