系统时序图

本文涉及的产品
RDS DuckDB + QuickBI 企业套餐,8核32GB + QuickBI 专业版
简介: 时序图(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.时序图示例

相关文章
如何解决vscode中文路径的问题
如何解决vscode中文路径的问题
2088 0
|
JavaScript 前端开发 Python
传智播客预习视频(16倍速无人值守自动下一节)
传智播客预习视频(16倍速无人值守自动下一节)
1489 0
传智播客预习视频(16倍速无人值守自动下一节)
软著 | 新版软著申请教程(软著已拿到)
次申请软著是三年前的2020年了,那个时候还是纸质版本的软著申请,需要现在打印材料,然后寄到北京去,后面发现改版了,改成了电子材料上传即可,所以就有了这期教程啦!希望可以帮助到正在申请软著头疼的朋友们!今天刚刚才看到,我的软著申请下来了,还是电子版本的!
2360 1
软著 | 新版软著申请教程(软著已拿到)
|
5月前
|
关系型数据库 数据安全/隐私保护 PostgreSQL
n8n Docker 部署不踩雷!国内环境适配+生产级权限配置全流程
n8n 是一款开源工作流自动化平台,兼具低代码与可编程能力。支持400+服务集成、AI原生支持(LangChain/OpenAI)、可视化拖拽+代码扩展,可自托管、权限管理完善,适用于技术团队构建安全稳定的自动化体系。
1660 3
|
3月前
|
存储 SQL NoSQL
关系型数据库vs非关系型数据库,一文搞懂数据库的类型
本文深入浅出解析数据库两大核心类型:关系型(如MySQL、Oracle)与非关系型(如Redis、MongoDB)。对比其数据模型、ACID/BASE特性、查询能力、扩展方式及适用场景,厘清“结构化强一致”与“灵活高并发”的本质差异,并给出选型建议与多库协同实践,助开发者精准匹配业务需求。
|
8月前
|
JavaScript 前端开发 API
n8n - 架构学习指南
欢迎来到 n8n 学习之旅!本指南带你深入解析这一强大开源工作流自动化工具的架构设计与技术实现。从项目结构、核心模块到代码质量,结合实战路径与贡献指导,助你由浅入深掌握 n8n,实现从使用者到贡献者的跃迁。
1855 28
|
8月前
|
弹性计算 人工智能 前端开发
在阿里云ECS上部署n8n自动化工作流:U2实例实战
本文介绍如何在阿里云ECS的u2i/u2a实例上部署开源工作流自动化平台n8n,利用Docker快速搭建并配置定时任务,实现如每日抓取MuleRun新AI Agent并推送通知等自动化流程。内容涵盖环境准备、安全组设置、实战案例与优化建议,助力高效构建低维护成本的自动化系统。
2003 5
|
10月前
|
存储 供应链 安全
解锁DAPP去中心化:区块链世界的创新密码
DAPP(去中心化应用程序)基于区块链技术,具备去中心化、安全、透明和用户自治等优势,正在重塑金融、游戏、社交等多个领域。本文深入解析其原理、优势与挑战,并展望其未来发展潜力。
|
监控 Kubernetes Python
Python 应用可观测重磅上线:解决 LLM 应用落地的“最后一公里”问题
为增强对 Python 应用,特别是 Python LLM 应用的可观测性,阿里云推出了 Python 探针,旨在解决 LLM 应用落地难、难落地等问题。助力企业落地 LLM。本文将从阿里云 Python 探针的接入步骤、产品能力、兼容性等方面展开介绍。并提供一个简单的 LLM 应用例子,方便测试。
656 114
|
Rust 开发工具 开发者
Ruff代码分析
Ruff代码分析
652 0