こんにちは,児玉@(株)エクサです。
みつじさん,
「[modeling-dojo:00361] Re: 32番リベンジモデル公開」のお返事させていただきます。
>> 「お預かり品」の方もこれと同じように動的分類で状態変化を示しても
>> よかったのです。ちょっと実装を考えてしまいました(stateパターンで
>> す)。強いて言えば,「お預かり品」の状態は,状態遷移に関していろん
>> な制約をかけたかったことが何となく反映したのだと思います。
>
>GoF本を復習してみたら、State(305)ありました。
>GoF本全体がそうですが、集約の使い方からしていかにも
>実装上の工夫という感じがしますね。
そのとおりです。Stateパターンは,動的分類の実装方法の一つです。
他にも実装方法はあって,アナパタの後ろにいくつか書いてあったよう
に記憶しています。
>今回作成しているような概念モデルのレベルであれば、
>制約やステレオタイプで状態であることを明示すれば
>直接サブクラスとして描くだけでも十分ということですね。
現時点での状態を保持していればいいのか,状態の変化をすべて記録
しておくのかによって,ちょっと異なります。前者なら動的分類にしま
すが,後者なら通常のサブクラスのままです。動的分類ならオブジェク
トは1つしかありませんから,他のクラスから多重度は1になりますが,
後者だと多重度は多になります。
でも,こんな細かいところに気を取られていては本来の目的である,
よいモデルの追求ができませんから,おっしゃるように,ステレオタイ
プで示しておくので十分ではないかと私は思います。
>ただ、以前に誰か同じことを言ったかもしれませんが、
>オブジェクト図は縦の関係(汎化・特化)を描けないので、
>クラス図で動的分類を使うと、オブジェクト図でインスタンスを描くとき
>状態まで表現しようとすると難しくなるように思います。
>
>やはりクラス名などを工夫するしかないのでしょうか。
そうですね。私も困っています。
UMLではどうなっているのか調べる時間がないのですが,オブジェク
トの表記に縦の関係をすべて記述してしまうのはどうでしょう。たとえ
ば,「<underline>児玉:不良顧客:顧客</underline>」のように
です。
----
児玉公信@(株)エクサ
SPBOMソリューションオーナー
兼 技術部
kiminobu-kodama@....jp kodamak@....org
児玉流メール道 家元