系统时序图

简介: 时序图(Sequence Diagram)是UML中描述对象间消息传递时间顺序的交互图,横轴为对象,纵轴为时间。它用于展示对象间的动态协作、强调交互时序,并直观表达并发过程。主要元素包括角色、对象、生命线、控制焦点和消息(同步、异步、返回及自关联消息),广泛应用于系统设计与分析。

1.什么是时序图?
时序图(Sequence Diagram),亦称为序列图、循序图或顺序图,是一种UML交互图。它通过描述对象之间发送消息的时间顺序显示多个对象之间的动态协作。时序图是一个二维图,横轴表示对象,纵轴表示时间,消息在各对象之间横向传递,依照时间顺序纵向排列。
2.时序图的作用是什么?
1、展示对象之间交互的顺序。将交互行为建模为消息传递,通过描述消息是如何在对象间发送和接收的来动态展示对象之间的交互;
2、相对于其他UML图,时序图更强调交互的时间顺序;
3、可以直观的描述并发进程。
3.组成元素有哪些?

  1. 角色(Actor)
    系统角色,可以是人、机器、其他系统、子系统;在时序图中用表示。
  2. 对象(Object)
    (1)对象的三种命名方式
    第一种方式包括对象名和类名,例如:直播课时:课时,在时序图中,用“对象:类”表示;
    第二种方式只显示类名,即表示它是一个匿名对象,例如: :课程;在时序图中,用“:类”表示;
    第三种方式只显示对象名不显示类名,例如:讲师;在时序图中,用“对象”表示。
    (2)命名方式的选择
    三种命名方式均可,哪种最容易让阅读该时序图的人理解,就选择哪种。
    (3)对象的排列顺序
    对象的左右顺序并不重要,但是为了作图清晰整洁,通常应遵循以下两个原则:
    ①. 把交互频繁的对象尽可能的靠拢;
    ②. 把初始化整个交互活动的对象放置在最左端。
  3. 生命线(Lifeline)
    在时序图中表示为从对象图标向下延伸的一条虚线,表示对象存在的时间。
  4. 控制焦点(Focus of Control)
    又称为激活期,表示时间段的符号,在这个时间段内对象将执行相应的操作。它可以被理解成C语言语义中一对花括号{ }中的内容;用小矩形表示。
  5. 消息(Message)
    消息一般分为同步消息(Synchronous Message),异步消息(Asynchronous Message)和返回消息(Return Message)。
    消息的发送者把控制传递给消息的接收者,然后停止活动,等待消息的接收者放弃或者返回控制。用来表示同步的意义;
    消息发送者通过消息把信号传递给消息的接收者,然后继续自己的活动,不等待接受者返回消息或者控制。异步消息的接收者和发送者是并发工作的。
    返回消息表示从过程调用返回。
  6. 自关联消息
    表示方法的自身调用或者一个对象内的一个方法调用另外一个方法
    4.时序图示例
相关文章
Grafana实现图表双Y坐标轴展示
Grafana实现图表双Y坐标轴展示
|
2月前
|
SQL 容灾 数据库
分布式事务Seata
本章学习分布式事务问题及解决方案,涵盖CAP、BASE理论,并深入讲解Seata框架的XA、AT、TCC、SAGA四种模式原理与实现,掌握跨服务事务一致性处理及高可用部署。
 分布式事务Seata
|
2月前
|
XML Java 数据库
SpringCloud工程部署启动
本文介绍SpringCloud微服务工程的搭建与部署,涵盖项目创建、模块配置、数据库导入及服务远程调用实现。通过RestTemplate完成服务间HTTP通信,解决跨服务数据获取问题,并引导读者理解微服务拆分与调用关系,为后续深入学习奠定基础。(239字)
 SpringCloud工程部署启动
|
2月前
|
SQL 容灾 Nacos
Seata的部署和集成
本文介绍Seata TC服务器的部署与微服务集成,包括下载、解压、配置修改、数据库表创建及启动步骤,并实现基于Nacos的高可用与异地容灾集群,提升分布式事务可靠性。
|
2月前
|
JSON Java Shell
Jmeter快速入门
本文介绍JMeter的安装与快速入门使用方法,包括环境依赖、下载解压、启动运行、中文界面设置及基本测试计划创建,涵盖线程组配置、HTTP请求添加、监听器使用等性能测试核心操作步骤。
 Jmeter快速入门
|
2月前
|
自然语言处理 Java Shell
安装ES、Kibana、IK
本文介绍了如何通过Docker部署单点Elasticsearch与Kibana,并配置IK分词器。内容涵盖网络创建、镜像加载、容器运行、DevTools使用,以及IK分词器的安装与扩展词典、停用词配置,助力中文文本分析。
 安装ES、Kibana、IK
|
9月前
|
人工智能 JavaScript API
开发者必备:阿里云百炼 API 调用图文教程
百炼是阿里云推出的大模型服务平台,集成了很多优质的 AI 模型,包括通义千问、DeepSeek 等。
开发者必备:阿里云百炼 API 调用图文教程
|
关系型数据库 MySQL Java
Mysql开启ssl加密协议及Java客户端配置操作指南
本文主要讲述的是Mysql开启了ssl协议之后,Java客户端如何正确的链接Mysql访问数据
Mysql开启ssl加密协议及Java客户端配置操作指南
|
Java 索引 安全
[Mvel]Mvel2.0使用指南一 基础
版权声明:本文为博主原创文章,未经博主允许不得转载。 https://blog.csdn.net/SunnyYoona/article/details/75244442 MVEL在很大程度上受到Java语法的启发,作为一个表达式语言,也有一些根本的区别,旨在更高的效率,例如:直接支持集合、数组和字符串匹配等操作以及正则表达式。
16676 0