UML序列图分析

2024-01-05 19:08
文章标签 分析 uml 序列图

本文主要是介绍UML序列图分析,希望对大家解决编程问题提供一定的参考价值,需要的开发者们随着小编来一起学习吧!

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

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

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

  序列图中涉及的元素:

  1. 生命线:

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

 

  2. 同步消息

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

   

  3. 异步消息

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

 

  4. 注释


  5. 约束

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

 

  6. 组合片段

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

  常用的组合片段有:

  抉择(Alt)

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

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

 

  选项(Opt)

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

 

  循环(Loop)

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

 

  并行(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 片段中。

 
1. 激活:当一条消息被传递给对象时,他会触发该对象的某个行为,这时就说该对象被激活了;在生命线上,激活用一个细长的矩形框表示,
举行本身被称为对象的控制期,控制期说明对象正在执行某个动作;

这篇关于UML序列图分析的文章就介绍到这儿,希望我们推荐的文章对编程师们有所帮助!



http://www.chinasem.cn/article/573866

相关文章

Redis主从/哨兵机制原理分析

《Redis主从/哨兵机制原理分析》本文介绍了Redis的主从复制和哨兵机制,主从复制实现了数据的热备份和负载均衡,而哨兵机制可以监控Redis集群,实现自动故障转移,哨兵机制通过监控、下线、选举和故... 目录一、主从复制1.1 什么是主从复制1.2 主从复制的作用1.3 主从复制原理1.3.1 全量复制

Redis主从复制的原理分析

《Redis主从复制的原理分析》Redis主从复制通过将数据镜像到多个从节点,实现高可用性和扩展性,主从复制包括初次全量同步和增量同步两个阶段,为优化复制性能,可以采用AOF持久化、调整复制超时时间、... 目录Redis主从复制的原理主从复制概述配置主从复制数据同步过程复制一致性与延迟故障转移机制监控与维

Redis连接失败:客户端IP不在白名单中的问题分析与解决方案

《Redis连接失败:客户端IP不在白名单中的问题分析与解决方案》在现代分布式系统中,Redis作为一种高性能的内存数据库,被广泛应用于缓存、消息队列、会话存储等场景,然而,在实际使用过程中,我们可能... 目录一、问题背景二、错误分析1. 错误信息解读2. 根本原因三、解决方案1. 将客户端IP添加到Re

Redis主从复制实现原理分析

《Redis主从复制实现原理分析》Redis主从复制通过Sync和CommandPropagate阶段实现数据同步,2.8版本后引入Psync指令,根据复制偏移量进行全量或部分同步,优化了数据传输效率... 目录Redis主DodMIK从复制实现原理实现原理Psync: 2.8版本后总结Redis主从复制实

锐捷和腾达哪个好? 两个品牌路由器对比分析

《锐捷和腾达哪个好?两个品牌路由器对比分析》在选择路由器时,Tenda和锐捷都是备受关注的品牌,各自有独特的产品特点和市场定位,选择哪个品牌的路由器更合适,实际上取决于你的具体需求和使用场景,我们从... 在选购路由器时,锐捷和腾达都是市场上备受关注的品牌,但它们的定位和特点却有所不同。锐捷更偏向企业级和专

Spring中Bean有关NullPointerException异常的原因分析

《Spring中Bean有关NullPointerException异常的原因分析》在Spring中使用@Autowired注解注入的bean不能在静态上下文中访问,否则会导致NullPointerE... 目录Spring中Bean有关NullPointerException异常的原因问题描述解决方案总结

python中的与时间相关的模块应用场景分析

《python中的与时间相关的模块应用场景分析》本文介绍了Python中与时间相关的几个重要模块:`time`、`datetime`、`calendar`、`timeit`、`pytz`和`dateu... 目录1. time 模块2. datetime 模块3. calendar 模块4. timeit

python-nmap实现python利用nmap进行扫描分析

《python-nmap实现python利用nmap进行扫描分析》Nmap是一个非常用的网络/端口扫描工具,如果想将nmap集成进你的工具里,可以使用python-nmap这个python库,它提供了... 目录前言python-nmap的基本使用PortScanner扫描PortScannerAsync异

Oracle数据库执行计划的查看与分析技巧

《Oracle数据库执行计划的查看与分析技巧》在Oracle数据库中,执行计划能够帮助我们深入了解SQL语句在数据库内部的执行细节,进而优化查询性能、提升系统效率,执行计划是Oracle数据库优化器为... 目录一、什么是执行计划二、查看执行计划的方法(一)使用 EXPLAIN PLAN 命令(二)通过 S

性能分析之MySQL索引实战案例

文章目录 一、前言二、准备三、MySQL索引优化四、MySQL 索引知识回顾五、总结 一、前言 在上一讲性能工具之 JProfiler 简单登录案例分析实战中已经发现SQL没有建立索引问题,本文将一起从代码层去分析为什么没有建立索引? 开源ERP项目地址:https://gitee.com/jishenghua/JSH_ERP 二、准备 打开IDEA找到登录请求资源路径位置