StarUML——时序图总结

article/2025/10/7 2:09:37

序列图主要用于展示对象之间交互的顺序。

序列图将交互关系表示为一个二维图。纵向是时间轴,时间沿竖线向下延伸。横向轴代表了在协作中各独立对象的类元角色。类元角色用生命线表示。当对象存在时,角色用一条虚线表示,当对象的过程处于激活状态时,生命线是一个双道线。

消息用从一个对象的生命线到另一个对象生命线的箭头表示。箭头以时间顺序在图中从上到下排列。

 

序列图中涉及的元素:

1.   生命线:

生命线名称可带下划线。当使用下划线时,意味着序列图中的生命线代表一个类的特定实体。

 

2.       同步消息

发送人在它继续之前,将等待同步消息响应

 

3.       异步消息

在发送方继续之前,无需等待响应的消息

 

4.       注释

 

5.       约束

约束的符号很简单;格式是: [Boolean Test]

 

6.       组合片段

组合片段 用来解决交互执行的条件及方式。 它允许在序列图中直接表示逻辑组件,用于通过指定条件或子进程的应用区域,为任何生命线的任何部分定义特殊条件和子进程。

常用的组合片段有:

a.       抉择(Alt)

抉择用来指明在两个或更多的消息序列之间的互斥的选择,相当于经典的if..else..。

抉择在任何场合下只发生一个序列。 可以在每个片段中设置一个临界来指示该片段可以运行的条件。 else 的临界指示其他任何临界都不为 True 时应运行的片段。 如果所有临界都为 False 并且没有 else,则不执行任何片段。

 

 

b.       选项(Opt)

包含一个可能发生或不发生的序列

 

c.       循环(Loop)

片段重复一定次数。 可以在临界中指示片段重复的条件。

 

d.       并行(Par)

 

 

下表列出了常用的组合片段:

片段类型

名称

说明

Opt

选项

包含一个可能发生或可能不发生的序列。 可以在临界中指定序列发生的条件。

Alt

抉择

包含一个片段列表,这些片段包含备选消息序列。 在任何场合下只发生一个序列。

可以在每个片段中设置一个临界来指示该片段可以运行的条件。 else 的临界指示其他任何临界都不为 True 时应运行的片段。 如果所有临界都为 False 并且没有 else,则不执行任何片段。

Loop

循环

片段重复一定次数。 可以在临界中指示片段重复的条件。

Loop 组合片段具有“Min”“Max”属性,它们指示片段可以重复的最小和最大次数。 默认值是无限制。

Break

中断

如果执行此片段,则放弃序列的其余部分。 可以使用临界来指示发生中断的条件。

Par

并行

并行处理。 片段中的事件可以交错。

Critical

关键

用在 Par 或 Seq 片段中。 指示此片段中的消息不得与其他消息交错。

Seq

弱顺序

有两个或更多操作数片段。 涉及同一生命线的消息必须以片段的顺序发生。 如果消息涉及的生命线不同,来自不同片段的消息可能会并行交错。

Strict

强顺序

有两个或更多操作数片段。 这些片段必须按给定顺序发生。

 

有关如何解释序列的片段

默认情况下,序列图表明可能发生的一系列消息。 在运行的系统中,可能会出现您未选择显示在关系图上的其他消息。

以下片段类型可用于更改此释义:

片段类型

名称

说明

Consider

考虑

指定此片段描述的消息列表。 其他消息可发生在运行的系统中,但对此描述来说意义不大。

“Messages”属性中键入该列表。

Ignore

忽略

此片段未描述的消息列表。 这些消息可发生在运行的系统中,但对此描述来说意义不大。

“Messages”属性中键入该列表。

Assert

断言

操作数片段指定唯一有效的序列。 通常用在 Consider 或 Ignore 片段中。

Neg

否定

此片段中显示的序列不得发生。 通常用在 Consider 或 Ignore 片段中。


http://chatgpt.dhexx.cn/article/DijrrOmC.shtml

相关文章

用代码画时序图!YYDS

前言 最近通过代码来画时序图,UML用例图,感觉很不错,所以给大家分享一下。 日常开发,一般在设计阶段,我们都需要画时序图、用例图等等。大家平时画图的时候,是用draw.io还是processOn呢?用它们画…

怎么用c语言写时序图,plc时序图怎么画_plc时序图编程方法

时序图是描述设备工作过程的时间次序图,也是用于直观分析设备工作过程的一种图形。如电子技术中的触发器、定时器、计数器等均用时序图来描述其工作原理。在plc顺序控制设计法编制梯形图程序时往往是先画出时序图,再根据时序图设计流程图,再按流程图编制梯形图程序。 一、pl…

画出属于你的最漂亮的数字时序图—WaveDrom

摘要:WaveDrom是一个免费开源的在线数字时序图渲染引擎。它可以使用JavaScript, HTML5和SVG来将时序图的WaveJSON描述转成SVG矢量图形,从而进行显示。WaveDrom可以嵌入到任何网页中。WaveDrom编辑器可在浏览器中运行,也可以安装在系统上&…

EA画时序图

1.步骤: 1. 新建一个项目; 2. Use Case Model右键-->添加图-->左边选择UML Behavioral,右边选择Sequence; 3. 选择工具栏中的工具,点击工具箱; 4. 拖放控件,常用的是Actor&#xff0c…

StarUML画时序图

1、先启动StarUML 左键点击左边工具栏中的工具,到右边空白处也左键单击即可画出相应图形,并且可以为图形命名

PowerDesigner16 画时序图教程

———————————————— 版权声明:本文为CSDN博主「猪脚踏浪」的原创文章,遵循 CC 4.0 BY-SA 版权协议,转载请附上原文出处链接及本声明。 原文链接:https://blog.csdn.net/zsg88/article/details/78185049 文章转载于上…

时序图笔记

时序图(Sequence Diagram),又名序列图、循序图,是一种UML交互图 我们在画时序图时会涉及下面7种元素: 角色(Actor) 系统角色,可以是人或者其他系统和子系统。以一个小人图标表示。对象(Object) 对象位于时序图的顶部,以一个矩形…

时序图学习

时序图 时序图是很值的学习的,在梳理逻辑或者向领导汇报的时候很有用。我觉得以下两个时序图具有学习意义,一个是简洁版的,一个是复杂版的。各位可以参照这两个图来画自己公司的时序图。 微信登录时序图 微信支付时序图 参考: h…

【图形设计】手把手教你如何画好时序图

编辑导语:时序图可以有效地描述交互顺序,并帮助研发团队更清晰地理顺系统逻辑,做好流程分析,若利用得当,则可以一定程度上降低沟通成本,更快速地推进业务进行。本篇文章里,作者就时序图的构成与…

架构师必备:时序图说明及画法

用途 时序图(Sequence Diagram),又名序列图、循序图,是一种UML交互图。它通过描述对象之间发送消息的时间顺序显示多个对象之间的动态协作。它可以表示用例的行为顺序,当执行一个用例行为时,其中的…

记录一次帮公司搭建一次linux正式环境

安装JDK centos7 用yum安装java81.查看yum源中是否有相关套件yum -y list java*2.上图中可以看到有两个自己想用的套件,经过试验发现用yum install java-1.8.0-openjdk 时最后 /usr/lib/jvm/java-1.8.0-openjdk-1.8.0.181-3.b13.el7_5.x86_6目录下只用一个jre文件&a…

Linux7启动MySQL失败_解决Linux-Centos7启动Mysql服务失败丢失mysql.sock问题

在新安装mysql后进行启动发现报错 mysql启动服务命令 Starting mysqld (via systemctl):? Job for mysqld.service failed because the control process exited with error code. See "systemctl status mysqld3306.service" and "journalctl -xe" for de…

Centos离线安装Mysql

一、tar.gz文件安装Mysql 5.7 官方参考文档:https://dev.mysql.com/doc/refman/5.7/en/binary-installation.html 1.下载tar.gz文件 官网:https://dev.mysql.com/downloads/mysql/5.7.html#downloads 根据需要选择64位or32位文件,下载完…

公司网站搭建的架构

目录 简介拓扑图需求首先先搭建好MHA集群跟新主机时间修改主机名配置所有主机之间SSH无密码验证将私钥发送到所有主机(包括本机)将下载好的软件包上传到主机配置本地yum源解压软件包在manager主机和各个node节点安装软件依赖包安装MHA manager依赖的perl…

Docker 部署 web 项目

本篇文章主要介绍将一个完整的 Web 项目(包括数据库、后端、前端)部署到 Docker 中的详细步骤 项目是前后端分离的,后端使用 SpringBoot JKD17 MySQL 8;前端使用 Vue webpack。服务器是跑在 WSL2 上的 Ubuntu 20.04.5 &#x1…

阿里巴巴 JAVA 开发手册

阿里巴巴 JAVA 开发手册 1.0.0 阿里巴巴集团技术部 2016.12.7 首次向 Java 业界公开 一、 编程规约(一) 命名规约1. 【强制】所有编程相关命名均不能以下划线或美元符号开始,也不能以下划线或美元符号结束。反例: _name / __name / $Object / name_ / …

2016阿里巴巴73款开源产品全向图

阿里巴巴集团已经开源 115 个项目,加入 FSF 基金会、Apache 基金会、Linux 基金会和 Xen 的顾问团队,并在云栖大会北京峰会宣布 AliSQL 开源。 为了让大家能更好,更全面的了解和应用上阿里开源项目, 云栖社区特别制作了一张“201…

mysql8.0 启动不了mysql_8.0.11版本Mysql遇到MySQL 服务无法启动的解决方法

转:https://blog.csdn.net/iyayaqiqi/article/details/80536110 系统环境:win10(1803),64位 MySQL版本:8.0.11免安装版 MySQL下载地址:https://dev.mysql.com/downloads/mysql,在下载页面往下拉,选择自己的…

CentOS下postgres怎么恢复数据库.bak文件_数据架构选型必读:4月数据库产品技术解析...

本期要点 DB-Engines数据库排行榜 一、RDBMS MySQL发布8.0.20版本,5.6版本于2021年2月停止更新DB2发布11.5.2版本,且看容器化是否可为DB2注入新活力PostgreSQL所有版本的小版本更新到最新版,停止维护9.4OceanBase发布2.2.5版本 二、NoSQL Red…

小麦苗的常用代码--常用命令(仅限自己使用)

小麦苗的常用代码--常用命令(仅限自己使用) 囗 ■ ☑ ● •◆ ※ ☆ ★ ⊙ √ → innobackupex --help -? -h helpy systeminfo | find "系统类型" ----- editplus 替换空行: ^[ \t]*\n EDIT -> DELETE->DELETE BLANK LINES ----- ed…