Показать два проекта в одной диаграмме UML - PullRequest
0 голосов
/ 23 сентября 2011

У меня есть enum с двумя зависимостями.Эти два находятся в разных проектах (я кодирую на Java).Я хочу показать эту зависимость в диаграмме UML, но как я могу показать, из каких проектов эти классы?(Я знаю, что для пакетов вы можете поместить это так: Package :: pkgName).Любые идеи будут полезны.Спасибо

Ответы [ 3 ]

0 голосов
/ 23 сентября 2011

Если вы используете Eclipse и java, у вас есть функция, которая позволяет объединить два разных проекта.Я имею в виду открыть проводник пакетов и нажать на название проекта, затем выбрать присоединиться или объединиться с. Я не помню точный заголовок меню, но его легко найти.

После того, как оба ваших проекта былиПрисоединившись, вы можете создать диаграмму классов и просто перетащить в одну и ту же диаграмму два классификатора из разных проектов.

0 голосов
/ 24 сентября 2011

Проект в смысле «набора запланированных действий и результатов с общей целью» не может быть разумно закодирован в UML.

Проект в смысле «набора связанных файлов и метаданных, который позволяетIDE для компиляции и запуска программы "выходит за рамки UML, поскольку это артефакт среды разработки, а не артефакт проектирования приложения.

Например, вы можете решить использовать несколько проектов для каждого модуля вашего приложения или один проект для всех модулей.Это не изменит ваш дизайн, только инструкции для IDE - даже возможно, что разные члены команды имеют разные конфигурации проекта, особенно если некоторые используют Eclipse, другие IntelliJ IDEA и некоторые EMACS.

С другой стороны,если вы все еще хотите обозначить логические наборы классов, у вас есть опции - формальный способ будет использовать теговые значения.В качестве альтернативы я часто использую цвета (например, зеленый для общедоступного API, желтый для точек расширения / SPI и красный для классов реализации; или синий для компонента многоадресной рассылки с низкой задержкой, зеленый для гарантированных компонентов обмена сообщениями).

Выможет также использовать отдельную диаграмму компонентов, показывающую, какому классу принадлежит какой компонент (не забывайте строить uber-диаграммы, но вместо этого стремитесь к простоте и показывая только соответствующие аспекты проекта)

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

0 голосов
/ 23 сентября 2011

Каким инструментом вы пользуетесь?

В Rational Rose, если у вас такая структура:

Folder1
 |___Class1
Folder2
 |___ClassDiagramX

и ClassDiagramX показывает Class1, тогда вы увидите небольшой «стереотип», похожий на заметкус указанием «from Folder1» в поле, представляющем Class1.

Этого должно быть достаточно.

Существуют и другие варианты использования fancy-colourful-notes, но мне их наплевать.

- редактировать-- Не зная инструмента, я не могу сказать, что вы можете и не можете сделать.Из UML pov я не знаю ни одного определенного соглашения, поэтому все, что вы хотите, может быть использовано.Диаграмма классов является представлением и не влияет на метаданные класса (например, к какому проекту он принадлежит).Поэтому, пока «класс» находится в правильном пакете, не имеет значения, как он «показан» на диаграмме классов.

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

ИЛИ

«добавьте строку», если это возможно в вашем инструменте.

...