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

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

Утилита должна уметь:

  • Запуск в Linux.
  • Обрабатывать обобщенные значения, т.е. правильно отображать список в параметрах и типе возвращаемого значения.
  • Показать наследование классов и реализации интерфейса.

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

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

Ответы [ 5 ]

6 голосов
/ 10 апреля 2009

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

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

2 голосов
/ 10 апреля 2009

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

2 голосов
/ 10 апреля 2009

Несколько месяцев назад я написал простой инструмент с именем "java2dot". Он не отвечает всем вашим требованиям, но может помочь.

http://plindenbaum.blogspot.com/2008/10/javadoc-is-not-enough-java2dia.html

0 голосов
/ 10 апреля 2009

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

0 голосов
/ 10 апреля 2009

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

Если хочешь остаться один

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

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

...