Index: [Article Count Order] [Thread]

Date:  Sat, 07 May 2005 13:15:16 +0900
From:  kiminobu-kodama@....jp (児玉公信)
Subject:  [modeling-dojo:00362] Re: 32番リベンジモデル公開
To:  modeling-dojo@....jp
Message-Id:  <200505070415.AA01445@....jp>
In-Reply-To:  <001601c5524e$54f1b2e0$7930290a@mitsuji6>
References:  <001601c5524e$54f1b2e0$7930290a@mitsuji6>
X-Mail-Count: 00362

 こんにちは,児玉@(株)エクサです。

みつじさん,

 「[modeling-dojo:00361] Re: 32番リベンジモデル公開」のお返事させていただきます。

   >>  「お預かり品」の方もこれと同じように動的分類で状態変化を示しても
   >> よかったのです。ちょっと実装を考えてしまいました(stateパターンで
   >> す)。強いて言えば,「お預かり品」の状態は,状態遷移に関していろん
   >> な制約をかけたかったことが何となく反映したのだと思います。
   >
   >GoF本を復習してみたら、State(305)ありました。
   >GoF本全体がそうですが、集約の使い方からしていかにも
   >実装上の工夫という感じがしますね。

 そのとおりです。Stateパターンは,動的分類の実装方法の一つです。
他にも実装方法はあって,アナパタの後ろにいくつか書いてあったよう
に記憶しています。

   >今回作成しているような概念モデルのレベルであれば、
   >制約やステレオタイプで状態であることを明示すれば
   >直接サブクラスとして描くだけでも十分ということですね。

 現時点での状態を保持していればいいのか,状態の変化をすべて記録
しておくのかによって,ちょっと異なります。前者なら動的分類にしま
すが,後者なら通常のサブクラスのままです。動的分類ならオブジェク
トは1つしかありませんから,他のクラスから多重度は1になりますが,
後者だと多重度は多になります。

 でも,こんな細かいところに気を取られていては本来の目的である,
よいモデルの追求ができませんから,おっしゃるように,ステレオタイ
プで示しておくので十分ではないかと私は思います。

   >ただ、以前に誰か同じことを言ったかもしれませんが、
   >オブジェクト図は縦の関係(汎化・特化)を描けないので、
   >クラス図で動的分類を使うと、オブジェクト図でインスタンスを描くとき
   >状態まで表現しようとすると難しくなるように思います。
   >
   >やはりクラス名などを工夫するしかないのでしょうか。

 そうですね。私も困っています。
 UMLではどうなっているのか調べる時間がないのですが,オブジェク
トの表記に縦の関係をすべて記述してしまうのはどうでしょう。たとえ
ば,「<underline>児玉:不良顧客:顧客</underline>」のように
です。

   

----
児玉公信@(株)エクサ
   SPBOMソリューションオーナー
 兼 技術部
 kiminobu-kodama@....jp kodamak@....org
         児玉流メール道 家元