Бесплатная утилита, которая работает в 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 имеет почти все, что вам нужно.
Ответ 3
Несколько месяцев назад я написал инструмент простой с именем "java2dot". Он не обрабатывает все ваши требования, но может помочь.
http://plindenbaum.blogspot.com/2008/10/javadoc-is-not-enough-java2dia.html
Ответ 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)