2010-03-25 2 views
2

Есть ли Java API/библиотека, которую я могу использовать для создания диаграмм UML (класс, последовательность и пакет)? Я хочу иметь возможность встраивать диаграммы в Java-приложение.Java UML API/Библиотека

+0

Возможный дубликат [Как создать UML диаграмм (особенно последовательности диаграммы) из Java-кода] (http://stackoverflow.com/ вопросы/51786 /, как к порождающей-ОМЛУ-диаграммам, особенно последовательность-диаграмму-из-Java-коды) – juanmf

ответ

1

Если вы создаете приложение на платформе NetBeans (или, по крайней мере, с помощью Swing), вы должны иметь возможность использовать NetBeans UML plugin. Обратите внимание на лицензирование (хотя я не ожидаю проблем там) и версии NetBeans (плагин UML недоступен для всех версий NetBeans).

Если вы строите на Eclipse RCP, вы можете использовать плагин UML2.

1

Вы можете попробовать TextUML Toolkit, который может представлять UML-модель в текстовых обозначениях и преобразовывать ее в Graphviz диаграмма только для чтения. Я считаю, что, поскольку у меня нет особого опыта работы с инструментарием, он принимает также модель в метамодели Eclipse EMF UML2 (что является одной из ее зависимостей), поэтому вы можете программно создать модель UML.

Будут довольно близкие зависимости Eclipse от EMF-зависимых подключаемых модулей. Кривая обучения не будет очень плоской (если у вас нет прежнего опыта с Eclipse EMF), но рисование UML-диаграммы не является точно одним лайнером :)

1

Вы можете взглянуть на этот французский учебник, который я нашел на UMLGraph: http://rpouiller.developpez.com/tutoriels/java/generation-diagrammes-uml-avec-umlgraph/

для английского перевода я использовал Google: http://translate.google.co.uk/translate?u=http%3A%2F%2Frpouiller.developpez.com%2Ftutoriels%2Fjava%2Fgeneration-diagrammes-uml-avec-umlgraph%2F&sl=fr&tl=en&hl=&ie=UTF-8

у вас есть сегодня два варианта сегодня в моделировании, которые либо показать статические диаграммы на любом этапе вашего кода реализации (например, UMLGraph или другие плагины) или для использования разработки, основанной на модели (например, UM L). Все зависит от необходимости.

Я бы лично не рекомендовал использовать только графические библиотеки Java, потому что это не UML. Я имею в виду, что UML состоит из диаграмм и модели. Графические библиотеки, такие как UMLGraph, просто дают вам графическое представление пакета. Это похоже на PDF-ридер, которого недостаточно, как только вам нужно создать свой собственный pdf-файл и поделиться им с другими пользователями. Я также не вижу интереса, показывающего статическую диаграмму, потому что эта информация обычно уже доступна в представлении дерева проектов. Я имею в виду, что вы видите классы и классы inners. Наследования видны в первой строке каждого класса, поэтому их очень легко увидеть. Что касается ассоциаций и зависимостей, то все эти графические библиотеки не могут обнаружить их или просто базовые ссылки или даже неправильные ассоциации, поэтому вы не можете использовать ассоциации или ссылки зависимостей с графическими java-библиотеками. Я имею в виду, что обнаружение Java очень просто и поэтому ограничено. Вы никогда не сможете с графическими библиотеками отображать всю java-информацию внутри диаграммы класса UML, потому что будет отображаться только 50% проекта. Если у вас много методов и атрибутов, ваша диаграмма будет настолько большой, что вы не сможете отобразить диаграмму на одной странице. Вам нужны расширенные функции, такие как show hide cartments, re-size и т. Д., Которые доступны только в традиционных инструментах моделирования.

Я думаю, что показывая статические диаграммы классов UML, которые имеют только 50% реальной информации о проекте java, не видны человеческими глазами, потому что больше, чем страница, не имеют модели и программно сгенерированы maven, например, не имеют проекта стоимость. Единственное значение, которое я вижу, является психологическим для менеджера проекта, показывающего диаграммы без смысла для целей презентации для конечных пользователей, которые не знают, что означает UML-моделирование, но полагают, что они знают!

0

Смотрите хороший автономный argouml application, который должен иметь некоторые возможности для отображения УЯМ :-)

Смежные вопросы