本連載は、Javaプログラミングが一通りできて、UMLの基本的な文法を一通り知っているプログラマーを対象に、オブジェクト指向開発の流れの中におけるUMLとJavaの関係について説明していきます。また、オブジェクト指向開発プロセスはマスターしているものの、Javaによる開発はこれからという方にも有益です。
JavaやUMLの知識は一通り持っていても、具体的にどのような組み合わせで使えばよいのかイメージがわかない、UMLによる設計図からJavaプログラムの作成を要求されたが具体的な作業方法が見えてこない、という方もいらっしゃることでしょう。Javaはオブジェクト指向言語ですから、その能力をフル活用するためにはオブジェクト指向開発が前提となります。オブジェクト指向開発では、設計図をUMLで記述することになるので、UMLとJavaの関係を整理しておくことが必要です。
UMLはオブジェクト指向開発の全工程をカバーする膨大な仕様体系を持っています。UMLの全仕様に対して機械的にJavaとのマッピングを考えることは、あまりメリットのあることとはいえません。Javaによる実装をターゲットとしないUMLの設計図をJavaプログラムに落とし込む作業はかなり大変ですし、実際の開発ではあまり遭遇しないシチュエーションでもあるからです。
きちんとしたオブジェクト指向開発では、抽象的な分析モデルからJavaの実装を意識した設計モデルを作成し、そこからJavaプログラムに落とし込むという手順を取ります。この流れの中でUMLとJavaのマッピングを考えるのが、現実的で効率の良い方法となります。
詳しくは後述しますが、UMLによるオブジェクトモデルとJavaの関係が重要になるのは、以下の2カ所となります。
「設計モデルとJavaプログラムのマッピング」は、まさにUMLからJavaへの落とし込みのところですから当然ですね。「システム分析モデルと設計モデルのマッピング」においてJavaが登場するのは、設計モデルが実装環境であるJavaを意識したものだからです。本連載では前者の「設計モデルとJavaプログラムのマッピング」をテーマにします。後者の「システム分析モデルと設計モデルのマッピング」は、Java以外にも関連する技術が多岐にわたり、また「設計モデルとJavaプログラムのマッピング」の知識が前提となる技術だからです。
連載の内容としては、静的モデル、動的モデル、物理モデルの3つの切り口で、UMLによるオブジェクトモデルとJavaとの対応関係について説明していきます。
また、本連載で使用する用語、および使用するJDK、UMLのバージョンについてはこのページを参照ください。
UMLとJavaのマッピングは、オブジェクト指向開発という文脈の中で行われます。つまり、UML、Java、オブジェクト指向開発の3つのキーワードが織り成す関係を明らかにしなければ、UMLとJavaの関係についての議論はできないというわけです。
この「問題領域」の構造を明らかにする切り口となるのが、開発プロセスで用いられる各種モデルとJavaの関係です。そこで、
の順に、問題領域の構成要素について説明したいと思います。
Copyright © ITmedia, Inc. All Rights Reserved.