菜鸟实战UML——状态图

article/2025/10/1 20:41:31

状态图

状态图(Statechart Diagram):是描述一个实体基于事件反应的动态行为,显示了该实体如何根据当前所处的状态对不同的事件做出反应。通常我们创建一个UML状态图是为了以下的研究目的:研究类、角色、子系统、或组件的复杂行为。

理解:状态图其实就是用来描述一个特定对象的所有可能状态以及由于各种事件的发生而引起的状态间的转移。

在这里插入图片描述

状态图的图符

-状态

-转移

-起点

-终点

状态

状态:是指在对象的生命周期中满足某些条件,执行某些活动或等待某些事件时的一个条件或状态。

举例:

发票(对象)被支付(状态)
小车(对象)正在停着(状态)
发动机(对象)正在工作(状态)
点灯(对象)开着(状态)

一个状态有以下几部分内容:

1、名称Name
2、进入协作和退出动作Entry action/exit action
3、内部转换Internal transition
4、子状态Substate
5、延迟事件 Deferred event

子状态和组合状态

子状态:被嵌套在另一个状态中的状态
-组合状态:含有子状态的状态,组合状态也可以有初态和终态

并发状态和并发中的同步

并发状态:指一个对象在同一时刻可以处在多种状态
-并发中的同步:并发状态之间需要通信,或具有确定的时序关系,称为并发中的同步。

转移

转移(transition):是一个状态向另一个状态的转换,对象处在源状态时,发生一个时间,如果条件满足,则执行相应的动作 ,对象由源状态转移到目标状态。

在这里插入图片描述

-转移用箭头表示,如果没有标注事件,则本转移为自动转移。

转移的组成

1、源状态source state
2、事件触发event trigger
3、监护条件guard condition
4、动作action
5、目标状态target state

转移类型

1、自转移:源状态和目标状态为同一状态的转移。

在这里插入图片描述

2、自动转移:一个状态根据本状态的有关情况,自动触发进入目标状态,在转移上没有事件。

在这里插入图片描述

3、条件转移:通过分支判断所确定的转移。

在这里插入图片描述

状态机

状态机是一种行为,它描述了一个对象或一个交互在生命周期内响应事件所经历的状态序列。
-单个类或一组类之间协作的行为可以用状态机来描述。
-一个状态机涉及到一些其他元素,包括状态、转换(从一个状态到另一个状态的流)、事件(触发转移的流)

事件

事件(event):是指在确定的时间和位置所发生的对对象起作用的事情,事件的发生将引起一些动作,使对象发生状态的转移。

动作:动作是对象类中的一个操作的执行,动作具有中间性和不可中断特性。

事件的类型

1、调用事件:是表示对操作的调度
2、变化事件:因为满足某种条件而引起的事件,变化条件用When表示
3、时间事件:满足某一时间表达式而引起的事件,时间事件用after,when表示

在这里插入图片描述

状态图的作用

状态图是用来描述一个对象在其生命周期中所表现出来的状态和行为。当在系统建模过程中需要描述某个事物或对象的不同状态,以及状态之间转移的事件和动作时,用状态图。但是状态图并不是对每一个对象都需要的。

实战——机房收费系统

在这里插入图片描述


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

相关文章

UML——活动图和状态图

目录 活动图 活动图的基本要素 状态图 状态图的基本要素 状态图与活动图之间的区别 活动图 概念:活动图本质上是一种流程图,它描述活动的序列,即系统从一个活动到另一个活动的控制流。 作用 描述一个操作的执行过程中所完成的工作或者…

UML状态图 2021.07.18

概述 UML状态图主要用于描述对象具有的各种状态、状态之间的转换过程以及触发状态转换的各种事件和条件。 UML 状态图的目的: UML 状态图可以捕获对象、子系统和系统的生命周期,可以告知一个对象可以拥有的状态,并且事件(如消息的接收,时间…

UML状态机图

状态机图(State Machine Diagram)也叫状态图、有限状态机图(Finite Diagram),是一种描述所有状态及状态之间流转规则的图形。在软件设计领域,“状态”在业务系统中无处不在:订单要有状态&#x…

UML—状态图

【内容】 1.什么是状态图 状态图描述一个特定对象的所有可能状态以及由于各种事件的发生而引起的状态之间的转移。状态图侧重于从行为的结果来描述,只涉及一个特定的对象,常用于动态特性建模。 2.状态图的组成 (1)起点、终点 …

UML——状态图

7 状态图(Stage Diagram) 7.1 概述 状态图主要用于描述对象的状态变化以确定何种行为改变了对象状态,以及对象状态变化对系统的影响。 通常只用于描述单个对象的行为。 状态图在描述单个复杂对象的行为时非常有助于我们理解一个对象的行为…

UML活动图与状态图

笔记基于《UML和模式应用》教材 UML活动图 基本的UML表示法 基本的UML活动图表示法,包括动作、分区、分叉点、连接点和对象节点等。分区有助于观察多个参与者以及业务过程中涉及的并行动作,对象节点可以描述动作周围移动的事物。 其他UML活动图表示法…

UML状态图和活动图

转载于https://www.cnblogs.com/jingwhale/p/4230235.html UML状态图和活动图 UML状态图和活动图 统一建模语言UML(Unified Modeling Language)是非专利的第三代建模和规约语言。UML是一种开放的方法,用于说明、可视化、构建和编写一个正在…

UML图之『状态图』就是这么简单搞定

UML图之状态图 状态图的组成元素: 初始状态 初始状态是状态机的起始位置,它不须要事件的触发。由黑色实心圆点来表示 状态 状态是对象运行某项活动或等待某个事件的条件。 状态用圆角矩形表示 复合状态 复合状态是具有子状态(或称为嵌…

UML 状态图 statechart diagram

1. 什么是状态图 状态图是一个类对象所可能经历的所有历程的模型图。状态图由对象的各个状态和连接这些状态的转换组成。说明对象在它的生命期中响应事件所经历的状态序列,以及它们对那些事件的响应。 2. 状态图的作用 1). 状态图描述了状态之间的转换顺序&#x…

UML状态图

状态图(Statechart digram)是系统分析的一种常用工具,系统分析员在对系统建模时,最先考虑的不是基于活动之间的控制流,而是基于状态之间的控制流,因为系统中对象的状态变化最易被发现和理解。 状态机…

使用EA绘制UML状态图

1.创建包,并命名 2.右击包,创建图 3.创建状态图并命名 3.拖入需要的元素,并命名 4.将Initial与State联系起来 点击Initial,旁边会出现一个向上的小箭头,点击小箭头,将其与State连在一起 5.选择Initial和S…

UML状态图详解

先放目录,一共四部分: 什么是UML状态图? UML状态图的组成 UML状态图实例 UML状态图怎么画? 一、什么是UML状态图? 状态图(UML 1.x规范中的称呼),是一种展示状态机的图&#xff…

UML 状态图

在系统分析员对某对象建模时,最自然的方法并不是着眼于从活动到活动的控制流,而是着眼于从状态到状态的控制流。 状态机 定义: 状态机是展示状态与状态转换的图。在计算机科学中,状态机的使用非常普遍:在编译技术中通…

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

时序图 时序图用于描述对象之间的传递消息的时间顺序, 即用例中的行为顺序. 当执行一个用例时, 时序图中的每条消息对应了一个类操作或者引起转换的触发事件. 在 UML 中, 时序图表示为一个二维的关系图, 其中, 纵轴是时间轴, 时间延竖线向下延伸. 横轴代表在协作中各个独立的…

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算法都是基于距离的聚类算法,基于距离的聚类算法的聚类结果是球状的簇,当数据集中的聚类结果是非球状结构时,基于距离的聚类算法的聚类效果并…