создание диаграмм последовательности uml с python или perl
у меня есть текст, который я буду обрабатывать для создания диаграмма последовательности uml изображения. Я могу обработать текст в python
или perl
в формат существующих инструментов "text to uml", но я пытаюсь исключить этот дополнительный шаг и дать вывод изображения непосредственно из скрипта python/perl.
есть ли Python или пакетов Perl/модули можно использовать?
2 ответов
есть несколько модулей perl, которые делают это в Perl, см. UML:: State.
из синопсиса:
use UML::State;
my $diagram = UML::State->new(
$node_array,
$start_list,
$accept_list,
$edges
);
# You may change these defaults (doing so may even work):
$UML::State::ROW_SPACING = 75; # all numbers are in pixels
$UML::State::LEFT_MARGIN = 20;
$UML::State::WIDTH = 800;
$UML::State::HEIGHT = 800;
print $diagram->draw();
CPAN - ваш друг.:)
существует много альтернатив Python.
Если вы хотите создавать изображения с нуля, вы можете рассмотреть PIL (библиотека изображений Python)," де-факто " библиотека изображений для Python.
однако для диаграмм последовательности, в частности, библиотека генератора изображений диаграмм blockdiag (которая также использует PIL) включает генератор диаграмм последовательности под названием seqdiag. Например, вот как определить и создать простой, но полный диаграмма последовательности в том числе определение схема:
from seqdiag import parser, builder, drawer
diagram_definition = u"""
seqdiag {
browser -> webserver [label = "GET /index.html"];
browser <- webserver;
}
"""
tree = parser.parse_string(diagram_definition)
diagram = builder.ScreenNodeBuilder.build(tree)
draw = drawer.DiagramDraw('PNG', diagram, filename="diagram.png")
draw.draw()
draw.save()
посмотреть http://blockdiag.com/en/seqdiag/examples.html Еще пример (последовательность) определения схемы и варианты укладки.