メンチカツには醤油でしょ!!

AWS/Java/Node.js/Spreadsheets/Docker/Jenkins/コミュニティ・勉強会レポを主とした技術系ブログ

UMLでのuseとcallの違い

というか全然(?)違うんですけどね

ちょっと知らなかったというか厳密な定義が気になったので調べてみました。

英語の意味的にはuseは"使用"でcallは"呼び出し"なので
インスタンスを保持しているかどうかかなぁなんて推測したりもするんですが果たして。

 

によると
<<call>> 呼び出し
<<use>> 必要としている
とのことで。

 

次に見つかったのが
Javaオブジェクトモデリング(7):静的モデル:リレーションシップ(1) - ITmedia エンタープライズ
なんですが、こちらにはcallしか記載がなく、callの意味は上記と同じでした。
色々とよくまとまっています、ありがたや。

そもそもuseの必要としているっていうのはどういう状態なんでしょうか。
依存しているのであればdependのような気も。

で画像検索とかで見ると
https://www.andrew.cmu.edu/course/90-754/drive-use-case.jpg
こんなものが出たりしますね。

やはりインスタンス保持か

useの必要としているというのは、なんだがhaveの方がしっくりくるのですが
まりっか。

と・こ・ろ・で

UMLや図などで考えられないと、全体が見えないので
物事の理解に間違いや漏れがあったり、俯瞰的な説明ができなかったりします。
意外と参画プロジェクトにこういうのが多くて、
説明を求めると「資料ないです。ソース現物参照で」とか言われたりして
無駄な時間を割くことになります。
(これが一番言いたかったというオチ?)