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

490

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

eplawless
источник
На мой взгляд, лучше всего использовать yUML, см. Askuml.com
учебное пособие по Rebol,
IBM Rational Modeler имеет бесплатную версию, и если вам нужны дополнительные функции, вы можете оплатить корпоративную версию. Я вполне доволен этим.
Вы можете попробовать дистрибутив Eclipse Modeling Tools . Это затмение, и это бесплатно!
бариста-любитель
Для создания визуальной модели на основе текста я бы рекомендовал yuml.me или plantuml.
AT

Ответы:

354

Некоторый контекст: Недавно для аспирантуры я исследовал инструменты 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

Тед Джонсон
источник
2
Не могли бы вы включить ссылку на вашу оценку, если она может быть опубликована. Недавно я выполнил более простую оценку для клиента и выбрал советник Sparx (для моделей, codegen, импорта кода, рисования, расширяемого), который достаточно компактен и по-прежнему очень хорошо работает на компьютерах Mac с низкой спецификацией в Virtual PC.
Энди Дент
1
Извините за задержку. На самом деле я неофициально исследовал инструменты. Для моего основного исследования я даже не использовал инструмент UML, только бумагу и карандаш. Я продолжал искать эти инструменты. У каждого есть свои сильные стороны. RSM / RSA, на мой взгляд, не очень хорошо работает, например, на компьютерах с низкой спецификацией.
Тед Джонсон
1
@Lucas & Ted: ArgoUML имеет функцию диаграммы последовательности, а также генерацию кода. (0.30)
Солотим
3
Извините, но в чем разница между моделированием и рисованием? Или вы имеете в виду, что моделирование рисует различные типы диаграмм, которые связаны друг с другом, в то время как рисование - это просто рисование статических диаграмм, которые не влияют на другие диаграммы, если их изменить, и наоборот?
Мухаммед Гелбана
3
Я видел, что GenMyModel основан на облаке, модели разрабатываются в веб-браузере. Я убежден, что совместная работа должна стать еще одним важным вопросом в этом ответе: совместное использование, моделирование в реальном времени, управление версиями, репозиторий ... Я опробовал большинство основных настольных uml-инструментов. Для нескольких членов команды не легко работать вместе над одной моделью. Надеемся, что онлайн-моделирование изменит способ, которым многие ИТ-специалисты оценивают и используют моделирование (UML) в своих повседневных проектах разработки. Я бы с удовольствием прочитал больше об онлайн-моделировании. Кто-нибудь знает, если это постоянная тенденция?
Жорж
100

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

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

Стив Ханов
источник
6
Это интересно, но я не уверен, что вижу ценность того, чтобы он был веб-ориентированным - конечно, было бы лучше иметь его на своем ПК, и вы можете сохранять файлы и т.д. знать.
Видар
70
Почему это так высоко, почему не отвечает на вопрос? О, хорошо, я согласен, что это отличный сайт. Первая строка в вопросе гласит «создание диаграмм UML всех разновидностей». Я бы проголосовал за это, но я слаб, поэтому я просто прокомментирую.
Тед Джонсон
2
+1. Я также пришел, чтобы поделиться этим, понимая, что он не отвечает на вопрос полностью. Диаграммы последовательности всегда казались немного неуклюжими / неуместными при сопоставлении с остальной частью UML, но, тем не менее, они являются UML. На мой взгляд, диаграммы последовательности являются наиболее ценной частью UML.
Джастин Сирлс
22
Как вы говорите: «Нет, ваш другой слева»?
Мэтт Брунелл
7
Анонимный пользователь предлагает также использовать PlantUML - бесплатный инструмент Java / Graphviz для создания диаграмм UML из текста. Скорее всего, это инструмент, который этот сайт использует за кулисами.
Коди Грей
46

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

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

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

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

Шон Кирон
источник
Попробовав дюжину или два инструмента UML, я также остановился на EA от Sparx. Я использую только 5-10% своих возможностей, хотя ... :-)
Ярик
1
Это только у меня или управление в EA ужасно, по крайней мере, с UML-классами? Трудно изменить размер вещей и показать только то, что я хочу. Использование макетов по умолчанию размещает классы повсюду. Инструмент выглядит потрясающе, но верстка действительно доставляет мне трудности.
Отметить
1
Я использую Visio для физического моделирования баз данных (признавая, что это не идеально для задачи), и это не так. Если я переименую таблицу, ее имя будет заменено на всех диаграммах (конечно, в том же VSD). Кстати, я использую Sparx для UML-моделирования.
Луис Мартинес
45

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

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

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


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

popopome
источник
Staruml все еще находится в стадии активной разработки?
Fawce
4
К сожалению, похоже, что это только для Windows. Кроссплатформенность - это одно из моих первых требований, когда речь заходит о выборе инструмента для моей команды.
Адам Быртек
4
К сожалению, проект кажется мертвым. Проверьте последние обсуждения в Source Forge для более подробной информации: sourceforge.net/forum/…
Петр Чапла
StarUML не распознает новый синтаксис java1.6. Он мертв.
Солотим
3
кто-то поднял его: sourceforge.net/projects/whitestaruml
fehrlich
31

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

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

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

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

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

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

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

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

Хенрик Густафссон
источник
2
+1 для Dia - это хороший маленький инструмент, и absoloutely большой для блок - схем. Тем не менее, Umbrello довольно сильно обрушивается на меня (в любом случае Qt - это куча грязи).
new123456
24

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

Мэгги Лебер
источник
3
Макет выглядит великолепно, он быстрый и, кажется, его можно использовать за 5 минут. Отличная особенность заключается в том, что вы можете выбрать способ построения диаграммы: иерархическую, органическую, в стиле UML, круговую или древовидную. Это происходит в мгновение ока. Пока у меня есть некоторые оговорки для программного обеспечения, написанного на Java, но это просто изменило мое убеждение :)
J Pollack
21

Визуальная парадигма для UML http://content.usa.visual-paradigm.com/websiteimages/images/products/vpuml60/vpumltitle.gif

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

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

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

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

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

Huppie
источник
1
Я использовал большинство основных инструментов UML (большинство из которых широко) (Rational Rose, Tau, Rhapsody, Enterprise Architect, Visio и некоторые другие) и случайно наткнулся на визуальную парадигму, о которой я никогда не слышал. Это уносит всех остальных из воды. У него есть свои причуды, но работать с ним не так уж и неприятно (по сравнению с другими, которые очень раздражают) и очень мощно.
Данк
2
Определенно визуальная парадигма. Я использовал его в течение некоторого времени, а также недавно оценил другие инструменты моделирования UML (бесплатные и коммерческие), и Visual Paradigm просто лучший, когда дело доходит до удобства использования и четкой структуры пользовательского интерфейса. Кроме того, все диаграммы соответствуют стандартам (к сожалению, не все инструменты моделирования). Я могу сказать, что я также недавно работал по стандартам UML, MOF, XMI. VP - абсолютный фаворит для меня.
Киссаки
19

Взгляните на 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 и более поздних версий является проприетарным программным обеспечением.

Silvia
источник
@ Silvia +1 за рекомендацию BOUML. Жаль, что разработчик был вынужден прекратить его разработку. В отличие от других инструментов, которые больше похожи на игрушки и являются неполными, этот на самом деле способен читать существующий код (обратный инжиниринг) на нескольких языках, а также импортировать из Rational (IBM) Rose и других инструментов UML. Это наша потеря, что он перестал ее развивать.
WinWin
На самом деле, разработка только что была остановлена ​​в его бесплатной форме, основной разработчик теперь использует платные лицензии, постоянно обновляя инструмент.
kikeenrique
На самом деле, есть развилка последнего релиза с открытым исходным кодом, которая в данный момент находится в разработке. Хотя это все еще не совсем там, некоторые вещи работают и работают лучше, чем в оригинале. Google "Douml"
Zeks
Кроме того, мне бы очень хотелось помочь в разработке, потому что есть куча вещей, которые нужно исправить / сделать, и есть только один я :( Atm проект полностью совместим с Qt4, но не все плагины работают из-за портирования ошибок, которые Слишком трудно
избавиться от того
18

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

Эрик Скривнер
источник
Снимок экрана: img516.imageshack.us/img516/2069/violeti.jpg . На мой взгляд, это лучший бесплатный инструмент uml
Chris S
Вау, только что попробовал, и это круто. Единственное, что есть в моем списке желаний - это способ перенаправить стрелки. Т.е. дать им отвратительную середину.
sixtyfootersdude
17

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

Андреас Buykx
источник
14

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

Doug
источник
Скриншоты с режимом UML здесь: live.gnome.org/Dia/Screenshots
Янус Троелсен
Это простой в использовании инструмент, который в любом случае идеально подходит для моих целей (только для диаграмм, без генерации и интеграции кода, прежде всего диаграмм классов). Работает на Linux, Winodws и MacOSX - формат файла можно использовать на разных платформах.
dodgy_coder
13

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

Андре Кастельяно
источник
2
Мне действительно нравится использовать Enterprise Architect. Я не считаю это слишком дорогим, особенно для профессионального использования. И когда вы сравниваете его по цене и характеристикам с рациональной розой, она выигрывает.
Ajaxx
только что выполнив оценку для клиента, я согласен - $ 199 - превосходная стоимость, учитывая, что он включает в себя импорт кода и codegen! Ничто не приблизилось в экономической эффективности.
Энди Дент
Кстати, профессиональный Visio стоит НАМНОГО больше
Борис Треухов
Для компании 200 $ - это всего лишь полдня. Действительно дешево.
Луис Мартинес
13

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

PhiLho
источник
Я только начал использовать UMLet сегодня - короче говоря, это просто, быстро и легко.
Дельф
11

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

Генри
источник
Отсутствующие функции: присвоение имен начальному и конечному состоянию, вложение иерархических диаграмм машин состояний в одну и ту же диаграмму (связывание диаграмм). Что хорошего: постоянные улучшения, автор добавил к спецификации UML, больше, чем просто инструмент для рисования. Работает в UNIX. Предстоит пройти долгий путь, чтобы довести его до уровня функциональности «Enterprise Architect».
user77115
10

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

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

user2189331
источник
10

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

Marcin
источник
С помощью этой же ручки вы можете написать код на другой бумаге и отсканировать его. Благодаря доступной OCRтехнологии вы можете преобразовать ее в текст позже для дальнейшего использования! (Кстати, я также использую ручку и бумагу для диаграмм только потому, что это быстрее, и я также очень люблю рисовать с детства!)
Mahdi
10

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

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

Creately.com

Chands
источник
9

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

nemophrost
источник
Ух ты. LucidChart отлично подходит для этого. Я видел их блок-схемы раньше, но эти инструменты UML просты в использовании и довольно полны для того, что мне нужно.
Сяоцюнь
Я также обнаружил, что LucidChart отлично подходит для составления быстрых, хорошо выглядящих UML-диаграмм. Бесплатная учетная запись позволяет вам иметь неограниченное количество диаграмм, а также вы можете экспортировать в PNG, JPEG, PDF, выбор области или весь документ. Пораженный!
Cam
8

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

Шон Гоф
источник
Мне трудно представить что-либо сложное, используя yuml.
Бисванат
4

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

alexander.o.krutyakov
источник
4

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

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

Lukasz Dziedzia
источник
3

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

Джон
источник
3

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

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

Максим Векслер
источник
3

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

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

Эстер Фан - MSFT
источник
2

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

Мартин Клинке
источник
2

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

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

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

user8690
источник
2

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

Андрей Саву
источник