系统时序图

简介: 时序图是UML中用于描述对象间交互顺序的图形化工具,强调消息传递的时间顺序。它通过角色、对象、生命线、控制焦点和消息等元素,直观展示系统动态行为,适用于建模同步、异步及并发过程,帮助理解系统运行流程。

1.什么是时序图?

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.时序图示例



相关文章
|
前端开发
前端跳转链接报错403的原因以及解决方案
前端跳转链接报错403的原因以及解决方案
2829 1
|
5月前
|
人工智能 IDE 安全
5 人 7 天干完 20 人数周的活:Spec-Driven Development 如何重新定义 AI 编程
文章内容基于作者个人技术实践与独立思考,旨在分享经验,仅代表个人观点。
|
8月前
|
人工智能 Java API
Apache Flink Agents 0.2.0 发布公告
Apache Flink Agents 0.2.0发布!该预览版统一流处理与AI智能体,支持Java/Python双API、Exactly-Once一致性、多级记忆(感官/短期/长期)、持久化执行及跨语言资源调用,兼容Flink 1.20–2.2,助力构建高可靠、低延迟的事件驱动AI应用。
1080 9
Apache Flink Agents 0.2.0 发布公告
|
机器学习/深度学习 人工智能 API
用Macbook微调Qwen3!手把手教你用微调给Qwen起一个新名字
本文介绍如何在MacBook上使用苹果MLX框架高效微调Qwen3大模型。借助MLX的高性能计算与统一内存架构,仅需2分钟即可完成训练,内存占用低至2GB,推理速度达400 Token/s,并支持快速部署为本地API服务,展现Mac轻薄本的强大AI生产力潜力。
4181 16
用Macbook微调Qwen3!手把手教你用微调给Qwen起一个新名字
|
9月前
|
搜索推荐 关系型数据库 大数据
PL/pgSQL 入门教程(四):使用游标(cursor)
游标是PostgreSQL中“按需取数”的数据指针,避免大查询内存溢出;支持逐行处理、动态查询、精准更新/删除及函数返回大结果集。分未绑定(灵活)与绑定(固定)两类,核心操作为声明→打开→FETCH/MOVE/UPDATE→关闭,FOR循环可自动简化遍历。
|
Web App开发 JavaScript 前端开发
NodeJS简介
Node.js是一个基于Chrome V8引擎的开源、跨平台JavaScript运行环境,适用于服务器端编程,以事件驱动、非阻塞I/O模型提高性能,广泛应用于Web服务API、实时游戏和后端开发。
1394 7
|
资源调度 算法 数据可视化
t_SNE 非线性降维基础原理
本文记录了个人关于 非线性降维算法 t-SNE(t-Distributed Stochastic Neighbor Embedding)的学习理解,以供参考学习
1146 0
|
机器学习/深度学习 人工智能 算法
基于强化学习的专家优化系统
基于强化学习的专家优化系统
1780 24
|
缓存 运维 Linux
深入探索Linux内核:CPU拓扑结构探测
【10月更文挑战第18天】在现代计算机系统中,CPU的拓扑结构对性能优化和资源管理至关重要。了解CPU的核心、线程、NUMA节点等信息,可以帮助开发者和系统管理员更好地调优应用程序和系统配置。本文将深入探讨如何在Linux内核中探测CPU拓扑结构,介绍相关工具和方法。
644 0
|
Web App开发 JavaScript 前端开发
📚 探索未知领域:Web开发人员必备的14个超级书签! 🌐✨
本文介绍了14个为Web开发人员设计的实用书签(Bookmarklet),每个书签都嵌入了JavaScript代码,能在浏览器上快速执行特定功能。这些书签包括二维码生成器、深色模式切换、密码生成器、翻译工具、广告去除器等。文章还提供了制作书签的详细步骤、最佳实践和注意事项,帮助开发人员提高效率并优化工作流程。分享这些书签不仅可以解决日常开发中的小问题,还为开发者开辟了一个功能强大的工具箱。
1605 1

热门文章

最新文章