UML-顺序图

提示:用例图从参与者的角度出发,描述了系统的需求(用例图);静态图定义系统中的类和对象间的静态关系(类图、对象图和包图);状态机模型描述系统元素的行为和状态变化流程(状态图和活动图);而交互图描述整体系统各元素间的交互(顺序图、时间图、通信图和交互概览图)。

UML-顺序图

  • 一、顺序图简介
    • 1.对象
      • (1)初始时已存在的对象
      • (2)在执行中新建的对象
    • 2.生命线
    • 3.激活期
    • 4.消息
      • (1)序号
      • (2)参数
    • 5.组合片段
      • (1)选项组合片段
      • (2)备选组合片段
      • (3)循环组合片段
      • (4)引用组合片段


  • 交互图主要描述系统中各个对象之间的交互,包含顺序图、时间图、交互概览图和通信图等。
  • 在交互图中,使用最为广泛的是顺序图和通信图,顺序图主要突出系统对象之间交互的顺序通信图主要突出系统对象之间的协作关系和交互的详细内容

一、顺序图简介

  • 顺序图描述了系统各成员之间的交互,这里的系统成员包括参与者、系统中的各个对象等。
  • 顺序图通过时间轴的方式将这些交互联系起来,同时以时间轴的方式描述各个对象交互的先后次序
  • 顺序图从上往下表示时间的进行,每一步行为可以使用序号表达执行顺序。
  • 顺序图的构成元素有四个:对象生命线消息激活期

1.对象

  • 顺序图中的对象并不是系统类的对象,而是系统中存在交互的元素,可以是类、参与者或组件。
  • 顺序图中的对象分为两种,一种是在程序运行初始就已经存在的。另一种是在程序的运行过程中创建的。

(1)初始时已存在的对象

  • 对象在顺序图中由拖着生命线的矩形表示。对象名放在头部矩形内部。
  • 顺序图中的对象代表参与交互的一类元素,并不特指一个对象。
    在这里插入图片描述

(2)在执行中新建的对象

  • 在顺序图中,由于生命线由上向下延续,初始对象在一开始就存在,因此初始对象放在顺序图中的顶部。但执行中创建的对象是在被创建之后才开始它的生存期,因此执行中创建的对象可以放在顺序图时间轴方向的中间。
    在这里插入图片描述

2.生命线

  • 生命线有两种状态:休眠状态激活状态。处在激活状态下的生命线时段又称为激活期。
  • 休眠状态下的对象没有进行交互,只要有交互存在,对象就处在激活状态。
    • 休眠状态下生命线由一条虚线表示,代表对象在该时间段是没有信息交互的。
    • 激活状态就是激活期,用矩形长条表示,代表对象在该段时间段内有信息交互,交互由信息表示。
  • 每一种对象的生命线默认初始状态为休眠状态,在发生交互时变为激活状态。无论是休眠状态还是激活状态,都标识在对象下方的垂直线上。
    在这里插入图片描述

3.激活期

  • 当一条消息被传递给对象的时候,它会触发该对象的某个行为,这时就说该对象被激活了。在生命线上,激活期使用矩形长条表示。矩形长条本身被称为对象的控制期,控制期说明对象正在执行某个动作。
  • 激活期本身从一条信息的发出或接收开始,到最后一条信息的发出或接收结束;激活期的垂直长度表示信息交互持续的时间(粗略的时间)
  • 在顺序图中,一个激活期只包含一个事件。因此需要将激活期分开来表示。
    在这里插入图片描述

4.消息

  • 对象、生命线和激活描述了对象的交互状态,而消息是对交互的解释说明。每两个对象的交互中都会有消息存在。
  • 消息的高度决定了消息产生的时间顺序,在顺序图中,消息使用带箭头的直线来表示,由一个对象的生命线指向另一个对象的生命线。
  • UML 中的四种类型的消息:
    • 同步消息: 是同步进行、需要返回消息的消息,通常成对出现。
    • 异步消息: 是不需要返回消息的消息,通常单独出现。
    • 简单消息: 是不区分同步、异步的消息,用于概括消息的传递。
    • 返回消息: 是对象间返回的信息消息,用于信息的传递。
  • 注意: 有时消息并不用分清是同步还是异步,或者不确定是同步还是异步,此时使用简单消息代替同步消息和异步消息既能表达意思,又能很好地被接受。
    在这里插入图片描述

(1)序号

  • 序号不是顺序图的构成元素是对消息的一个补充。将顺序图中所有的消息使用连续的序号进行修饰,使读者能够根据消息的序号看出消息发出的顺序。
  • 消息中的序号并不只是根据消息的发生顺序从 1 向后排序,对于同步消息来说,同步消息和异步消息的传递是不可分割的,是同一个过程,因此需要放在同一个步骤中。
  • 需要作为同一个步骤的不只是同步消息和返回消息,有时一个步骤需要多个消息的交互,需要将消息的序号分级表示。
    在这里插入图片描述

(2)参数

  • 对象间传送的消息可以是信息或事件,与类中的方法等效。一些事件是有参数和返回值的,顺序图中的消息同样可以使用参数和返回值。
    在这里插入图片描述

5.组合片段

  • 组合片段是顺序图中的一个片段,以组合的形式描述顺序图中的一个特殊工作流。
  • 组合片段用于解决顺序图中的控制流分支、循环或中断。
    在这里插入图片描述

(1)选项组合片段

  • 用于描述特殊情况下的对象交互。选项组合片段类似于程序中的 if 语句,而没有 else 选项。
    在这里插入图片描述

(2)备选组合片段

  • 用于指出某时刻不同情况下的所有可能的控制流,类似于程序中的 switch 语句。备选组合片段在区域内部使用虚线,分割成不同区域,每个区域代表一种条件下的控制流。
    在这里插入图片描述

(3)循环组合片段

  • 该组合片段区域内的交互需要执行多次。循环组合片段可以定义循环执行的条件,并具有 Min 和 Max 属性,分别定义交互重复的最小和最大循环次数,默认是“无限制”。
    在这里插入图片描述

(4)引用组合片段

  • 引用组合片段用来实现交互序列的可重用性。
  • 引用组合片段首先定义用于重用的交互序列,之后将该交互序列引入到顺序图中的其他位置。
    在这里插入图片描述

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

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

相关文章

计算机体系结构基础复习

1. 计算机系统可划分为哪几个层次,各层次之间的界面是什么? 你认为这样划分层次的意义何在? 答: 计算机系统可划分为四个层次,分别是:应用程序、 操作系统、 硬件系统、 晶体管四个大的层次。 注意把这四个层次联系起来的三个界面。各层次…

css 怎么绘制一个带圆角的渐变色的边框

1&#xff0c;可以写两个样式最外面的div设置一个渐变的背景色。里面的元素使用纯色。但是宽高要比外面元素的小。可以利用里面的元素设置padding这样挡住部分渐变色。漏出来的渐变色就像边框一样。 <div class"cover-wrapper"> <div class"item-cover…

春节回家前,请一定给你的电脑装上KKView远程控制软件

马上春节了&#xff0c;电脑不能带回家&#xff0c;有时候要处理点意外的事情&#xff0c;怎么办&#xff1f;只要走之前&#xff0c;给你电脑装上KKView远程控制软件&#xff0c;就可以随时随地用手机或电脑控制你的工作电脑&#xff0c;远程办公、传文件、看摄像头都没问题。…

人脸识别为何老是不过?是什么原因导致的?

人脸识别可能无法通过的原因有很多&#xff0c;以下是可能的一些原因&#xff1a; 1. 非常规面部表情&#xff1a;如果你做出了与常规面部表情不同的表情&#xff0c;如张大嘴巴或瞪大眼睛等&#xff0c;可能会干扰人脸识别系统的准确性。 2. 光线条件&#xff1a;人脸识别系统…

30 3D导航栏

效果演示 实现了一个导航栏&#xff0c;其中包含了五个图标&#xff0c;每个图标都有一个悬浮的文字标签&#xff0c;当鼠标悬停在图标上时&#xff0c;文字标签会旋转并向上移动&#xff0c;同时底部会出现一个阴影效果。整个导航栏的背景颜色为浅灰色。 Code <ul><…

js(JavaScript)数据结构之堆(Heap)

什么是数据结构&#xff1f; 下面是维基百科的解释&#xff1a; 数据结构是计算机存储、组织数据的方式。数据结构意味着接口或封装&#xff1a;一个数据结构可被视为两个函数之间的接口&#xff0c;或者是由数据类型联合组成的存储内容的访问方法封装。 我们每天的编码中都会…

docker安装部署Elasticsearch(ES)以及相关配置

Elasticsearch简介 mysql用作持久化存储&#xff0c;ES用作检索 基本概念&#xff1a;index库>type表>document文档 index索引&#xff08;相当于MySQL的数据库&#xff09; 动词&#xff1a;相当于mysql的insert 名词&#xff1a;相当于mysql的db Type类型&#xff…

Spring Cloud整体架构解析

Spring Cloud整体架构 本文已收录至我的个人网站&#xff1a;程序员波特&#xff0c;主要记录Java相关技术系列教程&#xff0c;共享电子书、Java学习路线、视频教程、简历模板和面试题等学习资源&#xff0c;让想要学习的你&#xff0c;不再迷茫。 Spring Cloud的中文名我们就…

Flask架构--路由和蓝图

学习视频&#xff1a;第二章&#xff1a;路由和蓝图 1 Flask查询路由的方式_哔哩哔哩_bilibili 参考&#xff1a;Flask框架之路由与蓝图的使用_flask 路由和蓝图-CSDN博客 1.路由的概念&#xff1a; 用于将http请求与特定的python函数相匹配。定义路由后&#xff0c;flask程…

电子学会C/C++编程等级考试2023年09月(六级)真题解析

C/C++编程(1~8级)全部真题・点这里 第1题:生日相同 在一个有180人的大班级中,存在两个人生日相同的概率非常大,现给出每个学生的名字,出生月日。试找出所有生日相同的学生。 时间限制:1000 内存限制:65536 输入 第一行为整数n,表示有n个学生,n ≤ 180。此后每行包含一…

利用XSS漏洞打cookie

目录 1、为什么要打cookie&#xff1f; 2、怎样利用XSS来打cookie&#xff1f; 3、利用Bluelotus_xssReceiver平台来打cookie 4、利用beef-xss平台来打cookie 上一篇给大家介绍了xss漏洞的基础知识&#xff0c;在本篇章将会介绍和演示一下利用xss漏洞打cookie的演示&#x…

【用法总结】LiveData组件要点

1、如何实现和生命周期的关联&#xff1f; 调用observe()方法时&#xff0c;第一个参数传入LifecycleOwner对象&#xff0c;而LifecycleOwner能通过getLifecycle()方法获取到lifecycle对象&#xff0c;然后执行lifecycle.addObserver()添加LiveData中数据&#xff08;mData&am…

1116: 删除元素(数组)

题目描述 输入一个递增有序的整型数组A有n个元素&#xff0c;删除下标为i的元素&#xff0c;使其仍保持连续有序。注意&#xff0c;有效下标从0开始。 定义如下两个函数分别实现删除元素操作和数组输出操作。 void del(int a[], int n, int i); /*删除数组a中下标为i的元素*…

Matlab怎样合并两个矩阵(怎样合并多个矩阵)为一个矩阵

1.合并两个矩阵 a [1 2 3;4 5 6] b [7 8 9;1 2 3] c [a,b] %按行&#xff08;横向&#xff09;合并 c [a;b] %按列&#xff08;纵向&#xff09;合并 2.合并多个矩阵 clc clear temp dir([D:\文件夹\,*.txt]); N length(temp);for i 1:N %先读取文件内所有文件 …

将PDF发票转换为excel、xml结构化数据的完美解决方案

随着电子发票的普及&#xff0c;越来越多的企业和个人开始使用PDF格式的电子发票。然而&#xff0c;有时我们需要将电子发票转换为XML格式以便于处理和分析。本文将介绍如何将收到的PDF发票下载为excel、xml文件。首先&#xff0c;我们需要明确一点&#xff0c;PDF是一种基于图…

(菜鸟自学)搭建虚拟渗透实验室——安装Ubantu 8.10 靶机

安装Ubantu 8.10 靶机 新建虚拟机 选择Ubuntu系统 网络适配器模式选用桥接模式 镜像选用ubuntu8.10版本 点击“开启此虚拟机”以开始安装Ubuntu Linux系统 安装ubuntu 首先需要选择安装时的语言&#xff0c;这里选择“中文&#xff08;简体&#xff09;” 选择“安装…

DAY8--learning english

一、积累 1.haunt Why Ghost dont haunt chinese. 为什么鬼不会出现在中国人旁边? 2.confess i have a confession to make ... I actally a blind. 我要坦白一件事……我其实是个盲人。 3.brake Press S button to brake, or to reverse if the vehicle has stopped, 按住…

QT上位机开发(动画效果)

【 声明&#xff1a;版权所有&#xff0c;欢迎转载&#xff0c;请勿用于商业用途。 联系信箱&#xff1a;feixiaoxing 163.com】 不管是仿真&#xff0c;还是对真实环境的一比一模拟&#xff0c;动画都是非常好的一种呈现方式。目前在qt上面&#xff0c;实现动画主要有两种方法…

STM32存储左右互搏 SPI总线FATS读写FRAM MB85RS2M

STM32存储左右互搏 SPI总线FATS读写FRAM MB85RS2M 在中低容量存储领域&#xff0c;除了FLASH的使用&#xff0c;&#xff0c;还有铁电存储器FRAM的使用&#xff0c;相对于FLASH&#xff0c;FRAM写操作时不需要预擦除&#xff0c;所以执行写操作时可以达到更高的速度&#xff0…

Jenkins-自动化

定时构建 使用Cron表达式指定执行时间。 # 格式 # ┌──分&#xff08;0 - 59&#xff09; # │ ┌──时&#xff08;0 - 23&#xff09; # │ │ ┌──日&#xff08;1 - 31&#xff09; # │ │ │ ┌─月&#xff08;1 - 12&#xff09; # │ │ │ │ ┌─星期&#…