如何在序列图中表示通过继承的方法调用? (红宝石)

时间:2018-11-23 10:02:29

标签: ruby ruby-on-rails-3 uml sequence-diagram

class FirstClass < SecondClass; end

class SecondClass
  include ThirdModule 
end

module ThirdModule
  def inherited_method 
  end
end

在UML序列图中如何表示FirstClass.new.inherited_method?我想明确地表明该方法是从ThirdClass继承的(因为我要绘制与另一个序列的并行关系,该序列也使用相同的继承方法)。

1 个答案:

答案 0 :(得分:1)

尽管我的Ruby有点生锈,但这是一种方法。类图看起来像

enter image description here

(假设Ruby中的“ <”运算符是继承)。 ThirdModule被定型为<<module>>,因为它只是某些操作的容器,而不是实际的类。这不是标准,但是您需要在要建模的领域中引入一些东西。

inherited_method的呼叫看起来像

enter image description here

请注意,诸如Enterprise Architect之类的工具无法识别导入的操作,并且不会在消息列表中将其提供给FirstClass,因此您需要手动输入。