ObectSquare

[オブジェクト指向を学ぶための入門書ガイド]


3.オブジェクトモデリングの心に触れたい向きに


オブジェクト指向分析OOA第2版、P.コード/E.ヨードン、羽生田栄一 監訳、トッパン、1992

Shalaer/MellorらのOOAと並んで最も初期にオブジェクト指向にもとづく分析を世に問うた記念碑的な1冊といえるでしょう。
記法という意味では古くなってしまったとはいえ、いまでもOOAに取り組む皆さんにはぜひ読んでほしいと思います(
ちなみにオブジェクト指向の概念をプログラミングより上流に適用しようとOODという言葉を初めて言い出したのはあのBoochで何と1982年なんですね。とはいえそのときはAdaをターゲットにしていたのですが)。

近年ではオブジェクト指向分析におけるオブジェクト識別のむづかしさが指摘され、それを克服するためのアプローチとして「ユースケース」の考え方が普及しつつあります。
しかしやはりナイーブなオブジェクト指向にもとづくOOAD手法を一度は通過しておく必要があります。
でないとユースケースのメリットもその問題点も見えてこないでしょう。

(ちなみに筆者は、ユースケースだけでは適切なオブジェクト識別は困難と考えています。ユースケースの前にラフな概念モデルないしはドメインモデルがどうしても要ります。それを前提にしないとユースケース記述の粒度はうまく揃いません。そしてその事前の概念モデルを技術的にうまく作成する手立てなどあろうはずがありません。その問題領域の現場担当者と専門家の頭の中に存在する概念マップを無心になってモデルとして紙のうえや薔薇の花弁のうえに引っ張り出す能力のある人にだけ行えるのがアナリシスと呼ばれる行為です。とはいえアナリシスに際してのコミュニケーション能力を高めるための若干の技法はあります。それはまたの機会に)

そして、CoadらのOOA手法のよいところは、手法として単純で素直であり、ユーザーを巻き込んで分析プロセスを実践するのに向いているということです。
そしてうれしいことに、コンサルタントとしての経験豊富なCoadとYourdonのノウハウが要所に披瀝されています。
アナリシスプロセスは決して工学的に定義付けられる作業ではなく人間と人間のコミュニケーションをとおしてインタラクティブにモデリングを繰り返していくダイナミックな過程だと割り切って、そのための具体的な技法が提案されているのです。
たとえば、軍事システムを手がけるんだったらまずそれに関係するミステリー小説を読めという具合。
ですから「方法論」などと大上段に構えずに、自分のコミュニケーション能力・プレゼン能力・理解能力向上のための実用書と考えて取り組まれることをお勧めします。

ただし、原理的にも結構鋭いことを書いていまして、第1章でさらっと述べていますが、「複雑さの管理」を行うために人間のもっている認知能力を最大限発揮させる仕掛けがOOなのだという指摘は含蓄が深いと思います。
筆者も常々そう主張してきました(主にオブジェクト指向と人間のレトリック能力の相似について)ので、手法自体はちょっと古くなりましたが、筆者としてはあまり邪険には扱いたくないのです。
あの冷静なYourdonがオブジェクトとアナリシスの結合による可能性に大いに高揚している様がリアルに伝わってきてOOA黎明期の熱気が感じられ、その辺を味わうのも一興です。

また、理論的には、大規模システムに対応するためのサブジェクトの概念の早い時期での提案、そしてOOAモデルをOODにつなげていく際の多重コンポーネントモデル(対話インターフェース部、問題領域部、タスク管理部、データ管理部)の提案は、現在盛んになってきたソフトウェアアーキテクチャの基本的な構造を示唆しており参考になります。ということでCoad/YourdonのOOAあなどれないぞ。


オブジェクトモデリング[新版]、落水一郎・東田雅宏、アジソン・ウェスレイ、1998

もともとは1995年にジャストシステムから出たものですが、いろいろあって絶版になり残念に思っていたところ、こうした形で再版されることになったようでよかったよかった。とはいえ、この本の存在を知っているひとはほんとうに少なく、薄いのに内容が伴い、オリジナリティもある、もっと評価されてよい本だと思います。

わたしは、すぐに読めるオブジェクト指向「方法論」の本を1冊だけ教えてくれといわれたら、この本を教えることにしています。オブジェクト指向モデリングの基本的なポイントは薄いこの1冊にほとんど含まれています。人間世界におけるさまざまな情報を整理する「方法論」としてオブジェクト指向をわかりやすく整理してくれています。学園生活や水泳部のマネージャ稼業といった具体的例を通してオブジェクトという視点で対象世界を「モデリング」する醍醐味を知ることができるでしょう。また本書が類書と一線を画すのは、同じ例題を構造化分析設計技法とオブジェクト指向の両方でともにモデルを提示してくれているところです。この比較により、なぜオブジェクト指向が有効なのか、まだどんな点で構造化手法とオブジェクト指向はそれほど変わらないかが見えてきます。面白いと思われたらぜひ次に、「オブジェクト指向方法論OMT」(ランボー他、羽生田栄一 監訳、トッパン、1992)に進みましょう。より詳しくオブジェクト指向でモデリングする際の技法や注意点を学ぶことができます。またモデリングから実装に具体的にどう展開するかが見たいという向きには、同じ著者の本で先に紹介した「ソフトウェア工学実践の基礎--分析・設計・プログラミング」の後半が参考になるでしょう。


© 1999 OGIS-RI Co., Ltd.

Prev.

Index

Next