时序图、流程图、状态图、协作图之间的区别

article/2025/10/2 0:05:13

时序图

时序图用于描述对象之间的传递消息的时间顺序, 即用例中的行为顺序.

当执行一个用例时, 时序图中的每条消息对应了一个类操作或者引起转换的触发事件.

在 UML 中, 时序图表示为一个二维的关系图, 其中, 纵轴是时间轴, 时间延竖线向下延伸. 横轴代表在协作中各个独立的对象. 当对象存在时, 生命线用一条虚线表示, 消息用从一个对象的生命线到另一个对象的生命线的箭头表示. 箭头以时间的顺序在图中上下排列.

ATM 用户成功登陆的时序图

时序图中的基本概念

对象: 时序图中对象使用矩形表示, 并且对象名称下有下划线. 将对象置于时序图的顶部说明在交互开始时对象就已经存在了. 如果对象的位置不在顶部, 表示对象是在交互的过程中被创建的.

生命线: 生命线是一条垂直的虚线. 表示时序图中的对象在一段生命周期内存在. 每个对象底部中心的位置都带有生命线.

消息: 两个对象之间的单路通信. 从发送方指向接收方. 在时序图中很少使用返回消息.

激活: 时序图可以描述对象的激活和钝化. 激活表示该对象被占用以完成某个任务. 钝化指对象处于空闲状态, 等待消息. 在 UML 中, 对象激活时将对象的生命线拓宽为矩形来表示的. 矩形称为计划条或控制期. 对象就是在激活条的顶部被激活的. 对象在完成自己的工作后被钝化.

对象的创建和销毁: 在时序图中, 对象的默认位置是在图的顶部. 这说明对象在交互开始之前就已经存在了. 如果对象是在交互过程中创建的, 那么就应该将对象放到中间部分. 如果要撤销一个对象, 在其生命线终止点处放置 “ X” 符号.

练习:孙中山的……

活动图

在 UML 中, 活动图本质上就是流程图. 它用于描述系统的活动, 判定点和分支等.

活动图中的基本概念

动作状态: 原子的, 不可中断的动作, 并在此动作完成之后向另一个动作转变. 在 UML 中动作状态用圆角矩形 表示, 动作状态所表示的动作写在圆角矩形内部.

分支与合并: 分支在软件系统中很常见. 一般用于表示对象类所具有的条件行为. 用一个布尔型表达式的真假来判定动作的流向. 条件行为用分支和合并表达.在活动图中, 分支用空心小菱形 表示. 分支包括一个入转换和两个带条件的出转换, 出转换的条件应该是互斥的, 须保证只有一条出转换能够被触发. 合并包含两个带条件的入转换和一个出转换.

状态图

状态图: 通过建立对象的生存周期模型来描述对象随时间变化的动态行为.

状态图中的基本概念

状态: 用圆角矩形表示. 状态名称表示状态的名字, 通常用字符串表示. 一个状态的名称在状态图所在的上下文中应该是唯一的.

转换: 用带箭头的直线表示. 一端连着源状态, 一端连着目标状态.

初始状态: 每个状态图都有一个初始状态. 此状态代表状态图的起始位置. 初始状态只能作为转换的源, 不能作为转换的目标, 并且在状态图中只能有一个. 初始状态用一个实心圆表示.

终止状态: 模型元素的最后状态, 是一个状态图的终止点. 终止状态在一个状态图中可以有多个.

协作图

协作图(也叫合作图)是一种交互图.

时序图主要侧重于对象间消息传递在时间上的先后关系, 而协作图表达对象间的交互过程及对象间的关联关系

 


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

相关文章

UML之状态图

一、状态图概要 状态图是一种行为图。描述一个特定对象的所有可能的状态以及引起状态转换的事件。 在面向对象的软件系统中,一个对象无论多么简单或者多么复杂,都必然会经历一个从开始创建到最终消亡的完整过程,这个过程通常被称为对象的生命…

一张图阐述UML状态图的画法【软件工程】

文章目录 I.介绍状态图II.一图搞定状态图画法 I.介绍状态图 状态图展示了一个特定对象的所有可能状态以及由于各种事件的发生而引起的状态间的转移。 它有两大特征: 1️⃣所有的变化都是针对某一个特定的对象,这个对象会触发各种的状态。 2️⃣触发的…

UML状态图 几种状态图

目录 1、状态图模型要素 2、 几种类型 2.1初态(start state) 2.2终态 (end state) 2.3 中间状态 2.4组合状态 2.5历史状态(History state) 3、状态图建模步骤 4、几种状态图举例 1、状态图模型要素…

UML--状态图

一、 概述 状态图(State Diagram)用来描述一个特定对象在其生命周期中的各种状态以及状态之间的转换。这些对象可以是类、接口等等 二、作用 -状态图清晰地描述了状态之间的转换顺序,通过状态的转换顺序可以清晰看出事件的执行顺序。如果没有状态图就不可避免的要使…

DBSCAN聚类算法(商场数据分析)

DBSCAN聚类算法(商场数据分析) 引入库邻域半径,最少点数目参数数据最佳参数分析选择最佳参数,查看结果 引入库 from sklearn.cluster import DBSCAN邻域半径,最少点数目参数 from itertools import producteps_value…

机器学习-DBSCAN聚类算法

文章目录 DBSCAN算法原理DBSCAN算法流程DBSCAN的参数选择DBSCAN优缺点总结 K-Means算法和Mean Shift算法都是基于距离的聚类算法,基于距离的聚类算法的聚类结果是球状的簇,当数据集中的聚类结果是非球状结构时,基于距离的聚类算法的聚类效果并…

DBSCAN聚类算法实例

1.实验目标 算法:DBScan,基于密度的聚类算法 输入: D:一个包含n个数据的数据集 r:半径参数 minPts:领域密度阈值 输出:基于密度的聚类集合 2.实验步骤 标记D中所…

DBSCAN聚类算法原理和伪代码

1.DBSCAN算法 K-means聚类算法基于距离的聚类算法,其中的局限性在于,在凸集中进行聚类,但是在非凸集聚类效果不佳。如图: 对于下图,进行聚类,传统的聚类算法效果不佳,使用DBSCAN则效果更佳。 D…

Python学习2——DBSCAN聚类算法

一、原理 参考博文: DBSCAN聚类算法Python实现_徐奕的专栏-CSDN博客_dbscan pythonhttps://blog.csdn.net/xyisv/article/details/88918448DBSCAN是一种基于密度的聚类算法,这类密度聚类算法一般假定类别可以通过样本分布的紧密程度决定。同一类别的样…

DBSCAN聚类算法——MATLAB实现

声明:本文修改自《数学建模清风》老师的代码 DBSCAN(Density-Based Spatial Clustering of Applications with Noise)是一个比较有代表性的基于密度的聚类算法。与划分和层次聚类方法不同,它将簇定义为密度相连的点的最大集合,能够把具有足够…

DBSCAN聚类算法实用案例

目录 1、DBSCAN算法介绍4、DBSCAN 的参数选择5、Scikit-learn中的DBSCAN的使用核心参数:属性:1、DBSCAN算法介绍 下图中,左边的图形可以使用K-Means算法进行聚类,右边两个有交叉部分【噪音】,故需要使用密度聚类(DBSCAN)算法 K-Means和层次聚类算法,是基于对象之间的距…

DBSCAN 聚类算法详解

参考: https://www.cnblogs.com/zhengxingpeng/p/6670486.htmlhttps://www.cnblogs.com/chaosimple/p/3164775.htmlhttps://www.jianshu.com/p/e8dd62bec026 1. DBSCAN简介: DBSCAN(Density-Based Spatial Clustering of Applications with …

数据挖掘(七) DBSCAN聚类算法

数据挖掘(七) DBSCAN聚类算法 DBSCAN是一种非常著名的基于密度的聚类算法。其英文全称是 Density-Based Spatial Clustering of Applications with Noise,意即:一种基于密度,对噪声鲁棒的空间聚类算法。直观效果上看&…

DBSCAN聚类算法的实现

DBSCAN聚类算法的实现 1. 作者介绍2.关于理论方面的知识介绍2.1 DBSCAN算法介绍2.2 鸢尾花数据集介绍 3.实验过程3.1 实验代码3.2 实现过程3.3 实验结果 4.参考文献 1. 作者介绍 刘鹏程,男,西安工程大学电子信息学院,…

毫米波雷达点云 DBSCAN聚类算法

毫米雷达点云 DBSCAN聚类算法 聚类的目的聚类算法分类原型聚类层次聚类密度聚类 DBSCAN聚类算法原理相关定义算法流程以及伪代码DBSCAN算法优缺点DBSCAN参数选择聚类衡量指标 DBSCAN算法仿真DBSCAN代码DBSCAN算法对毫米波雷达点云数据进行聚类 聚类的目的 聚类的目的是将一组数…

使用Python实现DBSCAN聚类算法及可视化

目录 实战过程 数据准备 DBSCAN模型 聚类结果评估 可视化展示 运行结果 总结 DBSCAN(Density-Based Spatial Clustering of Applications with Noise)是一种基于密度的聚类算法,可以发现任意形状的簇,并且能够在噪声数据的…

聚类及DBSCAN 聚类算法

聚类及DBSCAN 聚类算法 一、聚类 1.概念 聚类就是按照某个特定标准把一个数据集分割成不同的类或簇,使得同一个簇内的数据对象的相似性尽可能大,同时不在同一个簇中的数据对象的差异性也尽可能地大。 2.聚类与分类的区别 聚类时,我们并不…

python DBSCAN聚类算法

文章目录 DBSCAN聚类算法基本思想基本概念工作流程参数选择DBSCAN的优劣势 代码分析Matplotlib Pyplotmake_blobsStandardScaleraxes类使用plt.cm.Spectral颜色分配python numpy 中linspace函数enumerate()函数plt.scatter()绘制散点图整体代码 DBSCAN聚…

聚类方法:DBSCAN算法研究(1)--DBSCAN原理、流程、参数设置、优缺点以及算法

DBSCAN聚类算法三部分: 1、 DBSCAN原理、流程、参数设置、优缺点以及算法; http://blog.csdn.net/zhouxianen1987/article/details/68945844 2、 matlab代码实现; blog:http://blog.csdn.net/zhouxianen1987/…

聚类算法--DBSCAN算法

一、DBSCAN算法 简介 DBSCAN(Density-Based Spatial Clustering of Applications with Noise)是一个基于密度的聚类算法。算法把簇看作数据空间中由低密度区域分割开的高密度对象区域;将足够高密度的区域划为簇,可以在有噪音的数据集中发现任意形状的聚类…