UML2.0オブジェクト図

概要:

統一モデリング言語 (UML) では、オブジェクト図は、特定のオブジェクトとプロパティ値、およびそれらのインスタンス間のリンクに焦点を当てています。関連するオブジェクト グラフのセットにより、システムの任意のビューが時間の経過とともにどのように変化するかについての洞察が得られます。

ここに画像の説明を挿入

以前の UML 仕様では、オブジェクト図は次のように説明されていました。「オブジェクト図は、オブジェクトとデータ値を含むインスタンスの図です。静的オブジェクト図はクラス図のインスタンスであり、システムの詳細な状態のスナップショットを示します。」 「オブジェクト図の使用は、データ構造の例を示すなど、かなり限定されています。」

最新の UML 2.5 仕様では、オブジェクト図は明示的に定義されていませんが、分類子インスタンスの表記法が提供されています。

オブジェクト図とクラス図は密接に関連しており、ほぼ同じ表記法を使用します。どちらの図もシステムの静的構造を視覚化することを目的としています。クラス図はクラスを示し、オブジェクト図はクラスのインスタンス (オブジェクト) を示します。オブジェクト図はクラス図よりも具体的です。これらは、例を提供したり、クラス図のテスト ケースとして機能するためによく使用されます。オブジェクト図には、通常、現在関心のあるモデルの側面のみが表示されます。

クラス図はオブジェクト図に似ていますが、相違点もあるので、順序付けシステムの例を使用してさらに詳しく説明します。

  • まず、注文と顧客がシステムの 2 つの要素として識別されます。顧客は複数の注文を持つことができるため、それらの間には 1 対多の関係があります。
  • Order クラスは抽象クラスであり、SpecialOrder と NormalOrder の 2 つの具象クラス (継承関係) を持ちます。
  • これら 2 つの継承クラスには、Order クラスのすべてのプロパティがあります。また、dispatch() や accept() などの追加関数もあります。

上記のすべての点を考慮すると、次のクラス図が描画されます。

ここに画像の説明を挿入

下記の画像は具体的な購入時のシステム例です。以下のオブジェクトがあります。

  • お客様
  • 注文
  • 特別な注文
  • 通常の順序

ここで、顧客オブジェクト (C) は 3 つの注文オブジェクト (O1、O2、および O3) に関連付けられています。これらのオーダー オブジェクトは、特別オーダーおよび通常オーダー オブジェクト (S1、S2、および N1) に関連付けられています。検討中の特定の時間について、顧客は異なる数量 (12、32、および 40) で次の 3 つの注文を持っています。

顧客は将来的に注文数量を増やすことができ、その場合、オブジェクト図にこれが反映されます。オーダー、特別オーダー、および通常オーダーのオブジェクトを観察すると、それらがいくつかの値を持っていることがわかります。

順序の値は 12、32、40 です。これは、インスタンスがキャプチャされたとき、オブジェクトが特定の瞬間にこれらの値を持つことを意味します (ここでは、購入時の特定の時刻が瞬間とみなされます)。

注文数量が 20、30、60 の特別注文および通常注文のオブジェクトについても同様です。別の購入時期を考慮すると、値もそれに応じて変化します。

上記のすべての点を考慮すると、次のオブジェクト図が描画されます。

ここに画像の説明を挿入

次に、オブジェクト グラフをどこで使用するかという質問について真剣に考えます。

まず、オブジェクト グラフを、特定の瞬間に実行されているシステムのスナップショットとして想像するという前述の言及に留意することが重要です。

走行中の電車を次のように想像してみてください。

  • 実行中の特定の状態。
  • 特定の乗客数。

スナップショットが異なる時間に取得された場合、オブジェクトは上記の値を変更します。

ここに画像の説明を挿入

概要: オブジェクト図は以下に適用できます。

  1. システムのプロトタイピング。
  2. リバースエンジニアリング;
  3. 複雑なデータ構造のモデリング。
  4. 実践的な観点からシステムを理解します。
  5. 実践的な観点からシステムを理解します。

おすすめ

転載: blog.csdn.net/weixin_48627356/article/details/121396645