简单的状态机图

一、什么是状态机?

做产品的时候,我们总能遇到一些比较复杂的逻辑问题。

比如状态的转换,字段状态的确认,权限的控制,状态的对应。

而普通的流程图,或时序图,更侧重于流程和动作的描述,对于对象和状态的解读缺乏直观。

这里我们推荐一种方式,就是画一个简单的状态机图:

那么什么是状态机呢?状态机我们将的一般是指有限状态机:

有限状态机,(英语:Finite-state machine, FSM),又称有限状态自动机,简称状态机,是表示有限个状态以及在这些状态之间的转移和动作等行为的数学模型。[1]

有限状态机,又称有限状态自动机,简称状态机,是表示有限个状态以及在这些状态之间的转移和动作等行为的数学模型。[1]

有限状态机可以将复杂的逻辑简化为有限个稳定状态,在稳定状态中判断事件。其中有限不是指有限次处理,而是有限个稳定状态,并且有限状态机是一个闭环系统,可以用有限的状态处理无尽的事务。

有限状态机是一种用来进行对象行为建模的工具,其作用主要是描述对象在它的生命周期内所经历的状态序列,以及如何响应来自外界的各种事件。在计算机科学中,有限状态机被广泛用于建模应用行为、硬件电路系统设计、软件工程,编译器、网络协议、和计算与语言的研究。

二 状态机图怎么画?

基本元素

当你需要描述一个对象或系统的行为状态时,相比于直接的语言描述,更推荐使用状态机表或状态机图的形式。

首先我们看一下基本元素:

img

做需求时,至少要了解以下四种元素:起始、终止、状态、历史状态。

再加上动作和条件,我们就可以完成一个状态机图了:

img

所以对于状态机图来说,基本要用到6个元素:

  1. 起始
  2. 终止
  3. 状态
  4. 历史状态
  5. 动作
  6. 条件

对于历史状态的使用,我们可以参考下面的案例。

比如我们举个简单的例子,一个洗衣机的快洗模式状态图:

img

遇到断电的时候,机器是有缓存的,所以跳出流程恢复流程之后,是会回到历史状态。

状态机表怎么画?

首先我们看下下面这张状态机图,展示了一张简单的单审批人文件的状态流转情况。

img

那么如何把他写成表呢?这里有多种写法,区别于纵坐标的不同,我们举两种:

img

左侧的纵坐标为初始状态,横坐标为终止状态。

右侧的纵坐标为动作条件,横坐标为终止状态。

那么对于动作比较多且复杂的情况下,可以考虑采用右侧的表格,这样会比较一目了然。

三 使用场景

  • 在讲解逻辑的时候,或泳道图过于麻烦的时候,你可能会用到状态机图。
  • 可能很多你提出的需求,工程师都会自己去把他画成状态机图来方便编码。
  • 所以能为别人多做一步,别人就对你多一份感激。
  • 在梳理需求的时候,状态机图也是一个帮助思维思考的好工具。
  • 状态机图更是一个代入感很强的表现形式。

比如我们可以画一个状态机图来展示某岗位的一生:

img

最后希望这个岗位的同事都能够做到逻辑清晰,身体健康。

原文链接 : http://www.woshipm.com/pmd/828671.html

  • 7
    点赞
  • 23
    收藏
    觉得还不错? 一键收藏
  • 1
    评论
LabVIEW的状态机流程是一种用于描述复杂控制流程的形化编程方法。它主要由状态和状态之间的转换组成。 状态机流程可以分为三个主要部分:状态、转换和事件。 首先,状态表示系统可能处于的运行状态,每个状态通常由一个或多个子VI表示。在状态机中,一个状态可以执行一些特定的操作或算法。 其次,转换表示状态之间的变化,即根据某种条件或事件发生时从一个状态转换到另一个状态。每个转换通常由一个触发条件和一个动作组成。触发条件可以是某个输入信号的状态或外部事件的发生。动作则是一些在触发条件满足时执行的操作,例如设置某个参数或调用某个函数。 最后,事件可以是用户输入、传感器信号或其他外部事件。它们触发状态机在当前状态下执行对应的转换。事件可以是同步的(即等待事件发生后再转换)或异步的(在任何时间发生时即可转换)。 状态机的设计可以帮助我们理清控制流程和逻辑,使程序结构更加清晰和方便维护。使用LabVIEW的状态机流程,我们可以将复杂的控制算法分解成可管理的状态和转换,并能更好地理解和修改代码。 总之,LabVIEW的状态机流程提供了一种直观和可视化的编程方法,可以方便地描述和实现复杂的控制逻辑。它在工程和科学领域中广泛应用,帮助实现各种庞杂任务的自动化控制和监测。

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值