系统时序图

简介: 时序图(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.时序图示例

相关文章
uni-app uni-file-picker 上传组件实战应用
uni-app uni-file-picker 上传组件实战应用
|
资源调度 负载均衡 Kubernetes
【Flink on Yarn的三种部署方式详细介绍,及应用场景】
Flink on Yarn的三种部署方式,Session模式,Per-Job模式,application模式,他们为何会诞生,我们要用哪种模式来部署
1929 1
【Flink on Yarn的三种部署方式详细介绍,及应用场景】
|
2月前
|
存储 安全 小程序
认识OAuth2.0
OAuth2.0是一种开放授权标准,允许第三方应用在用户授权下安全访问资源,无需获取用户账号密码。其核心是通过令牌(token)实现权限控制,广泛用于第三方登录、服务间资源调用等场景,支持授权码、简化、密码和客户端四种模式,兼顾安全性与灵活性。
|
2月前
|
安全 Java Spring
2.过滤器链加载原理
本文深入解析Spring Security过滤器加载机制,通过源码分析DelegatingFilterProxy、FilterChainProxy与SecurityFilterChain的协作流程,揭示十五个过滤器如何自动装配并形成安全链,帮助理解框架底层原理,为自定义认证页面奠定基础。
 2.过滤器链加载原理
|
2月前
|
安全 数据库 数据安全/隐私保护
RememberMe简介及用法
RememberMe功能并非简单记住用户名密码,而是通过服务端生成令牌(Token)存于Cookie中,实现关闭浏览器后仍保持登录状态。但直接使用明文令牌有安全风险,可通过将Token持久化到数据库并增加二次校验机制,提升系统安全性与稳定性。
|
2月前
|
前端开发 程序员 开发者
常见注解及使用说明
本文介绍SpringMVC中@RequestMapping注解的作用与原理,讲解如何通过注解将HTTP请求映射到控制器方法,实现前后端接口对接,并简述@GetMapping等派生注解的封装关系,帮助开发者快速掌握接口路径定义机制。
常见注解及使用说明
|
2月前
|
API 数据库 uml
如何写好一篇技术方案
本项目旨在升级知识库基础能力,优化目录与文档管理体验,提升拖拽交互流畅度。通过PRD、设计稿、流程图及API等模块,明确需求背景,梳理系统架构与调用逻辑,并制定研发排期,助力团队高效协作。
如何写好一篇技术方案
|
2月前
|
SQL 运维 分布式计算
如何做好SQL质量监控
SLS推出SQL质量监控功能,集成于CloudLens for SLS,提供健康分、服务指标、运行明细、SQL Pattern分析及优化建议五大维度,助力用户全面掌握SQL使用情况,提升查询效率与资源治理能力。
 如何做好SQL质量监控
|
2月前
|
Java Shell 测试技术
Jmeter快速入门
本文介绍JMeter的安装与快速入门,包括下载、解压、运行步骤,配置中文界面及基本使用方法,如创建线程组、添加HTTP取样器和监听器,帮助用户快速上手性能测试工具。
 Jmeter快速入门
|
2月前
|
存储 安全 Java
认证源码分析与自定义后端认证逻辑
本文深入分析Spring Security认证流程,从UsernamePasswordAuthenticationFilter到AuthenticationManager、ProviderManager,层层剖析认证机制。重点讲解自定义UserDetailsService实现、权限封装及SecurityContext存储原理,并结合代码演示如何对接数据库完成认证。最后总结完整实现步骤与核心要点。
认证源码分析与自定义后端认证逻辑