次の表で、クラス図に追加可能な要素について説明します。要素は、モデリングパレット区画でグループ化されます。
| Element | アイコン | 説明 |
|---|---|---|
| 基本区画 | ||
| Class | ![]() |
システム内の通常のクラスです。 |
| インタフェース | ![]() |
パブリック操作だけを提供し、属性やメソッド本文は提供しないクラスのステレオタイプです。 |
| パッケージ | ![]() |
クラス定義をまとめたものです。 |
| コラボレーション生存線 | ![]() |
相互作用の個々の関連要素です。部品特性と構造特性は 1 つ以上の多重度を持つ場合がありますが、生存線は 1 つの相互作用エンティティだけを表します。 |
| Enumeration | ![]() |
特定の属性タイプの範囲として使用される、名前の付いた値のリストである分類子です。 |
| ノード | ![]() |
通常は少なくとも 1 つのメモリーを表し、場合によっては処理機能も含む、実行時の計算リソースを表す分類子です。 |
| データ型 | ![]() |
プリミティブおよび列挙型など、値に識別子のない型です。 |
| 成果物 | ![]() |
ソフトウェア開発プロセスで使用または生成される物理情報の一部です。この情報には、モデル、ソースファイル、スクリプト、バイナリ実行ファイルなどが含まれます。 |
| 別名 | ![]() |
通常は C++ で使用される型です。C++ のポインタや参照のように、型を「修飾」できます。 |
| ユーティリティクラス | ![]() |
クラス宣言の形でグループ化された大域変数および大域プロシージャの集合です。クラスによってスコープ指定された、メンバーではない属性と操作の名前付きコレクションです。 インスタンスを持たないユーティリティクラスを表します。ユーティリティの属性と操作は、大域変数と大域プロシージャになります。 |
| アクター | ![]() |
システムでユーザーが行うロールです。 |
| 汎化 | ![]() |
サブタイプ要素とスーパータイプ要素の間の関係です。この関係にある要素は、同じ属性を持つ必要があります。たとえば、サブタイプ「Manager」とスーパータイプ「Employee」は汎化関係を共有します。 |
| 実装 | ![]() |
2 つのコンポーネントの間の実装関係です。 |
| 入れ子リンク | ![]() |
入れ子クラス間の関係です。 |
| ロバストネス区画 | ||
| バウンダリクラス | ![]() |
その内部で、アクターがシステムとの通信にバウンダリオブジェクトを使用する要素です。 |
| コントロールクラス | ![]() |
バウンダリオブジェクトとエンティティオブジェクトの間の「接合点」としての役割を果たす要素です。コントロールオブジェクトによって、ユーザーは保存されたデータに接続できます。 |
| エンティティクラス | ![]() |
その内部で、オブジェクトが通常ドメインモデルからのオブジェクトである要素です。多くの場合、データベース表とデータベースファイルにマップされます。 |
| 依存区画 | ||
| 依存 | ![]() |
一方の要素を変更するともう一方も変更されるというように、互いの定義に依存する 2 つの要素の関係。たとえば、あるクラスが操作パラメータまたはそのデータの一部として別のクラスを使用するとき、この 2 つのクラスは依存関係にあります。 |
| 実現 | ![]() |
分類子間の意味上の関係です。一方の分類子は、他方の分類子によって実行が保証される契約を指定します。この関係は、インタフェースとそれを実現するクラスの間、およびユースケースとそれを実現するコラボレーションの間で使用します。 |
| 使用 | ![]() |
正しく実装または使用するために、ある要素 (クライアント) が別の要素 (サプライヤ) の存在を必要とする依存関係です。 |
| 許可 | ![]() |
サプライヤモデル要素からクライアントモデル要素へのアクセスを許可するような依存関係です。この場合、クライアントはサプライヤを構成する要素の一部またはすべてにアクセスできるようになります。 |
| 抽象 | ![]() |
ほかのすべての種類のエンティティから区別するのに必要なエンティティの特性です。ビューアーの全体像からのバウンダリを定義する抽象関係です。 |
| テンプレート区画 | ||
| テンプレートクラス | ![]() |
オブジェクトのコレクションタイプの定義時に一般的に使用する抽象クラスです。テンプレートクラスには、クラスと同じ情報が格納されますが、テンプレートパラメータラベルを付加する必要があります。テンプレートで使用するパラメータの名前および指定できるタイプをラベルで指定します。 |
| 派生分類子 | ![]() |
クラスから計算でき、明確化または設計を目的として表示される分類子です。 |
| 派生エッジ | ![]() |
内部で所有する分類子が派生のテンプレート分類子の派生である関連です。 |
| 関連区画 | ||
| 関連 | ![]() |
2 つの要素の間の関連関係です。 |
| コンポジション | ![]() |
親要素を削除するとすべての子要素が連鎖的に削除されるような、2 つの要素の間の関係です。 |
| 単方向コンポジション | ![]() |
始点メンバーが終点クラスの終点メンバーを指定する必要があるコンポジションです。 |
| 集約 | ![]() |
一方のクラスがもう一方のクラスより関連内で重要な役割を果たす、2 つの要素の関係です。 |
| 単方向集約 | ![]() |
始点メンバーが終点クラスの終点メンバーを指定する必要がある集約です。 |
| 単方向関連 | ![]() |
始点メンバーが終点クラスの終点メンバーを指定する必要がある関連です。 |
| 関連クラス | ![]() |
2 つの要素に共有される特定の関連についてのクラス情報 (属性や操作など) です。 |
| デザインパターン区画 | ||
| デザインパターン | ![]() |
特定の状況における設計上の一般的な問題を解決する、よく使用される通信要素の構造です。 |
| ロール | ![]() |
適用されるとデータ型を作成する分類子ロールです。コラボレーションパターン内の特定のデータ型ロールを表すデータ型関連要素です。 |
| インタフェースロール | ![]() |
コラボレーションパターン内の特定のロールです。 |
| アクターロール | ![]() |
アクターロール内でパターンを関連要素として適用することによって作成されます。既存のアクターを選択してパターンを適用することもできます。 |
| クラスロール | ![]() |
コラボレーションパターン内の特定のロールを持つクラス関連要素です。 |
| ユースケースロール | ![]() |
コラボレーションパターン内で関連する一種の動作分類子です。 |
| ロール結合 | ![]() |
分類子でのロールに対するマッピングです。 |
| コメント区画 | ||
| コメント | ![]() |
注釈のメモです。コメントを使用すると、図に要素またはリンクの情報を記録できます。この情報は、情報提供のためだけに使用され、生成されたコードには含まれません。各コメントにはテキストを無制限に記述できます。コメントに番号を付けることもできます。ステレオタイプを定義し、コメント付きの要素を入力することもできます。 |
| コメントリンク | ![]() |
コメント要素と関連要素との接続です。 |