免费注册
流程类
图形化表达方式
脑图类
结构化表达方式
笔记类
高效化表达方式
实用工具
实用工具
业务与管理领域
软件工程与系统设计
UML
数据分析与研究
工程与技术设计
数据库与信息系统
树形图
括号图
思维笔记

状态图在线绘制

免费使用
状态图在线绘制
什么是状态图

状态图也叫状态机图,是状态机的表现形式。状态图利用状态机可以精确描述对象在其生存期间的动态行为,表现为一个对象所经历的状态序列,引起状态转移的事件,以及因状态转移而伴随的动作。

有限状态机,又称有限状态自动机,简称状态机,状态机可以将复杂的逻辑简化为有限个稳定状态,在稳定状态中判断事件。

状态机用于对模型元素的动态行为进行建模,或者对系统中受事件驱动的方面进行建模,描述一个对象或一个交互在其生命周期内响应时间所经历的状态序列。

状态机涉及到其它一些元素,如状态、转移、事件和动作等。从对象的初始状态起,开始响应事件并执行某些动作,这些事件引起状态的转移,对象在新状态下又开始响应事件和执行动作,如此连续进行直到终止状态。

免费使用

ProcessOn状态图功能亮点

在线协作

支持多人在线同屏创作,还可以设置分享链接,信息实时传递。

在线协作
AI一键生成

只需输入一句话,就自动生成所需图形,还可以对图形风格自动美化。

AI一键生成
个性化风格定制

内置多种主题风格,也可以自由设计你喜爱的风格样式。

个性化风格定制
多种形式组件

支持插入图标、图片、标签、备注LaTex公式、代码块、链接、附件等多种形式组件。

多种形式组件
兼容多种格式

支持导出PNG、VISIO、PDF、SVG等格式,支持导入VISIO、Mermaid格式。

兼容多种格式
数据多端同步

文件实时存储,多端设备云同步,历史版本可追溯,数据安全有保障。

数据多端同步
状态图和活动图区别

状态图是以状态为核心表达,圆角矩形表示状态,在转移线上写的内容,对应的是活动图的活动。

活动图是以活动为核心表达,圆角矩形表示活动,转移线上通常不写内容,只是在进行判断的时候,要在线上写出判断的条件。

在线创建图表
状态图和活动图区别
状态分类

状态是指对象在其生命周期中,满足某些条件、执行某些活动或等待某些事件时的一个状况,用圆角矩形表示。

初始状态:代表状态机图的开始,使用实心圆表示,一个状态机图只有一个初始状态。

结束状态:表示状态机图的结束,使用实心的圆环表示,一个状态机图可以有多个结束状态。

组合状态:组合状态是状态内部嵌套有子状态的状态,根据状态是否同时存在,分为顺序子状态和并发子状态。

历史状态:历史状态是一种伪状态,它表示在状态再次转移到该组合状态时,应处于上一次退出时的一个子状态,而不是从组合状态的初态开始。

在线创建图表
状态分类
转移组成

转移是两个不同状态之间的一种关系,表示对象将在源状态中执行一定的动作,并在某个特定事件发生而且某个特定的警界条件满足时,进入目标状态。

触发事件:是转移的诱因,可以是一个信号,事件、条件变化和时间表达式。
警戒条件:是一个逻辑表达式,触发事件发生且警戒条件为真时,转移才会被激活。
动作:可以是一个赋值操作或算术运算,也可以是一个动作序列,包括给另外一个对象发送消息、调用一个操作、设置返回值、创建或销毁对象等。

在线创建图表
转移组成
触发事件种类

信号事件:是指一个对象接收到信号的事件,该接收信号的事件会导致其状态的转换。

时间事件:代表时间的流逝,当时间条件被满足时可能要触发某个事件,时间可以是相对的也可以绝对的。

改变事件:指依赖特定属性值的逻辑表达式所表示的条件满足时,事件发生。

调用事件:表示一个对象接收到一个对调用的请求,这个对象用状态的转移而非特定的处理过程来实现操作。

在线创建图表
触发事件种类
状态图应用场景

控制器:如电梯控制系统
用户界面流程:如登录流程
生命周期管理:如订单、任务、请求等

在线创建图表
状态图应用场景

状态图怎么画?

状态图怎么画?
1
在开始绘制之前,需要先梳理好状态图中的状态、转移和触发事件
2
新建"UML图",或者先新建"流程图",然后添加“UML状态图/活动图”符号到作图区
3
在左侧工具面板选择“状态”的图标,拖拽到右侧作图区,标注状态名称
4
添加状态转移,通过“线条”+“箭头”的组合来实现,并添加触发事件、警戒条件和动作
5
根据作图需要,创建子状态、历史状态、同步条、泳道等元素
6
检查并确认图形正确无误,这样,一张专业的状态图就制作完成
免费使用

状态图绘制攻略

  • 『这就是UML!』系列内容第9讲:状态图

    『这就是UML!』系列内容第9讲:状态图

    状态图和活动图是状态机的两种表现形式,利用状态机可以精确地描述对象的行为。
    特邀撰稿人:翔宇亭IT乐园
    1分钟前
    17485
  • 【干货分享】 10分钟掌握14种UML图

    【干货分享】 10分钟掌握14种UML图

    本文利用ProcessOn作图工具,快去全面快速解读什么是UML图?UML图分为那些种类及每种图形的概念用途等,学会高效使用这一工具来提升开发效率及质量。
    ProcessOn阿冷
    1分钟前
    17682
  • 『这就是UML!』系列内容第1讲:UML简介

    『这就是UML!』系列内容第1讲:UML简介

    UML是一个通用的可视化建模语言标准,用于对软件进行描述、可视化处理、构造和建立软件系统制品的文档。提到语言,很多小伙伴开始产生恐惧了,你脑子中可能会飘过English、Java、C#、PHP等这些神兽,它们可能把不少人折腾的够呛。
    特邀撰稿人:翔宇亭IT乐园
    1分钟前
    4010
  • 『这就是UML!』系列内容第2讲:UML通用知识上

    『这就是UML!』系列内容第2讲:UML通用知识上

    在真正接触UML核心之前,我们首先了解一下UML的一些通用知识。这如同在进入公园之前,先在公园周围溜达溜达。UML中的事物是UML中基本的面向对象的构造块,也是UML中的重要词汇,使用这些构造块可以构造出良好模型。
    特邀撰稿人:翔宇亭IT乐园
    1分钟前
    15214
  • 『这就是UML!』系列内容第3讲:UML通用知识下

    『这就是UML!』系列内容第3讲:UML通用知识下

    我们可以从多个角度来审视一个系统,一个视图就是表达系统某一方面特征的建模元素的集合。视图的划分并没有严格的标准,因此有很多种分法。结构图用于描述系统的静态结构模型,行为图用于描述系统的动态行为模型。结构模型捕获事物及事物之间的静态关系,而行为模型则捕获事物如何交互以产生软件系统所需的行为。
    特邀撰稿人:翔宇亭IT乐园
    1分钟前
    3096
  • 『这就是UML!』系列内容第8讲:协作图

    『这就是UML!』系列内容第8讲:协作图

    协作图是交互图的一种,它主要描述用例在实现过程中参与的对象以及对象之间的交互消息。可以认为协作图是序列图的另外一种表示交互的方法,但它不强调时间和序列。
    特邀撰稿人:翔宇亭IT乐园
    1分钟前
    4814

状态图模板推荐

更多模板

状态图常见问题

初始状态和结束状态必须唯一吗?

一个状态机图只有一个初始状态,可以有多个结束状态。

顺序子状态和并发子状态有什么区别?

顺序子状态:在组合状态的生命周期中,任何时刻只能处于一个子状态,即多个子状态之间是互斥的关系,不能同时存在。

并发子状态:在组合状态的生命周期中,多个子状态可以同时存在。

历史状态和源状态是一个意思吗?

二者不是一个意思。
历史状态一般存在于组合状态中,它是一种伪状态,表示在状态再次转移到该组合状态时,应处于上一次退出时的某个子状态。

什么是内部转移?

内部转移是指不会导致状态改变的转移,表示方法:事件(参数名)[警戒条件]/动作。
我们需要在某状态下处理一些无需离开该状态的事件,可以定义一个内部转移。

状态图中的动作要怎么表示?

各种动作的种类及相关语法可描述如下:
(1)赋值:target:=expression
(2)调用:opname(arg1,arg2)
(3)创建对象:new Cname(arg1,arg2)
(4)销毁对象:object.destroy()
(5)返回值:return value
(6)向对象发送消息:sname(arg1,arg2)
(7)对象自我终止:terminate
(8)不可中断动作:[用语言说明]

状态图中任何动作都可以当做动态吗?

不要把普通动作当作状态,如:“点击按钮”不是状态。

状态图能不能表示多个对象?

状态图不能直接表示多个对象之间的关系,状态图主要针对单个对象或单个类的行为建模。如果多个对象间有交互,可用时序图、协作图或活动图来表示。

一个对象可以有多个状态图吗?

可以。对于复杂系统,一个对象的行为可能被拆分为多个视角或维度的状态图,也可以将多个子状态图嵌入为复合状态图。

状态图中的事件和动作有什么区别?

事件是触发器,指触发状态转移的外部信号,如:用户点击“提交”按钮;
动作是反应,指在状态转移时或状态中执行的操作,如:发送确认邮件、计时、验证密码。

相关图形