Рисование диаграмм последовательности
Я ищу простой язык / утилиту командной строки для рисования последовательности и временных диаграмм (может быть 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)
чтобы получить это:
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
( сайт, документы), чтобы получить исполняемый код или источник для статьи.
НТН.
EventStudio System Designer 5 может работать для вас. Он генерирует диаграммы последовательности из текстового ввода. Также обрабатывает несколько сценариев.
Для диаграмм последовательности вы также можете посмотреть на Visual Paradigm, довольно мощный инструмент.