Как представить вызов метода через наследование в диаграмме последовательности?(Рубин) - PullRequest
0 голосов
/ 23 ноября 2018
class FirstClass < SecondClass; end

class SecondClass
  include ThirdModule 
end

module ThirdModule
  def inherited_method 
  end
end

Как бы я представил FirstClass.new.inherited_method в диаграмме последовательности UML?Я хочу явно показать, что метод унаследован от ThirdClass (потому что я собираюсь провести параллель с другой последовательностью, которая также использует тот же унаследованный метод).

1 Ответ

0 голосов
/ 23 ноября 2018

Хотя мой Ruby немного заржавел, вот подход.Диаграмма классов будет выглядеть следующим образом:

enter image description here

(при условии, что оператор "<" в Ruby является наследованием).<code>ThirdModule стереотипируется с <<module>>, так как это просто контейнер для некоторых операций, а не настоящий класс.Это не стандарт, но что-то, что вам нужно ввести в домен, где вы моделируете.

Вызов inherited_method будет выглядеть как

enter image description here

Обратите внимание, что такие инструменты, как Enterprise Architect, не могут распознавать импортированные операции и не будут предлагать их в списке сообщений для FirstClass, поэтому вам необходимо ввести их вручную.

...