平鍋です.
On Thu, 30 Aug 2001 09:56:17 +0900 (JST),
Akira SASAKI - 佐々木 聡 <a-sasaki@....jp> said:
> 平鍋さんの上記の文を読んで思ったのは、RUPのサブチームって、XPの1チーム
> と同じくらいの大きさなのかなぁ、と。
> あくまでぱっと思ったイメージですが。
> てことは、サブシステムの適切な分割が行われていればサブシステム間の連携
> は密にならずに済み、でもRUPのサブチームorXPのチームの内部は密に連携して
> いる必要がある…
はい.
>> これと,「ソフトウェアの構造は組織の構造を反映する
>> viceversa.」という Conway's law を組み合わせると,おもしろい
>> 結論が導けそうな....
> モジュールの結合度、凝集度(?)とよく似てますねぇ。
そうです.まさに結合度(cohesion)と、凝集度(coupling)なんです
よねぇ.
例えば,モジュール(例えばクラス)の設計は,
・low coupling =
インターフェイスは単純に.関係しないクラスとできるかぎりお話しな
いように.(Edelman's Law = don't talk to strangers,
Demeter's Law など)
・high cohesion =
クラスは1つの明確な目的と名前をもち,内部状態に不整合が起き
ないように.機能のそろった(coherent)メソッドとデータの集合で
あるべき.
で,サブチームの体制では,
・low coupling =
サブチーム間のインターフェイスは単純に.関係しないサブチーム
とはお話しないように.(というか話さなくてもいいように)
・high cohesion =
チームは明確な目的をもち,内部のモチベーションが高く
機能のそろった目標をもつべき.
となる感じです.(う〜ん,ここまで書いてこじつけの感が強く
なってきた)
以上