如何使用UML-Sequence图表示同一类中的调用

Ash*_*wal 13 uml sequence-diagram

我正在尝试为我们的应用程序中的特定进程创建UML序列图.

问题是大多数业务逻辑都在一个类中,当我尝试在序列图中映射它时,我得到了对序列图中相同对象的多次调用.

我需要的是一个类似于UML序列图中的堆栈跟踪的表示.是否可以使用序列图或其他图表是一种更好的方式来表示同一类中的调用?请指教.

sfi*_*nie 12

一些建议:

  1. 您可以使用自调用在序列图上显示连续方法.这里参见图1 的示例(自我调用是同一生命线上的循环调用).
  2. 作为替代方案,您可以考虑活动图.可能更适合说明方法的顺序.
  3. 重构代码.单个班级中的许多逻辑通常都是难闻的气味.假设你有范围,重构可能是个好主意.

心连心.


Mar*_*mer 7

在UML序列图上表示自调用(参见步骤7).

在UML序列图上自我调用

如果被调用的方法是(或应该是)私有的,则可以安全地从序列图中排除它作为实现细节.

但是我闻到了上帝级的反模式; 你的班级有多重责任,应该解构.分解课程,以便使用委托只有一个责任.那些方法调用将是一个很好的起点.