В прошлом уроке мы разобрали все 14 типов UML-диаграмм и выделили «большую пятёрку», которая покрывает 90% задач. Знать нотацию — это половина дела. Вторая половина — уметь быстро нарисовать диаграмму так, чтобы коллеги её поняли, а вы не потратили на это весь день. Рисовать на салфетке — романтично, но салфетка не синхронизируется с Git и не экспортируется в PDF.

Инструментов для UML — десятки. Одни бесплатные, другие стоят как подписка на спортзал. Одни работают прямо в браузере, другие требуют установки и лицензии. Одни рисуют мышкой, другие генерируют диаграммы из текста. Мы пройдёмся по самым популярным и поможем выбрать тот, который подходит именно вам. Начнём с самого доступного варианта — draw.io (он же diagrams.net). Это бесплатный визуальный редактор, который работает прямо в браузере. Никакой регистрации, никаких пробных периодов, никаких ограничений. Открыли сайт — и рисуете.

Принцип работы простой: слева — палитра с фигурами (прямоугольники классов, стрелки связей, блоки компонентов), справа — холст. Перетащили фигуру, подписали, протянули стрелку — готово. Экспорт в PNG, SVG, PDF, даже в XML для дальнейшего редактирования. Для UML есть готовая библиотека фигур: классы с секциями, интерфейсы, пакеты, акторы — всё стандартное.

Но главное преимущество draw.io — интеграции. Диаграммы можно сохранять в Google Drive, OneDrive, прямо в репозиторий GitHub. Для Confluence есть официальный плагин. А для VS Code — расширение, которое позволяет редактировать диаграммы прямо в IDE, не переключаясь в браузер.

Ещё один популярный визуальный редактор — Lucidchart. В отличие от draw.io, это коммерческий продукт по модели freemium: бесплатный тариф ограничен тремя документами и 60 фигурами. Зато у Lucidchart отличная командная работа в реальном времени — несколько человек рисуют одну диаграмму одновременно, как в Google Docs. В корпоративном мире Lucidchart встречается часто, особенно в компаниях, которые уже платят за пакет продуктов Lucid.

Оба инструмента — визуальные. Вы рисуете мышкой, двигаете блоки, выравниваете стрелки. Это интуитивно, но у такого подхода есть ограничение: диаграмма — это картинка, а не код. Её нельзя «задиффить» в Git, нельзя сгенерировать автоматически, нельзя вставить в Markdown-документацию как текст. Именно эту проблему решают текстовые генераторы диаграмм. Самый известный из них — PlantUML.

Идея PlantUML проста и элегантна: вы описываете диаграмму текстом — специальной разметкой — а PlantUML генерирует из неё картинку. Вот как выглядит описание простой диаграммы классов: вы пишете «class Animal», фигурная скобка, внутри перечисляете поля и методы, закрываете скобку. Ниже пишете «class Dog extends Animal» — и PlantUML рисует два прямоугольника со стрелкой наследования между ними.

Огромное преимущество: такое текстовое описание — обычный файл. Его можно хранить в репозитории рядом с кодом, версионировать через Git, смотреть разницу между версиями. Когда архитектура изменилась, вы меняете пару строк в текстовом файле — и диаграмма обновляется автоматически. Никакого ручного перетаскивания стрелок.

PlantUML поддерживает все 14 типов UML-диаграмм, плюс несколько нестандартных (mind map, Gantt, JSON-визуализация). Работает локально через Java, через онлайн-сервер, через плагины для VS Code, IntelliJ, Confluence.

Похожий инструмент — Mermaid. Он моложе PlantUML и использует другой синтаксис, но идея та же: текст превращается в диаграмму. Ключевое отличие Mermaid — он нативно встроен в Markdown. GitHub, GitLab, Notion, Azure DevOps — все они рендерят Mermaid-диаграммы прямо в README и документации. Вы пишете блок кода с пометкой «mermaid» в Markdown-файле, пушите в репозиторий — и на GitHub отображается красивая диаграмма.

Mermaid проще PlantUML: синтаксис компактнее, порог входа ниже. Но и возможностей меньше: сложные диаграммы с десятками классов и связей PlantUML обрабатывает лучше. Для небольших схем в документации Mermaid — идеальный выбор. Для серьёзного проектирования — PlantUML надёжнее. На другом конце спектра — корпоративные инструменты, которые умеют не только рисовать диаграммы, но и генерировать код из них (и наоборот).

Enterprise Architect от Sparx Systems — один из старейших и самых мощных инструментов. Он поддерживает прямое и обратное проектирование: вы рисуете диаграмму классов — EA генерирует скелет кода на C#, Java или C++. Или наоборот: скормили ему готовый проект — он построил диаграмму. Плюс трассировка требований, управление моделями, командная работа через общую базу данных. Стоимость — от 230 долларов за лицензию.

Visual Paradigm — похожий по мощности инструмент с более современным интерфейсом. Генерация кода, обратная разработка, интеграция с Jira и Confluence, поддержка BPMN и ArchiMate помимо UML. Есть бесплатная Community Edition с ограниченной функциональностью. Платные версии — от 6 долларов в месяц.

StarUML — десктопное приложение с чистым интерфейсом и разумной ценой (около 100 долларов разово). Хороший средний вариант: мощнее draw.io, но без корпоративного размаха Enterprise Architect.

Отдельно стоит упомянуть UML-возможности в IDE. В Visual Studio есть встроенный дизайнер диаграмм классов — он строит диаграмму по существующему коду проекта. В IntelliJ IDEA и Rider есть плагины для PlantUML и диаграмм классов. Это удобно, когда нужно быстро визуализировать архитектуру, не выходя из редактора.

Подведём итог и сравним инструменты по ключевым параметрам.

draw.io — бесплатный, визуальный, работает в браузере. Лучший выбор для быстрых диаграмм и личных проектов. Минус: диаграмма — картинка, не код.

Lucidchart — визуальный, freemium, совместная работа в реальном времени. Подходит для команд, которые привыкли к облачным инструментам. Минус: бесплатный тариф сильно ограничен.

PlantUML — текстовый, бесплатный, мощный. Диаграммы живут в коде, версионируются через Git. Подходит для разработчиков и проектов с серьёзной документацией. Минус: нужно учить синтаксис.

Mermaid — текстовый, бесплатный, встроен в Markdown. Идеален для README и документации в GitHub/GitLab. Минус: ограниченные возможности для сложных диаграмм.

Enterprise Architect / Visual Paradigm — мощные корпоративные инструменты с генерацией кода, обратной разработкой и командной работой. Минус: дорогие, сложные, избыточны для большинства задач.

Как выбрать? Личный проект — draw.io. Команда с Git — PlantUML/Mermaid. Крупная компания — Enterprise Architect/Visual Paradigm.

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

draw.io (diagrams.net) — бесплатный визуальный редактор в браузере. Drag-and-drop, экспорт в PNG/SVG/PDF, интеграция с Google Drive, Confluence и VS Code.

Lucidchart — визуальный редактор с совместной работой в реальном времени. Freemium-модель, популярен в корпоративной среде.

PlantUML — текстовый инструмент для генерации UML-диаграмм из разметки. Диаграммы хранятся в коде и версионируются через Git.

Mermaid — текстовый генератор диаграмм, нативно встроенный в Markdown. Рендерится прямо в GitHub, GitLab и Notion.

Enterprise Architect, Visual Paradigm, StarUML — корпоративные инструменты с генерацией кода, обратной разработкой и командной работой. Мощные, но дорогие.

Обсуждение урока

0
Комментарии видны всем. Чтобы участвовать в обсуждении, войдите или зарегистрируйтесь.
Модерация сообщества

Пожаловаться на комментарий

Расскажите модераторам, что именно требует внимания.