2-5.関連・ディクショナリについて


関連・ディクショナリとは

クラス間の関係を「関連・モデル」というモデルデータとして扱います。関連・ディクショナリは関連・モデルを一覧管理できます。 関連・ディクショナリとは関連・モデルをまとめて管理する為の入れ物と考えてください。

関連・モデルは汎化関係とインナークラス関係のみディクショナリ化できます。


クラス間の関連はクラス図などにおいては、コネクタを使用することで表現できます。汎化やインナークラス関係などです。

このようにして作成した関連はディクショナリに登録しなくても問題ありませんが、ディクショナリに登録することで次の説明するような利点が出てきます。


関連・ディクショナリを使用することによる利点

以下のような利点があります。

  1. 複数のダイアグラム間で同じクラスや関連が出てきた際にコネクタ描画を省力化できる
  2. クラス間の関連を利用してクラスの一覧表示ができる(基本クラスを表示など)
  3. フォワードエンジニアリング機能を使用した際に基本クラスがソースに出力される

注意)なお、2と3についてはVer.1.31時点では未実装のため活用できません。


関連・モデルを定義する手順

関連・モデルに定義する方法は2種類あります。1つは関連・ディクショナリの関連・モデル追加機能で直接クラス名などを登録して関連・モデルを作成する方法です。2つ目は既に作成したダイアグラムからコネクタを選択してそのコネクタが指し示す関係を関連・モデルに登録する方法です。それぞれについては以下に説明します。

1.関連・ディクショナリへ直接登録

関連・ディクショナリの子ウィンドウ上部にあるアイコンから登録できます。

関連・モデルの追加ボタン

上図にて、赤い枠のアイコンをクリックすることで、関連・モデルの追加画面が表示されます。以下がその画面です。

関連・モデルの追加ボタン

この入力ウィンドウで必要な項目を全て入力してOKボタンを押下する事で関連・モデルが追加されます。既に同名の関連・モデルがある場合や、入力内容に不備がある場合はエラーメッセージが表示されます。開始クラスと終了クラスにはクラス・モデル名を入力します。関係の種類によって以下のように決まっています。

  開始クラス・モデル 終了クラス・モデル
汎化関係 派生クラス 基底クラス
インナークラス関係 子クラス(内包されるクラス) 親クラス

2.作成済みのコネクタから登録

作成済みのクラス図のコネクタがある場合は、より簡単に関連・モデルを作成する事が可能です。 下の図のような状態です。

関連・ディクショナリに登録したいコネクタを右クリックして選択します。プロパティエディタが開くので「関連・ディクショナリ」というメニューを選びます。

「ディクショナリに追加」というメニューを実行すれば関連・ディクショナリに自動登録されます。関連・ディクショナリが複数存在する場合は先頭の関連・ディクショナリに登録します。 「指定のディクショナリに追加」というメニューを使用すれば任意の関連・ディクショナリに追加することが可能です。

既に関連・ディクショナリが登録済みの場合は「ディクショナリに追加」というメニューがグレー表示になります。


コネクタを自動生成する手順

コネクタの自動生成すると、図の作成が効率化できます。特にリバースエンジニアリングした場合は関連・ディクショナリも自動登録されているはずですので、コネクタの自動生成機能の効果が顕著に出ます。

関連・モデルが登録されている前提でコネクタの自動生成の手順を説明します。

まず、クラス図にクラスを配置します。クラス・ディクショナリにクラス・モデルを登録済みの場合はクラスビューからドラッグ&ドロップで作成すると効率的です。

上の図のようにコネクタが無い状態で、任意のクラスを右クリックで選択してポップアップメニューを表示させます。 メニューの中の[関連・ディクショナリ]-[コネクタの自動生成]という機能を実行することでコネクタが自動的に登録されます。

コネクタは必ず最短距離になるように接続されますので必要に応じて形や接続ポイントを調整したら完成です。

※Ver.1.37からはクラスビューからクラス・モデルをドラッグ&ドロップした際に自動的にコネクタを生成する機能が付きました



Copyright (c) TOM'S SOFTWARE 2002-2007 . All rights reserved .