Визуализация диаграмм UML из текстовых файлов

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

Как регистрировать все результаты тестов DBT в централизованной таблице snowflake
Как регистрировать все результаты тестов DBT в централизованной таблице snowflake
DBT имеет множество встроенных функций для автоматизации трудоемкой работы. Одной из таких функций является тест DBT.
28
0
21 406
9
Перейти к ответу Данный вопрос помечен как решенный

Ответы 9

бесплатный инструмент UML ИУДА позволяет создавать диаграммы UML из исходного кода Java. Не знаю, подходит ли это для других языков.

Привет, Йорн, JUDE теперь называется «Astah» (astah.net/editions/professional), и диаграммы можно создавать из исходного кода Java и C++ и C# с использованием бесплатных плагинов (astah.net/features/plugins).

Satomi 08.09.2014 09:18
Ответ принят как подходящий

UMLGraph - это программа для создания диаграмм UML (в первую очередь диаграмм классов и диаграмм последовательностей) из текстовых описаний. Он предназначен для использования с исходным кодом java, но с некоторыми изменениями можно также использовать исходный код в стиле C++, как описано в эта запись в блоге.

Цитата с сайта UMLGraph:

The GNU plotutils pic2plot program can then process the sequence diagram to create a PNG, PNM, (pseudo)GIF, SVG, AI, Postscript, CGM, FIG, PCL, HPGL, Regis, or TEK drawing.

Пробовал это для диаграмм последовательности; обнаружил, что это невероятно привередливое (диаграммы последовательности сделаны с помощью макросов pic, а не Java - я мог заставить образцы работать, но мои собственные макросы не удалось, несмотря на то, что они действительны, насколько я мог судить), а выходные данные образца выглядят ужасно, как растровые изображения или SVG (в Ubuntu 14.04 с pic2plot 2.6). Для диаграмм последовательности я бы избегал ...

Adrian 10.07.2015 14:32

Вы должны проверить zenuml.com. Это онлайн-приложение для мгновенного преобразования ТЕКСТА в диаграмму последовательности.

Devs love ZenUML 09.08.2017 07:05

Я создал список инструментов, которые принимают текстовое описание модели в качестве ввода здесь:

http://modeling-languages.com/uml-tools-textual-notations-define-uml-models/

Это нормально, что ключевые слова SQL печатаются на веб-странице заглавными буквами? (Я предполагаю, что это ключевые слова SQL, но я не уверен.)

leemes 27.05.2012 01:53

Это не так, я исправил это на главной странице инструментов UML, упомянутой там. Я до сих пор не совсем уверен, почему это произошло.

Jordi Cabot 27.05.2012 09:19

Архитектор предприятия неплохо справляется с автоматическим созданием диаграмм из исходного кода (на разных языках), а также из баз данных или других источников.

PlantUML - хороший инструмент, преобразующий текст в стандартизованные диаграммы uml.

у вас это как плагин для confluenze

PlantUML доступен как отдельное Java-приложение, а также имеет версии плагинов для куча вики, редакторов и IDE. По умолчанию создается впечатление, что он создает файлы png, но может выводить в svg с соответствующими флагами.

Alan 13.05.2013 00:09

Определенный +1 для PlantUML, особенно для диаграмм последовательностей - гораздо менее привередлив, чем макросы pic в UMLGraph, небольшое приложение с графическим интерфейсом автоматически обновляется и показывает вам вашу диаграмму каждый раз, когда вы сохраняете, а сообщения об ошибках намного полезнее.

Adrian 10.07.2015 15:31

Существует еще один инструмент, называемый Диаграммы последовательности JS, позволяющий создавать диаграммы последовательности UML из простого текста.

Он использует underscore.js и Raphaël для построения диаграмм.

Это упрощенная лицензия BSD, а исходный код доступен по адресу GitHub.

Если вам нравятся диаграммы последовательности JS, вы также должны проверить UMLet, который имеет аналогичную предпосылку (возможность определять диаграммы с помощью текста, аналогично описанию graphviz) и позволить инструменту выяснить график и позиционирование.

ИМХО, этот подход не получил достаточной огласки и поддержки. Полный анализ источника в оба конца сложен и во многих случаях «слишком трудоемок» для простого обсуждения проекта или быстрой документации. Сложность компоновки корпоративных инструментов не позволяет использовать их во всех документах, кроме самых крупных. А Agile страдает от отсутствия документации, потому что цена слишком высока.

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

Что касается диаграмм последовательностей, мне очень нравится Mscgen. Простой текстовый формат внутри, красивые диаграммы снаружи.

«Mscgen - это небольшая программа, которая анализирует описания диаграмм последовательности сообщений и создает в качестве выходных данных PNG, SVG, EPS или карты изображений на стороне сервера (ismaps)» -http://www.mcternan.me.uk/mscgen/

например Ввод формы:

# MSC for some fictional process
msc {
  hscale = "2";

  a,b,c;

  a->b [ label = "ab()" ] ;
  b->c [ label = "bc(TRUE)"];
  c=>c [ label = "process(1)" ];
  c=>c [ label = "process(2)" ];
  ...;
  c=>c [ label = "process(n)" ];
  c=>c [ label = "process(END)" ];
  a<<=c [ label = "callback()"];
  ---  [ label = "If more to run", ID = "*" ];
  a->a [ label = "next()"];
  a->c [ label = "ac1()\nac2()"];
  b<-c [ label = "cb(TRUE)"];
  b->b [ label = "stalled(...)"];
  a<-b [ label = "ab() = FALSE"];
}

Производит такой вывод:

Sequence diagram for a fictional process

Я знаю, что это старый поток, но все же я хотел бы поделиться еще одним инструментом, который я считаю чрезвычайно полезным и удобным: https://www.websequencediagrams.com/

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

Он также имеет множество довольно хороших макетов прямо из коробки.
Вот два, например:

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