UML交互图-序列图

概述

序列图又称为时序图、活动序列图,它是一种详细表示对象之间及对象与参与者实例之间交互的图,它由一组协作的对象(或参与者实例)及它们之间可发送的消息组成,它强调消息之间的时间顺序。

序列图主要用于按照交互发生的一系列顺序,显示对象之间的这些交互。序列图的主要用途之一是把用例表达的需求,转化为进一步、更加正式层次的精细表达。用例常常被细化为一个或者更多的序列图。

一、序列图的基本模型

序列图由对象生命线、激活和消息组成。在一个序列图中,垂直的虚线叫做生命线,它代表个对象存在的时间,每一个箭头代表一个调用,这个箭头从调用者对象连接到接收者对象的激活条上,每一个激活条代表所持续的时间,如图7-1所示。

从图中可以看出序列图是二维的,其中:

  • 垂直方向表示时间,时间维由上到下(根据需要,也可以由下到上),但在实时应用中时间轴是能度量的。
  • 水平方向表示不同的对象或参与者,相应地,生命线之间的顺序可以是任意的通常只有时间顺序是重要的,对象的水平顺序并不重要。

在这里插入图片描述

二、对象生命线的表示法

对象表示不同的主体,多个对象之间才能够进行交互。把对象表示成称为“生命线”的垂直虚线,生命线代表一个对象在特定时间内的存在。

在生命线的顶部是一个方框,并写入对象的名称,使用下画线表示,如图7-2所示。

这里的对象就是前文中所讲解的对象图,因此我们可以设置它所属于的类类型,采用冒号表示类,如图 7-3 所示。
在这里插入图片描述
如果类的类型是角色类型,则对象不再使用方框表示,而是使用一个角色的人形标志表示,对象名及类名写在人形标志的下方,如图7-4所示。

在这里插入图片描述

三、激活的表示法

激活表示一个对象执行一个行为的时期,它既表示了行为执行的持续时间,也表示了活动和它的调用者之间的控制关系。

激活用一个窄长的矩形表示,矩形顶端和它的开始时刻对齐,末端和它的结束时刻对齐。可以用文本标注被执行的动作,依赖于整体风格,或者把标注放在激活符号的旁边,或者放在图左边的空白处。在程序的控制流中,激活符号的顶端画在进入的箭头的尖端(开始该动作的那个箭头),底端画在返回的箭头的尾部,如图7-5所示。

在这里插入图片描述
当一个对象处于激活期时,该对象能够响应或发送消息,执行对象或活动。当一个对象不处于激活期时,该对象不做什么事情,但它是存在的,等待新的消息激活它。

四、消息的表示法

消息是对象之间的通信的规格说明,这样的通信用于传输将发生的活动所需要的信息。它即包含了控制信息(如调用)也包含了所使用的数据的规格说明。一个消息会调用另一个对象的操作,调用本对象的操作,向另一个对象发送一个信号,创建或者撤销一个对象(可以自己销毁自己),还可能向调用者返回一个结果。

消息表示为从一个对象生命线到另一个对象生命线的一个水平实线箭头,即从源对象指向目标对象,以触发目标对象中的特定操作。对于对象到自身的消息,箭头就从同一个对象符号开始和结束。用消息(操作或信号)的名字及其参数值或者参数表达式标示箭头,消息名称放置在带箭头的线上面,正在被传递给接收对象的消息表示接收对象的类实现的一个方法,如图7-6所示。
在这里插入图片描述
为了可读性,序列图的第一个消息总是从顶端开始的,并且一般位于图的左边。然后继发的消息加入图中,稍微比前面的消息低些。

根据箭头种类的不同,消息可以分为3类。

  • 同步消息:在箭头的末尾画一个叉,表示消息的调用是同步的。
  • 异步消息:箭头采用单边表示,表示消息的调用是异步的。
  • 定时消息:消息名后画一个圈,表示该消息是定时调用的。

3 类消息如图 7-7所示。

在这里插入图片描述

五、自调用消息的表示法

以上的消息调用处于两个不同的对象之间,除此之外,消息还可以进行自调用,就好比类调用了自身的方法一样。在 UML图中,只需要画一个折回的箭头即可,如图 7-8所示。

在这里插入图片描述

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:/a/687274.html

如若内容造成侵权/违法违规/事实不符,请联系我们进行投诉反馈qq邮箱809451989@qq.com,一经查实,立即删除!

相关文章

【C语言】03.分支结构

本文用以介绍分支结构,主要的实现方式为if语句和switch语句。 一、if语句 1.1 if语句 if (表达式)语句表达式为真则执行语句,为假就不执行。在C语言中,0表示假,非0表示真.下图表示if的执行过程: 1.2 else语句 当…

六位一线AI工程师总结大模型应用摸爬滚打一年的心得,网友:全程高能!

六位一线AI工程师和创业者,把在大模型应用开发上摸爬滚打一整年的心得,全!分!享!了! (奇怪的六一儿童节大礼包出现了) 这篇干货长文,一时间成为开发者社区热议的话题。…

大数据之HDFS磁盘扩容(linux磁盘扩容)

之所以扩容,是因为当前大数据平台已经接入了不同来源的数据,当执行mapreduce任务时,会发生磁盘爆满,导致hdfs爆红 具体扩容方案如下: 1、查看云磁盘分区情况 fdisk -l . 可以从图看出: /dev/vda 数据盘磁盘容量为21.5GB,包含/dev/vda1分区 /dev/vdb 数…

外贸干货|如何提高商机转化率?

常常听到外贸业务员抱怨“询盘质量不高”、“有询盘没转化”、“有些客户只是来比价格的”……想必大家都不陌生! 但难道只有询盘问题、客户问题吗?我们自身的处理真的没问题吗?我想只有更多的自省自查我们可以控制的问题,优化我们…

性能测试 —— 吞吐量和并发量的关系? 有什么区别?

吞吐量(Throughput)和并发量(Concurrency)是性能测试中常用的两个指标,它们描述了系统处理能力的不同方面。 吞吐量(Throughput) 是指系统在单位时间内能够处理的请求数量或事务数量。它常用于…

高压电工工种考试题库

1、施工操作人员在作业活动后可以穿拖鞋、赤背(女职工禁穿高跟鞋)进入现场。 A正确 B 错误 2、力的三要素不会影响力的效果。 A 正确 B错误 3、如发现安全带的绳带有变质,应当立即停止使用。 A 正确 B错误 4、预防物体打击应该佩戴安全帽。 A 正确 B 错误 5、说明房屋建筑各层平…

APP兼容性测试都需要考虑哪些场景?

APP测试的时候都需要验证兼容性。那兼容性测试需要考虑哪些场景? 进行APP的兼容性测试时,需要考虑以下一些常见的测试场景: 1. 操作系统兼容性:测试应用程序在不同操作系统上的兼容性,如iOS、Android、Windows等。确…

突破语言与文化壁垒:海外短剧推广平台多语言支持技术的重要性与实施

在全球化的今天,语言和文化差异成为了海外短剧推广的一大挑战。为了吸引全球观众,海外短剧推广平台必须提供多语言支持,以突破语言与文化壁垒。本文将强调多语言支持的重要性,并探讨其实现技术。 一、多语言支持的重要性 随着全…

鸿蒙嵌入式设备开发之hello world

1. 环境搭建 目前鸿蒙设备的开发环境,可以分为2个部分:Windows调试环境,和Linux编译环境。 其中, Linux环境负责编译代码,并生成鸿蒙的包。Windows环境负责连接设备,进行烧录和调试。 特别注意&#xf…

读书笔记分享

1.绝大多数父母都是爱孩子的,可他们却不是称职的父母。世界上任何职业都要培训、考核、竞争上岗,唯有“父母”这个职业是没有这些程序,只要生了小孩,就是天经地义的父母。 2.由于自身工作特点,“白领”们的部分器官和…

代码审计(1):CVE-2022-4957分析及复现

0x00漏洞描述: ѕрееdtеѕt iѕ а vеrу liɡhtԝеiɡht nеtԝоrk ѕрееd tеѕtinɡ tооl imрlеmеntеd in Jаvаѕсriрt. Thеrе iѕ а Crоѕѕ-ѕitе Sсriрtinɡ vulnеrаbilitу in librеѕроndеd ѕрееdtеѕt…

SD卡格式化怎么恢复?一键扫描,轻松找回丢失的数据

SD卡格式化怎么恢复数据?在日常生活中,我们常常会使用SD卡来存储各种数据,如照片、视频、文档等。然而,当SD卡意外格式化或者出现其他问题时,里面的数据就会面临丢失的风险。 此时,如何恢复格式化的SD卡就…

聚焦Cayman 环二核苷酸(CDNs)

环二核苷酸CDNs 环二核苷酸(cyclic dinucleotides,CDNs)是一类天然的环状RNA分子,细菌衍生的CDNs分子包括c-di-GMP、c-di-AMP和3,3-cGAMP,它们介导对恶性、病毒性和细菌性疾病的先天免疫的保护作用,并在自…

遇见桂林山水画廊,深层互联自动讲解耳机走进漓江

遇见山水,听懂山水。由深层互联独家打造,桂林漓江山水画廊导览工程,于不久前正式启动,声情并茂的真人语音引导着游客,走进有声有色的山水画卷中。 桂林山水甲天下,得天独厚的自然景观,奇幻瑰丽…

html5实现端午节网站源码

文章目录 1.设计来源1.1 端午首页页面1.2 端午由来页面1.3 端午图集页面1.4 端午活动页面1.5 给我留言页面 2.效果和源码2.1 动态效果2.2 目录结构 源码下载 作者:xcLeigh 文章地址:https://blog.csdn.net/weixin_43151418/article/details/139524377 ht…

【Python入门与进阶】Anaconda环境配置

1.Conda换源 1.1.打开Anaconda Powershell Prompt 1.2.在界面中输入以下命名(加入清华源并设置搜索优先级): conda config --add channels https://mirrors.ustc.edu.cn/anaconda/pkgs/main/ conda config --add channels https://mirrors.…

计算机毕业设计python+hadoop+spark猫眼电影票房预测 电影推荐系统 猫眼电影爬虫 电影数据可视化 电影用户画像系统 协同过滤算法 数据仓库

山东青年政治学院毕业论文(设计)开题报告 学生姓名 高宜凡 学 号 202010520237 所在学院 信息工程学院 专 业 信息管理与信息系统(云计算与大数据技术) 指导教师姓名 李海斌 黄虹 指导教师职称 工程师 副教授 指导教…

二十年编程人生,倾囊相授:自学Python所有方向好书精选,助你全方位攻略!

一、论看书的重要性 现在不像十几年前那样,现在的学习资源很多,出了校园工作了之后,很多人都不怎么喜欢看书,通过看书来学习的人越来越少了,但我一直保持着这个习惯,现在也是,每天早上都会起来…

Win11 ubuntu子系统安装WslRegisterDistribution failed with error: 0x800701bc

执行完这两部,然后再打开ubuntu即可。链接

【成品设计】基于红外线的目标跟踪无线测温系统设计

《基于红外线的目标跟踪无线测温系统设计》 整体功能: A端:无线跟踪端 主控:采用STM32F103C8T6单片机作为核心控制。360度编码模块数字脉冲输出红外解码编码模块OLED屏幕。 B端:无线待测端 主控:采用STM32F103C8T…