转到序列图中的另一个序列?

4
我有一个注册和登录的时序图。我还有一个登录Facebook的时序图,其中有以下条件:
  1. 如果用户以前从未使用过FB登录,则系统将为其注册并自动执行登录。
  2. 如果用户以前已经使用过FB登录,则系统将只进行登录而不对其进行注册。
问题是,登录和注册已经各自拥有自己的时序图。简单地将这两个时序图复制粘贴到登录FB中可以解决问题,但我的图表会很难阅读,并且会变得非常长。
我希望有一种方法可以像这样说:“转到登录时序图”。
请帮忙看看。谢谢。

请参阅 ref 运算符,以表示在 uml-diagrams.org: UML 序列图 中所示的 交互使用(复制/粘贴)场景。 - xmojmr
1个回答

3
在UML中,没有关于这方面的具体规定,但是有最佳实践。我在我的网站上记录了一篇文章:UML 最佳实践:一个操作对应一个序列图。该文章基本上指出每个操作都应该有一个单独的序列图,这样可以避免将行为的某些部分复制到不同的图中。确保您的工具在操作和其行为规范之间保持链接,这样就可以轻松地在它们之间导航。
编辑:以您的示例为例,您需要一个类似于以下的 loginFB 的序列图: loginFB 然后为 register 和 login 分别创建单独的序列图: register login 确保每个序列图嵌套在一个 Interaction 对象下,并将此 Interaction 作为行为链接到相应的操作。然后,取决于您的 UML 工具的功能,从操作到其行为(以及反向)导航会更加容易。

非常感谢。但是我不太明白你的回答(抱歉,我还在学习中)。而且我担心没有足够的时间重新设计我的整个序列图。你能否给我一个例子如何转到另一个序列图?这样至少我现在可以解决这个问题。 - Blaze Tama
我已经更新了我的答案,并提供了一些示例来说明我的意思。 - Geert Bellekens
非常感谢。像调用方法一样调用SD寄存器可以吗? - Blaze Tama
在UML中,你称之为操作,而不是序列图。 - Geert Bellekens
谢谢。非常感谢你的帮助和示例 :) - Blaze Tama

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接