web-dev-qa-db-ja.com

シーケンス図の描画

sequence および timing 図(2つの異なるツールになる可能性があります)を描画する簡単な言語/コマンドラインユーティリティを探しています。私はすでに Mscgen シーケンス図の描画を見つけており、見た目はかなり良いのですが、他の可能性を研究しています。

ありがとう

40
rnunes

私が見つけた、プレーンテキストからシーケンス図を作成するために通常使用する最高のソフトウェアは、 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 example

28
sgmonda

シーケンス図については、websequencediagramsをご覧ください。見栄えの良い図を作成し、多くの機能を備えています(- 例のページ )。コマンドラインユーティリティではありませんが、Web APIがあります。

ditaaは、asciiソースから見栄えの良い図を作成します。 Javaで書かれており、ASCIIテキストをダイアグラムに変換するためにコマンドラインで呼び出すことができます。

19
marapet

PlantUMLhttp://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

簡単なシーケンス図の作成方法を示す例を次に示します。 enter image description here

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

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

ライフラインのアクティブ化と破棄を使用して、より詳細な図を作成することもできます。 enter image description here

@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
19
user3226306

もう1つのシーケンス図ツールは http://sequencediagram.org です。ここでは、図を描画してスクリプトを生成し、同時に図を取得するスクリプトを作成できます。

したがって、通常はスクリプト内のどこにいるかがわからないような大きなダイアグラムに適しています。

enter image description here

11
Staffan Persson

update:おそらく mermaid で十分です。さまざまなマークダウンエディターで使用できます。 hackmd のように。それ以外の場合、印刷については、以下の私の元の答えを参照してください。


この答えはあなたが念頭に置いていたものとは正確に異なる可能性があります。

長年、 literate programming を、高品質のソフトウェアを記述し、そのコードをわかりやすくするための素晴らしい方法として評価するようになりました。唯一の方法かもしれません...いずれにせよ、シーケンス図は視覚的で、コードと記述をうまく補完します。これにより、理解が容易になります。

LaTeX/PGF/pgf-umlsd/noweb

そのため、LaTeX + pgf-umlsd は非常に見栄えの良い図を作成できます。他のほとんどのツールと同様に、セマンティックに指定されます。つまり、whatシーケンス(あなたは何を見るべきかhowとは言いません)プログラムは正しい画像を計算します。

したがって、この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}

この画像を作成します(もちろん、ドキュメントの残りの部分のフォントなどを使用します)。

example from the manual

LaTeXソースでは、実行可能なコードの関連ビットは図のすぐ下にあり、物事をまとめています。 nowebsitedocs )を使用して、実行可能なコードまたはソースを取得します記事。

HTH。

6
wires

GenMyModel シーケンス図をサポートするようになりました。

Sequence sample

2
Xaelis

EventStudio System Designer 5 が有効かもしれません。テキストベースの入力からシーケンス図を生成します。複数のシナリオも処理します。

1
Sandeep

シーケンス図については、 MLGraph

更新2018-08-24:Webページは here に移動したようです。

1
sebastian

シーケンス図については、非常に強力なツールである Visual Paradigm も参照してください。

1
Darren Burgess