読書会(UMLモデリングの本質)第5回議事録
[ 戻る ]
「 UML モデリングの本質」を読む会第5回(最終回)議事録
2004年10月16日
出席者:高橋(徹) 高橋(智) 西野 吉村 松林 横山 村山 村上 奥 吉本
石黒 鈴木 岩永 坂本 根本(記)
P205〜 モデリングの実践より
P209の図7-1
ピーターコードのビジネスパターン図
設計の中間過程が書いてないので読んでいて理解できない。
クラス図が成長していく過程が重要。
カラーUMLという表記があって目に優しいUMLもある。
IDEのソースコード色づけ標準が欲しい
C#の様にJavaもthreadsafeかどうか全てjavadocに書いていて欲しい。
7.1.3 他人の書いたモデルを読む
オブジェクト図を書くのが有効 Jude竹 はオブジェクト図が書ける
inner class はどうやってテストするのか不明? (宿題)
UMLの抽象/具象クラスの定義はJavaのクラスと同じ考えでいいのか→違う。
カテゴリークラスを抽象クラスの代わりに使用するという話は
enumのようなものと考えていいようだ。
言葉でドキュメント記述すると多重度が見えない事が多いのでUMLが役立つ。
UMLは多重度を説明するのに有用、
n:m の多重度はObserverパターンに存在するので、必ずしも禁じ手ではない。
ダブルディスパッチはn:mパターンの使い方のケースである。
結城さんの本のVisitorパターン参照のこと。
※ パターンハッチング本も参照のこと。
図7-6 トリップとは・・・ ここでは、ひとつひとつの移動を指す。
ひとつの有効期間に便が複数関連づけてあるか、この意味が不明。
7.2 定石にとらわれず無駄を取る
7.2.2 制約は妥当か
P218 (2)関連クラスを関連に戻す
3行目 「もの」に該当する「トリップ」と「引き当て」は、
「こと」同士の関連を表す・・・
ここで「もの」と「こと」が逆に書いてある、誤記だろう。
図7-12 図7-6の有効期間が途中から有効期限になっている、理由不明。
シートクラスの多重度が0..1だが、
これはスーパーシートのないフライトを想定しているのかもしれない。
オープンクラスから路線クラスへのみナビケートが付いているか、これでいいのか?
多分、強調表示したいのでナビゲートを付けたのだろう。
旅行プランと、トリップの間は強い集約だが、いまひとつ意味が分からない。
7.3 曖昧さや、矛盾を概念レベルで撲滅する
図7-13 OCLの記述ミスはどう対応するのか? syntax checkerはあるのか不明。
OptimalJはOCLでなくAction Semanticsを使っている。
OCLは見づらい、なんとかならないのか。
7.3.2 ユースケースに基づく見直し
図7-16 シートクラスは、行きと帰りの2つ必要なはず。
図7-17 全てのmethodに **A**() (makeAReservation())と
***s() (getAvailableSeats())
と表記を分けて単複区別しているが、これは児玉さんの書き方だろう。
7.3.3 パッケージでくくる
図7-19 トリップクラスから商品interfaceを参照しているが、他の路線クラスなどは、
facadeパターンが適応されているので、変更されても、
影響を受けないようになっているのか不明。
パッケージが最後に出てきたが、本当にこのタイミングでいいのか?
トップダウンなら、パッケージが先に作られるべきだと思う。
以上
[ 戻る ]