Рисование диаграмм последовательности

Я ищу простой язык / утилиту командной строки для рисования последовательности и временных диаграмм (может быть 2 разных инструментов). Я уже нашел Mscgen для рисования диаграмм последовательности и выглядит довольно хорошо, но я изучаю другие возможности.

Спасибо

9 ответов

Решение

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

С помощью этого инструмента вы пишете следующее:

#![SD ticket order]
ext:External[pe]
user:Actor
/order:Order[x]
db:TicketDB
acc:Account

ext:user.order a ticket!
user:order.new()
order:return=db.reserve(date,count)
db:return=acc.debit(cost)
acc:return=db.bonus(date,count)

чтобы получить это:

Пример SDEdit

PlantUML. http://plantuml.sourceforge.net/sequence.html

PlantUML используется для рисования UML-диаграммы с использованием простого и удобочитаемого текстового описания.

Сгенерированные изображения могут быть использованы без ссылки на лицензию GPL/LGPL/ASL/EPL/MIT. Нет необходимости даже указывать, что они были созданы с помощью PlantUML, хотя команда PlantUML это оценит.

По моему опыту, его было легко использовать, и он создает красивые диаграммы.Я не могу рекомендовать это более высоко.

Типы выходных файлов:

-tsvg     To generate images using SVG format
-teps     To generate images using EPS format
-txmi     To generate XMI file for class diagram
-thtml    To generate HTML files for class diagram
-ttxt     To generate images with ASCII art
-tutxt    To generate images with ASCII art using Unicode characters

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

@startuml
Alice -> Bob: Authentication Request
Bob --> Alice: Authentication Response

Alice -> Bob: Another authentication Request
Alice <-- Bob: another authentication Response
@enduml

Вы также можете создавать более подробные диаграммы, используя активацию и уничтожение линии жизни:

@startuml
participant User

User -> A: DoWork
activate A

A -> B: << createRequest >>
activate B

B -> C: DoWork
activate C
C --> B: WorkDone
destroy C

B --> A: RequestCreated
deactivate B

A -> User: Done
deactivate A

@enduml

Что касается диаграмм последовательности, вы можете взглянуть на веб-последовательности: они создают красивые диаграммы и имеют множество функций ( страница примеров). Это не утилита командной строки, но у нее есть свой веб-API.

ditaa создает красивые диаграммы из источника ascii. Написанный на Java, он может вызываться из командной строки для преобразования текста ascii в диаграммы.

Другой инструмент диаграммы последовательности - http://sequencediagram.org/ где можно нарисовать диаграмму, чтобы сгенерировать сценарий, и сценарий, чтобы получить диаграмму одновременно.

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

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

Эти ответы, возможно, не совсем то, что вы имели в виду, поэтому позвольте мне кратко изложить контекст.

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

LaTeX / PGF / pgf-umlsd / noweb

Поэтому для этой цели LaTeX + pgf-umlsd может создавать очень красивые диаграммы. Они указываются семантически, как и большинство других инструментов, и это означает, что вы говорите, какая последовательность у вас, а не как она должна выглядеть. Программа вычисляет правильную картинку.

Так что этот код LaTeX

\documentclass{article}
\usepackage{tikz}
\usepackage{pgf-umlsd}

\begin{document}
\begin{sequencediagram}
  \newthread{t}{:Thread}
  \newinst[1]{i}{:Instance}
  \begin{sdblock}{Block}{description}
     \begin{call}{t}{function()}{i}{}
  \end{call}
  \end{sdblock}
\end{sequencediagram}
\end{document}

создает эту картинку (конечно, используя шрифты остальной части вашего документа и т. д.):

пример из руководства

В исходном коде LaTeX соответствующие биты исполняемого кода находятся под диаграммой, сохраняя все вместе. я использую noweb ( сайт, документы), чтобы получить исполняемый код или источник для статьи.

НТН.

GenMyModel теперь поддерживает диаграммы последовательности.

Образец последовательности

EventStudio System Designer 5 может работать для вас. Он генерирует диаграммы последовательности из текстового ввода. Также обрабатывает несколько сценариев.

Для диаграмм последовательности вы также можете посмотреть на UMLGraph.

Обновление 2018-08-24: веб-страница, кажется, переместилась сюда.

Для диаграмм последовательности вы также можете посмотреть на Visual Paradigm, довольно мощный инструмент.

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