ネタ的に古いかもしれないけど、最近使う事が多いのでまとめてみた

 使う技術は

seqdiag

Usage

本当はMacとかで brew で入れれるけど、環境依存とかあったらめんどくさいので、もう dokcerで

Dockerfile

FROM python
RUN apt-get update ; apt-get install -y  fonts-ipafont ; apt-get clean

# seqdiagインストール手順
# http://blockdiag.com/ja/seqdiag/introduction.html#setup
# pillow funcparserlibがseqdiagなどで必要
# reportlabはPDF化の為に必要
RUN pip install pillow funcparserlib blockdiag seqdiag actdiag nwdiag reportlab
VOLUME ["/work"]
WORKDIR /work

Build

$ docker build -t seqdiag .

DIAGファイルを準備

これがシーケン図の元となります

//sample.diag
seqdiag {
  // normal edge and doted edge
  A -> B [label = "normal edge"];
  B --> C [label = "dotted edge"];

  B <-- C [label = "return dotted edge"];
  A <- B [label = "return edge"];

  // asynchronus edge
  A ->> B [label = "asynchronus edge"];
  B -->> C [label = "asynchronus dotted edge"];

  B <<-- C [label = "return asynchronus dotted edge"];
  A <<- B [label = "return asynchronus edge"];

  // self referenced edge
  A -> A [label = "self reference edge"];
}

Run

↑に書いた sample.diag を読み込ませて実行すると

$ docker run --rm -v ${PWD}:/work seqdiag -Tpdf sample.diag -o sample.pdf

sample

最後に

これで少しは手間な製図作業が楽になったかな? そして差分管理も出来るようになったかな?

https://github.com/shinofara/docker-seqdiag