系统时序图

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


相关文章
|
2月前
|
JSON Java 数据格式
Object转JSON
该方法将Java对象转换为JSON字符串,使用JSONArray.fromObject实现序列化,并输出转换结果日志,最后返回生成的JSON字符串。适用于对象数据的JSON格式化处理。
|
2月前
|
JSON Java 数据格式
String转JSON
该代码段演示了如何将字符串解析为JSON对象。通过`JSONObject.fromObject()`方法将包含中文的JSON字符串转换为JSONObject实例,并输出其标准格式化内容,适用于Java中处理JSON数据的场景。
|
2月前
|
安全 数据安全/隐私保护
RBAC权限模型
RBAC(基于角色的访问控制)通过角色管理权限,实现用户、角色、权限与资源的分离。其核心原则包括最小权限、职责分离与数据抽象,分为RBAC0至RBAC3四个层级,逐步支持角色继承与动态静态职责分离,提升系统安全与管理效率。
|
4天前
|
存储 缓存 监控
pandas 3.0 内存调试指南:学会区分真假内存泄漏
本文揭秘pandas“内存不释放”的常见误解:非泄漏,实为CoW共享、Arrow缓冲池、视图隐式引用及分配器延迟归还OS内存所致。RSS≠真实占用,排查需结合tracemalloc、objgraph与原生指标,核心是管控引用生命周期。
88 12
pandas 3.0 内存调试指南:学会区分真假内存泄漏
|
3天前
|
人工智能 JSON IDE
SDD 如何在复杂业务系统中真正落地?
OpenSpec 是面向 AI 编程的规范驱动开发(SDD)工具,以 Markdown 文档为“唯一真相源”,通过 CLI 管理需求提案(proposal)、任务清单(tasks)、规格说明(spec)及归档流程,支持 Cursor 等 IDE 集成,兼顾轻量迭代与工程可追溯性。(239字)
SDD 如何在复杂业务系统中真正落地?
|
10天前
|
关系型数据库 Go API
Vikunja:开源自托管的待办事项管理平台,重新定义你的任务管理体验
Vikunja是一款开源、自托管的任务管理平台,支持多视图任务管理、团队协作与跨平台使用。基于Go与Vue开发,支持Docker部署,保障数据隐私,适合个人与团队高效管理项目。
108 7
 Vikunja:开源自托管的待办事项管理平台,重新定义你的任务管理体验
|
2天前
|
人工智能 应用服务中间件 API
2026年 Moltbot/Clawdbot 从0到1一键部署配置教程指南
Moltbot(原 Clawdbot)是一款开源的本地优先 AI 代理与自动化平台,能够将多渠道通信能力与大语言模型深度集成,帮助用户创建具备持久记忆和主动执行能力的定制化 AI 助理。为简化部署流程,阿里云推出了 Moltbot 全套云服务,支持一键快速部署,让 AI 助手实现 24 小时不间断运行,适用于个人开发者和企业团队构建智能化应用。本文将详细拆解部署全流程,帮助用户高效完成配置。
174 10
|
4天前
|
人工智能 前端开发 开发者
这几个开源项目太火啦,抓紧收藏哟起来!!!
KnowNote:本地优先AI知识库桌面应用,无需Docker,私有化部署;Remotion:用React编程生成MP4视频的开源框架;Superpowers:为AI编程助手赋能的Agentic技能框架。三者均开源,各具创新特色!
108 11
|
7天前
|
人工智能 PyTorch 算法框架/工具
在无网络与8G内存约束下,个人计算机部署AI实践
本文探讨在无网络、仅8GB内存、无GPU的老旧PC上本地部署大语言模型的实践路径。通过构建纯净Python环境、选用PyTorch格式小模型(Qwen1.5-0.5B)、规避系统陷阱(如长路径限制、注册表关联错误等),成功实现离线中文对话,形成可复现的避坑指南与技术参考。(239字)
|
3天前
|
人工智能 运维 监控
Moltbot(原 Clawdbot)成本失控的 5 个技术陷阱与实时监控方案
Hacker News上警示频发:Clawdbot(原Moltbot)因五大技术陷阱致成本失控——上下文O(N²)膨胀、Agent无限循环、大页浏览器加载、并发爆炸、模型误用。本文详解每类陷阱原理、真实案例及可落地的缓解方案,并提供实时监控、预算熔断与CLI管理工具,助AI Agent实现低成本、高可控运行。
167 5

热门文章

最新文章