ラショナルのランボー氏 オブジェクト指向に基づくシステム開発のためのモデリング言語である「UML(Unified Modeling Language)」の提唱者の一人であるジェームス・ランボー氏(写真)が来日し、UMLの最新版である「UML2.0」の概要と、UMLやオブジェクト指向技術の現状について語った。

 ランボー氏は、オブジェクト指向分析/設計手法である「OMT(Object Modeling Technique)法」の提唱者として有名。UMLは、OMT法をグラディ・ブーチ氏の「Booch法」などと融合させる形で生まれたものだ。現在は、米ラショナルソフトウェアにフェローとして在籍。オブジェクト指向技術の研究活動に従事するとともに、オブジェクト指向技術の標準化団体であるOMG(Object Management Group)の委員として、UMLの改訂作業にもかかわっている。以下はランボー氏の発言要旨である。

 現在策定が進んでいる最新版のUML 2.0の改良点は、大きく三つある。第1に、クラスとコンポーネントの内部構造を整理・強化する。クラスやコンポーネントをグループ化し、階層構造を作れるようにした。第2に、オブジェクト間の相互作用を表す「シーケンス図」を改良する。条件分岐や反復に関する表記方法を増やしたり、個々の表記方法を改善することで、より図を書きやすくした。第3に、オブジェクト自体の内容を表す「アクティビティ図」を改良する。モデル化手法の一つである「ペトリネット」の考え方を取り入れることで、業務のワークフローを記述できるようにした

 これら三つの強化点により、大規模システムの分析や設計が容易になることが期待できる。第1の強化により、アプリケーション全体の構成が把握しやすくなる。第2の強化で、より複雑な事象もシステム構築の対象として表現できるようになる。また第3の強化で、以前よりも柔軟にオブジェクトの振る舞いを表現可能になる。

 これらの変更により、UMLにはさらに機能が追加され、複雑になる。しかし、扱いにくくなったり、学びにくくなるということはない。Excelのすべての機能を知らなくても、我々は十分に表計算の処理を実行できるのと同じことだ。UMLはあくまでもツール。システム開発技術者が、UMLのなかで「これは使える」と思ったものを取捨選択して使っていけばよいし、実際そうしている技術者がほとんどだ。技術者の仕事はあくまでシステムを作ることであって、ツールを使いこなすことではない。

 UML2.0は複数のメンバーが話し合いながら仕様を策定している。多くの人がさまざまなアイデアを持ち寄り、妥協と主張を繰り返しながら少しずつ進めている。仕様の策定は2002年中に完了することを目指しているが、無理かもしれない。2003年には決定するだろう。

 米国では新規アプリケーションのほとんどが、オブジェクト指向技術を利用して作られている。電気通信や交通運輸の分野で使われている分散システムはもちろん、会計や販売などの事務系アプリケーションも、オブジェクト指向技術で作るのが主流になっている。拡張性が高く、変更が容易なオブジェクト指向技術は、ほとんどすべての分野で有効だ。

 COBOLなどを使ってきた既存の技術者がオブジェクト指向を学ぶには、触って使ってみるという「実践」が一番有効だ。ただし、「UMLやJavaなどを使えば即、システム構築の発想がオブジェクト指向に切り替わる」ということはない。ある建築の本で知ったのだが、古代エジプトの寺院には石で作ったにもかかわらず、木造の建築物のコピーにしか見えないものがあるそうだ。建築技術の過渡期に作られたため、石の特徴を生かせずに従来通りの手法で作ってしまった結果だという。オブジェクト指向にも同じ危険がある。例えば、オブジェクトの考え方を十分に生かし切れずに作られているJavaのシステムが存在する。

 オブジェクト指向技術を身につけるには、しかるべく知識を持った専門家に学び、学んだ結果を踏まえてシステムを構築するという行為を繰り返していくしかないだろう。これがオブジェクト指向技術習得の一番の近道である。

高下 義弘=日経コンピュータ