Существует ли тип элемента UML для исходных папок? - PullRequest
0 голосов
/ 28 ноября 2018

Я узнал, пакеты на самом деле для пространств имен.Но в дереве модели я действительно хотел сгруппировать свои классы и визуализировать их по структуре каталогов проекта (например, файлы исходного кода и заголовка расположены в файловой системе).

Теперь у меня есть конфликт между пакетами, представляющими исходные папкии это интерпретация диаграммы как пространства имен.Например, пакеты "include" и "src" приводят к таким пространствам имен, что является неправильным.

Как я могу решить эту проблему?

Ответы [ 2 ]

0 голосов
/ 03 декабря 2018

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

Диаграмма может точно показать отношения классов (для нее все еще нужен некоторый текст объяснения), и вы также можете увидеть, как он расположен..

enter image description here

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

A NameSpace на самом деле NamedElement, который объединяет PackageImport s, которые имеют один Package.Смотрите рис.7,5 на с.27 из UML 2.5.

Я не использую слишком много различных инструментов UML, поэтому в настоящее время я могу говорить только за Enterprise Architect.Здесь пакет может быть помечен как корень пространства имен.И, вероятно, другие инструменты будут делать то же самое.Таким образом, если вы используете пакеты в качестве пространства имен, вам будет сложно использовать их для другой структуры папок.Если вам нужно это представить, единственное, что вы можете сделать, - это создать отдельную структуру пакета (в конечном итоге стереотипизировать их с помощью <<folder>> или подобного).Затем вы можете использовать оператор вложения для добавления файлов по мере необходимости.

Примерно так: enter image description here

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