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

1元 10元 50元





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



  求知 文章 文库 Lib 视频 iPerson 课程 认证 咨询 工具 讲座 Model Center   Code  
会员   
   
 
     
   
 
 订阅
UML的状态图建模(使用EA)
 
编译:黄月,俎涛(火龙果软件工程)
   次浏览      
2021-9-10
 

状态图简介

状态图演示元素(通常是一个类)如何在状态之间移动,并根据转换触发器和约束条件对其行为进行分类。

您可以从图表工具箱的“状态”页面生成状态图元素和连接器。

状态图示例

这是一个复合状态图,其中“Saved”状态含有子图,双击“Saved”可显示其子图。

默认情况下,子图在表示其上下文中父对象的带标记的框架中显示。您可以右键单击背景并选择“隐藏关系图框架”选项来隐藏该框架,并在“显示关系图框架”选项上再次显示该框架。

或者,您也可以右键单击主图上的复合元素,并选择‘AdvancedBayShowCompositeDiagram’选项,该选项再次在标记的框架中显示子图,但这次是在父图的上下文中显示,如下图所示。

状态图的元素

 图标  元素  描述
状态  State表示某些不变条件保持的情况;该条件可以是静态的(等待事件),也可以是动态的(执行一组活动)。
状态机  State Machine是相关状态元素组的容器
初始  Initial用于表示复合状态的默认状态的伪状态;复合状态的每个区域可以有一个初始顶点
结束 Final表示活动的完成;在到达结束时,活动关系图中的所有执行都将被中止。
历史 UML定义了两种History状态:浅历史和深历史。
同步 Synch用于指示状态机的并发路径是同步的。它们用于分割和重新连接并行处理的周期。
对象  Object是类在运行时的特定实例。
选择 Choice用于构成复杂的过渡路径,其中输出的过渡路径由动态的运行时条件决定。
连接  在状态图中,用Junction设计复杂的过渡路径。连接可以用于将多条路径组合或合并到共享的转换路径中。
终止 Terminate表示在进入其状态时,状态机的执行结束。
分支/联接 Fork/Join元素可用于:1)将单个流拆分为多个并发流,2)连接多个并发流,或3)将多个传入流连接并分叉到多个传出流。

状态(State)

状态表示某些不变条件保持的情况;该条件可以是静态的(等待事件),也可以是动态的(执行一组活动)。状态建模通常与类相关,并描述类或元素可启用的状态以及使元素能够在其中移动的转换。状态有两种:简单状态和复合状态,它们都是从工具箱中的“State”图标创建的。

此外,也有伪态,类似于一个状态的某些方面,但具有预先定义的含义。伪状态对复杂的过渡路径进行建模,并对常见的状态机行为进行分类。

可以使用操作为State定义进入、执行和退出操作。State元素的三个操作(进入, 执行和退出)通过“功能”窗口的“行为”选项卡创建和定义(开始>桌面>设计>功能)。该选项卡仅在选定元素为状态时显示。它会自动列出这三个操作,您可以在“名称/注释”字段中键入文本值,也可以使用“属性”窗口的“行为”页面分配代码的行为元素(请参见操作行为帮助主题)。

状态机(StateMachine)

StateMachine元素是相关状态元素组的容器。您可以创建状态机图,显示相互关联的状态元素的组织,并将每个部分包含在一个StateMachine元素中。还可以在StateMachine元素上创建区域。

初始(Initial)

初始元素由活动图和状态机图使用。在活动图中,它定义了调用活动时流的开始。对于状态图,初始元素是一个伪状态,用于表示复合状态的默认状态;复合状态的每个区域可以有一个初始顶点。

结束(Final)

结束元素可以用于定义活动中的最终状态,这是在UML2.1中定义的,类型为FinalNode。ActivityFinal元素指示活动的完成;在到达Finish时,活动关系图中的所有执行都将被中止。另一种类型的最终节点“Flow Final”描述了对活动中的其他执行流没有影响的退出系统。

历史(History)

UML定义了两种历史状态:浅历史和深历史。浅历史子状态用于表示复合状态的最新活动子状态;如果存在,则该状态不会递归到该子状态的活动配置;如果从未输入复合状态,则可以使用单个连接器来描述默认的浅历史记录状态。

相反,深历史子状态反映了复合状态的最新活动配置。包括所有区域的活动子状态,并在存在的情况下递归到这些子状态的活动子状态。在一个复合状态中最多可以存在一个深历史和一个浅历史。您可以使用“高级”元素上下文菜单,将浅历史记录子状态重新分配为深历史记录子状态。

同步(Synch)

同步状态对于指示状态机的并发路径已同步,很有用。它用于拆分和重新加入并行处理的周期,使路径进入同步状态后,让新出现的过渡指示一致。

对象(Object)

对象是运行时类的特定实例。例如,带有牌照AAA-001的汽车是具有牌照号属性的通用汽车类别的实例。在分析中经常使用对象来表示业务中存在的大量人工制品和物品,例如纸片,传真和信息。若要对对象在运行时的行为进行建模,可使用运行时状态。

选择(Choice)

选择用于在状态图中构成复杂的过渡路径,其中传出的过渡路径由动态的运行时条件决定。运行时条件由状态机决定选择的路径上执行的操作确定。

连接(Junction)

连接(Junction)用于设计状态图中的复杂过渡路径。连接点可用于将多个路径合并或合并为共享的过渡路径。另外,连接结点可以将进入的路径分为多个路径,类似于分支(Fork)状态。与Forks或Joins不同,Junctions可以将guard应用于每个传入或传出的过渡,这样,如果guard表达式为False,则禁用过渡。

分支/联接(Fork/Join)

分支用于将传入的转换分为并发的多个转换,从而导致不同的目标状态。联接用于将并发的多个转换合并到一个导致单个目标的转换中。两者是逆语义。

状态图连接器工具箱图标

 图标  元素  描述
转换  转换连接器表示状态机关系图中从一个状态到另一个状态的逻辑移动。
对象流  对象流连接两个元素,并通过它传递特定的数据,对活动转换进行建模。

希望本文对您的建模工作有帮助。更多的有关EA建模资料如下:

  • 视频:http://tool.uml.com.cn/ToolsEA/jswd-ysm.asp?partname=sp
  • 文章: http://tool.uml.com.cn/ToolsEA/docea.asp?partname=wk
  • 如果您希望了解更多信息:

    • 欢迎访问建模者频道 http://modeler.org.cn/
    • 也欢迎直接联系我们 zhgx@uml.net.cn ,010-62670969

    下载PDF:UML的状态图建模(使用EA)

    本文使用的建模工具为EA,可以下载试用版http://tool.uml.com.cn/ToolsEA/download.asp

     

    后记

    希望您读了此文后有所受益。

    如果您有经验乐于分享,欢迎投稿给我们。

    如果您对我们的培训、咨询和工具感兴趣:

    课程:
  • 基于UML和EA进行分析设计
  • MBSE(基于模型的系统工程)  
  • 基于模型的需求管理)方法与实践
  • 基于SysML和EA进行系统设计与建模  
  • 企业架构建模
  • 系统架构建模方法与案例
  • 领域驱动的建模与设计
  • 基于模型的设计
  • 业务建模与业务分析
  • 基于模型的设计

  • MBSE工具链 :
  • 建模工具:EA
  • MBSE平台:iSpace
  • 模型共享:WebEA
  • 文档生成:DocGenerator
  • 模型仿真:Simulator
  • 质量管理:inspector

  • 咨询方案:
  • MBSE(基于模型的系统工程)
  • 基于UML的模型驱动的开发
  • 基于模型的工程管理
  • 基于Sys ML进行系统分析设计
  • 基于模型进行系统分析设计
  • 欢迎联系我们: 俎涛 Zutao@uml.net.cn

       
    次浏览       
     
    相关文章

    用户手册:EA Helper
    自然语言自动化生成图
    使用iSpace进行多人协作建模
    基于模型的软件复用(MBSR)
     
    相关文档

    AUTOSAR_TR_BSW UML模型建模指南
    UML时间图建模(基于EA)
    UML 模型框架(基于EA)
    UML序列图编写规范
     
    相关课程

    UML+EA+面向对象分析设计
    UML + 嵌入式系统分析设计
    业务建模与业务分析
    基于UML和EA进行系统分析设计

    最新活动计划
    QT应用开发 11-21[线上]
    C++高级编程 11-27[北京]
    LLM大模型应用与项目构建 12-26[特惠]
    UML和EA进行系统分析设计 12-20[线上]
    数据建模方法与工具 12-3[北京]
    SysML建模专家 1-16[北京]
     
     
    最新文章
    在EA中内嵌文档- Artifact
    EA中模型视图
    EA中的实体关系图
    使用EA进行风险建模
    EA中的项目词汇表
    EA的模型导出或导入csv文件
    自定义表格(Custom Table)在EA中的使用
    Gap Analysis Matrix(差距分析矩阵)
    更多...   
    MBSE工具
    MBSE平台
    建模工具 EA
    模型库-Model Center
    需求管理-ReqManager
    自动建模-Modeler
    多级仿真-Sys Simulator
    代码工程-Code Engineer
    文档生成器-DocGenerator
    更多...   
    成功案例
    广汽研究院 SysML+EA+软件分析设计
    高合汽车研发部门 建模工具EA、WebEA、学习视频
    国汽智联 建模工具EA、模型库、WebEA和iSpace
    亿咖通 MBSE工程体系与工具链咨询
    中航无人机 MBSE工具链
    吉利汽车 购买EA工具
    华科汽车零部件 购买EA工具
    东风岚图汽车 购买EA工具 以及EA定制开发
    更多...