オブジェクト指向CASEの動向

オブジェクト指向CASEの動向

佐原伸(1) 中谷多哉子(2) 藤野晃延(3)

1.(株)SRA ソフトウェア工学研究所 2, 3. 富士ゼロックス情報システム(株) 企画部(いずれも、当時の所属)
佐原伸 = Shin Sahara, sahara@sra.co.jp
URL=http://www.sra.co.jp/people/sahara
© copyright 1996 Shin Sahara

要約


 オブジェクト指向分析/設計(OOA/OOD)の手法とオブジェクト指向CASEツール(OO-CASE)を調査した。 OOA/OODはすでに実用的なレベルに達し、構造化分析/設計(SA/SD)を包含しつつある。 SA/SDからOOA/OODへ移行する条件は整った。 OO-CASEは従来のCASEより統合的なツール・環境としての機能がまだ未熟であるが、 かなりの機能を持ったものが出てきた。なお、多くの手法やOO-CASEがなお開発中である。
  1. はじめに

    プログラミングの世界は、オブジェクト指向プログラミング[Meyer 88bJ]によって急速に変わりつつある。 オブジェクト指向プログラミング(OOP)を押し進める力となったものは、 システムの巨大化・マルチメディア化・ユーザーインタフェースの複雑化・分散化などである。

    従来からの構造化分析・構造化設計(SA/SD)[DeMarco 78J][Hatley 87J][Ward 86]や、 ましてそのほかの古い手法では、これらのシステムを開発するのは困難であった。 このため各種のオブジェクト指向言語が開発され、その言語による開発を支援する オブジェクト指向ライブラリーの開発も相次いだ。 最近では、Apple社のMacintoshパーソナルコンピュータ上でで、 MacApp[Apple 90][Wilson 90]と呼ばれるObject Pascal[Apple 91]とC++[Stroustrup 86J]の オブジェクトライブラリーが開発されている。 同様の機能を持った、NeXT社のワークステーション上のNeXTStep[橋本 90] という Objective-C[Cox 86J]のオブジェクトライブラリーも開発されている。 これらのマシン上では、オブジェクト指向パラダイムを使って、 多くのアプリケーションプログラムやツールがすでに開発されている。

    構造化プログラミングだけでは巨大なシステムの開発に支障をきたし、 SA/SDとそれを支援するCASEツールが必要になったように、 OOPだけでは大きなシステムを開発するのに困難が生じる。 当然の帰結として、オブジェクト指向分析・オブジェクト指向設計手法と、 それを支援するCASEツールが必要になってきた。

    本稿では、最近になって多くの手法が出現してきたOOA/OOD手法と、それらを支援するCASEツールについて、 その主なものを概説する。 2章でオブジェクト指向CASEツールのベースとなる主要な3つの方法論について解説し 、3.1節でそれらの方法論を支援する上流工程支援CASE(Upper CASE)ツールを解説する。 また3.2節では、これらの方法論によらない下流工程支援 CASE(Lower CASE)についても紹介する。 さらに3.3節では、オブジェクト指向による開発に欠かせない、 ユーザーインタフェース構築支援のためのCASEツールを紹介する。 3.4節では、オブジェクト指向を支援するビジュアルプログラミングツールについて述べる。

    本稿の狙いは、オブジェクト指向パラダイムを使用して、 実用的なシステムを開発する際に助けとなる手法とCASEツールを、分かりやすくかつ組織的な視点から捉え、 類似性と相違点を明確にすることである。

    Ada[DoD 83] を支援する方法論やCASEツールは、継承を支援していないこと、日本での重要性が低いことから、 基本的には調査対象から除外した。

  2. ベースとなる方法論

    OOA/OODの方法論の多くは、ChenのEntityーRelationship(E-R)図[Chen 76]やSA/SDあるいは JSD法[Jackson 83J]の考え方を取り込んで、オブジェクト指向独自の記法や方法論を追加したものである。

    Shlaer/Mellor[Shlaer 88J]やBoochの古い手法[Booch 83]あるいはHOOD[HOOD 89]などの初期のOOA/OOD手法は、 後述する最新の手法に取り込まれ、より完全な形になっていったためここでは触れない。

  3. CASEツール  オブジェクト指向を支援するCASEツールはまだ数が少なく、SA/SDを支援するCASEツールほど完成度は高くないが、 ここ1年ほどの間に急速に増えている。ここではそれらのCASEツールを、方法論を支援するCASEツール、 方法論とはあまり関係なくより言語に密着したLower CASE、 オブジェクト指向のパラダイムでユーザーインタフェース構築を支援するCASEツール、 オブジェクト指向ビジュアルプログラミングツールに分けて説明する。
  4. 問題点

     ここまでに見てきたOOA/OOD手法やそれを支援するCASEツールには、まだ多くの問題点がある。以下に主なものを示す。

  5. 今後の方向  ここでは、OOA/OODの方法論とOO-CASEの進む方向を考えてみる。