您可以捐助,支持我们的公益事业。

1元 10元 50元





认证码:  验证码,看不清楚?请点击刷新验证码 必填



  求知 文章 文库 Lib 视频 iPerson 课程 认证 咨询 工具 讲座 Model Center 汽车系统工程   模型库  
会员   
   
嵌入式软件测试方法&实践
3月20日 线上
需求分析与管理
4月21-22日 北京+线上
SysML和EA进行系统设计建模
4月23-24日 北京+线上
     
   
 订阅
统一建模语言 (UML) |状态图
 
作者:Ankit Jain
 
  2478   次浏览      38 次
2022-11-18
 
编辑推荐:
本文主要介绍了状态图的用途,状态图和流程图之间的区别,状态图的基本组成以及绘制状态图的步骤,现在跟着一起学习吧。
本文来自于geeksforgeeks.org,由Alice编辑、推荐。

状态图 用于表示系统或系统的一部分在有限时间实例中的状况。这是一个行为图,它使用有限状态转换来表示 行为 。状态图也称为状态 机 和 状态图 。这些术语通常可以互换使用。简单地说,状态图用于模拟类响应时间和不断变化的外部刺激的动态行为。我们可以说每个类都有一个状态,但我们不会使用状态图对每个类进行建模。我们更喜欢对具有三个或更多状态的状态进行建模。

状态图的用途 –

1.我们用它来陈述导致状态变化的事件(我们不显示是什么进程导致这些事件)。

2.我们用它来建模 系统的动态行为 .

3.了解对象/类对内部或外部刺激的反应。

首先让我们了解什么是 行为图 ?UML 中有两种类型的图:

结构图 – 用于对系统的静态结构进行建模,例如类图、包图、对象图、部署图等。

行为图 – 用于对系统中随时间推移的动态变化进行建模。它们用于对系统的功能进行建模和构造。因此,行为图只是使用用例图、交互图、活动图和状态图来指导我们完成系统的功能。

状态图和流程图之间的区别 –

状态图的基本目的是描述类 状态 的各种变化,而不是导致更改的进程或命令。但是,另一方面, 流程图 描绘了在执行时更改类或类对象的状态的进程或命令。

图 –用于用户验证的状态

上面的状态图显示了特定系统的验证子系统或类存在的不同状态。

状态图的基本组成部分 –

    初始状态 – 我们使用黑色填充的圆圈表示系统或类的初始状态。

    图 – 初始状态表示法

    过渡– 我们使用实心箭头来表示从一种状态到另一种状态的控制权的转换或变化。箭头标有导致状态更改的事件。

    图 – 过渡

    州– 我们使用圆角矩形来表示状态。状态表示类的对象在某个时刻的条件或情况。

    图- 状态表示法

    叉– 我们使用圆角实心矩形条来表示 Fork 符号,其中包含来自父状态的传入箭头和朝向新创建状态的传出箭头。我们使用 fork 表示法来表示拆分为两个或多个并发状态的状态。

    图 – 使用分叉符号的图表

    加入– 我们使用圆角实心矩形条来表示联接符号,其中包含来自联接状态的传入箭头和朝向共同目标状态的传出箭头。当两个或多个状态在一个或多个事件的发生时同时收敛为一个时,我们使用连接表示法。

    图 – 使用连接表示法的图表

    自我过渡 – 我们使用一个指向状态本身的实心箭头来表示自我转换。在某些情况下,对象的状态不会在事件发生时更改。我们使用自我转换来表示这种情况。

    图- 自转换符号

    复合状态 – 我们也使用圆角矩形来表示复合状态。我们使用复合状态表示具有内部活动的状态。

    图 – 具有内部活动的状态

    最终状态 – 我们使用圆圈符号中的填充圆来表示状态机图中的最终状态。

    图 – 最终状态表示法

绘制状态图的步骤 –

    确定初始状态和最终终止状态。

    确定对象可能存在的可能状态(对应于不同属性的边界值指导我们识别不同的状态)。

    标记触发这些转换的事件。

示例 – 在线订单的状态图 –

在线 订单的图 –状态图

我们绘制的UMl图取决于我们要表示的系统。这里只是在线订购系统的示例:

1.收到订单后,我们会从初始状态转换为未处理订单状态。

2.然后检查未处理的订单。

3.如果订单被拒绝,我们将进入“已拒绝订单”状态。

4.如果订单被接受并且我们有可用的物品,我们将进入已履行的订单状态。

5.但是,如果商品不可用,我们将进入待处理订单状态。

6.订单完成后,我们进入最终状态。在此示例中,我们将两种状态(即“已履行订单”和“已拒绝订单”)合并为一个最终状态。

注意– 在这里,我们也可以将已履行订单和拒绝订单分别视为最终状态。

UML系列

1.统一建模语言 (UML) | 简介

2.统一建模语言 (UML) | 类图

3.统一建模语言 (UML) | 对象图

4.统一建模语言 (UML) | 活动图

4.统一建模语言 (UML) | 状态图

 

   
2478   次浏览       38 次
 
相关工具

文档生成器(DocGenerator)
代码工程师 Code Engineer
模型检查器 Checker
WebEA
自动建模器(AutoModeler)
 
相关文章

ASPICE 4.0 过程指南
采用SysML对FPGA逻辑单元进行建模(对应到VHDL代码)
DoDAF建模图例(EA+UPDM)
EA集成第三方工具:Polarion、JIRA、AzureDevOps
UML建模指南(建模工具iSpace)
 
相关课程

ASPICE4.0核心开发过程指南
使用NML进行系统分析与建模
基于UML和EA进行系统分析设计
业务建模与业务分析
基于SysML和EA进行系统设计与建模

最新活动计划
嵌入式软件测试方法&实践 3-20[在线]
MBSE理论方法到工作实践 3-28[北京]
需求分析与管理 4-21[在线]
基于LLM的Agent应用开发 4-18[北京]
SysML和EA系统设计建模 4-23[北京]
基于本体的体系架构设计 4-24[北京]
认证课:OCSMP-MU 周末班[在线]
 
 
最新文章
SysML图解
UAF 过程指南
代码逆向模型:QT插件Demo
基于企业架构的企业数字化指南
采用SysML对FPGA逻辑单元进行建模
DoDAF建模图例(EA+UPDM)
硬件模型:智驾域控制器(建模工具EA)
UML建模指南(建模工具iSpace)
更多...   
MBSE工具
MBSE平台
建模工具 EA
模型库-Model Center
需求管理-ReqManager
自动建模-Modeler
多级仿真-Sys Simulator
代码工程-Code Engineer
文档生成器-DocGenerator
更多...   
成功案例
某汽车整车企业 MBSE工具链和咨询服务
航天三院某研究所 建模工具、模型库和咨询
零跑汽车 建模工具EA及服务
赛力斯 MBSE工具链和培训服务
高合汽车研发部门 建模工具EA、WebEA、
广汽研究院 SysML+EA+软件分析设计
高合汽车研发部门 建模工具EA、WebEA、
国汽智联 建模工具EA、模型库、WebEA
更多...