クラス図の定義(UML 1.5)
UML 1.5 クラス図:インデックス への移動
クラス図は、オブジェクト指向モデリング システムに見られる最も一般的なダイアグラムです。
定義
クラス図は、システム内のクラス、インターフェイス、コラボレーション、およびそれらの関係を示すことで、システムの概要を説明します。 クラス図は静的なものです。つまり、 何が相互作用するかは示されますが、その相互作用の間に何が起こるかは示されません。
UML 記法では、クラスは、クラス名、属性(フィールド)、オペレーション(メソッド)などのいくつかの部分に分かれている四角形で表されます。
モデリングでは、クラスの四角形は、フィールド、内部クラス、プロパティ、オペレーションなどの独立した区画にさらに分かれます。
抽象クラスと抽象インターフェイスの名前は斜体で表示されます。
クラス図に現れるクラス間の関係、つまり汎化(実装)、依存、関連(単純関連、集約、合成)は接続リンクで表されます。 これらの関係については、「 クラス図の要素間の関係」で説明されています。
デザイン プロジェクトと実装プロジェクトでのクラス図
モデリングを使用すると、デザイン プロジェクトでは言語に依存しない(UML)クラス図を、実装プロジェクトでは言語固有の(Delphi または C++)クラス図を作成できます。 UML、Delphi、C++ の各プロジェクトのクラス図では、さまざまな要素セットが使用可能であることに注意してください。 利用可能な要素の一覧については、「クラス図の要素」を参照してください。
実装プロジェクトの場合は、クラス図の図要素はすべてソース コードと直ちに同期されます。
クラス図の種類
モデリングで使用されるクラス図には、以下の 2 種類があります。
- パッケージ(名前空間)図。 このタイプのダイアグラムは、パッケージ(名前空間)の内容を表します。 これらのダイアグラムは、デザイン プロジェクトではパッケージ図、実装プロジェクトでは名前空間図と呼ばれます。 これらは、
.txvpck
拡張子の XML ファイルとして、プロジェクト グループのModelSupport_%PROJECTNAME%
サブフォルダに格納されます。 - 論理クラス図。 このタイプのダイアグラムは、クラス、クラス間の関係、クラスのメンバを表します。 これらのダイアグラムは、
.txvcls
拡張子の XML ファイルとして、プロジェクト グループのModelSupport_%PROJECTNAME%
サブフォルダに格納されます。
モデリング機能では、プロジェクトおよびプロジェクト ディレクトリ下のサブディレクトリごとにデフォルト パッケージ(名前空間)図を自動的に作成します。 プロジェクトのデフォルト パッケージ(名前空間)図には "デフォルト
" という名前が付いています。 自動生成されるその他のデフォルト パッケージ(名前空間)図は、個々のパッケージ(名前空間)にちなんだ名前が付きます。
論理クラス図を手動で作成するには、[ダイアグラム]ビューまたは[モデル ビュー]でコンテキスト メニューの[追加|クラス図]コマンドまたは[追加|その他のダイアグラム...]コマンドを使用します。
サンプル クラス図
以下のクラス図は、顧客による商品カタログからの注文をモデル化したものです。 中心となるクラスは Order
です。 このクラスに関連付けられているのが、購入を行う Customer
と Payment
です。 支払いには、Cash
、Check
、Credit
の 3 種類があります。 Order は 1 個以上の OrderDetail
(品目)で構成され、そのそれぞれに関連 Item があります。
この例では、以下の 3 種類の関係が使用されています。
- 関連: たとえば、
OrderDetail
は各Order
の 1 品目です。 - 集約(関連): このダイアグラムでは、
Order
が一連のOrderDetail
で構成されています。 - 実装(汎化):
Payment
は、Cash
、Check
、Credit
のインターフェイスです。