UML交互图

article/2025/10/19 11:02:11

     顺序图和协作图统称交互图,用来描述系统中多个对象之间的相互关系及对象间消息的传递,用于对系统中多个对象的相互作用的过程进行建模。

    在面向对象分析过程中,可以使用顺序图来描述完成一个用例的过程,使用协作图来分析系统中的对象和对象之间传递的消息。

    顺序图描述了对象之间传递消息的时间顺序,用来表示用例中行为顺序。用例常常被细化为一个或多个的顺序图。顺序图描述了对象以及对象之间传递的消息,强调对象之间的交互是按照时间的先后顺序发生的,这些特定顺序发生的交互序列从开始到结束需要一定的时间。

    在顺序图中,对象都不是孤立存在的,这些对象之间是通过消息进行通讯。消息由从一个对象的生命线指向另一个对象的生命线的直线箭头表示,箭头上标注要发送的消息名。


顺序图理解


1,条件分支

在顺序图中的控制流并不是只能按照从上到下的顺序依次进行,控制流也可以进行修改,条件分支就是一种。表示两个分支在同一时间点上只能执行一个分支。


             

 2,从属流

从属流与条件分支不同,从属流允许某一个对象根据不同的条件改变执行不同的操作,即可以创建对象的另一个生命线分支。

               

3,消息延迟

顺序图中的消息通常都是水平的,表明消息的传递时瞬时的,也就是说在消息传递的过程中不会发生其他的事件。但有些情况下,可能存在一定的时间延迟。

         

4,循环

为了强调需要对多个对象重复发送某个消息,可以在顺序图中添加循环标识符号,顺序图中标识循环执行的消息有三种方式。

第一种:在需要循环重复执行的消息前添加符号*,并在其后的中括号中写明具体条件。

            

第二种:在时间轴上注释表明消息的重复执行,使用大括号标明说明文字。

             

第三种:使用矩形框将需要重复执行的消息框起来,并在中括号内说明重复执行的条件。

          

5,顺序图片段

利用顺序图片段可以表示比较复杂的交互。顺序图片段被描述成顺序图中框起来的一部分交互的矩形。顺序图片段与顺序图中某部分交互重叠,顺序图片段中可以包含任意数目的交互,还可以包含嵌套片段。

顺序图片段矩形的左上角包含一个运算符,以表明类型。

        

     

针对机房收费系统中的学生上下机过程的顺序图为:

         

                                            上图为操作员给学生注册时的协作图

    

    协作图着重于描述协作对象间的交互和连接。顺序图是按照时间的顺序布图,而协作图是按照空间来布图。

对象的表示方式:

         

多对象:协作图中,有时信号或操作是应用于一个对象集合而不是单一对象上,称为多对象。

                      

单对象给多对象同时发送一个消息时,需要在消息前面加上一个星号,并加上用方括号括起来的条件。


主动对象:在协作图中,主动对象是一组属性和方法的封装体,主动对象中至少有一个方法不需要接收消息就能主动执行。






http://chatgpt.dhexx.cn/article/oDJn4VBH.shtml

相关文章

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…

【gflags】gflags 命令行参数配置库

gflag介绍 google开源的gflags是一套命令行参数解析工具 主要就是用来解析命令行参数&#xff0c;并且支持从文件或者从环境变量中读入参数&#xff0c;功能十分强大 gflag的使用 我们以使用为目标进行讲解&#xff0c;不会进行深入了解&#xff08;其实并不是很难&#xff0c;…

js判断文件类型详解

js判断文件类型详解 通过file的type属性判断 <input type"file" onchange"onchangecb(this)" /> <script> function onchangecb(e) {const file e.files[0];console.log(file.type); } </script>像html中input标签&#xff0c;就是根…

JS——判断变量类型方法汇总

判断变量类型 一、使用typeof判断变量类型二、使用instanceof判断变量的类型三、使用constructor判断变量的类型四、使用Object.prototype.toString.call判断变量的类型五、使用jquery中$.type判断变量的类型。六、总结 在JS中&#xff0c;有 5 种基本数据类型和 1 种复杂数据类…