連載
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プログラムのマッピング
- システム分析モデルと設計モデルのマッピング
連載の内容としては、静的モデル、動的モデル、物理モデルの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全記事一覧 |
- 実運用の障害対応時間比較に見る、ログ管理基盤の効果 (2017/5/9)
ログ基盤の構築方法や利用方法、実際の案件で使ったときの事例などを紹介する連載。今回は、実案件を事例とし、ログ管理基盤の有用性を、障害対応時間比較も交えて紹介 - Chatwork、LINE、Netflixが進めるリアクティブシステムとは何か (2017/4/27)
「リアクティブ」に関連する幾つかの用語について解説し、リアクティブシステムを実現するためのライブラリを紹介します - Fluentd+Elasticsearch+Kibanaで作るログ基盤の概要と構築方法 (2017/4/6)
ログ基盤を実現するFluentd+Elasticsearch+Kibanaについて、構築方法や利用方法、実際の案件で使ったときの事例などを紹介する連載。初回は、ログ基盤の構築、利用方法について - プログラミングとビルド、Androidアプリ開発、Javaの基礎知識 (2017/4/3)
初心者が、Java言語を使ったAndroidのスマホアプリ開発を通じてプログラミングとは何かを学ぶ連載。初回は、プログラミングとビルド、Androidアプリ開発、Javaに関する基礎知識を解説する。
|
|




