「UMLを使っただけでは、生産性は上がりません」--日本アイ・ビー・エム ソフトウェア事業 ラショナル事業部 専任ITエンジニア藤井智弘氏は、講演のさい、よく逆説的な言い回しを使う。もちろん、聴衆の関心を引きつけるためだ。11月14日に開催したエンタープライズ・ソフトウエア・コンファレンスの氏の講演では、UMLブームへの疑問を投げかけた。藤井氏といえば、UMLの第一人者であり、このような発言をするのには訳があるはず。そこで同氏に話を聞いた。

 UMLとJavaの連携は、最先端の開発ツール製品の「売り」となる機能である。藤井氏の所属するラショナル事業部の製品では「Rational XDE」がこの機能を備えている。だが、藤井氏は、先の講演ではあえてUML-Java連携のメリットを強調しなかった。その意図として、「まずUMLでモデリングするという行為の目的を捉えないことには、コードがいくら出てきてもUMLのメリットは生きない」と話す。

 「Javaコード自動生成機能もいい。Visual Basicのような開発ツールでどんどん画面を作るというアプローチもあっていい。だが、エンドユーザーにとって大事なのは、何を作るか、どうモデル化するか、という本質的な部分だ」。これは、良いツールさえあればいいというものではない。開発者自身でなければ解決できないことであり、藤井氏はそこを強調したかったのである。

 とはいえ、今の開発工程の中、ツールの重要が増していることは事実だ。「いくらなんでも、秀丸エディタとJDKで作れるシステムには限界があるでしょう」(藤井氏)。「膨大な量のUMLを手書きで書いて、そのミスを人間が探すようなことはしたくない。UMLは厳密な仕様なので、論理モデルを機械的にチェックできる。人間はチェックではなく、考えることに集中できる」。ツールが重要となることは、もはや共通の認識といっていい。だからこそ、人間でなければできない仕事の重要性も増しているのである。

* * *

 ツールの機能より、まず本質を見よう--こうした意図で藤井氏が例に挙げるのは「パターン」である。

 パターンはいわば設計の「定石」集で、「他人の知恵を使える部分は使い、それをつないで作る」作り方に適用できる。設計ツールRational XDEにも、「GoFパターン」を始め著名なパターンが登録されている。

 「パターンは、共通の言葉になる点が重要」と藤井氏は語る。パターン集を知識として共有している開発者どうしであれば、パターンの名前を挙げるだけで話が通じる。パターンを使いこなした上で、ツールの機能を利用してほしいとする。

 「Rational XDEでは、JavaでなくUMLでパターンを定義している。そこから、Javaコードや、データベース定義を生成する。こうしたジャンプが可能になるのがいい所です」。

* * *

 ツールの機能だけでなく開発者の仕事が重要だとするなら、開発者が自らの設計のスキルを高めるにはどのような学習法がいいだろうか。この質問に対して、藤井氏は意表をつく回答をしてくれた。「Javaプログラミングはどうだろう」というのである。

 設計はUML、実装はJavaという役割分担が広まりつつある中、モデリングのスキルを高めるためにJavaを勉強するとはどういうことなのか。Javaはプログラミング言語で、設計用の言語とは違うのではないか。

 「モデリングだけを勉強しても、汎化・継承という一番肝心な部分は理解しにくい。Java言語で実装するイメージを掴んでおいた方が、概念を理解しやすい」と藤井氏は言う。Java言語に精通する目的ではなく、オブジェクト指向設計を理解するには、やはりJava言語も必要だという。

* * *

 もちろん、ツールの進化は続いている。設計ツールに関する最新のトピックスとして、RAS(Reusable Asset Specification)がある。再利用可能なコンポーネントの仕様記述のための共通仕様で、標準化団体OMGに提案中の段階である。Rational XDEでは、この仕様をすでにサポートしている。

 RASが普及すれば、複数のベンダーのコンポーネントを横並びで比較できるようになる。これは、「EJBコンポーネントに関するコンソーシアム」が定めている「情報公開規約」にも通ずる考え方である。「RASを使うカタログが充実してくれば、開発者は横並びにコンポーネントを比較する基準を持てるようになる」(藤井氏)。

* * *

 モデリングを担当する開発者は、思考のトレーニングを積むことが必要だ。そしてUMLは、人間の思考と、コンピュータとを橋渡しする。さらに、「先人の知恵」であるパターン、これらをサポートする設計・開発ツール--これらの武器を整えることは、効率良く、精度良く、モデリングから開発までのサイクルを遂行することに有効となる。

 こうした現代的な開発スタイルは、まだ普及の初期段階といえる。「設計ツールさえ入れればいいというものではありません」--こうした藤井氏の普及活動は、まだまだ続く。