連載

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

第2回 静的モデルの全体像

浅海智晴
2002/5/11

1.UMLの静的モデル

 前回は、UMLとJavaのマッピングを考えるうえで必要な、オブジェクト指向開発プロセスの中でのUMLとJavaの位置付けを整理しました。今回は設計モデルにおける静的モデルについて説明しましょう。

 UMLの持つ9つの図を静的・動的、論理的・物理的という2つの観点から分類すると、図1のようになります。静的モデルは、この図中の静的・論理的に対応しますから、クラス図とオブジェクト図が今回のテーマの対象となります。

 クラス図は、クラスとクラス間の関係を示すリレーションシップによって構成される図です。クラスは、同じ性質を持ったオブジェクトの集まりを抽象化したモデル要素、リレーションシップはクラスとクラスの間の関係を抽象化したモデル要素です。クラス図は、クラスとリレーションシップを部品として、オブジェクトの集まりとこれらのオブジェクト間の関係によって構成されるシステム構造を抽象的なモデルとして表現した図です。それに対してオブジェクト図は、クラス図で表現されたモデルの実行時のスナップショットという位置付けになっています。

図1 UML図の分類

 クラス図とオブジェクト図の関係の例を、図2に示します。この図では上段にクラス図を、またこのクラス図を実体化したものをオブジェクト図として下段に記述しています。

図2 クラス図とオブジェクト図の関係

 クラス図では、自動車クラス、人クラス、エンジンクラス、座席クラス、タイヤクラスの関係がアソシエーションとして記述されています。1つの自動車クラスに対して、1つのエンジンクラス、5つの座席クラス、4つのタイヤクラス、0以上5以下の人クラスが関連付けられています。

 これに対してオブジェクト図では、実際に生成されるオブジェクトが具体的に記述されています。オブジェクトが実際に使用される個数分明記されていることと、クラス図で可変となっていたオブジェクトの個数が明確になっています。この図の場合では、人オブジェクト(人クラスのインスタンスオブジェクト)が2つになっています。

 この例からも分かるように、クラス図とJavaプログラムの関係さえ明らかになれば、オブジェクト図とJavaオブジェクトの関係もおのずと明らかになってきます。つまり、Javaプログラムの実行時に現れるオブジェクト構造がそのままオブジェクト図に対応するわけです。前回述べたように、クラス図が静的モデルの基本となる図であり、UMLとJavaのマッピングを調べる場合には、クラス図とJavaの関係さえ押さえておけば十分ということです。

 
1/4

Javaオブジェクトモデリング 第2回
UMLの静的モデル
  モデルの流れ
  クラス図のモデル
  Javaの静的モデル


Javaオブジェクトモデリング INDEX


IT Architect 連載記事一覧

この記事に対するご意見をお寄せください managemail@atmarkit.co.jp

「ITmedia マーケティング」新着記事

「AIによる顧客体験(CX)向上」に懐疑的な見方が広がる――Qualtrics調査
Qualtricsが実施した年次グローバル調査から見えたカスタマーエクスペリエンス(CX)の現...

2025年のSNS大予測 AIの時代に「ソーシャル」はどう変わる?
もういくつ寝ると2025年……と数えるのはさすがに気が早いかもしれないが、それでも2024...

SEOで陥りがちな失敗は「アルゴリズム変更に対応できなかった」が最多に 原因は?
SEOの成功には何が必要なのか、失敗経験者へのアンケートで浮き彫りになったこととは……。