顺序图/时序图

article/2025/9/1 14:04:57

1.定义

        顺序图也称时序图,定义是: 顺序图是显示对象之间交互的图,这些对象是按时间顺序排列的。特别地,顺序图中显示的是参与交互的对象及对象之间消息交互的顺序
        目的:序列图的主要用途之一,是把用例表达的需求,转化为进一步、更加正式层次的精细表达。用例常常被细化为一个或者更多的序列图。序列图除了在设计新系统方面的用途外,它们还能用来记录一个存在系统(称它为“遗产”)的对象现在如何交互。当把这个系统移交给另一个人或组织时,这个文档很有用。
        顺序图是一个二维图形。在顺序图中水平方向为对象维,沿水平方向排列的是参与交互的对象。其中对象间的排列顺序并不重要,但一般把表示参与者的对象放在图的两侧,主要参与者放在最左边,次要参与者放在最右边(或表示人的参与者放在最左边,表示系统的参与者放在最右边)。顺序图中的垂直方向为时间维,沿垂直向下方向按时间递增顺序列出各对象所发出和接收的消息。

2.基本模块

         1. 顺序图中包括的建模元素有:对象(参与者实例也是对象)、生命线(lifeline)、控制焦点(focus of control ,FOC)、消息等。
顺序图中对象的命名方式主要有3种,如图:
## 标题
2. 生命线在顺序图中表示为从对象图标向下延伸的一条虚线,表示对象存在的时间,如上图。
3. 控制焦点是顺序图中表示时间段的符号,在这个时间段内,对象将执行对应的操作。控制焦点表示为生命线上的小矩形,如下图:
在这里插入图片描述
控制焦点可以嵌套,嵌套的控制焦点可以更精确地说明消息的开始和结束位置,如下图:
在这里插入图片描述
与焦点控制相关的概念是激活期(activition)。激活期表示对象执行一个动作的期间,即对象激活的时间段。根据定义可知,控制焦点和激活期事实上表示同一个意思。

3.顺序图中的消息

顺序图中的重要概念是消息。分为三种调用消息、异步消息和返回消息这三种消息。
3.1 调用消息
         调用消息(procedure call)发送者把控制传递给消息的接收者,然后停止活动,等待消息接收者放弃或返回控制。 调用消息可以用来表示同步的意义。
         调用消息的表示符号如下图,其中oper()是一个调用消息。
调用消息
        一般地,调用消息的接收者必须是一个被动对象(passive object),即它是一个需要通过消息驱动才能执行动作的对象。另外调用消息必有一个配对的返回消息,为了图的简洁和清晰,与调用消息配对的返回消息可以不用画出。
3.2 异步消息
        异步消息(asynchronous)的发送者通过消息把信号传递给消息的接收者,然后继续自己的活动,不等待接收者返回消息或控制。异步消息的接收者和发送者时并发工作的。
在这里插入图片描述
3.3 返回消息
        返回消息(return)表示从过程调用返回。如果是从过程调用返回,则返回消息是隐含的,所以返回消息可以不用画出来。对于非过程调用,如果有返回消息,必须明确表示出来。如下图所示时返回消息的表示符号,其中的虚线箭头表示对应于oper()这个消息的返回消息。
在这里插入图片描述

4.建立顺序图的步骤

        在分析和设计过程中,建立顺序图并没有一个标准的步骤,下面给出的步骤只是指导性原则:

  1. 确定交互过程的上下文(context).
  2. 识别参与交互过程的对象。
  3. 为每个对象设置生命线,即确定哪些对象存在于整个交互过程中,哪些对象在交互过程中被创建和撤销。
  4. 从引发这个交互过程的初始消息开始,在生命线之间自顶向下依次画出随后的各个消息。
  5. 如果需要表示消息的嵌套,或 / 和表示消息发生时的时间点,则采用控制焦点。
  6. 如果需要说明时间约束,则在消息旁边加上约束说明。
  7. 如果需要,可以为每个消息附上前置条件和后置条件。

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

相关文章

时序图工具哪家强?

设计时序是基本功,怎样才能高效的设计时序图呢?下面是我搜集到的工具以及我目前在用的工具,希望大家能找到最适合自己的工具。 Visio 使用步骤 Visio时序图工具,其中有一些做好的模具,在画时序图时直接拖拉进去&…

UML时序图(序列图)

什么是时序图 时序图(Sequence Diagram),又名序列图、循序图,是一种UML交互图。它通过描述对象之间发送消息的时间顺序显示多个对象之间的动态协作。 让我们来看一看visio2016对时序图的的解释。 时序图的元素 我们在画时序图时会涉及7种元素&#…

架构设计必备:时序图说明及画法

用途 时序图(Sequence Diagram),又名序列图、循序图,是一种UML交互图。它通过描述对象之间发送消息的时间顺序显示多个对象之间的动态协作。它可以表示用例的行为顺序,当执行一个用例行为时,其中的每条消息…

使用EA工具画(时序图)

选择放置序列图的位置 放置序列图的位置跟一般的图形不大一样,并不是放置在特定的"包(package)"中。通常,序列图的表达对象如何合作,进而来完成某一个用例的任务的,因此,序列图似乎要放在用例当中才合理。 …

时序图和流程图的区别

时序图是交互图的一种。 时序图和交互图都描述了软件的动态特征,是软件处理业务逻辑能力的体现。 流程图面向业务逻辑,不涉及软件内部的组件和结构,不涉及业务逻辑处理的参与者,只考虑业务处理的步骤及流程。 时序图&#xff0…

【资料】如何看懂时序图?

我们都知道在学校是通过铃声来控制所有班级的上下课时间,那个单片机是通过什么样的办法进行取指令,执行指令和其它操作的呢?在这里引入了一个时序的概念: 一、时钟电路 单片机时钟电路有三种方式: 1、单片机内部有一个…

[UML工具]分享一个WEB在线画时序图的工具

(1)在线时序图工具websequencediagrams,效果图如下,支持多种样式,如手绘效果等。 地址:http://www.websequencediagrams.com/ (2) StarUml 添加时序等图(开源免费&#…

《软件工具》分享2款好用的时序图工具

在分享工具之前,需要说明下什么是时序图,时序图是指MCU等执行指令时发出的控制信号的时间序列。这些控制信号在时间上的相互关系就是时序图,也就是时序图是一系列具有时间顺序的脉冲信号图。 值得注意的是,网上很多资料都将UML序…

什么是时序图

什么是时序图 时序图(Sequence Diagram),又名序列图、循序图,是一种UML交互图。它通过描述对象之间发送消息的时间顺序显示多个对象之间的动态协作。 让我们来看一看visio2016对时序图的的解释。 时序图的元素 我们在画时序图时会涉及7种元素&#xff1a…

软件推荐:画时序图的小工具Timegen

很多芯片手册里面都有介绍操作的时序,画个时序图之类的虽然东西不是很多,但是如果没有合适的软件还真是挺麻烦,今天推荐一个只有几兆大小的小软件TimeGen,操作也很简单,我用的是3.1的版本,需要的童鞋自己百…

【超好用】时序图画图工具TimeGen 3.2安装和使用教程

环 境:windows 10 64位 文章目录 一、安装(1)安装timegen-pro-3.2文件(2)替换TimeGen3.exe文件二、使用教程(1)tg_draw操作(2)tg_setup操作(3)tg_…

常用的画流程图/时序图工具简介

流程图部分。 一、Graphviz 先下载并安装Graphviz。 然后在sublime下安装插件。 这样,就支持Graphviz的dot语言语法了。 在subime下,添加一个dot语言的编译系统dotCompile.sublime-build { "cmd": ["D:\\Graphviz2.38\\bin\\d…

时序图在线工具

在线工具:在线时序图 PS 开源的各类流程图 https://app.diagrams.net/

分享一款绘制时序图的实用小工具

转自 | 果果小师弟 今天分享一款实用小工具:WaveDrom,它是一个免费开源的在线数字时序图渲染引擎。它可以使用JavaScript, HTML5和SVG来将时序图的WaveJSON描述转成SVG矢量图形,从而进行显示。WaveDrom可以嵌入到任何网页中。WaveDrom编辑器可…

快速学习时序图:时序图简介、画法及实例

一、 什么是时序图? 时序图(Sequence Diagram),亦称为序列图、循序图或顺序图,是一种UML交互图。它通过描述对象之间发送消息的时间顺序显示多个对象之间的动态协作。 时序图是一个二维图,横轴表示对象&a…

PlantUML:一款让你爽到起飞的高效代码绘制时序图工具

背景 对于工作中遇到一些复杂的业务逻辑场景,需要借助图形工具去准确的表达,会更高效的理解和梳理复杂的逻辑,同时在跟领导和同事汇报时也更能清晰、准确、快速的表达想法以及方案。比如梳理源码常用的时序图以及流程图等,之前在…

java时序图工具_开发必备的小工具,你用过几个?

今天就简单介绍一下平时用到的一些小工具.首先我平时是用IDEA开发的,所以下面的介绍都是和IDEA相关的.本文主要介绍我平时在哪些场景使用,使用了哪些功能,至于IDEA怎么安装插件和插件有哪些额外的功能,这些你把插件名字对着搜索引擎一搜就很多了. 1.SequenceDiagram 这个工具是…

信号波形时序图常用工具推荐

Refer: 下载:画时序图的四大神器_可编程器件-面包板社区 (eet-china.com) 软件工程师,习惯使用StarUML画Timing Diagram, 硬件工程师建议使用一下软件。 1、AndyTiming 免费的,这个有一个知乎的博文可以参考 https://zhuanlan.zhihu.com/p…

Java 静态代码块详解

文章目录 一、普通初始化块:二、静态代码块:三、多种代码块间的执行顺序 首先得知道什么是初始化块:就是类中得一段用大括号 {} 括起来得独立的代码空间。 而初始化块分成了 普通初始化块和 静态的初始化块(也称为 静态代码块&…

java 代码块:静态代码块和非静态代码块

main方法是程序的入口,加入没有main方法程序无法启动,但是main方法不是第一个执行的。 我认为:在这个类加载时,编译器会找到main方法,从这里开始运行,但是当你把这个类加载的时候,静态代码块就…