GA001-182-19

Composite State with History

历史复合状态
具有历史模式的复合状态从它所显示的重要状态的角度描述了一个实体(例如类、参与者、用例或测试用例)。条目是一种可选行为,无论为达到状态所做的转换,只要输入状态,都会执行该行为。
在这里插入图片描述
图一
一种状态机图,显示两种状态和两种转换,以及初始状态和最终状态。已经定义了许多嵌套在封闭状态中的子状态。历史状态用于返回到在启动退出转换(转换A)时处于活动状态的子状态。在计算机无法识别哪个子状态处于活动状态时,退出历史伪状态的转换是默认设置。
在这里插入图片描述
图二
显示项目浏览器,其中显示嵌套在状态下的许多子状态,而状态机又嵌套在状态机下,状态机是显示基于状态行为的实体(类a)的子级。历史伪状态也是封闭状态的子级
讨论
提供一种机制来表示系统工程师或其他涉众认为在类或其他元素的生命周期中很重要的条件(状态)。它描述了状态相关的行为,显示了元素如何从一个状态转换到另一个状态。子状态用于显示

当软件工程师想要定义或描述类或其他元素可能显示的一组离散状态时,可以使用该模式。它们通常用于分析系统某些部分的行为,通常是因为难以理解或其行为复杂。

下面列出了使用此模式时可能需要执行的一些操作:

  • 重命名包、状态机和关系图以适合该方案。
  • 重命名图中的状态和转换,以适应计划。
  • 通过从工具箱或项目浏览器拖到图表上来创建新的状态、其他元素和转换。
  • 将显示更改为状态表。

以下是应用该模式时的一些后续步骤的列表:

  • 为各州创建进入、执行和退出操作,以模拟在这些条件下发生的情况。
  • 向转换添加触发器、保护和效果,以表达转换的约束和行为。
  • 在开发其他模型时,从其他模型创建跟踪,以表达状态如何与模型中的其他元素相关,例如用例、组件、工件和数据库对象。
  • 创建有助于将图表中包含的信息传播给其他团队成员的文档。

Nested States

嵌套状态模式描述了一个类或其他元素,该类或元素具有多个状态,其中一个或多个状态本身具有状态(子状态)。模式允许这些状态显示在同一个图表上。
在这里插入图片描述
一种状态机图,显示其中一种状态中的嵌套状态
讨论
其目的是允许软件工程师和其他涉众在一个图表上创建两个(或更多)状态转换级别的可视化表示。

当执行转换的遍历以了解所属元素的行为时,或者当将嵌套状态放置在同一个图上时,这种表示通常很有用,无需单击组合图就可以更容易地理解状态之间的转换。

  1. 重命名图中的状态和转换以适合您的计划。
  2. 新状态、其他元素和连接器可以从工具箱或项目浏览器拖到图表上。

以下是应用该模式时的一些后续步骤的列表。

  • 从关系图创建可执行状态机。
  • 显示此状态机中的状态如何与为模型中其他元素构造的其他状态机中的状态交互。

Complete State Machine

完整状态机模式从它所展示的重要状态的角度描述了一个实体(例如,类、参与者、用例或测试用例)。当进入一个状态时,一个进入动作可以被触发,而在这个状态下一个do动作可以被触发,离开状态时可以触发一个退出动作。
在这里插入图片描述
显示三种状态和四种转换的状态机图。
讨论
提供一种机制来表示系统工程师或其他涉众认为在块或其他元素的生命周期中很重要的条件(状态)。它描述了状态相关的行为,显示了元素如何从一个状态转换到另一个状态,以及在元素处于该状态期间调用了哪些活动。

当软件工程师想要定义或描述块或其他元素可能显示的一组离散状态时,使用该模式。它们通常用于分析系统某些部分的行为,通常是因为难以理解或其行为复杂。

下面列出了使用此模式时可能需要执行的一些操作:

  • 重命名图中的状态和转换以适合您的计划。
  • 新状态、其他元素和连接器可以从工具箱或项目浏览器拖到图表上。
  • 1
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 1
    评论

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值