
オブジェクト指向プログラミングにおいて、統一モデリング言語(UML) のオブジェクト図[1]は、特定の時点での モデル化されたシステムの構造の全体または部分的なビューを示す図です。
概要
統一モデリング言語(UML)では、オブジェクト図は特定のオブジェクトと属性のセット、およびこれらのインスタンス間のリンクに焦点を当てています。相関性のあるオブジェクト図のセットは、システムの任意のビューが時間の経過とともにどのように進化すると予想されるかについての洞察を提供します。初期の UML 仕様では、オブジェクト図は次のように説明されていました。[2] [3]
「オブジェクト図は、オブジェクトとデータ値を含むインスタンスのグラフです。静的オブジェクト図はクラス図のインスタンスで、ある時点でのシステムの詳細な状態のスナップショットを示します。オブジェクト図の使用は、データ構造の例を示すなど、かなり限定されています。」
最新のUML 2.5.1仕様ではオブジェクト図は明示的に定義されていないが[4] 、分類子の「インスタンス」の表記法が提供されています。[4] : 126
オブジェクト図とクラス図は密接に関連しており[5]、ほぼ同じ表記法を使用します。[6]どちらの図も、システムの静的構造を視覚化することを目的としています。クラス図がクラスを示すのに対し、オブジェクト図はクラスのインスタンス(オブジェクト)を表示します。[7]オブジェクト図はクラス図よりも具体的です。多くの場合、例を示したり、クラス図のテストケースとして使用したりします。通常、モデル内の現在の関心のある側面だけがオブジェクト図に表示されます。
オブジェクト図のトピック
インスタンス仕様
オブジェクト図上の各オブジェクトとリンクは、InstanceSpecificationによって表されます。これにより、オブジェクトの分類子 (抽象クラスまたは具象クラスなど) とインスタンス名、およびスロットを使用した属性やその他の構造的特徴を表示できます。各スロットは単一の属性または特徴に対応し、そのエンティティの値を含めることができます。
インスタンス仕様の名前には、オプションでインスタンス名、':' 区切り文字、およびオプションでコンマで区切られた 1 つ以上の分類子名が表示されます。スロットの内容がある場合は、名前の下の別の属性コンパートメントに含まれます。リンクは実線で表示され、関連付けのインスタンスを表します。
オブジェクト図の例

フィボナッチ数列の生成をモデル化する 1 つの方法を検討します。
右側の最初の UML オブジェクト図では、左端のインスタンス仕様のインスタンスの名前はv1で、分類子としてIndependentVariable を持ち、 FibonacciSystem内でNMinus2ロールを果たし、値が0のval属性のスロットを持ちます。2 番目のオブジェクトの名前はv2で、クラスIndependentVariableであり、NMinus1ロールを果たし、val = 1を持ちます。DependentVariableオブジェクトの名前はv3で、Nロールを果たします。最上位のインスタンスは匿名のインスタンス仕様で、分類子としてFibonacciFunctionを持ち、インスタンス名、ロール、スロットを持つことができますが、これらはここには示されていません。この図には、線で示される 3 つの名前付きリンクも含まれています。リンクは関連のインスタンスです。

2 番目の図では、少し後の時点で、IndependentVariableオブジェクトとDependentVariableオブジェクトは同じですが、 val属性のスロットの値が異なります。ここではロール名は表示されていません。

最後のオブジェクト ダイアグラム (さらに後のスナップショット) には、同じ 3 つのオブジェクトが含まれています。これらのスロットの値は異なります。インスタンス名とロール名はここには表示されません。
使用法
UML モデリング ツールを使用している場合は、通常、クラス ダイアグラムなどの他のダイアグラム タイプを使用してオブジェクト ダイアグラムを描画します。オブジェクト インスタンスは、インスタンス仕様または単にインスタンスと呼ばれることがあります。インスタンス間のリンクは、通常、リンクと呼ばれます。集約または構成シンボル (ダイヤモンド)などの他の UML エンティティも、オブジェクト ダイアグラムに表示されることがあります。
参考文献
- ^ 「オブジェクト ダイアグラム」。統一モデリング言語 2.5.1。OMGドキュメント番号 formal/2017-12-05。オブジェクト管理グループ標準化機構 (OMG SDO)。2017 年 12 月。p. 735。
- ^ Object Management Group (2001) UML 仕様 1.4、2001 年 9 月
- ^ Anne Banks Pidduck、John Mylopoulos、Carson C. Woo (2002) Advanced Information Systems Engineering . p.776.
- ^ ab 統一モデリング言語 2.5.1。OMG文書番号 formal/2017-12-05。オブジェクト管理グループ標準化機構 (OMG SDO)。2017 年 12 月。
- ^ Marcus Fontoura、Wolfgang Pree、Bernhard Rumpe (2002)フレームワークアーキテクチャの UML プロファイル。p.19
- ^ カセム A. サレハ (2009)ソフトウェア エンジニアリング。 p.47
- ^ Bianca Scholten (2007)統合への道: 製造業における ISA-95 標準の適用ガイドp.155
外部リンク
- 公式 UML 2.0 仕様を含む UML に関する一般情報。特に InstanceSpecification のセクションを参照してください。
- オブジェクト図の表現力、現実世界からの例証
- モーダル オブジェクト ダイアグラムは、存在/普遍モードと肯定/否定モードを備えたオブジェクト ダイアグラムの拡張です。
