彩票走势图

UML软件开发与建模工具Enterprise Architect教程:UML 2教程-状态机图

翻译|使用教程|编辑:吴园园|2019-12-17 11:26:07.867|阅读 968 次

概述:描述状态机图对于理解即时条件或执行模型时的“运行状态”如何至关重要。

# 慧都年终大促·界面/图表报表/文档/IDE等千款热门软控件火热促销中 >>

相关链接:

Enterprise Architect是一个对于软件系统开发有着极好支持的CASE软件(Computer Aided Software Engineering)。EA不同于普通的UML画图工具(如VISIO),它将支撑系统开发的全过程。在需求分析阶段,系统分析与设计阶段,系统开发 及部署等方面有着强大的支持,同时加上对10种编程语言的正反向工程,项目管理,文档生成,数据建模等方面。可以让系统开发中各个角色都获得最好的开发效率。

点击下载Enterprise Architect最新试用版

状态机图

状态机图对单个对象的行为进行建模,指定对象在其生命周期中响应事件而经历的事件顺序。
例如,以下状态机图显示了门在其生命周期内所经历的状态。

UML软件开发与建模工具Enterprise Architect教程:UML 2教程-状态机图

门可以处于以下三种状态之一:“打开”,“关闭”或“锁定”。它可以响应打开,关闭,锁定和解锁事件。请注意,并非所有事件在所有状态下都有效。例如,如果一扇门打开了,则只有在关上门后才能将其锁定。还要注意,状态转换可以附加一个保护条件:如果门已打开,则仅当满足条件doorWay-> isEmpty时,它才能响应Close事件。以下各节将全面讨论状态机图中使用的语法和约定。

状态

用圆角矩形表示状态,状态名称写在其中。

状态

初始状态和最终状态

初始状态由实心黑色圆圈表示,并可以用名称标记。最终状态由内部带有圆点的圆圈表示,也可以标记名称。

初始状态和最终状态

转场

从一个状态到下一个状态的过渡用带箭头的线表示。过渡可能具有触发,防护和效果,如下所示。

转场

“触发”是转换的原因,可能是信号,事件,某些条件的变化或时间的流逝。“保护”是一个必须为true的条件,触发器才能引起转换。“效果”是一种动作,由于转换,该动作将直接在拥有状态机的对象上调用。

State Actions

在上面的过渡示例中,效果与过渡相关联。如果目标状态有许多过渡到达,并且每个过渡都具有与之关联的相同效果,则最好将效果与目标状态关联而不是过渡。这可以通过为状态定义一个输入动作来完成。下图显示了带有进入动作和退出动作的状态。

国家行动

也可以定义在事件上发生的动作或始终发生的动作。可以定义每种类型的任意数量的动作。

自我转变

状态可以具有返回自身的过渡,如下图所示。当效果与过渡相关联时,这是最有用的。

自我转变

复合状态

状态机图可以包括子机图,如以下示例所示。

复合状态

显示相同信息的另一种方法如下。

复合状态2

上述版本中的符号表示在另一张图中显示了Check PIN子机的详细信息。

入口点

有时,您不想在正常的初始状态下进入子计算机。例如,在下面的子计算机中,通常以“ Initializing”状态开始,但是如果由于某种原因不需要执行初始化,则可以通过“ Ready”状态开始过渡到指定的入口点。

入口点

下图显示了上一级状态机。

入口点2

出口点

以类似于入口点的方式,可以命名替代出口点。下图给出了一个示例,在该示例中,在主处理状态之后执行的状态取决于使用哪条路径转换出该状态。

出口点

选择伪状态

选择伪状态显示为菱形,其中一个过渡到达,而两个或多个过渡离开。下图显示,在选择伪状态之后到达的任何状态都取决于在执行前一状态期间选择的消息格式。

选择伪状态

伪状态连接点

结伪状态用于将多个转换链接在一起。单个结可以具有一个或多个传入的转换和一个或多个传出的转换;可以对每个过渡应用防护。结点无语义。将输入的过渡转换为多个输出的过渡的结实现了静态条件分支,而选择伪状态则实现了动态条件分支。

结伪状态

终止伪状态

输入终止伪状态表示状态机的生命线已结束。终止伪状态标记为叉号。

终止伪状态

历史状态

历史状态用于记住状态机被中断时的先前状态。下图说明了历史状态的使用。该示例是属于洗衣机的状态机。

历史状态

在这种状态机下,当洗衣机运行时,它将从“洗涤”到“漂洗”进入“旋转”状态。如果断电,则洗衣机将停止运行并进入“关闭电源”状态。然后,在恢复电源后,将在“历史状态”符号处进入“运行”状态,这意味着它应从上次中断的位置恢复。

并发区域

可以将状态划分为包含子状态的区域,这些子状态同时存在并执行。下面的示例显示,在“正在应用制动”状态下,前后制动器将同时且独立运行。注意使用fork和join伪状态,而不是选择和合并伪状态。这些符号用于同步并发线程。

并发区域

=====================================================

想要了解或购买Enterprise Architect正版版权,请

UML软件开发与建模工具Enterprise Architect教程:UML 2教程-状态机图

标签:

本站文章除注明转载外,均为本站原创或翻译。欢迎任何形式的转载,但请务必注明出处、不得修改原文相关链接,如果存在内容上的异议请邮件反馈至chenjj@capbkgr.cn

文章转载自:

为你推荐

  • 推荐视频
  • 推荐活动
  • 推荐产品
  • 推荐文章
  • 慧都慧问
扫码咨询


添加微信 立即咨询

电话咨询

客服热线
023-68661681

TOP