sequence および timing 図(2つの異なるツールになる可能性があります)を描画する簡単な言語/コマンドラインユーティリティを探しています。私はすでに Mscgen シーケンス図の描画を見つけており、見た目はかなり良いのですが、他の可能性を研究しています。
ありがとう
私が見つけた、プレーンテキストからシーケンス図を作成するために通常使用する最高のソフトウェアは、 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)
これを取得するには:
シーケンス図については、websequencediagramsをご覧ください。見栄えの良い図を作成し、多くの機能を備えています(- 例のページ )。コマンドラインユーティリティではありませんが、Web APIがあります。
ditaaは、asciiソースから見栄えの良い図を作成します。 Javaで書かれており、ASCIIテキストをダイアグラムに変換するためにコマンドラインで呼び出すことができます。
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
もう1つのシーケンス図ツールは http://sequencediagram.org です。ここでは、図を描画してスクリプトを生成し、同時に図を取得するスクリプトを作成できます。
したがって、通常はスクリプト内のどこにいるかがわからないような大きなダイアグラムに適しています。
update:おそらく mermaid で十分です。さまざまなマークダウンエディターで使用できます。 hackmd のように。それ以外の場合、印刷については、以下の私の元の答えを参照してください。
この答えはあなたが念頭に置いていたものとは正確に異なる可能性があります。
長年、 literate programming を、高品質のソフトウェアを記述し、そのコードをわかりやすくするための素晴らしい方法として評価するようになりました。唯一の方法かもしれません...いずれにせよ、シーケンス図は視覚的で、コードと記述をうまく補完します。これにより、理解が容易になります。
そのため、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}
この画像を作成します(もちろん、ドキュメントの残りの部分のフォントなどを使用します)。
LaTeXソースでは、実行可能なコードの関連ビットは図のすぐ下にあり、物事をまとめています。 noweb
( site 、 docs )を使用して、実行可能なコードまたはソースを取得します記事。
HTH。
GenMyModel シーケンス図をサポートするようになりました。
EventStudio System Designer 5 が有効かもしれません。テキストベースの入力からシーケンス図を生成します。複数のシナリオも処理します。
シーケンス図については、非常に強力なツールである Visual Paradigm も参照してください。