Каков наиболее распространенный способ встраивания UML в код Java? - PullRequest
1 голос
/ 15 ноября 2010

Я пытаюсь добавить UML-последовательности и диаграммы классов в мой Java-код, чтобы объяснить его внутреннюю структуру и концепции проектирования. Мне бы хотелось, чтобы эти диаграммы были указаны в блоках JavaDoc, а затем преобразованы в изображения PNG / GIF, прикрепленные к API HTML.

Какой инструмент я могу использовать для автоматизации этого процесса (я использую Maven 3)?

Ответы [ 3 ]

5 голосов
/ 15 ноября 2010

UML-диаграммы в Javadocs : В этой статье показано, как легко и просто включить диаграммы UML в Javadoc, а также обновлять их при каждом изменении в репозитории исходного кода.

1 голос
/ 03 января 2019

Я написал ant / maven плагин , который использует javadoc для рисования анимации / изображений.

enter image description here

0 голосов
/ 16 ноября 2010

Я думаю, что модель должна быть обновлена, а не только диаграммы, преобразованные в PNG / GIF и т. Д .... Создание автоматической диаграммы не имеет реального значения. Какой интерес, например, показ огромного класса и всех его методов (например, иногда более 100) в одной автоматически сгенерированной диаграмме? Вы могли бы получить огромную диаграмму и не понять, почему этот код был написан, и не могли понять архитектуру и т.д. ... Вы просто видите графическое представление вашего кода, которое не является целью UML !!

Что я делаю в своих проектах для своего кода, так это для использования следующих функций:

  • Показать скрыть Javadoc Показать документ Java в моей диаграмме классов UML

  • Я также использую обратную метод, чтобы получить диаграмму последовательности.

  • Что я ценю больше всего, так это возможность использовать навигацию в коде в реальном времени, а затем извлекать мою модель и осуществлять навигацию только в модели. Я могу смоделировать все, что захочу, и попробовать новую архитектуру, прежде чем дать команду разработчиков.

Я думаю, что автоматическое создание диаграмм для включения в JavaDoc не то, что должно быть сделано. Если вы потратите всего 5 минут вручную, вы сможете обновить существующую модель со всеми изменениями. Вы сможете создавать настраиваемые представления UML, в которые вы сможете добавлять комментарии. Наличие представлений обеспечит лучшую информацию для команды, сэкономит время и повысит качество кода.

Что вы можете сделать, это предоставить средство просмотра UML для каждого разработчика и ссылку в вашем JavaDoc. Разработчик должен будет только щелкнуть ссылку и сможет открыть диаграмму, которая будет автоматически обновляться. Нет более болезненного экспорта изображений, неправильное обновление, потому что, как только изображение было создано, его невозможно изменить. Вы по-прежнему можете создавать новые изображения, но вы теряете свои комментарии, презентации и т. Д. ..... и получаете только статичную огромную диаграмму, включающую все методы, атрибуты и т. Д. ... не в состоянии обнаружить расширенную связь и зависимости. Только определение наследства правильно !!

Ваша UML-модель может использоваться с maven и SVN и действительно приносит реальную ценность вашему проекту и моделированию, чего нельзя достичь с помощью экспорта изображений. Мне кажется, что вы пытаетесь использовать UML-диаграммы просто для того, чтобы добавить UML в свой проект, но добавление экспорта изображений плохо реверсного проекта без представлений, комментариев и т. Д ... не является UML и не имеет значения в проекте Java

...