UMLを基礎から理解する ――UMLでできること,できないこと
具体例を図13に示します.これは,電話交換をモデリングしたものです.図13(a)に示したクラス図表現では,交換手と加入者の関係しか表現していませんが,図13(b)の構造図表現では,電話をかける人(caller)と受ける人(callee)という役割を使って,具体的にモデリングを行えます.
callerとcalleeはともに加入者クラス(Subscriber)のインスタンスですが,通話という一つの処理の中における役割(あるいは「やること」)が違います.クラス図には静的な型情報しか記述できませんが,クラス構造図には実際にプログラムが動き出したときの変数間の情報を記述できます.ただしオブジェクトではなく役割として記述するので,具体的なcallerやcalleeの電話番号などの情報は必要ありません.
クラス構造図は,ホワイトボードなどに描いていた絵に近いものかもしれません.UML 2.0からはこのようなモデリングが可能になります.このことを利用して,ハードウェアの設計情報の記述なども行いやすくなると思われます.
〔図13〕電話交換手(Operator)が加入者(Subscriber)の電話を取り次ぐモデル
クラス図で表現できるのはクラスによるモデリングだが,クラス構造図では役割によるモデリングが可能となる.この例では,発信者,受信者という役割を利用している.