UMLの依存の方向性ってどうも良く分からない
お客様のところで、UMLのユースケース図のレビューをしていたときのこと。
ユースケース間のincludeの矢印の向きをどちらに向けて良いのか、
どうしても覚えられない様子。
だいたい、ソフトウェア開発している人は、矢印があると、
「データの流れる方向」か「実行する方から実行される方への方向」のどちらかだと
思っているようです(過去の自分も例外ではなく...)。
UMLの依存の矢印の向きは、UMLの表現方法を理解すれば、まず間違えなくなります。
#UMLは言語だと再認識すれば、方向性も分かる
UMLは、そもそもが Unified Modeling Language で、言語です。
特に、英語をベースとしたモデル形式の言語なので、
S V O つまり、主語+動詞+目的語 がはっきりしています。
ならば、
S:主語 = usecase01 V:動詞 = include O:目的語 = Usecase02
であり、
Usecase01 は、 Usecase02 を インクルードする
という意味です。
ユースケースで使われる依存には、《include》の他に《extend》がありますが、
こちらは、「拡張する」をいう意味です。
ですから、
は、
S:主語 = usecase03 V:動詞 = extend O:目的語 = Usecase01
usecase03 は、 usecase01 を 拡張する
という意味です。
#分かってないときの あるある違和感
includeの時は、矢印の先のUsecaseの方が小さいことが多く、
extendの時は、矢印の先のUsecaseの方が大きいことが多く
なります。
大きいUsecaseと小さいUsecaseというUsecaseの大きさで、依存の矢印の方向を考えてしまうと、
間違えてしまいます。
#最後に
依存の矢印は、ステレオタイプの《動詞》を見て、S V O ---> の方向に記述します。