前页 后页

顺序图和版本控制

您可以创建序列图,该序列图使用其他包中的元素作为图中的生命线。在这种情况下,在“版本控制”下检入和检出“包”元素时,可能会损坏图表。这是因为在结帐期间,首先从模型中删除了这些元素,然后将它们重新导入,并且尽管在图中将它们恢复了,但是连接它们的任何消息都没有。

因此,如果图及其元素位于不同的程序包中,则通过版本控制往返于程序包元素可能会损坏序列图。

解决方案是将每个类作为对象拖放到序列图上-当您将类拖放到序列图上时,在“粘贴元素”对话框中选择“作为元素(对象)的实例”选项。这将基于所选的Class元素在图的父Package中创建一个新对象。然后,您在对象之间创建消息。

因此,为了确保序列图不会被通过版本控制的其他程序包来回破坏,请记住:

  • 生命线必须是对象(即使您可以将元素作为生命线拖放到序列图上,但它也不是严格符合UML构造)
  • 生命线必须与图表位于同一包装中
下图显示了带有两个程序包的浏览器窗口:P1包含元素,而P2包含使用这些元素的序列图。该图本身也已显示。

Using object instances for version control of Sequence Diagrams in Sparx Systems Enterprise Architect.

通过版本控制来回切换时,此图不会损坏,因为所有生命线都是对象,并且这些对象与序列图位于同一Package中。

笔记

  • 这些建议也适用于通讯图