Carpe Diem

備忘録

PlantUMLのaltとoptの区別

背景

たまにPlantUMLでシーケンス図を書くと、altとoptの区別がごっちゃになることがあるのでメモします。

違い

仕様上の違い

alt

else if および else を設定できる。

opt

else if および else が設定できない。

ユースケースとしての違い

alt

  • ワークフロー上複数の選択肢がある中で、1つの選択肢を選ぶ必要がある
  • else, if elseが必要なとき

opt

  • ワークフローの中でオプショナル(自由意志・任意)で実行される
  • if だけで済む時

なので早期リターンなガード節はoptで良さそうです。

図で表すと

図で表すと次のような形です。

ギフトラッピングはオプショナルであるためoptで良く、決済手段は必ず1つ選択しなくてはいけないのでaltになります。

参考