系统时序图

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

相关文章
lyL
|
1天前
|
存储 缓存 监控
EFC&CTO:缓存引发数据不一致问题排查与深度解析
EFC客户端在适配CTO测试时发现数据不一致问题,经排查为分布式缓存中版本号回退导致读取旧数据,进而污染pagecache并写坏文件系统。通过维护递增版本号修复,最终问题解决。
lyL
19 0
EFC&CTO:缓存引发数据不一致问题排查与深度解析
lyL
|
1天前
|
运维 Devops 开发工具
生产环境缺陷管理
git-poison基于go-git实现分布式bug追踪,通过“投毒-解毒-银针”机制,自动化管理多分支开发中的bug修复与发布卡点,降低协同成本,避免漏修漏发,提升发布安全性与效率。
lyL
19 0
|
1天前
|
监控 Java 测试技术
OOM排查之路:一次曲折的线上故障复盘
本文记录了一次Paimon数据湖与RocksDB集成服务中反复出现的内存溢出(OOM)问题排查全过程。通过分析线程激增、堆外内存泄漏,最终定位到RocksDB JNI调用导致的内存未释放问题,并结合MAT、NMT、async-profiler等工具深入剖析,总结出系统化的排查思路与解决方案,为类似技术栈提供宝贵经验。
 OOM排查之路:一次曲折的线上故障复盘
|
1天前
|
存储 API 数据库
向量数据库的相关概念
向量数据库将文本、图像等非结构化数据通过嵌入模型转化为高维向量,支持高效存储与近似最近邻检索。具备多模态处理、混合查询、分布式扩展、实时更新等特性,广泛应用于推荐系统、语义搜索等场景,助力AI应用实现快速精准的相似性匹配。
|
1天前
|
前端开发 Java Linux
生产环境发布管理
在一个大型团队中,生产发布是一件复杂的事情,从dev(前后端联调)-->test(测试集成&压力测试)-->pre(灰度测试)-->prod(生产环境)的多环境推进,以及生产环境的热更新、回滚等问题一直在困扰着各个公司,今天我将基于公司的自动化部署平台为大家讲解下我们是如何做到多环境部署。
|
1天前
|
XML 算法 安全
详解RAG五种分块策略,技术原理、优劣对比与场景选型之道
RAG通过检索与生成结合,突破大模型在企业应用中的局限,支持知识动态更新、降低幻觉风险。分块策略是其核心,直接影响检索效率与答案准确性。本文系统解析固定大小、语义、递归、结构化及LLM-based五种分块方法,对比优劣,提出选择建议,并探讨RAG在高风险领域的可验证性挑战与前沿优化方向。
lyL
|
1天前
|
存储 安全 Java
Java泛型类型擦除以及类型擦除带来的问题
Java泛型在编译时会进行类型擦除,所有泛型信息被移除,替换为原始类型(如Object或限定类型)。这导致List<String>和List<Integer>在运行时均为List,引发类型安全、多态冲突等问题。编译器通过桥方法、自动强转等机制解决部分问题,但静态成员不能使用类的泛型参数,且基本类型需用包装类。
lyL
29 0
|
1天前
|
消息中间件 人工智能 NoSQL
RocketMQ:A2A协议实现多智能体优化
Apache RocketMQ 推出轻量级通信模型 LiteTopic,专为 AI 多智能体协作设计,支持海量会话、上下文持久化与断点续传。结合 A2A 协议与阿里 AgentScope 框架,实现高可靠、低延迟的智能体通信,助力企业构建稳定高效的多智能体应用。
|
1天前
|
存储 NoSQL 关系型数据库
4-MongoDB索引知识
MongoDB索引通过B树结构提升查询效率,避免全表扫描。支持单字段、复合、地理空间、文本和哈希索引,优化相等匹配、范围查询、排序及全文搜索,显著提升大数据量下的查询性能。
|
1天前
|
SQL 运维 分布式计算
如何做好SQL质量监控
SLS推出用户级SQL质量监控功能,集成于CloudLens for SLS,提供健康分、服务指标、运行明细、SQL Pattern分析及优化建议五大维度,助力用户全面掌握SQL使用情况,提升日志分析效率与治理能力。