Какой лучший инструмент для построения диаграмм UML?

Я пытаюсь выбрать инструмент для создания UML-диаграмм всех видов. Удобство и простота использования - это главный критерий для меня, но я все равно получу больше энергии с более крутой кривой обучения и буду счастлив. Бесплатно (как в пиве) было бы неплохо, но я был бы готов заплатить, если инструмент того стоит. Что я должен использовать?

50 ответов

Решение

Некоторый контекст: Недавно для аспирантуры я исследовал инструменты UML для удобства использования и понимания UML в целом для независимого проекта. Я также модель / архитектор для жизни.

В предыдущих постах слишком много ответов и недостаточно вопросов. Распространенным заблуждением является то, что UML - это создание диаграмм. Конечно, диаграммы важны, но на самом деле вы создаете модель. Вот вопросы, на которые нужно ответить, поскольку каждый продукт / решение поставщика делает некоторые вещи лучше, чем другие. Примечание. Перечисленные ответы, на мой взгляд, являются лучшими, даже если другие продукты поддерживают определенную функцию или необходимость.

  • Вы моделируете или рисуете? (Рисование - ArgoUML, бесплатные реализации и Visio)
  • Будете ли вы моделировать в будущем? (Для базового моделирования - Общественные издания платных продуктов)
  • Вы хотите формализовать свое моделирование через профили или метамодели? OCL? ( Sparx, RSM, Визуальная Парадигма)
  • Вы обеспокоены переносимостью модели, поддержкой XMI? ( GenMyModel, Sparx, Визуальная Парадигма, Альтова)
  • У вас есть существующий набор документов, с которыми вам нужно работать? (Зависит от документов)
  • Вы хотите создать заглушки кода или полностью функционирующий код? ( GenMyModel, Visual Paradigm, Sparx, Altova)
  • Вам нужны более зрелые процессы, такие как управление сценариями использования, создание шаблонов, создание активов, интеграция RUP и т. Д.? (RSA/RSM/IBM Rational Products)

Подробные примеры: IBM Rational Software Architect не реализовывал UML 2.0 полностью, когда речь идет о реализации взаимосвязей типов при создании профиля UML, но Visual Paradigm и Sparx сделали это правильно.
Хорошо, это было слишком подробно, поэтому более простым примером был бы ArgoUML, который не имеет функций генерации кода и фокусируется на рисовании больше, чем аспект моделирования UML.
Sparx и Visual Paradigm действительно хорошо работают с UML и хорошо генерируют код, тем не менее, RSM/RSA сильны благодаря использованию жизненных циклов проекта и других процессов.
Остерегайтесь закрытых или специфичных для продукта процессов или структур генерации кода, так как в итоге вы можете застрять в этом продукте.

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

NEW - Нашел хороший список многих инструментов UML с описаниями. Список инструментов Wiki UML

Только для диаграмм последовательности, попробуйте http://websequencediagrams.com/. Это бесплатный продукт (бесплатно для базовых задач, оплачивается за расширенные функции), который позволяет быстро создать диаграмму без суеты с линиями и трафаретами.

Алиса-> Боб: Запрос аутентификации
записка слева от Боба: Боб думает об этом
Боб-> Алиса: Ответ аутентификации

Для меня это Enterprise Architect от Sparx Systems. Очень округленный инструмент UML по очень разумной цене.

Очень сильный список возможностей, включающий: интегрированное управление проектами, базовый уровень, экспорт / импорт (включая экспорт в html), генерацию документации из модели, различные шаблоны (Zachman, TOGAF и т. Д.), Плагины IDE, генерацию кода (с плагинами IDE, доступными для Visual Studio, Eclipse и другие), API автоматизации - список можно продолжить.

О да, не забывайте о поддержке управления исходным кодом непосредственно из инструмента (SVN, CVS, TFS & SCC).

Я бы также держался подальше от Visio - вы получаете только диаграммы, а не модель. Переименуйте класс в одном месте в инструменте моделирования UML, и вы переименуете во всех местах. Это не так в Visio!

Для моей простой и короткой работы с UML я использовал этот инструмент:

StarUML - http://staruml.sourceforge.net/en/

Отличное бесплатное программное обеспечение для рисования UML.


Хотя оригинальный Star UML больше не поддерживается, теперь есть развилка под названием White Star UML, которая активно развивается.

Поскольку я обычно использую UML скорее как средство коммуникации, а не как инструмент моделирования, мне иногда нужно немного согнуть язык, что делает инструменты строгого моделирования довольно громоздкими. Кроме того, они, как правило, имеют большие накладные расходы для случайного рисования. Это также означает, что я не даю инструментам, которые хорошо справляются с моделированием в обе стороны, никаких бонусных баллов. Имея это в виду...

При использовании Visio я склонен использовать эти трафареты для своих нужд UMLing (встроенный вид отстой). Вполне возможно, что я привык к этому, так как он является основным инструментом построения диаграмм в моем текущем задании.

В OmniGraffle также есть некоторые встроенные трафареты UML, и в Graffletopia доступно еще больше, но я бы не рекомендовал это в качестве инструмента для построения диаграмм, поскольку в нем слишком много причуд (причуд, которые хороши для многих вещей, но не для UML). Хотя бесплатная пробная версия, так что во что бы то ни стало...:)

Я немного опробовал MagicDraw, но, несмотря на свою функциональность, пользовательский интерфейс отвлекал.

В противном случае я нахожу Topcased интересным проектом (или группой проектов). В прошлый раз, когда я использовал его, у него все еще были некоторые ошибки, но он работал, и, кажется, с тех пор развивался хорошо. Прекрасно работает на любой платформе с поддержкой Eclipse. Бесплатно как в слове, так и в пиве

Что касается инструмента для построения диаграмм Dia, он довольно уродлив (интерфейс и получающиеся чертежи), но он выполняет свою работу. Интересная альтернатива бесплатному инструменту для моделирования - Umbrello, но я не особо его использовал.

Я определенно согласен с Маши, что доски отлично подходят (вместе с цифровой камерой или мобильным телефоном).

Вероятно, некоторые из самых хороших инструментов, которые я использовал, принадлежат к семейству инструментов Rational.

Возможно, вы ищете автоматизированный инструмент, который будет автоматически генерировать много вещей для вас. Но вот бесплатный, в общем, мощный инструмент построения диаграмм, полезный не только для UML, но и для всех видов задач построения диаграмм. Он принимает в качестве входных и выходных данных широкий спектр широко используемых форматов файлов. Это называется YEd, и это стоит посмотреть

http://content.usa.visual-paradigm.com/websiteimages/images/products/vpuml60/vpumltitle.gif

Мне очень нравится Visual Paradigm для UML. Он очень мощный, имеет бесплатную Community Edition и дешевую Personal Edition.

http://content.usa.visual-paradigm.com/websiteimages/images/products/ag10/agtitle.gif

Для гибкого моделирования есть также Agilian, который немного более гибок, добавляет дополнительные функции для поддержки smartboards и также хорошо разбирается.

В их продуктах мне больше всего нравится гибкость. В настоящее время я использую Enterprise Architect на работе, но думаю, что он недостаточно умен. Я хочу иметь возможность быстро провести мозговой штурм некоторых диаграмм последовательности и сделать так, чтобы приложение постоянно обновляло мою модель в фоновом режиме, что VPUML делает очень хорошо.

На мой взгляд, это лучше, чем Enterprise Architect, хотя и это отличный инструмент:)

Взгляните на BOUML: мультиплатформенность (QT), работает довольно хорошо и поддерживает совместную работу.

BOUML - это бесплатный набор инструментов UML 2 (в стадии разработки), позволяющий вам задавать и генерировать код на C++, Java, Idl, Php и Python.

BOUML работает под Unix/Linux/Solaris, MacOS X(Power PC и Intel) и Windows.

Из Википедии:

Выпуски до версии 4.23 являются свободным программным обеспечением, лицензированным по лицензии GPL. BOUML 5 и более поздние версии являются проприетарным программным обеспечением.

Если вы хотите выйти на улицу и работать над UML, не изучая сложный новый инструмент, я бы попробовал Violet UML. Я использовал его для довольно большого успеха в прошлом.

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

Dia - это возможный выбор. Это определенно не лучший инструмент, но он функциональный.

Enterprise Architect от Sparx systems - лучший инструмент, который я использовал. Немного дороже в 199 долларов (профессиональное издание), но IMO оно того стоит.

Я добавлю UMLet, который я еще не пробовал, но был выбран в моем офисе, чтобы начать делать диаграммы.
Выглядит просто, диаграммы не сексуальны, но они кажутся достаточно полными в отношении типов диаграмм, которые вы можете сделать. Кажется, что также имеет хорошие возможности экспорта (важно!), Он гибок, может поддерживать пользовательские компоненты) и может использоваться как плагин Eclipse.

Astah UML (бывший Джуд) довольно хорош.

Вы должны попробовать Creately. Работает в вашем браузере и может сделать совместную работу.

поддерживает диаграммы последовательности, класс, ER, usecase и т. д. отлично работает и имеет бесплатную версию.

http://creately.com/

Ручка и бумага. Если вы можете получить отсканированные изображения в векторном формате, это может быть полезно при внесении незначительных изменений.

Я не смог найти первоклассный бесплатный инструмент для построения диаграмм UML, но если вы заинтересованы в чистом построении диаграмм, в отличие от кругового проектирования, я бы выбрал Microsoft Visio. Если вам нужна полная прокачка, Rational Rose.

Этот список инструментов UML в Википедии также может пригодиться.

Вы также можете проверить Lucid Chart для UML и других типов диаграмм.

Не забывайте http://yuml.me/, я люблю это.

Мне нравится VisualParadigm, упомянутый ранее в этой теме. Он мощный и простой в использовании, я думаю, он дает больше возможностей по сравнению с другими инструментами.

Если вам нужно что-то простое, быстрое и легкое (и бесплатное), есть отличный инструмент под названием UMLet - я очень рекомендую это. Я испробовал многие инструменты построения диаграмм UML, и это самый простой (и он все еще позволяет создавать отличные диаграммы). Это мой выбор:)

В своей практике я использую редактор диаграмм последовательности. это действительно быстрый и полезный инструмент. Единственное, что мне не нравится в этом, это то, что это коммерческий продукт, а не бесплатный.

Я не могу поверить, что никто не упомянул редактор UML NetBeans, он великолепен и удовлетворяет всем моим требованиям UML на основе Java.

Это после того, как я протестировал JDeveloper UML, ArgoUML и StarUML.

Очевидно, что если вы серьезно относитесь к UML в долгосрочной перспективе, вам нужно использовать программный инструмент UML, подобный тому, который был предложен в других ответах, но я обнаружил, что доска является одним из лучших инструментов для построения диаграмм UML, особенно во время проектирования. фаза, или когда вы изучаете различные альтернативы. Ничто не сравнится с доской для скорости / гибкости в моем уме. Они также отлично подходят для совместной работы, если вы находитесь в физическом контакте.

Недавно я провел опрос " Какими инструментами UML вы пользуетесь?" в моем блоге. NETBeans UML был лучшим выбором с открытым исходным кодом, а Enterprise Architect был лучшим коммерческим выбором.

На мой взгляд,StarUML - лучший.

Вы можете создавать классы UML, последовательности, компоненты, варианты использования и диаграммы действий в Visual Studio 2010 Ultimate. Вы можете связать эти диаграммы с рабочими элементами Team Foundation, чтобы можно было планировать и отслеживать работу по разработке и тестированию. Вы также можете создавать последовательности, графики зависимостей и диаграммы уровней из кода и использовать обозреватель архитектуры для просмотра и изучения своего решения.

Я разместил больше ссылок в Esther Fan - MSFT для получения дополнительной информации.

Возможно, вы захотите взглянуть на MagicDraw или Visual Paradigm для UML. Оба предлагают общественные выпуски, которые, конечно, не охватывают весь диапазон функций, но вполне могут быть достаточными, если вы хотите создавать только диаграммы, а не генерировать код или выполнять полное циклическое проектирование.

Для диаграмм последовательности вы также можете попробовать Trace Modeler. Это не бесплатно, но имеет отличный интерфейс, очень дружелюбный и продуктивный. Вы можете использовать его на любой платформе.

Rational and Together/J - лучшие в своем классе продукты, но дорогие.

По моему опыту, мне понравились Eclipse Omondo и Sparx Enterprise Architect. Omondo прекрасно интегрируется с Eclipse для генерации кода и обладает интуитивно понятным интерфейсом. Тем не менее, он сильно привязан к Java. Sparx - хороший инструмент для определения цены, но ему не хватает всего спектра диаграмм UML 2.0.

НЕ связывайтесь с Посейдоном. Это глючит, раздутый и непригодный для всех намерений и целей.

Другие вопросы по тегам