什么是时序图

时序图(Sequence Diagram),又名序列图、循序图,是一种UML交互图。它通过描述对象之间发送消息的时间顺序显示多个对象之间的动态协作。

时序图的元素

我们在画时序图时会涉及7种元素:
角色(Actor)、对象(Object)、生命线(LifeLine)、控制焦点(Activation)、消息(Message)、自关联消息、组合片段。其中前6种是比较常用和重要的元素,剩余的一种组合片段元素不是很常用,但是比较复杂。我们先介绍前6种元素,在单独介绍组合片段元素。

角色(Actor)

系统角色,可以是人或者其他系统,子系统。以一个小人图标表示。

对象(Object)

对象位于时序图的顶部,以一个矩形表示。对象的命名方式一般有三种:

  1. 对象名和类名。例如:华为手机:手机、loginServiceObject:LoginService。
  2. 只显示类名,不显示对象,即为一个匿名类。例如::手机、:LoginSservice。
  3. 只显示对象名,不显示类名。例如:华为手机:、loginServiceObject:。
生命线(LifeLine)

时序图中每个对象和底部中心都有一条垂直的虚线,这就是对象的生命线(对象的时间线)。以一条垂直的虚线表。

控制焦点(Activation)

控制焦点代表时序图中在对象时间线上某段时期执行的操作。以一个很窄的矩形表示。

消息(Message)

表现代表对象之间发送的信息。消息分为三种类型。

  1. 同步消息(Synchronous Message)
    消息的发送者把控制传递给消息的接收者,然后停止活动,等待消息的接收者放弃或者返回控制。用来表示同步的意义。以一条实线+实心箭头表示。
  2. 异步消息(Asynchronous Message)
    消息发送者通过消息把信号传递给消息的接收者,然后继续自己的活动,不等待接受者返回消息或者控制。异步消息的接收者和发送者是并发工作的。以一条实线+大于号表示。
  3. 返回消息(Return Message)
    返回消息表示从过程调用返回。以小于号+虚线表示。
    自关联消息
    表示方法的自身调用或者一个对象内的一个方法调用另外一个方法。以一个半闭合的长方形+下方实心剪头表示。
组合片段

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

常用组合片段举例

  1. 抉择(Alt)
    抉择在任何场合下只发生一个序列。 可以在每个片段中设置一个临界来指示该片段可以运行的条件。else 的临界指示其他任何临界都不为 True 时应运行的片段。如果所有临界都为 False 并且没有 else,则不执行任何片段。Alt片段组合可以理解为if…else if…else条件语句。
  2. 选项(Opt)
    包含一个可能发生或不发生的序列。Opt相当于if…语句。
  3. 循环(Loop)
    片段重复一定次数,可以在临界中指示片段重复的条件。Loop相当于for语句。
  4. 并行(Par)
    并行处理,片段中的事件可以并行交错。Par相当于多线程。

UML时序图(Sequence Diagram)讲解相关推荐

  1. UML时序图(Sequence Diagram)学习笔记

    UML时序图(Sequence Diagram)学习笔记 原创 SuperMan-zhang 最后发布于2018-07-04 14:37:25 阅读数 94844 收藏 发布于2018-07-04 1 ...

  2. UML时序图(Sequence Diagram)

    什么是时序图 时序图(Sequence Diagram),又名序列图.循序图,是一种UML交互图.它通过描述对象之间发送消息的时间顺序显示多个对象之间的动态协作. 让我们来看一看visio2016对时 ...

  3. 【工具】-10 UML时序图(Sequence Diagram)学习笔记

    为什么要绘制时序图? 我们编码的时候,知道有的用例的业务逻辑按照比较确定的时间先后顺序进行展开.这时候,我们就需要知道我们设计的系统中的不同类之间传递消息(可以认为是不同对象函数间的调用)要按照怎么样 ...

  4. 【UML】时序图Sequence diagram(交互图)(转)

    前言 UML时序图是UML动态图之一,它是强调时间顺序的交互图. 定义 时序图是显示按时间顺序排列的对象之间交互的图. 组成元素 对象 包括三种命名方式:第一种方式包括对象名和类名:第二中方式只显示类 ...

  5. 程序时序图 Sequence Diagram(序列图) UML图(数据流程图)的绘制

    参考视频教程:1.时序图的绘制 描述数据的流动 上面教程看起来还是有点懵逼 来看百度百科吧! 时序图中包括如下元素:角色,对象,生命线,控制焦点和消息. 1.角色(Actor) 系统角色,可以是人或者 ...

  6. UML 顺序图(时序图) sequence diagram

    1. 什么是顺序图 是强调消息时间顺序的交互图.时序图描述类系统中类和类之间的交互,它将这些交互建模成消息交换.时序图是一个模型,用于描述对象间如何随着时间在某些行为方面进行协作.(强调的是消息的时间 ...

  7. UML顺序图(sequence diagram)

    顺序图用于表达实体之间的动态调用顺序,例如对于骰子游戏这个需求,对应的顺序图如下所示: 注意上面的顺序图中只表达出了骰子游戏的正常逻辑,没有表达异常逻辑.这也是顺序图的主要用法,顺序图一般只用来表达实 ...

  8. UML时序图和流程图介绍

    文章目录 UML时序图参考 UML流程图参考 UML类图讲解 一.整体图 二.属性讲解 类 接口 继承(泛化) 实现 关联 聚合 合成 依赖 参考资料 UML时序图参考 类图.用例图.时序图.状态图. ...

  9. uml 时序图_设计模式-UML

    定义 统一建模语言(Unified Modeling Language,UML)是一种为面向对象系统的产品进行说明.可视化和编制文档的一种标准语言,是非专利的第三代建模和规约语言.UML是面向对象设计 ...

最新文章

  1. Mysql 安装及实践(学习笔记二)
  2. 无人驾驶重塑竞争生态圈
  3. fiddler实现模拟器抓吧_使用Fiddler对手机抓包
  4. STL中的priority_queue(优先队列)
  5. 点站点链接出现短时间白屏或闪屏现象
  6. java中的关键字 保留字_java中的标识符、关键字、保留字
  7. 网络协议收发数据问题
  8. [HDOJ1823] Luck and Love(线段树,树套树)
  9. 【渝粤教育】国家开放大学2018年秋季 1301T病理生理学 参考试题
  10. CodeforcesRound#498 (Div.3)E题Military Problem
  11. 手机中文c语言编辑器,Turbo C中文(c语言编辑器)v3.7.8.9
  12. WPF ImageButton
  13. 过滤钩子驱动程序一(微软DDK文档,FLASHSKY翻译)
  14. 预加重/去加重/直流滤波
  15. 白盒测试 语句覆盖、判定覆盖、条件覆盖、判定条件覆盖、条件组合覆盖、路径覆盖
  16. zt 李鸿章听过《彩云追月》?
  17. Tinyxml一一利用tinyxml读取节点元素属性值
  18. 高斯滤波的开始——高斯核的计算
  19. 通过 qemu 运行并调试 IoT 固件和不同架构的二进制文件
  20. Rust雪山怎么防冷_原神:新地图雪山来临,灵活运用游戏提供的道具,避免被寒冷侵扰...

热门文章

  1. IOS下的屏幕相关和AppIcon尺寸以及LaunchImage 简单介绍
  2. ubuntu的Files资源管理器打不开解决方案
  3. VirtualBox+Vagrant
  4. 基于JAVA体检预约管理系统计算机毕业设计源码+系统+lw文档+部署
  5. 电脑蓝屏服务器无响应,电脑开机就是蓝屏,一直无响应该怎么处理
  6. 在jeecg中使用a-upload(ant-design-vue组件)出现http:localhost:3000/sys/common/upload错误,页面上传不到指定路径
  7. java中的localDate类,Java LocalDate类
  8. 3641bs数码管C语言程序,树莓派控制3641BS数码管显示数字
  9. 《前端》样式冲突,怎么解决--2020年3月30日
  10. 盐城北大青鸟东台基地举行电竞比赛