連載

Javaオブジェクトモデリング 第1回

第1回 UMLとJavaの関係

浅海智晴
2002/4/x


連載のはじめに

 本連載は、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プログラムのマッピング
  • システム分析モデルと設計モデルのマッピング
 「設計モデルとJavaプログラムのマッピング」は、まさにUMLからJavaへの落とし込みのところですから当然ですね。「システム分析モデルと設計モデルのマッピング」においてJavaが登場するのは、設計モデルが実装環境であるJavaを意識したものだからです。本連載では前者の「設計モデルとJavaプログラムのマッピング」をテーマにします。後者の「システム分析モデルと設計モデルのマッピング」は、Java以外にも関連する技術が多岐にわたり、また「設計モデルとJavaプログラムのマッピング」の知識が前提となる技術だからです。

 連載の内容としては、静的モデル、動的モデル、物理モデルの3つの切り口で、UMLによるオブジェクトモデルとJavaとの対応関係について説明していきます。連載スケジュールの目安は、下表のとおりです。

 連載スケジュール
内容
第1回(今回) 概要
第2回 静的モデル 概要
第3回 静的モデル クラス図 クラス
第4回 静的モデル クラス図 アソシエーション
第5回 静的モデル クラス図 汎化とディペンデンシィ
第6回 静的モデル クラス図 パッケージ
第7回 動的モデル 概要
第8回 動的モデル シーケンス図動的モデル シーケンス図
第9回 動的モデル ステートチャート図
第10回 物理モデル コンポーネント図
第11回 まとめ

 また、本書で使用する用語、および使用するJDK、UMLのバージョンについてはこのページを参照ください。

問題の構造

 UMLとJavaのマッピングは、オブジェクト指向開発という文脈の中で行われます。つまり、UML、Java、オブジェクト指向開発の3つのキーワードが織り成す関係を明らかにしなければ、UMLとJavaの関係についての議論はできないというわけです。

 この「問題領域」の構造を明らかにする切り口となるのが、開発プロセスで用いられる各種モデルとJavaの関係です。そこで、

(1)UML

(2)開発プロセス

(3)モデル体系

の順に、問題領域の構成要素について説明したいと思います。


 
1/5

Javaオブジェクトモデリング 第1回
連載のはじめに
  (1)UML
  (2)開発プロセス
  (3)オブジェクト指向開発におけるモデル体系
  Java開発におけるオブジェクトモデリングの意義

INDEX
Javaオブジェクトモデリング
第1回 UMLとJavaの関係



Java Solution全記事一覧




Java Agile フォーラム 新着記事
@ITメールマガジン 新着情報やスタッフのコラムがメールで届きます(無料)

注目のテーマ

Java Agile 記事ランキング

本日 月間