Подтвердить что ты не робот

UML-плагин для Eclipse - диаграммы классов и генерация кода Java - Indigo/Juno

Я ищу плагин UML для Eclipse. Я знаю, что эти вопросы задавали несколько раз, но большинству из них несколько лет. Из того, что я читал, я бы сказал, что большинство людей предпочитает eUML2, но это официально поддерживает только Helios.

До сих пор я использую argoUML, но отсутствие кнопки отмены действительно является кошмаром юзабилити, если не сказать больше. Кроме того, я предпочел бы интеграцию в Eclipse.

Я хочу:

  • Free/с открытым исходным кодом
  • Активно разработанный инструмент (поддержка Indigo, плановая поддержка Juno)
  • Беспроблемная установка в Eclipse
  • Диаграммы классов
  • Сгенерировать код Java из диаграмм
  • Обновить диаграммы классов после выполнения (в оба конца)

Что было бы неплохо:

  • Другие диаграммы, где для меня наиболее важными являются диаграммы последовательности и использования.

Если на самом деле нет подходящих плагинов Eclipse, я был бы счастлив, если бы вы могли указать другие инструменты, которые являются свободными/открытыми и основанными на Linux, и какой рабочий процесс вы используете для выполнения вышеупомянутых требований.

4b9b3361

Ответ 1

На данный момент я поеду либо с Green UML, либо с UML Lab. Зеленый UML выполняет все вопросы, которые я просил, за исключением того, что я не на сто процентов уверен, что он очень активно развивается. Но последнее обновление - с ноября 2011 года. Оно поддерживает только диаграммы классов, но это нормально для меня. Здесь можно найти здесь.

Кроме этого, я попробую академическую версию UML Lab, поскольку она выглядит немного более перспективной, хотя не быть свободным - это откат.

Ответ 2

Я обязательно перейду с ObjectAid.

Он поддерживает перетаскивание классов и пакетов непосредственно из вашего кода в eclipse. Не нужно открывать другое приложение для вашего моделирования.

Файлы моделей (*.ucls) могут храниться в отдельном проекте в eclipse, в то время как вы кодируете/разрабатываете свои Java-коды в другом проекте. Все это можно сделать на одном сеансе затмения.

Просто хочу подчеркнуть drag-n-drop. Я просто люблю его!

Я использую Eclipse Juno.

Я пробовал другие инструменты моделирования, но не получил того, что хотел.

P.S. Создание диаграмм классов является бесплатным, но для получения диаграмм последовательности требуется оценочная лицензия.

Ответ 3

Papyrus, вероятно, лучший выбор. Он активно развивается и является подкрепленным промышленностью проектом. У него нет возможностей генерации кода, поскольку модель uml хранится в виде модели emf, вы можете использовать acceleo для генерации кода. В оба конца (обновление диаграммы после обновления кода) также не поддерживается. Но он поддерживает многие другие диаграммы UML.

Я попробовал несколько инструментов с открытым исходным кодом и фактически не нашел ничего подходящего для использования внутри eclipse, поэтому я использую Visual Paradigm для UML, Community Edition. Не бесплатно, не делает то, что вы хотите, но для целей моделирования он намного выше любого плагина eclipse.

Ответ 4

Лучше всего Omondo EclipseUML для генерации кода Java, потому что я могу моделировать, а также ручной код. Я никогда не теряю свою модель, потому что возможны несколько итераций, противоположных другим инструментам, работающим только от модели к коду.

Генерация кода Accelero слишком сложна, и код не очень хорош. Он требует, чтобы он исправлял его вручную после его создания. Если несколько пакетов, то отношения между пакетами не генерируются. Я бы сказал, что ускоритель хорош для генерации кода одного класса, но как только у вас есть несколько диаграмм в пакете или нескольких пакетах, лучше не использовать этот плагин.

Ответ 5

Я искал инструмент UML Round Trip Engineering, который поддерживает диаграммы обратного и рисования. Фокус находится на диаграммах последовательности, так как большинство инструментов могут помочь с диаграммами классов, но не с чередованием диалогов.

Среди бесплатных или дешевых инструментов: я попробовал Papyrus, Modisco, Modelio, ObjectAid - первые 3 немного сложнее для некоторого базового обратного хода, как правило, задают слишком много вопросов, чтобы найти источник и библиотеки, и все это неудобно, и они не очень помогают диаграммы последовательности. ObjectAid хорошо работает даже с самым последним затмением (Luna). Последовательные диаграммы имеют дешевую лицензию. К сожалению - ни один из них не понимает аннотации Spring (например, @autowire).

Среди больших и дорогих инструментов, таких как EA, Sparx, Magic Draw, UML Lab (Yatta) - мне не нравится, я считаю их слишком дорогими для того, что они предлагают. Кроме того, Сложный для обратного кода (бесконечные проблемы с источником исходного поиска). Magic и Modelio не могут отменить и автоматически генерировать диаграммы последовательности.

Альтернативой этим дорогостоящим инструментам является Altova UModel, он работает как независимый инструмент или плагин eclipse (я использовал его независимо от eclipse, более быстрая установка, предлагает схему синхронизации с функцией кода). Это единственный инструмент, который может открывать расширения проекта eclipse (не спрашивает о classpaths, однако не может найти библиотеки maven) и не поддерживает аннотации Spring. Java 7 официально не поддерживается, но работает (незначительные исключения с некоторыми редкими генериками). Если они добавят: полную поддержку java 7, поддержку Spring, откройте все рабочее пространство eclipse и поддержите библиотеки pom/maven, это будет лучший инструмент для инженерных работ.

В итоге я использовал ObjectAid, который является бесплатным/дешевым и делает все хорошо (кроме Spring autowire), отсутствует диаграмма связи, что было замечательно в Altova.

HTH кто-то...

PS: я иногда использую MyEclipse Pro, порядочную годовую цену, он может делать некоторые вещи сверху, вам нужно увидеть пробную версию и если UML подходит для деловой документации (слишком много коробок/пакетов делают диаграммы запутанными).