UML交互图(时序图、顺序图、序列图是一样的、协作图)

article/2025/10/19 11:07:10

时序图、顺序图、序列图是一样的,可能是因为英文翻译的问题,他们对应的都是Sequence Diagram,而另一个Timing Diagram可能翻译常时间图更合适一点点。
Sequence Diagram描述了多个对象如何协作完成一个用例的过程;而Timing Sequence则是把前者的横轴由对象变成了时间,它更专注于时间约束,可以针对一个对象或者一组对象。
但是两个图都属于交互图的一种吧。

 

 

UML 交互图概述:

  • UML 交互图描述的是对象之间的动态合作关系以及合作过程中的行为次序。
  • UML 交互图常常用来描述一个用例的行为,显示该用例中所涉及的对象以及这些对象之间的消息传递情况,即一个用例的实现过程。
  • UML 交互图包括两种:序列图和协作图。
    • 序列图 :显示对象之间的关系,强调对象之间消息的时间顺序,显示对象之间的交互。

    • 协作图 :描述对象之间的交互关系。

UML 交互图作用:

UML 交互图主要包括对象消息两类元素,创建交互图的过程实际上就是向对象分配任务的过程,是可视化系统的交互行为。

由于可视化的交互是一个困难的任务,所以要使用不同类型的模型来捕获不同方面的相互作用,这也是序列图和时序图的作用。

总而言之,对交互图的描述如下:

  • 交互图捕捉一个系统的动态行为;

  • 交互图用来描述该系统中的消息流;

  • 交互图用来描述对象的结构组织;

  • 交互图是为了描述对象之间的互动。

UML 交互图如何绘制?

我们已经了解了交互图的作用就是捕捉系统的动态环节。因此,关于动态捕捉,我们需要知道一个动态的环节是如何实现可视化的。

动态环节可以定义为在一个特定的时刻运行的系统快照。

在绘制交互图之前,确定以下条件:

  • 参与互动的对象;

  • 对象之间的消息流;

  • 消息的顺序流程;

  • 对象的组织。

下面描述了两个交互图建模的订单管理系统:第一个图是序列图,第二个图是协作图。

序列图:

序列图中包含了四个对象:客户、订单、特殊订单和正常订单。

下面的关系图所示的消息序列为 SpecialOrder 对象和 NormalOrder 对象在相同的情况下使用。现在重要的是要了解时间顺序的消息流,与消息流无关,使用一个对象的方法调用。

首先调用的是 sendOrder(),这是一个订单对象的方法;在下一次调用 confirm (),这是一个 SpecialOrder 对象的方法;最后调用 Dispatch (),它是一种方法的 SpecialOrder 对象。所以这里的图主要描述方法从一个对象到另一个对象的调用,在系统运行时这也是实际情况:

145F9B05-0

协作图:

协作图显示对象的组织,如下图所示。

这里协作图的方法调用序列是表示,由一些数字技术,如下所示。

该数字表示方法如何被称为此起彼伏。我们已经采取了相同的订单管理系统,协作图来描述。

这些调用方法类似的序列图。但不同的是,序列图中未介绍的对象组织,而协作图中示出的对象的组织。

现在选择这两个图表之间主要强调的是需求类型。如果时间序列是很重要的,那么序列图中被使用,并且,如果需要的组织,那么使用协作图。

145F93605-1

使用交互图的场合

我们现在来讨论交互图在实际情况中的应用。要了解实际应用中,我们需要了解的基本性质序列图和协作图。

这两个图的主要目的,是相似的,因为它们是用来捕捉系统的动态行为:序列图是用来捕获从一个对象到另一个消息流的顺序;协作图用来描述参与相互作用中的对象的结构组织。

一个单一的图是不足以说明整个系统的动态环节,这样的一套图是用来捕获一个整体。

使用交互图,当我们想要了解的消息流和组织结构。消息流装置控制流从一个对象到另一个序列和结构组织的装置,在一个系统中的元素的视觉组织。

以下是交互图的用法:

  • 按时间顺序的控制流建模。

  • 为了模拟流结构组织控制。

  • 对于正向工程。

  • 逆向工程。


http://chatgpt.dhexx.cn/article/7UPXjZ2l.shtml

相关文章

【UML】交互图(时序图、协作图)

时序图 内容 描述了对象之间传递消息的时间顺序用来表示用例的行为顺序是强调消息时间顺序的交互图描述类系统中类和类之间的交互,将这些交互建模成消息交换 元素 1.对象 对象代表时序图中的对象在交互过程中所扮演的角色 2.生命线 生命线是一条虚线&#…

交互概览图

一:定义 1,交互概览图是交互图与活动图的混合物,可以把交互概览图理解为细化的活动图,在其中的活动都通过一些小型的顺序图来表示;也可以将其理解为利用标明控制流的活动图分解过的顺序图。 2,交互概览图…

UML交互图

顺序图和协作图统称交互图,用来描述系统中多个对象之间的相互关系及对象间消息的传递,用于对系统中多个对象的相互作用的过程进行建模。 在面向对象分析过程中,可以使用顺序图来描述完成一个用例的过程,使用协作图来分析系统中的对…

UML之行为图(活动图、状态图、交互图)

UML的行为图是用来描述系统的动态模型和对象之间的交互关系,包括三种:活动图、状态图、交互图。 下面对这三种图进行介绍: 一、活动图: 1、定义:用来描述满足用例要求所要进行的活动以及活动间的约束关系,…

UML——交互图(顺序图与协作图)

目录 交互图 顺序图 协作图 顺序图与协作图之间的关系 交互图 用来描述系统中的对象是如何进行相互作用的。即一组对象是如何进行消息传递的。 交互图主要用来描述协作的动态行为方面 交互图有顺序图和协作图两种形式 ——顺序图:强调消息的时间顺序 ——协作…

UML交互图(顺序图和交互图)

一、概念 交互图描述对象之间的动态合作关系以及合作过程中的行为次序。交互图常常用来描述一个用例的行为,显示该用例中所涉及的对象以及这些对象之间的消息传递情况,即一个用例的实现过程。 交互图有顺序图和协作图两种形式。 时序图中描述对象按…

软件工程 第五章:交互图

第五章:交互图 概述 动态模型用来描述系统的动态行为,分为状态模型和交互模型。交互图描述对象间的动态合作关系及合作过程中的行为次序。常用来描述一个用例的行为,显示该用例中所涉及的对象及它们间的消息传递情况。交互图有序列图和协作…

UML系列文章(19)基本行为---交互图

顺序图和通信图(均是交互图)是UML中用于对系统的动态方面进行建模的5种图中的两种。交互图表现的是一个交互,由一组对象和它们之间的关系组成,包括它们之间可能传递的消息。顺序图是强调消息时间顺序的交互图,通信图是…

UML-----交互图(顺序图和合作图)

交互图 交互图是用来描述系统中的对象是如何进行相互作用的。也就是一组对象是如何进行信息传递的。主要描述协作的动态行为方面。 交互包括两个方面:1.强调消息的时间顺序。2.强调发送和接收信息的对象的结构组织 因此引出了两个图 顺序图&#…

UML九种图之交互图

序列图又叫顺序图,是交互图的一种,交互图包括顺序图和合作图。那么什么是交互图呢? 交互图 u 定义 交互图是用来描述系统中的对象是如何进行相互作用的。即一组对象是如何进行消息传递的。 交互主要用于描述协作的动态行为方面。 当对交互…

UML---交互图(顺序图和协作图)

交互图 交互图用来描述对象之间的交互关系,包括顺序图和协作图 交互图用来描述系统中的对象是如何进行相互作用的。即一组对象是如何进行消息传递的。 顺序图 1.概念:描述对象之间的交互顺序,着重体现对象间消息传递的时间顺序&#xff0…

【UML】——交互图

一、交互图 1、什么是交互图 交互图用来描述系统中的对象是如何进行相互作用的,即一组对象是如何进行消息传递的 交互图主要用于描述协作的动态行为方面 2、两种方式描述 强调消息的时间顺序 强调发送和接受消息的对象的结构组织 3、交互图包括 时序图&…

【环境搭建】gflags和glog的安装

【环境搭建】gflags和glog的安装 在Ubuntu16.04上安装gflags什么是gflags安装gflags 在Ubuntu16.04上安装glog什么是glog安装glog使用glog 结语 在Ubuntu16.04上安装gflags 什么是gflags gflags用于处理命令行参数 安装gflags 用apt下载git和cmake sudo apt-get install g…

Windbg的gflags.exe -- Attach调试利器

有没有碰到过程序启动就因为异常直接crash?有没有碰到程序启动之后什么反应也没有?有没有碰到过程序启动之后去触发另一个进程失败?有没有碰到别人的程序调用了你的代码,出现问题以后,让你来调查,而你只有你…

gflags的交叉编译

gflags版本:gflags 2.2.2 目录 编译 动态库的编译 cmake 设置交叉编译器是重点。 lbwDESKTOP-LBW22:/mnt/d/ref/gflags-master/_build$ cmake .. -DGFLAGS_NAMESPACEgflags -DCMAKE_CXX_FLAGS-fPIC -DBUILD_SHARED_LIBSON -DCMAKE_C_COMPILERaarch64-linux-gnu-…

【Ubuntu 20.04】 安装使用 Gflags、Glog、JSON、yaml 教程

Gflags 谷歌命令行解析工具gflags详解 https://zhuanlan.zhihu.com/p/95889124Glog //安装 sudo apt-get install libgoogle-glog-dev //卸载 sudo apt-get remove libgoogle-glog-devGoogle开源库之Glog库详解 https://zhuanlan.zhihu.com/p/26025722JSON Linux C/C下使用…

Ubuntu20.04安装g3log、glog和gflags

建议最好先安装最新版本的cmake,在进行以下安装 cmake安装教程 1.安装gflags 方法一、首先打开终端 ||git clone https://github.com/gflags/gflags.git ||cd gflags ||mkdir build && cd build ||cmake .. -DGFLAGS_NAMESPACEgoogle -DCMAKE_CXX_FLAGS-f…

Gflags learning notes

简介 gflags是谷歌开发的一个命令行标记库,区别于其他命令行标记库,它允许标记定义出现在源文件各处,而不是限定在一个源文件(如main())中。这意味着一个源代码文件定义和使用对该文件有意义的标志,任何链接…

(02)Cartographer源码无死角解析-(09) gflags与glog简介、及其main函数讲解

本人讲解关于slam一系列文章汇总链接:史上最全slam从零开始,针对于本栏目讲解(02)Cartographer源码无死角解析-链接如下: (02)Cartographer源码无死角解析- (00)目录_最新无死角讲解:https://blog.csdn.net/weixin_43013761/article/details/127350885 …

glog和gflags的使用

glog&#xff1a;日志输出 支持debug功能 glog提供特定的宏只在debug模式下生效。以下分别对应LOG、LOG_IF、DLOG_EVERY_N操作的专用宏。 DLOG(INFO) << "Found cookies"; DLOG_IF(INFO, num_cookies > 10) << "Got lots of cookies"; DLO…