logo

UML クラス図

クラス図は、アプリケーションの静的なビューを表します。これは、システム内に存在するオブジェクトのタイプとオブジェクト間の関係を表します。クラスはそのオブジェクトで構成されており、他のクラスから継承することもあります。クラス図は、システムのさまざまな側面を視覚化、記述、文書化するために使用され、また、実行可能なソフトウェア コードを構築するためにも使用されます。

ソフトウェア システムの概要を示すために、属性、クラス、関数、および関係を示します。これは、ソフトウェア開発に役立つ別のコンパートメント内のクラス名、属性、および関数を構成します。これはクラス、インターフェイス、関連付け、コラボレーション、および制約のコレクションであるため、構造図と呼ばれます。

クラス図の目的

クラス図の主な目的は、アプリケーションの静的なビューを構築することです。これは、構築に広く使用されている唯一の図であり、オブジェクト指向言語でマッピングできます。これは、最も人気のある UML 図の 1 つです。以下に示すクラス図の目的は次のとおりです。

  1. アプリケーションの静的ビューを分析して設計します。
  2. システムの主な責任について説明します。
  3. これは、コンポーネントおよび展開図のベースとなります。
  4. フォワードエンジニアリングとリバースエンジニアリングが組み込まれています。

クラス図の利点

  1. 複雑なシステムのオブジェクト モデルを表すことができます。
  2. コーディング前にアプリケーションの構造の概要を提供することで、メンテナンス時間を短縮します。
  3. 理解を深めるために、アプリケーションの一般的な図を示します。
  4. プログラムする必要なコードを強調表示することにより、詳細なチャートを表示します。
  5. これは関係者と開発者にとって役立ちます。

クラス図の重要なコンポーネント

クラス図は 3 つのセクションで構成されます。

    上部セクション:上部のセクションにはクラスの名前が含まれます。クラスは、同じ関係、属性、操作、およびセマンティクスを共有する類似のオブジェクトを表現したものです。クラスを表す際に考慮すべきルールの一部を以下に示します。
    1. クラス名の頭文字を大文字にします。
    2. クラス名を上部の中央に配置します。
    3. クラス名は太字で記述する必要があります。
    4. 抽象クラスの名前は斜体で記述する必要があります。
    中間セクション:中央のセクションは属性を構成し、クラスの品質を説明します。属性には次のような特徴があります。
    1. 属性は、パブリック (+)、プライベート (-)、保護 (#)、パッケージ (~) などの可視性要素とともに記述されます。
    2. 属性クラスのアクセシビリティは、可視性係数によって示されます。
    3. 属性には、クラス内での使用法を説明する意味のある名前を割り当てる必要があります。
    下部セクション:下部のセクションにはメソッドまたは操作が含まれています。メソッドはリストの形式で表され、各メソッドは 1 行で記述されます。クラスがデータとどのように対話するかを示します。
UML クラス図

人間関係

UML では、関係には次の 3 つのタイプがあります。

    依存:依存関係は、1 つのクラスの変更が別のクラスの変更を引き起こす、2 つ以上のクラス間の意味論的な関係です。それはより弱い関係を形成します。
    次の例では、Student_Name は Student_Id に依存しています。
UML クラス図
    一般化:一般化とは、親クラス (スーパークラス) と子クラス (サブクラス) の間の関係です。この場合、子クラスは親クラスから継承されます。
    たとえば、当座預金口座、普通預金口座、クレジット口座は銀行口座の一般化された形式です。
UML クラス図
    協会:これは、2 つ以上のオブジェクト間の静的または物理的な接続を表します。関係内にオブジェクトがいくつあるかを示します。
    たとえば、学部は大学に関連付けられています。
UML クラス図

多重度: これは、許容される属性インスタンスの特定の範囲を定義します。範囲が指定されていない場合は、1 がデフォルトの多重度とみなされます。

bash 環境変数が設定されているかどうかを確認する

たとえば、1 つの病院に複数の患者が入院するとします。

UML クラス図

集計: 集約は関連性のサブセットであり、関係があることを表します。関連性よりも具体的です。部分と全体、または一部の関係を定義します。この種の関係では、子クラスは親クラスから独立して存在できます。

会社には多数の従業員が存在し、たとえ一人の従業員が辞めても会社は存続します。

UML クラス図

構成: 構成は集約のサブセットです。これは親と子の間の依存関係を表しています。つまり、一方の部分が削除されると、もう一方の部分も破棄されます。これは全体と部分の関係を表します。

連絡帳は複数の連絡先で構成されており、連絡帳を削除するとすべての連絡先が失われます。

UML クラス図

抽象クラス

抽象クラスでは、オブジェクトは抽象クラスの直接のエンティティになることはできません。抽象クラスは宣言することもインスタンス化することもできません。これは、クラス全体の機能を見つけるために使用されます。抽象クラスの表記法はクラスの表記法と似ています。唯一の違いは、クラス名が斜体で書かれていることです。特定の関数の実装が関与しないため、複数のオブジェクトで抽象クラスを使用するのが最善です。

という名前の抽象クラスがあると仮定します。 変位 その内部でメソッドが宣言されており、そのメソッドは として呼び出されます。 ドライブ () 。この抽象クラス メソッドは、車、自転車、スクーター、自転車などの任意のオブジェクトで実装できます。

UML クラス図

クラス図を描くにはどうすればよいですか?

クラス図は、ソフトウェア アプリケーションを構築するために最も広く使用されています。これは、システムの静的なビューを表すだけでなく、アプリケーションのすべての主要な側面も表します。クラス図の集合全体がシステムを表します。

クラス図を作成する際に留意する必要があるいくつかの重要なポイントを以下に示します。

  1. システムの完全な側面を説明するには、クラス図に意味のある名前を付けることをお勧めします。
  2. オブジェクトとその関係を事前に認識しておく必要があります。
  3. 各クラスの属性とメソッド (責任) を知っておく必要があります。
  4. 不要なプロパティの数が増えると図が複雑になるため、必要なプロパティの最小数を指定する必要があります。
  5. メモは、開発者が図の側面を説明するために必要に応じて使用できます。
  6. 最終バージョンを作成する前に、図を何度も描き直して修正する必要があります。

クラス図の例

販売注文システムを説明するクラス図を以下に示します。

UML クラス図

クラス図の使用法

クラス図は、システムの静的なビューを表すために使用されます。これは、コンポーネントおよび展開図の確立において重要な役割を果たします。これは、あらゆるシステムのフォワード エンジニアリングとバックワード エンジニアリングを実行するための実行可能コードを構築するのに役立ちます。あるいは、主に構築に使用されていると言えます。 C++、Java などのオブジェクト指向言語とのマッピングを表します。クラス図は次の目的に使用できます。

  1. システムの静的なビューを説明します。
  2. すべてのインスタンス間のコラボレーションを静的ビューで表示します。
  3. システムによって実行される機能について説明します。
  4. オブジェクト指向言語を使用してソフトウェア アプリケーションを構築します。