系统时序图

简介: 时序图(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.时序图示例
相关文章
用word快速将数字字体换成新罗马详细简单方法
用word快速将数字字体换成新罗马详细简单方法
8745 0
用word快速将数字字体换成新罗马详细简单方法
|
4月前
|
测试技术
发布模式
蓝绿部署是一种快速、低风险的应用发布策略,通过维护两套独立系统(运行中的“绿色”与待发布的“蓝色”),实现无缝切换与快速回滚,减少发布中断。测试稳定后流量切至蓝色系统,原绿色系统可下线。适用于内聚性强、切换简单的系统。不同于金丝雀发布(渐进式替换)和A/B测试(效果对比),蓝绿部署聚焦于平稳上线,保障稳定性。
|
4月前
|
小程序 Java
微信通知
基于企业微信与小程序集成,通过appId和secret获取access_token,实现消息发送。需配置企业微信及绑定小程序,使用Java异步调用接口,示例包含用户信息实体类定义,支持userid、name等字段设置,便于消息推送与用户管理。(238字)
|
4月前
|
缓存 NoSQL Redis
Day08 每日必会
深入解析Redis核心机制:涵盖缓存三剑客(穿透、击穿、雪崩)成因与应对;持久化、过期与淘汰策略原理;哨兵选举流程;主从同步机制(全量与增量);以及“单线程”模型的真相,全面掌握Redis高性能背后的理论基础。
|
4月前
|
Linux 数据安全/隐私保护 虚拟化
虚拟机安装(CentOS7)
准备CentOS7镜像及VMware Workstation工具,可使用提供的百度云链接下载。通过VMware创建虚拟机,参考指定教程完成安装,默认用户名为root,密码由用户自设。确保电脑满足运行需求。(236字符)
|
4月前
|
运维 Devops 开发工具
生产环境缺陷管理
为解决大型团队多分支开发中bug漏修、漏发导致的生产事故,我们基于go-git打造了分布式工具git-poison,实现bug全链路追溯与自动化卡点。通过“投毒-解毒-银针”机制,精准识别未修复bug,阻塞高风险发布,降低协同成本,杜绝人为疏漏,已在内部落地并稳定运行一年,显著提升发布安全性与效率。
|
4月前
|
关系型数据库 MySQL Java
开发环境搭建
配置开发环境是高效学习的第一步。建议电脑内存16G以上,推荐32G,搭配便携显示器提升效率。下载并安装虚拟机(CentOS 7,IP:192.168.101.68)、IDEA、Maven、Git等工具,导入课程资料中的项目,配置MySQL、Nacos等服务。通过FinalShell连接虚拟机,使用Docker启动容器,IDEA中配置JDK11与Maven仓库。前端通过nginx运行,访问localhost:18080查看效果。确保各组件正常运行,为后续开发打下坚实基础。(239字)
|
4月前
|
Kubernetes Java 应用服务中间件
开发篇(脚手架下载)
本文介绍基于SpringCloud+Kubernetes的微服务开发实践,聚焦EDAS 3.0在项目初始化与本地启动环节的开发者体验优化。通过阿里云start.aliyun.com脚手架快速生成标准工程,结合Cloud Toolkit插件一键拉起本地注册中心,实现应用零配置接入,大幅提升开发效率。后续将深入讲解联调、部署等场景。
|
4月前
|
存储 监控 Docker
ElasticSearch集群
Elasticsearch集群通过分片与副本机制解决海量数据存储及单点故障问题。将索引拆分为多个shard分布于不同节点,提升存储与性能;通过replica实现数据高可用。利用docker-compose可快速搭建三节点集群,结合cerebro监控集群状态。支持分片路由、分布式查询与故障自动转移,保障系统稳定高效运行。(238字)
|
4月前
|
消息中间件 Linux Shell
RabbitMQ部署指南
本文详细介绍RabbitMQ在CentOS7上基于Docker的单机与集群部署方案。涵盖镜像拉取、容器运行、DelayExchange插件安装;深入讲解普通模式与镜像模式集群搭建,包括cookie配置、网络设置、高可用测试,并引入3.8版本新特性——仲裁队列,实现数据冗余与集群扩容,提升系统可靠性与可扩展性。

热门文章

最新文章