UML时序图详解(Sequence Diagram)


Recall

时序图的时间线是从上到下的,代表着时间的前进。

时序图一般用于描述面向对象的系统。

一个简单的时序图demo

Notes

  • 元素
    • 目标(Targets)
    • 生命线(Lifeline)
    • 控制焦点(Focus of Control)
    • 消息(Message)
    • 自关联消息(Self-Message)
    • 组合片段(Combined Fragment)
  • 简介

    • 目标:对象位于时序图的顶部,以一个矩形表示。分为三类:对象,多对象,类。

      1. 对象名多显示又多种方式,如下(仅实例名,类名/实例匿名,实例名:类名):

        对象还可以通过stereotype(自定义构造)来实现一些自定义角色的定义,时序图常用的有:actor,boundary,control,entity,database

      2. 多对象

    • 生命线:时序图中每个对象和底部中心都有一条垂直的虚线,这就是对象的生命线(对象的时间线)。以一条垂直的虚线表。
    • 控制焦点:控制焦点代表时序图中在对象时间线上某段时期执行的操作。以一个很窄的矩形表示。
    • 消息:表现代表对象之间发送的信息。消息分为三种类型。

      1. 同步消息:消息的发送者把控制传递给消息的接收者,然后停止活动,等待消息的接收者放弃或者返回控制。用来表示同步的意义。以一条实线+实心箭头表示。

      2. 异步消息:消息发送者通过消息把信号传递给消息的接收者,然后继续自己的活动,不等待接受者返回消息或者控制。异步消息的接收者和发送者是并发工作的。以一条实线+大于号表示。

      3. 返回消息:返回消息表示从过程调用返回。以小于号+虚线表示。

        下图表示的是消息发送有时间损耗的带返回消息的请求。

      4. 起始消息

        这种消息类型不知道消息发起人或者发起人无关紧要

    • 自关联消息:表示方法的自身调用或者一个对象内的一个方法调用另外一个方法。以一个半闭合的长方形+下方实心剪头表示。

      这种消息类型慎用,因为时序图的目的是为了体现多个target之间的相互关系。

    • 起始和终止

    • 组合片段:组合片段用来解决交互执行的条件和方式,它允许在序列图中直接表示逻辑组件,用于通过指定条件或子进程的应用区域,为任何生命线的任何部分定义特殊条件和子进程。组合片段共有13种,名称及含义如下:

      1⃣️简单的判断条件

      2⃣️一个判断多个执行

      3⃣️选择执行

      4⃣️重复执行

      5⃣️重复执行到一个多对象

      6⃣️循环体执行

SUMMARY: 时序图属于软件开发前构思整个业务流非常常用的一种UML图,用好时序图可以帮助我们架构业务流,减少后期大的重构。

参考地址:

(转)UML学习入门就这一篇文章

UML 2 Sequence Diagrams: An Agile Introduction

UML Sequence Diagrams

声明:Eironn's Blog|版权所有,违者必究|如未注明,均为原创|本网站采用BY-NC-SA协议进行授权

转载:转载请注明原文链接 - UML时序图详解(Sequence Diagram)


Java开发,同时会一些旁门左道。