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

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

Ответов (25)

Решение

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

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

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

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

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

НОВИНКА. Найден хороший список многих инструментов UML с описаниями. Список инструментов Wiki UML

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

Как уже упоминалось, ArgoUML является достойным инструментом для UML 1.4 и недавно (осень 2008 г.) получил некоторые столь необходимые обновления для обслуживания.

Я советую использовать Pacestar UML Diagrammer . Он помогает быстро , легко и гибко создавать диаграммы UML 2.0 , а также использовать их в общепринятых обозначениях.

Я использовал его во многих проектах и ​​очень доволен. Кроме того, он не использует много памяти и места на жестком диске всего за 6 месяцев.

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

+1 для TopCoder UML Tool после того, как я попробовал большинство других бесплатных инструментов.
Мои причины:

1) Инструмент может сохранять диаграммы UML в удобочитаемом формате XMI, поэтому файл можно легко передать в систему контроля версий.

2) Поддержка Undo / Redo (по этой причине я разрядил ArgoUML).

3) Схема хранится в одном файле и не связана тесно с «рабочей областью» или «проектом».

StarUML тоже хорош, хотя и старый. К сожалению, он больше не разрабатывается / не поддерживается.

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

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

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

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

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

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

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

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

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

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

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

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

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


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

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

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

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

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

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

Визуальная парадигма для UML 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

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

Что мне больше всего нравится в их продуктах, так это гибкость. Сейчас я использую 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, но и для всех видов задач построения диаграмм. Он принимает в качестве входных и выходных данных широкий спектр широко используемых форматов файлов. Это называется yEd, и на него стоит взглянуть

АргоУМЛ .

Я использовал это в своей диссертации, и он хорошо продуман: возможно, в нем слишком много функций, не очень важных, но я предпочитаю иметь какую-то полезную функцию, чем не иметь какой-либо полезной функции.

Я настоятельно рекомендую BOUML . Это бесплатное приложение для моделирования UML, которое:

  • чрезвычайно быстрый ( самый быстрый инструмент UML из когда-либо созданных, ознакомьтесь с тестами ),
  • имеет надежную поддержку импорта C++, Java, PHP и других,
  • является мультиплатформенным (Linux, Windows, другие ОС),
  • имеет отличную поддержку экспорта SVG, что важно, потому что просмотр больших графиков в векторном формате, который быстро масштабируется, например, в Firefox, очень удобен (вы можете быстро переключаться между представлением "с высоты птичьего полета" и представлением сведений о классе),
  • полнофункциональна, впечатляюще интенсивно разработана (посмотрите на историю разработки , трудно поверить, что такой быстрый прогресс возможен).
  • поддерживает плагины, имеет модульную архитектуру (это позволяет пользователям вносить свой вклад , похоже, что сообщество BOUML формируется)

Поверьте, лучшего инструмента нет. StarUML - отсталая черепаха по сравнению с BOUML. ArgoUML просто не работает. Dia - это программа для эргономики ^ -1.

Просто добавляю сюда две части, но я обнаружил, что ArgoUML очень полезен. Требуется некоторое время, чтобы привыкнуть к нему, и он немного глючит (последний раз я проверял, что он был в версии .29 или около того), но он работает довольно хорошо, как только вы к нему привыкнете. Он обрабатывает все типы диаграмм UML, поэтому я предпочитаю его. Кроме того, он сделан tigris, теми же людьми, которые сделали subclipse, плагин репозитория SVN для Eclipse.

Если вы хотите моделировать на уровне диаграммы, а также иметь чистую метамодель, новая сборка Omondo позволяет синхронизировать в реальном времени между диаграммами MOF и UML. Просто удивительно видеть синхронизацию моей диаграммы и xmi live каждый раз, когда я что-то меняю в диаграмме, и модель меняется. Что наиболее невероятно, так это то, что модель также является метамоделью и MOF, потому что все живет синхронно. С моей точки зрения, очень мощная новая концепция.

Мне также нравятся аннотации кода Java и поддержка JPA в диаграмме классов и в модели. Я не знаю другого инструмента, обладающего этими 2 невероятными функциями !!

Взгляните на Sybase PowerDesigner

http://www.sybase.com/products/modelingdevelopment/powerdesigner

Описание:

http://en.wikipedia.org/wiki/PowerDesigner

Это очень мощный инструмент, но его цена тоже стоит!

TopCoder UML Tool очень хороший бесплатный инструмент UML.

Для диаграмм последовательностей существует бесплатный редактор Quick Sequence Diagram Editor на основе Java . Последовательность записывается в текстовом редакторе, а затем обрабатывается механизмом QSDE. Он экспортирует в различные векторные и растровые форматы файлов.

фиолетовый

Бесплатно и очень просто в использовании.

Я рекомендую Software Ideas Modeler . Он имеет множество функций и интуитивно понятный графический интерфейс.

Я пробовал MagicDraw, и он очень хорош, правда, только в версии от сообщества.

Еще я пробовал омондо, выглядит фантастически, но для коммерческого использования очень дорого.

В моей карьере мне часто приходилось рисовать диаграммы UML и генерировать код Java. Я нашел MagicDraw наиболее привлекательным, и я счастливый пользователь. Я считаю, что их модель лицензирования справедлива, потому что она позволяет платить за то, что вам нужно. Я предпочитаю его другим продуктам, которые использовал в (далеком) прошлом: ArgoUML, Poseidon, Rational Rose, Dia. Имейте в виду, что мой опыт работы с другими продуктами устарел и, возможно, значительно улучшил или изменил их модель лицензирования. Возможно, вам стоит начать с инструмента с открытым исходным кодом и позже решить, стоит ли тратить немного денег.

С MagicDraw вы можете документировать свой код, создавая диаграммы из кода. Вы также можете сначала смоделировать, а затем сгенерировать код. Он также хорошо интегрируется с несколькими IDE.

Я использую gmodeler.com . Он просто делает диаграммы классов.

Хорошие вещи

  • Очень простой набор функций. Отличный интерфейс. Очень проста в использовании.
  • Привлекательный интерфейс.
  • Не нужно входить в систему / создавать учетную запись
  • Можно сохранять диаграммы
  • Бесплатно

Плохие вещи

  • Трудно сотрудничать - нужно экспортировать в xml (мне все равно)
  • Не могу получить доступ к диаграммам с любого компьютера, потому что они сохраняются в вашем браузере (мне все равно)
  • Не могу экспортировать как изображение или PDF (я могу сделать снимок экрана)
  • Невозможно сгенерировать код для большинства языков
  • Очень простой набор функций. (Мне все равно)
  • У каждого класса есть список «Событий», который мне не нужен и от которого я не могу избавиться.