Как смоделировать использование одного интерфейса в качестве параметра для метода другого интерфейса в UML? - PullRequest
2 голосов
/ 25 октября 2010

Я использую Визуальная парадигма для UML для моделирования нашей иерархии классов. У меня часто бывает случай, когда один из наших интерфейсов имеет метод, требующий реализации другого нашего интерфейса в качестве параметра метода. Пример (C ++, интерфейс = абстрактный класс):

class IFoo {
public:
    virtual void bla() = 0;
};

class IBar {
public:
    virtual void meep(IFoo &) = 0;
};

У меня нет проблем с моделированием обоих интерфейсов, но мне интересно, какой тип ассоциации использовать для визуального представления отношений этих двух интерфейсов. В настоящее время я использую отношение Usage, предоставляемое Visual Paradigm, но я не уверен, действительно ли это предназначено для этого сценария. Это правильное отношение к использованию? Если нет, то как я могу смоделировать эти отношения?

Ответы [ 2 ]

0 голосов
/ 26 октября 2010

Вы можете использовать стрелку зависимости, указывающую интерфейс с зависимой операцией на интерфейс, используемый в качестве параметра в операции. Затем вы можете смоделировать специфику зависимости, предоставив полную сигнатуру зависимых операций в элементе модели интерфейса.

Если вы хотите предоставить еще более подробное описание природы зависимости, вы можете прикрепить примечание к стрелке зависимости.

Используя ваш пример:

alt text

0 голосов
/ 25 октября 2010

По крайней мере, на диаграмме классов нет визуального представления о том, что происходит.

Предложение Usage, которое вы предложили, сделало бы некоторую метаинформацию, я полагаю. Альтернативой было бы указать его на диаграмме вариантов использования. Но это также было бы то, что я бы назвал «внеполосным» или на мета-уровне, поскольку случаи использования обычно используются только для передачи теплого, пушистого ощущения документирования чего-либо ...

...