系统时序图

本文涉及的产品
RDS AI 助手,专业版
RDS MySQL DuckDB 分析主实例,集群系列 4核8GB
RDS MySQL DuckDB 分析主实例,基础系列 4核8GB
简介: 时序图(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 iOS开发
Elasticsearch 字段别名 field-alias
Elasticsearch 字段别名 field-alias
350 0
|
SQL 存储 分布式计算
统一sql引擎Quicksql
统一sql引擎Quicksql
|
4月前
|
SQL 人工智能 数据挖掘
Apache Doris AI 能力揭秘(三):AI_AGG 与 EMBED 函数深度解析
Apache Doris 推出 AI_AGG 与 EMBED 两大核心函数,实现文本智能聚合与语义向量化分析。AI_AGG 支持海量文本动态预聚合,EMBED 结合向量函数实现相似度检索、问答匹配等场景,原生集成 AI 能力至 SQL,让数据分析更智能高效。
296 7
Apache Doris AI 能力揭秘(三):AI_AGG 与 EMBED 函数深度解析
|
SQL 存储 数据采集
【技术分享】元数据与数据血缘实现思路
【技术分享】元数据与数据血缘实现思路
7372 0
|
Linux
CentOS7下使用growpart工具进行磁盘热扩容
CentOS7下使用growpart工具进行磁盘热扩容
1217 0
CentOS7下使用growpart工具进行磁盘热扩容
|
10月前
|
安全 Java API
JEB Pro v5.29 发布 - 逆向工程平台
JEB Pro v5.29 (macOS, Linux, Windows) - 逆向工程平台
324 1
JEB Pro v5.29 发布 - 逆向工程平台
|
运维 C# UED
C# 一分钟浅谈:异常处理的最佳实践
【9月更文挑战第5天】在软件开发中,异常处理对保证程序稳定性和用户体验至关重要。本文从基础概念入手,详细讲解C#中的异常处理策略,并通过代码示例说明如何有效实现异常管理。文章涵盖`try`、`catch`和`finally`块的使用,探讨常见问题如忽略异常和过度捕获,并提出最佳实践建议,如使用具体异常类型、记录异常信息及优雅地处理异常,助力开发者构建更健壮的应用程序。
808 1
|
Web App开发 机器学习/深度学习 人工智能
使用魔搭开发自己的语音AI:从入门到精通
语音AI是最早从实验室走向应用的AI技术,其发展史就是不断创新、解锁应用的历史,从1995年 Dragon Dictate的桌面孤立词语音识别,到2011年苹果的手机语音助手SIRI,再到当下百花齐放的各种智能语音应用。
1449 41
使用魔搭开发自己的语音AI:从入门到精通
#j计算机组成原理# chapter 3 系统总线(下)
#j计算机组成原理# chapter 3 系统总线
601 0
#j计算机组成原理# chapter 3 系统总线(下)
|
Java 应用服务中间件 Maven
SpringBoot启动报错:Failed to introspect Class [XXX] from ClassLoader解决办法
SpringBoot启动报错:Failed to introspect Class [XXX] from ClassLoader解决办法
4005 0
SpringBoot启动报错:Failed to introspect Class [XXX] from ClassLoader解决办法