UML-オブジェクト図
オブジェクト図はクラス図から派生しているため、オブジェクト図はクラス図に依存しています。
オブジェクト図は、クラス図のインスタンスを表します。基本的な概念は、クラス図とオブジェクト図で似ています。オブジェクト図もシステムの静的ビューを表しますが、この静的ビューは特定の時点でのシステムのスナップショットです。
オブジェクト図は、オブジェクトのセットとそれらの関係をインスタンスとしてレンダリングするために使用されます。
オブジェクト図の目的
ダイアグラムの目的は、それを実際に実装するために明確に理解する必要があります。オブジェクト図の目的は、クラス図に似ています。
違いは、クラス図がクラスとその関係で構成される抽象的なモデルを表すことです。ただし、オブジェクトダイアグラムは、特定の瞬間のインスタンスを表します。これは、本質的に具体的です。
これは、オブジェクト図が実際のシステム動作に近いことを意味します。目的は、特定の瞬間におけるシステムの静的ビューをキャプチャすることです。
オブジェクト図の目的は、次のように要約できます。
フォワードエンジニアリングとリバースエンジニアリング。
システムのオブジェクト関係
相互作用の静的ビュー。
オブジェクトの動作とそれらの関係を実用的な観点から理解する
オブジェクト図を描く方法は?
オブジェクト図はクラス図のインスタンスであることはすでに説明しました。これは、オブジェクト図がクラス図で使用されるもののインスタンスで構成されていることを意味します。
したがって、両方の図は同じ基本要素で構成されていますが、形式が異なります。クラス図では、要素は青写真を表すために抽象的な形式であり、オブジェクト図では、要素は実世界のオブジェクトを表すために具体的な形式です。
特定のシステムをキャプチャするために、クラス図の数は制限されています。ただし、オブジェクトダイアグラムを検討すると、インスタンスの数に制限はなく、本質的に一意です。システムに影響を与えるインスタンスのみが考慮されます。
上記の説明から、単一のオブジェクト図で必要なすべてのインスタンスをキャプチャすることはできず、システムのすべてのオブジェクトを指定することはできないことは明らかです。したがって、解は次のようになります。
まず、システムを分析し、どのインスタンスに重要なデータと関連付けがあるかを判断します。
次に、機能をカバーするインスタンスのみを検討します。
第三に、インスタンスの数は無制限なので、いくつかの最適化を行います。
オブジェクト図を描く前に、次のことを覚えて明確に理解する必要があります-
オブジェクト図はオブジェクトで構成されます。
オブジェクト図のリンクは、オブジェクトを接続するために使用されます。
オブジェクトとリンクは、オブジェクト図を作成するために使用される2つの要素です。
この後、ダイアグラムの作成を開始する前に、次のことを決定する必要があります。
オブジェクト図には、その目的を示す意味のある名前を付ける必要があります。
最も重要な要素を特定する必要があります。
オブジェクト間の関連を明確にする必要があります。
オブジェクト図に含めるには、さまざまな要素の値をキャプチャする必要があります。
より明確にする必要があるポイントに適切なメモを追加します。
次の図は、オブジェクト図の例です。これは、クラス図の章で説明した注文管理システムを表しています。次の図は、特定の購入時のシステムのインスタンスです。以下のオブジェクトがあります。
Customer
Order
SpecialOrder
NormalOrder
これで、顧客オブジェクト(C)が3つの注文オブジェクト(O1、O2、およびO3)に関連付けられました。これらの注文オブジェクトは、特別注文および通常注文オブジェクト(S1、S2、およびN1)に関連付けられています。顧客は、考慮される特定の時間に、異なる番号(12、32、および40)の次の3つの注文を持っています。
顧客は将来的に注文数を増やすことができ、そのシナリオではオブジェクト図にそれが反映されます。order、special order、およびnormal orderオブジェクトが観察される場合、それらにはいくつかの値があることがわかります。
注文の場合、値は12、32、および40です。これは、インスタンスがキャプチャされた特定の瞬間(ここでは、購入が行われた特定の時間が瞬間と見なされる)でオブジェクトがこれらの値を持っていることを意味します。
注文数が20、30、60の特別注文オブジェクトと通常注文オブジェクトについても同じことが言えます。異なる購入時期を考慮すると、これらの値はそれに応じて変化します。
以下のオブジェクト図は、上記のすべての点を考慮して描かれています。
オブジェクト図はどこで使用しますか?
オブジェクト図は、特定の時点で実行中のシステムのスナップショットとして想像できます。走っている電車の例を考えてみましょう
さて、走っている電車のスナップを撮ると、次のような静止画が見つかります。
実行中の特定の状態。
特定の数の乗客。スナップが別の時間に撮影されると変更されます
ここで、走っている電車のスナップは、上記の値を持つオブジェクトであると想像できます。そして、これは実際の単純または複雑なシステムに当てはまります。
一言で言えば、オブジェクト図は-に使用されていると言えます。
システムのプロトタイプを作成します。
リバースエンジニアリング。
複雑なデータ構造のモデリング。
実用的な観点からシステムを理解する。