2017-04-17 100 views
1

我得到我的周围UML状态双字母组合的头,而分析指出,我们的一个客户可以拥有的过程很。我试图使用正交区域的复合状态,其中一个状态由于另一个正交原因而导致至少一个状态变化的触发。UML状态图:跨正交区域触发

我意识到我可能会尝试使用错误的范例来对此进行建模,因此请随时在此基础上予以纠正,但对于此问题,有一种简化但略为详细的情况说明:

  • 一位顾客的“激活”状态具有3米正交的区域,我会打电话给他们R1,R2和R3
  • R1具有“禁用账户提取”和“撤启用”状态
  • R2具有“ID未验证“和”ID验证“状态
  • R3 h因为“只有现金账户”和“信用账户”

从“现金只有”以“信用”只能一次R1是“撤启用”发生在R3的变化状态,R2是“ID核实“状态 - 再加上另一个触发器。

当绘制的状态图,是有使在一个正交区域(至少部分地)依赖于在其它的正交区域的一组状态中的一个状态转换的有效方法是什么?如果不是,我可以用其他方法来表示这个吗?

(顺便说一句,我原以为单独模拟帐户状态,但在域中的讨论就是这样在这里,感觉比较有用的是集成的客户状态的一部分)提前

感谢你的帮助。

+1

你能在你的问题包括:你已经尝试了图(可能有多个,即使是那些被丢弃)?虽然我认为我明白这个问题,但我想确定它。此外,我可能不得不提出更多问题,因为您所描述的情况的建模可能取决于细节。还要确保包含转换,因为它可能会影响您正在做的事情。 – Ister

回答

1

我会使用保护这样

enter image description here

假设R1R2是对自己的状态机。

也许有一个更正式的正确的方式来描述的后卫。但我想读者可以理解它背后的想法。