Index: [Article Count Order] [Thread]

Date:  Fri, 15 Apr 2005 17:47:28 +0900
From:  庄司順和 <y-syouji@....jp>
Subject:  [modeling-dojo:00307] Re: No.31のモデル ( was Re:	関連クラス名)
To:  modeling-dojo@....jp
Message-Id:  <20050415174728y-syouji@....jp>
In-Reply-To:  <200504150810.AA07746@....jp>
References:  <200504150810.AA07746@....jp>
X-Mail-Count: 00307


To: 平澤さん、立見さん

庄司@NEC情報システムズです。

コメントいただきまして、ありがとうございます。

>ただ非常に残念ながらNo.31のモデルには、1つだけ微妙な間違いがあります。
>それは「料金」を関連クラスにしてしまっていることです。
>
>「関連クラス」は、関連がないと存在できないため、
>品目に依存しない”防虫加工”の料金を設定できません!

防虫加工の料金は品目によらず一定というのは、確かに今回の
モデル上で表現していません。これは、考慮から漏れてしまった
のではなく、わざとモデルから外しています。

確かに、現在の事実を見ると、防虫加工は品目によらず一定の
価格になっているのですが、これは、たまたまそうなっている
だけだと捉えました。

もし今後、例外的に防虫加工の料金が異なる品目を取り扱いたい
と思ったとき、これに対応するためにはモデルを変更するか、
防虫加工のクラスを変更する必要が出てきます。

そのため、防虫加工のような料金一定のサービスを特別扱い
することはせず、他のサービスと同様の扱いとしています。

こうすると、メンテナンス方法が若干面倒にはなると思ったの
ですが、それはモデルの動的振る舞いでうまく対応すれば良いと
考え、静的構造図上では表現していません。

>お題の文章を読む限り、標準日数の話は書いてありませんので、
>「サービス料金」でOKだと思います。
>ただ、実際の現場では「標準日数」などを管理するべきかを確認する必要がありますね。
>その場合は「クリーニングサービス」といったエンティティ名にすべきと思います。

標準日数のような属性があれば、クリーニング業務を知らない
人でも引渡し日を案内できるようになりますし、便利な機能に
なりそうです。

こういった機能に対する拡張性を考えると、確かに私のモデルでは
クラス名を変更しないとうまく対応できそうにありません。
ありがたいご指摘です。

>(今回のお題には書いてありませんが)
>料金の改定(値上げ、値下げ)まで表現する場合は、
>[クリーニング品目]と[クリーニングサービス]の関連エンティティの名前を
>[クリーニングサービス]あたりにして、
>[クリーニングサービス] 1--* [料金]
>と表現すればいいと思います。
>
>[クリーニングサービス]と[料金]を1--*とせず、
>限定子に[期間]を設定して、1--1とした方がスマートかも知れませんが。

なるほど、関連クラスに関連するクラスを、さらに追加すれば
良いわけですね。確かにそれなら表現できそうです。

しかし、関連クラスというのは、なかなか扱いが難しいですね。。

以上です。
----------------------------------------------
庄司 順和 <y-syouji@....jp>
NEC情報システムズ SI基盤事業部 オブジェクトテクノロジグループ
tel:044-812-8424 telnet:8-339-4563 mail:155-35