Диаграмма классов UML и общие сведения - PullRequest
33 голосов
/ 24 января 2011

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

Я действительно ищу две вещи:

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

Спасибо!

Ответы [ 7 ]

33 голосов
/ 24 января 2011

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

enter image description here

16 голосов
/ 24 января 2011

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

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

5 голосов
/ 24 января 2011

Шаблон UML поможет!

Определение универсальных шаблонов с помощью шаблонов UML
http://www.eclipse.org/articles/article.php?file=Article-Defining-Generics-with-UML-Templates/index.html

3 голосов
/ 24 января 2011

Один из них - как мне моделировать общие классы Java, если я делал это ручкой и бумагой.

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

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

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

2 голосов
/ 19 июня 2017

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

Книга Крейга Лармана Применение UML и шаблонов3е есть слайды инструктора с рисунками из книги.Следующее из рисунка 15.5:

enter image description here

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

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

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

enter image description here

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

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

enter image description here

0 голосов
/ 12 июля 2017

Один из них - как мне моделировать общие классы Java, если я делал это с ручкой и бумагой.

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

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

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

0 голосов
/ 08 ноября 2013

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

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...