系统时序图

简介: 时序图(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.时序图示例
相关文章
|
消息中间件 Java API
面试官:如何实现链式调用?
面试官:如何实现链式调用?
884 0
|
XML SQL Java
Mybatis之转义符的使用姿势
在 mybatis 的 xml 文件中直接写 sql 比较方便简洁,但是需要注意的是,在 xml 文件中,经常会遇到一些需要转义的场景,比如查询 id < xxx的数据,这个小于号就不能直接写在 sql 中,接下来我们将看一下,mybatis 中的有哪些转义符,可以怎么处理转义问题
1343 0
Mybatis之转义符的使用姿势
|
3月前
|
缓存 Ubuntu Linux
Docker安装
本教程介绍Docker在CentOS和Ubuntu系统中的安装与配置,包括卸载旧版本、配置yum源或软件源、安装引擎、启动服务、离线安装及系统服务配置。还涵盖daemon.json参数设置、日志管理、镜像加速、命令补全等功能,助你快速部署并优化Docker环境。(238字)
|
3月前
|
Java Maven 数据安全/隐私保护
Nexus仓库
本文介绍Nexus Repository Manager OSS在Linux环境下的安装与配置,包括JDK8环境搭建、Nexus解压启动、管理员登录、密码重置、仓库创建及Docker部署方式。涵盖Maven、Npm、Docker私仓配置,支持匿名访问、数据持久化、资源上传下载等核心功能,适用于企业级制品库管理。
|
11月前
|
NoSQL 安全 Java
深入理解 RedisConnectionFactory:Spring Data Redis 的核心组件
在 Spring Data Redis 中,`RedisConnectionFactory` 是核心组件,负责创建和管理与 Redis 的连接。它支持单机、集群及哨兵等多种模式,为上层组件(如 `RedisTemplate`)提供连接抽象。Spring 提供了 Lettuce 和 Jedis 两种主要实现,其中 Lettuce 因其线程安全和高性能特性被广泛推荐。通过手动配置或 Spring Boot 自动化配置,开发者可轻松集成 Redis,提升应用性能与扩展性。本文深入解析其作用、实现方式及常见问题解决方法,助你高效使用 Redis。
1109 4
|
负载均衡 应用服务中间件 nginx
org.apache.catalina.connector.ClientAbortException: java.io.IOException: 断开的管道
org.apache.catalina.connector.ClientAbortException: java.io.IOException: 断开的管道
1896 0
|
安全 Linux 开发者
Linux笔记之ldd命令详解
`ldd`命令是Linux环境下一个非常实用的工具,用于显示一个程序运行时所需的共享库依赖。它帮助开发者和系统管理员快速诊断程序运行问题,特别是在处理"找不到库文件"或者"错误的库文件版本"等错误时。然而,出于安全的考虑,对于不信任的可执行文件,应该慎用 `ldd`命令,可以考虑使用其他工具如 `objdump`。总的来说,懂得如何妥善且安全地使用 `ldd`,对于维护一个稳定和高效的Linux系统来说,是非常重要的。
1043 9
|
缓存 Java Spring
【异常】com.alicp.jetcache.support.CacheEncodeException: Java Encode error.
【异常】com.alicp.jetcache.support.CacheEncodeException: Java Encode error.
384 0
|
前端开发
使用Postman导出excel
在本文档中,作者分享了如何使用Postman测试导出Excel接口的两种方法。配以四张图片说明了设置步骤,包括选择接口请求方式、设置Header(Content-Type: multipart/form-data)、Body中选取form-data类型以及指定文件。尽管代码指定了文件名,但在Postman的响应中不会显示,提示需要前端进一步处理。
2018 0
|
存储 缓存 NoSQL
SpringBoot配置第三方专业缓存技术jetcache远程缓存方案和本地缓存方案
SpringBoot配置第三方专业缓存技术jetcache远程缓存方案和本地缓存方案
1468 0

热门文章

最新文章