ども、皆川%ただいま昼夜逆転中@豆蔵です。
# 以下、例によってメールの引用部分を一部削らせていただいています。
On Sat, 12 Mar 2005 13:49:09 +0900
Tetsuya Tatsumi <had20740@....jp> wrote:
> 関連に関する、素朴な疑問二点。
> 意識するのかな?
えっと…、関連名とロール名について、少し誤解されているような気がします。
関連名はその関連自体の意味付けを表す名前で、普通、動詞や動名詞の名前が
付けられます(たとえば、「結婚相手となる」など)。オプションで、方向付けあ
りの名前を付ける(関連名の先頭に読む方向を示す▲が表記される)ことができま
す(たとえば、「チョコレートを貰う」「チョコレートをあげる」など)。
ロール名は、あるオブジェクトから見てある関連を辿って参照されるオブジェ
クト(群)の役割を示す名前で、普通、名詞の名前が付けられます。
> 疑問1:
> 関連のロール名に逆側にも名前を付けられますが
> 何故でしょう?
>
> 一方が決まれば、反対は受身で一意にきまるはず
> 記述する必要はないとおもうのですが。
> 副詞が違うケースがあるため??
>
> 2/14にチョコレートを貰う
> +--------+ 0..*+--------+
> | 男 | ----------| 女 |
> +--------+0..* +--------+
> 2/14にチョコレートをあげる
上図のモデルの関連に付けられている名前は(たぶん)方向付けありの関連名で、
これらの関連名とは別に、それぞれの関連端にロール名を示すことができます。
たとえば、「男」クラス側には「ばら撒き先」、「女」クラス側には「有り難い
女神様達」、とかいった感じのロールが付けられるかもしれません (^_^; これ
らのロール名は、それぞれ、ある「女」クラスのインスタンスから見た「男」ク
ラスのインスタンス群の役割と、ある「男」クラスのインスタンスから見た「女」
クラスのインスタンス群の役割、を示している名前です。
> 疑問2
> 反対が受身にならないケースもありますが、違いを意識する必要はない?
>
> 結婚相手となる。
> +--------+ 1 +--------+
> | 男 | ----------| 女 |
> +--------+1 +--------+
> 結婚相手となる。
上図のモデルの場合、関連名は「結婚相手となる」もしくは「結婚している」
で、関連の「男」クラス側のロール名は「夫」、「女」クラス側のロール名は
「妻」といった感じになると思います。それぞれ、ある「女」クラスのインスタ
ンスから見た「結婚している」相手の「男」クラスのインスタンスの役割を「夫」
と呼び、ある「男」クラスのインスタンスから見た「結婚している」相手の「女」
クラスのインスタンスの役割を「妻」と呼ぶ、という記述ですね。
# ちなみに、上図のクラス図では関連の両端の多重度が両方とも「1」なので、
# この世界では男女とも一瞬たりとも独身でいることが許されないということで
# すね (^_^; 結構厳しい世界かも… (^_^;; ちなみに、独身である状態を許す
# のであれば、両端の多重度は共に「0..1」になります(重婚は考えない)。
# 多重度は関連先のオブジェクトの個数に関するクラス不変制約(Invariant)の
# 一種なので、そのクラスのオブジェクトが存在している間は常に満たしていな
# ければならない条件を示しています。「1」(明確に1)という多重度は思いの外
# 厳しい制限を表現しているものなんですよね。
以上、このメールが何かのお役に立ちましたら幸いです。
--
/|/| ▲ 皆川 誠 @ 株式会社 豆蔵
/ ノ / } 「きつねはコンと鳴く」
|// ノ / | 会社用: kitsune@....com
=o=|\| / 自宅用: kitsune-san@....com
く | / 携帯用: kitsunex@....jp
■■■■