【问题标题】:How to reuse States in Sparx EA如何在 Sparx EA 中重用状态
【发布时间】:2021-08-23 21:47:28
【问题描述】:

我将如何在 Sparx EA 状态机图中重用状态?

对于我的应用程序,我有一个已定义的状态列表(StateA、StateB、StateC 等),但不同的对象可能以不同的方式在它们之间转换, 即ObjectA:StateA--(无保护)-->StateB--(输入= 0)-->StateC ObjectB:StateA--(input=2)-->StateB--(no guard)-->StateC

如果我创建这些状态并将它们放入自己的“包”中,然后创建 2 个状态机图并将这些状态复制到图中,每当我对一个图进行更改时,另一个图就会(错误地)更新。

还是我想错了,基本上每个状态机图都需要有自己的状态/转换定义(可选地可以重用现有状态机,但我认为这不能解决这个问题)?

【问题讨论】:

  • 状态不应该被重复使用。它们应该归图中表示的状态机所有。

标签: enterprise-architect code-reuse fsm


【解决方案1】:

看来我想通了。如果您右键单击状态机图,单击“粘贴为新”并取消单击“包含连接器”,它不会将连接器复制到新图中,如果您在这些状态上进行转换,其他状态将不会t 修改它们的转换。

【讨论】:

  • 虽然这个副本创造了一些东西,但它确实是胡言乱语。一个状态怎么可能处于多个状态机中?一个状态只在某个状态机中才有意义。
  • 请阅读 UML 2.5 的 14.2.3.4 中关于状态的内容。
猜你喜欢
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2019-03-10
  • 1970-01-01
  • 2014-12-16
  • 1970-01-01
  • 1970-01-01
相关资源
最近更新 更多