Генератор Java в UML в Linux

Я хочу создать диаграммы классов UML из моего фактического кода Java. Я использовал Visual Paradigm , когда у меня была академическая лицензия, но, поскольку это довольно дорого, я хотел бы получить некоторые рекомендации.

Необходимый

  • Смотрите ссылки между классами
  • Это позволяет мне изменять UML после генерации (может работать svg).
  • Бесплатно даже для коммерческого использования
  • линукс

Хороший плюс

  • Не зависит от KDE (имеет небольшие зависимости)
  • Посмотрите, какие поля связаны из класса в другой
  • Смотрите ссылки между пакетами
  • Открытый исходный код
  • Легкий вес (Visual Paradigm ужасно тяжелый, и это иногда раздражало)

Я не против, если это плагин eclipse или отдельное приложение.

Следовать за

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

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

Ответы (2)

Мне нужно было сделать это некоторое время назад, и у меня был лучший результат с помощью umlgraph .. изменив файлы сборки ant (в разделе javadoc), вы получаете диаграммы UML, созданные для вас всякий раз, когда вы делаете цель, которая включает javadoc.

Под капотом umlgraph использует graphviz, поэтому вам понадобится установленный graphviz, но я уверен, что он будет в стандартном репозитории любого используемого вами дистрибутива.

Я нашел эту статью действительно полезной, когда мне пришлось это сделать.

Некоторые альтернативы

  • ydoc (от yworks) выполняет доклет javadoc.. Функции, аналогичные umlgraph, при встраивании диаграмм классов на основе SVG или flash (и других UML) в сгенерированные файлы javadoc. В отличие от umlgraph, это полностью автономный инструмент с графическим интерфейсом.

  • ObjectAid стоит всего 19 долларов и был весьма многообещающим и очень полезным.

Я сохранил некоторые заметки о других инструментах (в том числе о плагинах на основе eclipse) ... и могу их откопать, если вам интересно посмотреть на другие альтернативы.

Звучит как отличное решение. Я уже использовал graphviz с doxygen и не думал использовать его с javadoc. Я попробую, как только у меня будет время для этого.
@Johnride, да, смешивание с файлами сборки ant или maven очень полезно. Однако, учитывая то, что вы описываете, ObjectAid кажется идеальным. Кажется, они пересмотрели свою лицензию, и вам нужна лицензия только для диаграмм последовательности ... ну, вы также можете получить оценочную лицензию. Это плагин eclipse, который отражает изменения (новый код, рефакторинг) в вашем коде в eclipse. Я действительно думаю, что вам следует присмотреться к нему повнимательнее.
Вот разбивка objectaid на то, что бесплатно, а что стоит небольшую лицензионную плату ... вместе со стоимостью их лицензий. Действительно приятный.

Проект Eclipse Papyrus позволит вам сделать это. Он работает на Linux и совершенно бесплатен.

Я использовал его пару раз. Он выполняет свою работу, но не создает хороших диаграмм, подобных тем, которые созданы в VS, которые выглядят действительно круто.

Есть еще несколько вариантов, некоторые из них в этом вопросе SO: https://stackoverflow.com/questions/6167266/generate-uml-class-diagram-from-java-project

Ребята, если вам не нравится ответ, скажите почему. Не просто тайно отрицайте это, как некоторые трусы. Отдельно хочу отметить, что Papyrus меня не впечатлил. Я провел день, изучая его, и не мог понять, как превратить весь проект в UML. UML одного класса Java практически бесполезен.