Graphvizでユースケース図

Graphvizユースケース図を書く。

Graphvizユースケース

digraph sample {
  graph [fontname = "monospace", fontsize = 10, rankdir = LR];
  node  [fontname = "monospace", fontsize = 10];
  edge  [fontname = "monospace", fontsize = 10];

  // node
  node   [shape = box];
  actor1 [label = "<<Actor>>\nアクター1"];
  actor2 [label = "<<Actor>>\nアクター2"];
  actor3 [label = "<<Actor>>\nアクター3"];

  // border
  subgraph cluster_border {
    // node
    node      [shape = box];
    use_case1 [label = "処理1"];
    use_case2 [label = "処理2"];

    // rank
    {rank = same; use_case1; use_case2}
  }

  // edge
  actor1 -> use_case1 [dir = none];
  actor2 -> use_case1 [dir = none];
  actor2 -> use_case2 [dir = none];
  use_case2 -> actor3 [dir = none];

  // rank
  {rank = same; actor1; actor2}
}