クラス図でのローカル変数
2003年10月6日
ローカル変数(パラメーター、一時変数など)を UML クラス図でどのように表したらよいですか。
簡単な答えは「表さない」です。私は今までそのような必要性を感じたケースを思い出せません。試したところがあっても、あまり役立つ情報が得られませんでした。
どうしても必要な場合は、「キーワード」のある依存関係を使って、その後で長い冷たいシャワーを浴びることをお勧めします。オブジェクトがローカルで別のインスタンスを格納している場合、何らかの依存関係が暗黙的に存在します。確かに、そのような依存関係が言及に値する場合は、依存関係があるという事実だけが重要なので、私はキーワードにはこだわらないでしょう。
この場合に関連のステレオタイプを使用することについて述べている書籍がありますが、実際、UML 1.3 仕様ではこれが示されています。その理由は多少複雑で、UML メタモデルの問題に関連しています。コラボレーション図のインスタンス間のリンクを表示する場合は、それらをメタモデルで表現する必要があります。これを行うために見つけた方法は、ステレオタイプの関連を作成することでした。UML 2 のメタモデルではこれを行うより良い方法が見つかったので、これらのステレオタイプは UML ではなくなっています。
関連表記をこれらに使用することに対する私の疑問点は、メソッド呼び出しの間にのみ存在する関係と、クラスのライフサイクル全体にわたって保持される関係とには重要な違いがあると思っています。後者の関係の方がはるかに重要です。その結果、私はより永続的な関係に関連を使用するようにしました。