Бесплатный UML-чертеж

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

Желательна мультиплатформенность (Windows и Mac). Я использую Windows, но я хочу, чтобы люди, разрабатывающие для Mac, также могли легко обращаться к ним.

Было бы здорово, если бы формат файла был дружественным к инкрементным различиям. До сих пор я использовал UMLet, и мне в нем нравится то, что я могу возвращать чертежи в git вместе с исходным кодом, они небольшие и имеют добавочные изменения (сохраняются как текст XML и не переупорядочивают все при сохранении после добавление или редактирование элемента).

Для диаграмм классов я широко использую метки «квалификации» для документирования коллекций с ключами (например, std::map), а также обобщил использование сплошных и белых ромбов для использования разных цветов для обозначения типа собственности:

введите описание изображения здесь

Изменение цвета окна количества также не было преднамеренным, но меня это устраивает.

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

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

Для диаграмм последовательности я пробовал использовать Visio. Основная проблема при этом — стоимость. Преимущество в том, что это больше похоже на набросок , чем на формальную диаграмму, поэтому хорошо иметь возможность просто нарисовать то, что я хочу. Я нашел сторонние формы, которые подходят для этого (в отличие от предоставленного материала UML, который настаивает на рисовании только формальных диаграмм с проверкой ошибок), но это далеко не идеально. Концы стрелок привязываются только к определенным точкам привязки, а не где-либо вдоль видимой границы, ограничивающий прямоугольник захватывает вещи, а формы внутри него больше не работают, как на открытом воздухе, и т. д.

Вы можете использовать Star UML. Он также доступен для Windows, Mac и Linux. Старумл.ио

Ответы (3)

Взгляните на yEd-Graph Editor , либо через Википедию , либо через его сайт продукта . Вот цитата об этом (из этой последней ссылки):

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

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

Он кроссплатформенный (Mac, Linux, Windows) и имеет возможность привязываться практически к любому месту на видимой границе.

Можно глянуть на dia как десктопное решение (правда, далеко не идеальное) — иногда удобно рисовать всякие диаграммы. Он также хранит данные в формате XML и может экспортировать в pdf, png, svg и некоторые другие форматы (даже LaTeX заявлен как поддерживаемый). Dia работает как в Windows, так и в Linux (не уверен, что для Mac), но это типичное приложение GNOME с неродным диалоговым окном, например, с файлом.

Вы также можете посмотреть на draw.io , если у вас все в порядке с онлайн-сервисами: он хранит свои данные в некоторых облачных хранилищах, большинство из которых, естественно, позволяют восстанавливать старые версии файлов под вашей учетной записью. Этот сервис мне кажется более удобным, чем dia.

Известно ли, что у них обоих есть цветные стрелки и т. Д.? Я имею в виду, это рекомендация, основанная на моих конкретных требованиях, или «только то, что я использую» в целом?
Это больше инструментов для создания диаграмм общего назначения, которые включают набор значков UML. Я не знаю цветных стрелок для любого из них (хотя вы можете вручную изменить цвет чего-либо в диаметре, но это бессмысленно). Извините, я пропустил ту часть, где вы требуете цвета, и заметил только ту часть, где вы говорите, что «вас это устраивает». Перечитывая ваш пост, я бы сказал, что инструменты, которые я упомянул, больше похожи на последнее средство для ваших нужд.

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

Единственная загвоздка в том, что его не очень легко установить на Windows (и, честно говоря, GVEdit не так уж и хорош). Лучшим обходным решением является использование другого инструмента, совместимого с «языком точек», поскольку все, что совместимо с языком точек, в любом случае, вероятно, использует одну из утилит, которые Graphviz предоставляет под капотом.