Uml-class-diagram
UML-クラス図
クラス図は静的な図です。 アプリケーションの静的ビューを表します。 クラス図は、システムのさまざまな側面を視覚化、説明、および文書化するためだけでなく、ソフトウェアアプリケーションの実行可能コードを構築するためにも使用されます。
クラス図は、クラスの属性と操作、およびシステムに課せられる制約を説明します。 クラス図は、オブジェクト指向言語で直接マッピングできる唯一のUML図であるため、オブジェクト指向システムのモデリングで広く使用されています。
クラス図は、クラス、インターフェース、関連付け、コラボレーション、および制約のコレクションを示しています。 構造図としても知られています。
クラス図の目的
クラス図の目的は、アプリケーションの静的ビューをモデル化することです。 クラス図は、オブジェクト指向言語で直接マップできる唯一の図であり、構築時に広く使用されます。
アクティビティ図、シーケンス図などのUML図は、アプリケーションのシーケンスフローのみを提供できますが、クラス図は少し異なります。 これは、コーダーコミュニティで最も人気のあるUML図です。
クラス図の目的は次のように要約することができます-
- アプリケーションの静的ビューの分析と設計。
- システムの責任を説明します。
- コンポーネントおよび展開図のベース。
- フォワードおよびリバースエンジニアリング。
クラス図の描き方
クラス図は、ソフトウェアアプリケーションの構築に使用される最も一般的なUML図です。 クラス図の描画手順を学ぶことは非常に重要です。
クラス図には、描画中に考慮すべき多くのプロパティがありますが、ここでは図をトップレベルのビューから検討します。
クラス図は、基本的にシステムの静的なビューのグラフィカルな表現であり、アプリケーションのさまざまな側面を表しています。 クラス図のコレクションは、システム全体を表します。
クラス図を描くとき、次の点を覚えておく必要があります-
- クラス図の名前は、システムの側面を説明するのに意味のあるものでなければなりません。
- 各要素とそれらの関係は事前に特定する必要があります。
- 各クラスの責任(属性とメソッド)を明確に識別する必要があります
- 不要なプロパティによりダイアグラムが複雑になるため、クラスごとに最小数のプロパティを指定する必要があります。
- 必要に応じて図を使用して、ダイアグラムのいくつかの側面を説明してください。 図面の最後で、開発者/コーダーが理解できるはずです。
- 最後に、最終バージョンを作成する前に、図を普通紙に描画し、可能な限り何度も修正して修正する必要があります。
次の図は、アプリケーションの注文システムの例です。 アプリケーション全体の特定の側面について説明します。
- まず、注文と顧客はシステムの2つの要素として識別されます。 顧客は複数の注文を持つことができるため、それらは1対多の関係にあります。
- Orderクラスは抽象クラスであり、2つの具象クラス(継承関係)SpecialOrderとNormalOrderがあります。
- 継承された2つのクラスには、Orderクラスとしてすべてのプロパティがあります。 加えて、 ディスパッチ()や受信()などの追加機能があります。
上記のすべての点を考慮して、次のクラス図が描かれています。
クラス図の使用場所
クラス図は静的な図であり、システムの静的なビューをモデル化するために使用されます。 静的ビューは、システムの語彙を説明します。
クラス図は、コンポーネント図およびデプロイメント図の基礎とみなされます。 クラス図は、システムの静的ビューを視覚化するために使用されるだけでなく、任意のシステムのフォワードエンジニアリングおよびリバースエンジニアリング用の実行可能コードを構築するためにも使用されます。
一般に、UMLダイアグラムはオブジェクト指向プログラミング言語で直接マップされませんが、クラスダイアグラムは例外です。
クラス図は、Java、C ++などのオブジェクト指向言語によるマッピングを明確に示しています。 実際の経験から、クラス図は一般的に建設目的で使用されます。
一言で言えば、それは言うことができる、クラス図が使用されます-
- システムの静的ビューを記述します。
- 静的ビューの要素間のコラボレーションを表示します。
- システムによって実行される機能の説明。
- オブジェクト指向言語を使用したソフトウェアアプリケーションの構築。