クラス図の要素(UML 1.5)

提供: RAD Studio
移動先: 案内検索

UML 1.5 クラス図:インデックス への移動

モデル要素とは、ダイアグラムに配置できる、モデルのあらゆる構成要素のことです。 モデル要素には、ノードと、ノード間のリンクがあります。

クラス図で使用できるモデル要素

モデル要素は、[モデル ビュー]や[ダイアグラム]ビューのコンテキスト メニューを使って、または[ツール パレット]を使って、作成することができます。

使用できるモデル要素は、デザイン プロジェクトか実装プロジェクト(Delphi、C++)かによって異なります。 UML 1.5 クラス図で使用できるモデル要素の一覧を以下の表に示します。 適用可能なプロジェクトの種類は、角かっこで示します。

UML 1.5 クラス図の要素

アイコン 要素 名前 種類 コメント

パッケージ アイコン

パッケージ要素

パッケージ
 - [UML]
名前空間
 - [Delphi、C++]

ノード

クラス アイコン

クラス要素

クラス
 - [UML、Delphi、C++]

ノード

インターフェイス アイコン

インターフェイス要素

インターフェイス
 - [UML、Delphi]

ノード

関連クラス アイコン

関連クラス要素

関連クラス 
 - [UML、Delphi、C++]

ノード

関連クラスは、関連とクラスの両方のプロパティを持つため、クラスのプロパティも備えた N 項関連と見なすことができます。 「クラス図の要素間の関係」の「N項関連」を参照してください。

構造体アイコン

構造体要素

構造体
 - [Delphi、C++]

ノード

列挙型アイコン

列挙型要素

列挙型
 - [Delphi、C++]

ノード

ユニオン アイコン

ユニオン要素

ユニオン
 - [C++]

ノード

デリゲート アイコン

デリゲート
デリゲート(Function 手続き)  
 - [Delphi]

クラス メンバ

クラス、関連クラス、構造体、名前空間に挿入できます。

Typedef アイコン

Typedef 要素

Typedef
 - [Delphi]

ノード

オブジェクト アイコン

オブジェクト要素

オブジェクト
 - [UML、Delphi、C++]

ノード

汎化アイコン

汎化関係

実装関係

汎化(generalization)
 - [UML、Delphi、C++]
実装
 - [UML、Delphi、C++]

リンク

リンク

汎化および実装リンクは、同じ汎化アイコンコマンドで作成します。 汎化は、2 つのクラスまたは 2 つのインターフェイスの間の継承を表します。 実装は、継承したインターフェイスをクラスが実装していることを表します。 「クラス図の要素間の関係」の「汎化と実装」の説明を参照してください。

関連アイコン

関連関係

関連
 - [UML、Delphi、C++]

リンク

可能な種類: 関連集約合成
クラス図の要素間の関係」の「関連」の説明を参照してください。

関連端アイコン

関連端リンク

関連端
 - [UML、Delphi、C++]

関連端のコンテキスト メニューが開き、そこから関連端として追加する構成要素の種類(クラス、構造体、列挙型、ユニオン)を選択します。

関連の関連端クラス(構成要素)を指定するために使用します。関連のプロパティは関連クラスで表します。 「クラス図の要素間の関係」の「N項関連」を参照してください。

依存アイコン

依存関係

依存
 - [UML、Delphi、C++]

リンク

クラス図の要素間の関係」の「依存 」の説明を参照してください。

パターンからのノード アイコン

パターンからのノード
 - [UML、Delphi、C++]

ノード

[パターン ウィザード]を開く

パターンからのリンク アイコン

パターンからのリンク
 - [UML、Delphi、C++]

リンク

[パターン ウィザード]を開く

制約アイコン

制約要素

制約
 - [UML、Delphi、C++]

"OCL 式" または "自由な構文の制約"

モデリング機能では、デフォルトで、指定された制約のテキストを OCL 式と見なして検証を試みます。 検証に失敗すると、制約は赤で強調表示されます。 赤の強調表示をしないようにするには、[オブジェクト インスペクタ]で[制約言語]プロパティを[テキスト]に設定します。

制約リンク アイコン

制約リンク

制約リンク
 - [UML、Delphi、C++]

制約リンク

ノート アイコン

ノート要素

ノート
 - [UML、Delphi、C++]

注釈

ノート リンク アイコン

ノート リンク

ノート リンク
 - [UML、Delphi、C++]

注釈リンク

ここでは、ノートがノート リンクによって別のモデリング要素と結び付けられています。

画像アイコン

画像要素

画像
 - [UML、Delphi、C++]

図 - 画像プレースホルダのフレーム

[ツール パレット]のコマンドでは、画像プレースホルダの空のフレームだけがダイアグラム上に配置されます。 このフレーム内に画像を描画するには:

  • 画像プレースホルダを選択します。
  • [オブジェクト インスペクタ][画像のパス]プロパティで、描画する画像のファイルを指定します。

ここでは、Embarcadero の画像が画像プレースホルダのフレーム内に描画されています。

画像リンク アイコン

画像リンク

画像リンク
 - [UML、Delphi、C++]

図リンク

ここでは、Embarcadero の画像が画像リンクによって別のモデリング要素と結び付けられています。


コンテナ要素、コンテナ要素のメンバ

クラス図では、要素の種類によって(コンテナであれば)、内部メンバを持つことができます。 コンテナ要素内に内部メンバを作成するには、[モデル ビュー]や[ダイアグラム]ビューでコンテナ要素のコンテキスト メニューを使用します。

使用できるコンテナ要素とそのメンバは、デザイン プロジェクトか実装プロジェクト(Delphi、C++)かによって異なります。 UML 1.5 クラス図で使用できるコンテナ要素とその中に追加できるメンバの一覧を以下の表に示します。

使用できるコンテナ要素とメンバ

コンテナ要素 使用できるメンバ
UML Delphi C++

パッケージ
 - [UML]
名前空間
 - [Delphi、C++]

パッケージ
クラス
関連クラス
インターフェイス

名前空間
クラス
関連クラス
インターフェイス
構造体
列挙型

デリゲート
デリゲート(Function 手続き)

名前空間
クラス
関連クラス

構造体
列挙型
ユニオン

クラス
 - [UML、Delphi、C++]

クラス
インターフェイス




属性

オペレーション

コンストラクタ

クラス
インターフェイス
関連クラス
構造体
列挙型

フィールド
プロパティ
Function 手続き
手続き
コンストラクタ
デストラクタ
デリゲート
デリゲート(Function 手続き)

クラス

関連クラス
構造体
列挙型
ユニオン
属性

メソッド

コンストラクタ
デストラクタ

インターフェイス
 - [UML、Delphi]

属性
オペレーション

プロパティ
Function 手続き
手続き
デリゲート
デリゲート(Function 手続き)

構造体
 - [Delphi、C++]

クラス
関連クラス
構造体
列挙型
インターフェイス

フィールド
case-of フィールド
プロパティ
Function 手続き
手続き
コンストラクタ

デリゲート
デリゲート(Function 手続き)

クラス
関連クラス
構造体
列挙型

ユニオン
属性


メソッド

コンストラクタ
デストラクタ

列挙型
 - [Delphi、C++]

列挙値

列挙値

ユニオン
 - [C++]

クラス
関連クラス
構造体
列挙型
ユニオン
属性
メソッド
コンストラクタ
デストラクタ


分類子、内部分類子

一般に、インスタンスを作成できるモデリング要素を分類子と呼びます。 分類子は、構造に関する特性(属性)と振る舞いに関する特性(オペレーション)を持ちます。 モデリングでは、クラス、インターフェイス、関連クラス、構造体、ユニオンといった分類子がクラス図の基本ノードとなります。 一部の分類子は他の分類子(内部分類子)を含むことができます。 インターフェイスは属性を持つことができず、直接のインスタンスを作成することもできませんが、そのインターフェイスを実現するクラスから作成できるインスタンスを表すものとして、インターフェイスのプロトタイプ インスタンスをモデリングすることは可能です。

クラス図のコンテナ要素とそのコンテナ要素に追加できる内部分類子の一覧を以下の表に示します。

内部分類子:

コンテナ要素 使用できる内部分類子
UML Delphi C++

クラス
 - [UML、Delphi、C++]
関連クラス
 - [UML、Delphi、C++]

クラス
関連クラス
インターフェイス

クラス
関連クラス
インターフェイス
構造体

クラス
関連クラス

構造体
ユニオン

インターフェイス
 - [UML、Delphi]

構造体
 - [Delphi、C++]

クラス
関連クラス
構造体
インターフェイス

クラス
関連クラス
構造体

ユニオン

ユニオン
 - [C++]

クラス
関連クラス
構造体
ユニオン


関連項目