Бесплатная утилита, которая работает в Linux для создания диаграммы классов UML из исходных файлов Java

Я предпочитаю записывать UML-диаграммы на бумаге, а затем реализовать их с помощью Java. Было бы неплохо иметь утилиту, которая могла бы создавать UML-диаграммы для меня, которые я могу использовать в режиме онлайн и включать в цифровую документацию. Другими словами: я хочу создать UML-диаграммы из исходного кода Java.

Утилита должна иметь возможность:

  • Запуск в Linux.
  • Handle Generics, т.е. правильно отобразить List <Foo> в параметрах и возвращаемом типе.
  • Показать наследование классов и реализации интерфейса.

Хорошо, если утилита может:

  • Запуск в Windows и Mac OS X.
  • Показывать перечисления в какой-то приятной манере.
  • Создайте вывод в формате диаграммы, который я могу изменить, используя какую-либо другую утилиту.
  • Выполнить из командной строки.
  • Ограничьте генерацию UML набором пакетов, которые я могу указать.
  • Обрабатывать классы/интерфейсы, которые не являются частью моего исходного кода. Он может включать первый класс/интерфейс, который является внешним в диаграмме UML. Возможно, в другом цвете, чтобы указать, что это библиотека/структура, созданная кем-то другим.
  • Ориентируется на эту задачу и не пытается решить всю проблему документации.

Ответ 1

Один из методов, который мы экспериментировали, представляет собой комбинацию UMLGraph и GraphViz. То, что мы делали в то время, делало создание UML автоматической частью сборки CruiseControl: javadoc был бы построен с встроенными диаграммами UML. Он довольно гладкий.

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

Ответ 2

doxygen имеет почти все, что вам нужно.

Ответ 4

Не ясно, хотите ли вы создать код из UML или изменить код инженера в UML. Если вы хотите создать код из UML, тип проекта Netbeans UML, вероятно, самый простой набор инструментов для Java.

Если вы хотите автономно

StarUML - это более старый инструмент моделирования UML. Он следует большинству руководств UML pre 2. Он может обрабатывать дженерики, но только если вы их вручную вводите. Однако я не думаю, что он правильно генерирует дженерики, если я правильно помню. Вы должны настроить код после генерации.

Хотя я и не свободен, я считаю, что Umodel стоит денег, если вы регулярно делаете UML.

Ответ 5

ArgoUML от tigris.org: см. здесь: это многоплатформенная. Если вы предпочитаете приложение GNU/linux и используете KDE, вы можете использовать Umbrello.

Ответ 6

http://www.magicdraw.com/ - это java, работает на linux, способно сделать uml из кода.

(Лучше всего, что я пробовал до сих пор, включая umbrello, argoUML)