时序图 Sequence Diagrams

简介

时序图(Sequence Diagrams)描述对象之间消息的发送顺序,强调时间顺序。时序图是一个二维图,横轴表示对象,纵轴表示时间,消息在各对象之间横向传递,按照时间顺序纵向排列。用箭头表示消息,用竖虚线表示对象生命线。

时序图的作用

  • 展示对象之间交互的顺序。将交互行为建模为消息传递,通过描述消息如何在对象间发送和接收来动态展示对象之间的交互
  • 相对于其他UML图,时序图更强调交互的时间顺序。
  • 可以直观地描述并发进程。

时序图组成元素

时序图组成元素主要包括:

  • 角色(Actor)
  • 对象(Object)
  • 生命线(Lifeline)
  • 控制焦点(Focus of Control)
  • 消息(Message)
角色(Actor)

系统角色,可以是人、机器、其他系统、子系统
在这里插入图片描述

对象(Object)

对象的三种命名方式:

  • 对象:类
  • :类
  • 对象

对象的左右顺序并不重要,但通常要遵循以下两个原则:

  • 把交互频繁的对象尽可能靠拢
  • 把初始化整个交互活动的对象放置在最左端

在这里插入图片描述

生命线(Lifeline)

从对象图标向下延申的一条虚线,表示对象存在的时间。
在这里插入图片描述

控制焦点(Focus of Control)

又被称为激化期,表示时间段的符号,表示在这个时间段内,对象将执行相应的操作。可以理解为Java中一对大括号中的内容。
在这里插入图片描述

消息(Message)
  • 同步消息 Synchronous Message
  • 异步消息 Asynchronous Message
  • 返回消息 Return Message

在这里插入图片描述

时序组合片段 Combined Fragments

组合片段(Combined Fragments)用来解决交互执行的条件和方式,它允许在时序图中直接表示逻辑组件,用于通过指定条件或子进程的应用区域,为任何生命线的任何部分定义特殊条件和子进程。

类型名称说明
Alt抉择包含一个片段列表,这些片段包含备选消息序列。可以在每个片段中都设置一个临界来指示该片段可以运行的条件。else的临界指示其他任何临界都不为true时应运行的片段。如果所有临界都为false并且没有else,则不执行任何片段
Opt选项包含一个可能发生或可能不发生的序列。可以在临界中指定序列发生的条件
Loop循环片段重复一定次数。可以在临界中指示片段重复的条件。Loop组合片段具有Min和Max属性,它们指示片段可以重复的最小和最大次数。默认值是无限制
Break中断如果执行此片段,则放弃序列的其余部分。可以使用临界来指示发生中断的条件
Par并行并行处理。片段中的事件可以交错
Critical关键用在Par或Seq片段中,指示此片段中的消息不得与其他消息交错
Seq弱顺序有两个或更多操作数片段。涉及同一生命线的消息必须按片段的顺序发生。如果消息涉及的生命线不同,则来自不同片段的消息可能会并行交错
Strict强顺序有两个或更多操作数片段。这些片段必须按给定顺序发生
Consider考虑指定此片段描述的消息列表。其他消息可发生在运行的系统中,但对此描述来说意义不大
Ignore忽略指定此片段未描述的消息列表。这些消息可发生在运行的系统中,但对此描述来说意义不大。在Message属性中键入该列表
Assert断言操作数片段指定唯一有效的序列。通常用在Consider或Ignore片段中
Neg否定此片段中显示的序列不得发生。通常用在Consider或Ignore片段中
抉择(Alt)

在这里插入图片描述

选项(Opt)

在这里插入图片描述

循环(Loop)

在这里插入图片描述

并行(Par)

在这里插入图片描述

在这里插入图片描述

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值