Подтвердить что ты не робот

Диаграмма классов и универсалов UML

Как вы указываете общий класс или интерфейс в диаграмме классов?

Я ищу две вещи:

  • Как я могу моделировать общие классы Java, если бы я делал это с помощью ручки и бумаги.
  • Во-вторых, какие инструменты uml поддерживают общие классы/интерфейсы.

Спасибо!

4b9b3361

Ответ 1

Обычно генераторы представлены как параметр шаблона классификатора. Вот пример, как он выглядит в модуле UB NetBeans:

enter image description here

Ответ 2

UML называет их параметризованными типами - см. примеры здесь.

Что касается инструментов, я знаю, что MagicDraw поддерживает их.

Ответ 4

Как я могу моделировать общие классы Java, если бы я делал это с помощью ручки и бумаги.

AFAIK нет конкретной поддержки для этого в UML, лучше всего использовать стереотип типа <<generic>>. Но на бумаге с ручкой нет ничего проще, чем писать MYType<T>: -)

Во-вторых, какие инструменты uml поддерживают общие классы/интерфейсы.

Стереотипы поддерживаются всеми инструментами UML, которые я видел до сих пор. Конечно, уровень поддержки может отличаться; однако, поскольку я почти не использую никаких инструментов UML, кроме салфеток:-) У меня нет большой базы для сравнения здесь.

Ответ 5

Я ищу две вещи на самом деле: один из них - это то, как я могу создать общие классы Java, если бы я делал это с помощью пера и бумаги.

Книга Крейга Лармана Применяя UML и Patterns 3e, есть инструкторские слайды с рисунками из книги. На рисунке 15.5 показано следующее:

введите описание изображения здесь

Во-вторых, какие инструменты uml поддерживают общие классы/интерфейсы.

Мне нравится PlantUML, который производит следующее изображение из

skinparam style strictuml
participant sales as "sales:\nArrayList<Sale>"

введите описание изображения здесь

Для диаграмм классов, производит

skinparam style strictuml
hide empty members
class "ArrayList<Sale>" as S
class Store {
Store()
}
Store "1" -> "1" S : "            sales  "

введите описание изображения здесь

Ответ 6

В Netbeans Объект для использования называется "Классификатор деривации". Это объект, который следует использовать для MyGeneric в ответ от Виталия Федоренко

Ответ 7

Как я могу моделировать общие классы Java, если бы я делал это с помощью ручки и бумаги.

Это обобщение стрелка, базовый класс, если он абстрактный, должен быть написан курсивом. Также можно отметить стереотип.

Во-вторых, какие инструменты uml поддерживают общие классы/интерфейсы.

Используйте http://staruml.io/. Действительно хороший инструмент, вы можете управлять всеми проектными диаграммами в одном месте. В правом верхнем углу есть дерево объектов/диаграмм, поэтому вы можете использовать одни и те же классы (другие объекты) на разных диаграммах.