了解状态机图

发布时间:2026/7/28 19:18:00

了解状态机图
从第一次认识到状态机这个概念程序设计似乎就从未离开过它通过广大网友的技术分享本文对状态机再做一次总结。了解什么是状态机图它的使用场景是什么一、什么是状态机做产品的时候我们总能遇到一些比较复杂的逻辑问题而普通的流程图或时序图对于对象和状态的解读缺乏直观的描述。这里我们推荐使用简单的状态图来对逻辑问题进行描述有限状态机英语Finite-state machine, FSM又称有限状态自动机简称状态机是表示有限个状态以及在这些状态之间的转移和动作等行为的数学模型。有限状态机是一种用来进行对象行为建模的工具其作用主要是描述对象在它的生命周期内所经历的状态序列以及如何响应来自外界的各种事件。在计算机科学中有限状态机被广泛用于建模应用行为、硬件电路系统设计、软件工程编译器、网络协议、和计算与语言的研究。二、状态机图怎么画基本元素当你需要描述一个对象或系统的行为状态时相比于直接的语言描述更推荐使用状态机表或状态机图的形式。首先我们看一下基本元素做需求时需要了解以下六种元素起始、终止、现态、次态目标状态、动作、条件我们就可以完成一个状态机图了①现态是指当前所处的状态。②条件又称为“事件”当一个条件被满足将会触发一个动作或者执行一次状态的迁移。③动作条件满足后执行的动作。动作执行完毕后可以迁移到新的状态也可以仍旧保持原状态。动作不是必需的当条件满足后也可以不执行任何动作直接迁移到新状态。④次态条件满足后要迁往的新状态。“次态”是相对于“现态”而言的“次态”一旦被激活就转变成新的“现态”了。注意事项1、避免把某个“程序动作”当作是一种“状态”来处理。那么如何区分“动作”和“状态”“动作”是不稳定的即使没有条件的触发“动作”一旦执行完毕就结束了而“状态”是相对稳定的如果没有外部条件的触发一个状态会一直持续下去。2、状态划分时漏掉一些状态导致跳转逻辑不完整。所以在设计状态机时我们需要反复的查看设计的状态图或者状态表最终达到一种牢不可破的设计方案。状态机表怎么画首先我们看下下面这张状态机图展示了一张简单的单审批人文件的状态流转情况。那么如何把他写成表呢这里有多种写法区别于纵坐标的不同我们举两种左侧的纵坐标为初始状态横坐标为终止状态。右侧的纵坐标为动作条件横坐标为终止状态。那么对于动作比较多且复杂的情况下可以考虑采用右侧的表格这样会比较一目了然。三、使用场景状态机图经常应用在程序的设计过程中使用清晰明了的状态机图设计代码逻辑架构再使用编程语言去实现。当然也可以画一个状态机图来展示某岗位的工作在另一篇博文中将介绍使用C语言来实现状态机的设计。https://blog.csdn.net/xinghuanmeiying/article/details/89387451

相关新闻

springmvc二十一:自定义类型转换器

springmvc二十一:自定义类型转换器

2026/7/28 19:18:00

ConversionService:是一个接口;它里面有一个Converter(转换器)进行工作①实现一个Converter接口,写一个自定义的类型转换器②Converter是ConversionService中的组件。自定义Converter得放进ConversionService中, 同时将WebDataBinder中的ConversionService设置成我们这个加了自…

【MyBatis】Mybatis实现分页效果

【MyBatis】Mybatis实现分页效果

2026/7/28 19:18:00

源代码:GitHub链接 环境: Eclipse项目web 3.0Tomcat 8.5 用到的技术: MyBatisLog4JJSTL基本的…Java Servlet,JSP,… 使用方式: 直接运行ShowServlet.java(选择Run on server),即可在网页中看到分页效果&#xf…

GBase 8s数据库新存储引擎核心能力介绍之二

GBase 8s数据库新存储引擎核心能力介绍之二

2026/7/28 19:08:00

南大通用GBase 8s数据库(gbase database)新一代存储引擎,围绕用户生产场景持续进化,以底层架构的全面革新,为企业级用户带来真正面向生产环境的数据管理体验。二、全局时间戳一致性:读写分离场景下的数据准…

嵌入式按键消抖

嵌入式按键消抖

2026/7/28 20:08:03

嵌入式中,经常使用按键作为人机交互的接口,典型的按键电路如下所示: 在实际使用过程中,由于误触及按键的机械特性,按键按下或松开时的输出的波形上会存在抖动,一般可以通过增加滤波电容C1进行处理。但是在实…

基于CH554单片机的USB Host转蓝牙键盘转换器设计与实现

基于CH554单片机的USB Host转蓝牙键盘转换器设计与实现

2026/7/28 20:08:03

1. 项目概述:为什么用CH554做USB Host转蓝牙键盘? 最近在折腾一个挺有意思的小项目:用一块国产的8位单片机CH554,把它变成一个USB Host,然后读取普通USB键盘的按键数据,再通过蓝牙模块发送出去,…

AI时代下Processing在创意编程中的不可替代性

AI时代下Processing在创意编程中的不可替代性

2026/7/28 20:08:03

1. 当AI Coding遇上Processing:创意编程的变与不变最近在创意编程圈里有个热议话题:随着AI代码生成工具的爆发式发展,像Processing这样的传统创意编程工具还有学习的必要吗?作为一个从2012年就开始用Processing做交互装置的老程序…

TPIC7710EVM评估板深度解析:从硬件架构到软件实操的汽车电子设计加速器

TPIC7710EVM评估板深度解析:从硬件架构到软件实操的汽车电子设计加速器

2026/7/28 20:08:03

1. 项目概述与EVM核心价值 在汽车电子和工业控制这类对可靠性要求极高的领域,工程师在将一颗新的专用集成电路(ASIC)设计进系统之前,必须对其功能、性能边界和在实际电路中的表现有绝对的把握。这时,评估模块&#xff…

Agent 安全架构避坑:权限、上下文与工具边界的三道坎

Agent 安全架构避坑:权限、上下文与工具边界的三道坎

2026/7/28 20:08:03

Agent 安全架构避坑:权限、上下文与工具边界的三道坎 一、给模型装了手和脚,谁来管它不越界 当大模型只是聊天机器人,风险上限是"说错话"。一旦它升级成 Agent,能调接口、读文件、发消息、下单,风险上限立刻…

C++ 中 struct 与 union 的区别:从内存共享到底层优化

C++ 中 struct 与 union 的区别:从内存共享到底层优化

2026/7/28 19:58:02

C 中 struct 与 union 的区别:从内存共享到底层优化一、引言:看似相似的两种聚合类型struct 和 union 是 C 中两种可以包含多个成员的复合类型。它们都能容纳不同类型的数据,但在内存使用方式上有着本质差异。struct 是我们日常编程中最常用的…

[具身智能-649]:个人电脑搭建 RTSP 服务完整方案(Windows / Ubuntu 双平台,适配 RDK X5 rtsp2display 调试)

[具身智能-649]:个人电脑搭建 RTSP 服务完整方案(Windows / Ubuntu 双平台,适配 RDK X5 rtsp2display 调试)

2026/7/28 13:30:18

目标:电脑作为RTSP 服务端,循环推送 H264/H265 视频流; RDK X5 通过 rtsp2display 拉流预览,完全不需要在开发板编译 live555。 提供两套成熟方案: ✅ 方案 A:FFmpeg(最简单,优先推…

PDF合并与动态水印的工程化方案:2026国内免费工具实测对比

PDF合并与动态水印的工程化方案:2026国内免费工具实测对比

2026/7/28 16:04:36

一、背景与测试方案 在实际项目交付中,PDF文件合并与版权保护水印的叠加是一个高频但容易被低估的技术需求。典型的处理链路涉及:多源PDF的文件流合并、页面级水印渲染(含透明度混合与图层叠加)、输出文件体积控制。看似简单的操作…

PDF拆分压完图糊了?2026国内免费实测,档案员都在用的组合方案

PDF拆分压完图糊了?2026国内免费实测,档案员都在用的组合方案

2026/7/28 16:04:35

说实话,提到PDF拆分再压缩,我真是被折腾得够呛。 上个月公司年度合同归档,一份300多页的PDF总合同,需要按年份拆分成三个独立文件,再分别压缩到10MB以内方便邮件发送各部门确认。我心想这还不简单?先找个海…

零基础搭建桌面智能体,OpenClaw 2.7.9 分步实操,避开绝大多数部署陷阱

零基础搭建桌面智能体,OpenClaw 2.7.9 分步实操,避开绝大多数部署陷阱

2026/7/28 0:06:55

📌 一、工具核心优势盘点 数据本地存储,安全系数高所有操作日志、文档资料均保存在本机,不会上传至云端,能够有效保护企业文件与个人隐私,规避数据泄露风险。 上手简单,零编程门槛采用全图形化可视化界面&…

计算机毕业设计之基于springboot的购物平台设计与实现

计算机毕业设计之基于springboot的购物平台设计与实现

2026/7/28 0:06:55

由于移动应用技术的持续性的快速发展,现实生活中人们大多数都是通过移动手机、电脑等智能设备来完成生活中的事务。因此,许多的人工传统行业也开始与互联网结合,不再一味的依靠人工手动,努力打造半自动数字化甚至是全自动数字化模…

豆包AI绘图提示词失效真相:NLP模型层token截断机制首次披露,3招绕过字数限制

豆包AI绘图提示词失效真相:NLP模型层token截断机制首次披露,3招绕过字数限制

2026/7/28 0:06:55

更多请点击: https://codechina.net 第一章:豆包AI绘图提示词失效现象全景扫描 近期大量用户反馈,豆包(Doubao)AI绘图功能对常规提示词(Prompt)响应异常:语义明确的指令被忽略、中英…