GraphvizでDFDを書く(凡例つき)
昨日のつづき。subgraphで凡例をつける。
図 GraphvizでDFD(凡例つき)
DFD_example.dot
digraph sample { graph [fontname = "monospace", fontsize = 10, rankdir = LR]; node [fontname = "monospace", fontsize = 10]; edge [fontname = "monospace", fontsize = 10]; // legend subgraph cluster_legend { label = "凡例"; source [shape = box, label = "入力/出力"]; function [shape = circle, label = "プロセス"]; data_base [shape = folder, label = "データストア"]; source -> function [label = "フロー"]; function -> data_base [label = "フロー"]; } // node order [shape = box, label = "受注"]; goods [shape = folder, label = "納品物"]; accept [shape = circle, label = "受注処理"]; shipment [shape = circle, label = "発送"]; deliver [shape = box, label = "納品"]; // edge order -> accept [label = "発注書"]; accept -> shipment; accept -> goods [label = "納品物追加", dir = back]; goods -> shipment [label = "納品物参照"]; shipment -> deliver; // rank {rank = same; goods; accept; }; }
コマンド
dot -Tgif DFD_example.dot -o tmp.gif