みつじです。
ideiさん、
>みつじさんの言いたかったことが、ほぼ理解できたと思います。
>で、「UMLモデリングのエッセンス」を読み返してみました。
児玉さんの本、実はまだ読んでないんです。(ごめんなさい...)
自分のボキャブラリーに問題を感じたので
さっき Amazon で注文しました。
もしかしたら答えが載っているのでしょうか?
>結局、問題領域をどういった視点でみているかは、ぼくも、みつじさんも
>まったく同じです。
>UMLでの表現方法が違うだけ、ということだと思います。
そうです。表現方法にこだわっているのです。
あまり価値のないこだわりかもしれません。
>動的分類を汎化を使い、<<動的>> というステレオタイプを使って
>表現するのか、関連を使って表現するのか、どちらが良いか、
>ということだとすれば、
>やはり、結論は、好みの問題かなと思います。
同感です。
>汎化を使ったときに、オブジェクト図を描けないという
>ことですが、オブジェクト名で、
>「バグ未処理:修正提案」のように表すとか、工夫すれば、
>なんとか、表現できるような気もします。
> # そういうことではないなら、指摘してください
例えばパターン1のモデルは、クラス図自体が矛盾しているため、
検証のためのオブジェクト図が意図したものにならないという意味で
オブジェクト図が描けないということなのです。
http://blogimg.goo.ne.jp/user_image/2c/e2/24535bb37bf17a486b14b9c21ea6dd5b.jpg
分類の軸が1つの場合は、ideiさんの提案でクリアできると思います。
>それと、重要か重要でないかで、汎化をつかうか、関連を使うかを
>区別するのではなく、
>あくまでも、静的か動的か という視点で区別するべきかと思います。
>静的に分類されるならば、概念モデル的には、多重分類になっても問題
>ないような気がします。
> # それをどう、設計、実装モデルに落とすのかは、なやみどころですが。
そうですね。判断基準が難しいと思ったのですが、
「重要/重要でない」よりは、「静的/動的」を基準にしたほうが良さそうです。
「重要/重要でない」にしてしまうと重要かどうかの判断自体が必要に
なってしまいますしね。
ただ、例えば分類の軸が二つあったとき、
[静的-動的][動的-動的][静的-静的]が考えられるのですが、
両方が動的や静的な場合はどういう基準で判断するのがいいのかなという
疑問があります。
両方静的な場合は、パターン2のようにピラミッドになるのが自然なのかな。
>概念モデルでは、多重分類はOK という認識ならば、
>分類軸が2つ以上になっても、静的か動的かを明記すれば、
>パターン1でも問題ないかと思います。
4つの汎化線を2つづつに束ねるものがあればよいのですが、
UMLではそれ専用の概念が(たぶん)ないので、パターン1は矛盾してます。
どのサブクラスがどの分類系列に属するのかクラス図だけで判断できないから。
現時点では、それ(束ねること)に利用できる概念はクラスしかないので、
結局パターン3に落ち着くということだと思います。
>ただ、僕としては、「状態」や「役割」については、
>設計、実装のことを考えて、初めから、
>関連を使う方を採用すると思います。
了解です。