UML 図 |概要、種類、用途、作り方

最終更新: 04/10/2024

UML は、図の集合を使用してソフトウェア プログラムを視覚化する方法です。この表記法は、オブジェクト指向設計で使用するために、Grady Booch、James Rumbaugh、Ivar Jacobson、および Rational Software Corporation の研究から発展しました。

しかし、その後、より幅広いソフトウェア エンジニアリング プロジェクトをカバーするように拡張されました。現在、オブジェクト管理グループ (OMG) は、ソフトウェア開発をモデリングするための標準として UML を受け入れています。

UML

UML とはどういう意味ですか?

UMLとは 統一モデリング言語 (統一モデリング言語)。 UML 2.0 は、元の UML 仕様を拡張して、アジャイル実践を含むソフトウェア開発作業のより広範な部分をカバーするのに役立ちました。

  • 改善された統合 クラス図などの構造モデルとアクティビティ図などの動作モデルの間。
  • 追加しました 階層を定義する機能 ソフトウェア システムをコンポーネントとサブコンポーネントに分解します。
  • 元の UML では 9 つの図が指定されていました。 UML 2.x ではその数が 13 に増加します。 4 つの新しい図には、通信図、複合構造図、相互作用概要図、およびタイミング図という名前が付けられています。また、ステートチャート図の名前も、状態図とも呼ばれるステートマシン図に変更されました。

UML レイアウト図とは何ですか?

統一モデリング言語 (UML) いくつかの方法でシステムのモデル化に役立ちます。 UML の最も一般的なタイプの 1 つはレイアウト図です。ソフトウェア アーキテクチャを文書化するためにソフトウェア エンジニアの間で人気のあるクラス図は、モデル化されるシステムに存在する必要があるものを記述するため、構造図の一種です。

UMLは、次のようなアプローチを記述するための標準化されたモデルとして確立されました。 プログラミング オブジェクト指向。クラスはオブジェクトの構成要素であるため、クラス図は UML の構成要素です。クラス図のさまざまなコンポーネントは、実際にプログラムされるクラス、主要なオブジェクト、またはクラスとオブジェクト間の相互作用を表すことができます。

UML 図の種類

現在の UML 標準では、クラス、アクティビティ、オブジェクト、ユース ケース、シーケンス、パッケージ、状態、コンポーネント、通信、複合構造、対話の概要、タイミング、展開という 13 種類の図が必要です。

これらの図は、構造図と動作図または相互作用図という 2 つの異なるグループに編成されています。

クラス図

クラス図は、UML を含むほぼすべてのオブジェクト指向メソッドのバックボーンです。これらはシステムの静的構造を記述します。

パッケージ図

パッケージ図はクラス図のサブセットですが、開発者はパッケージ図を別の手法として扱うことがあります。パッケージ図は、システムの要素を関連するグループに編成して、パッケージ間の依存関係を最小限に抑えます。

  Microsoft フォトやその他のツールを使って古い写真を復元する方法

オブジェクト図

オブジェクト図は、特定の時点におけるシステムの静的な構造を記述します。これらは、クラス図の精度をテストするために使用できます。

複合構造図

複合構造図は、クラスの内部部分を示します。

ユースケース図

ユースケース図は、アクターとユースケースを使用してシステムの機能をモデル化します。

アクティビティ図

アクティビティ図は、あるアクティビティから別のアクティビティへの制御の流れをモデル化することによって、システムの動的な性質を示します。アクティビティは、システムの状態に変化をもたらす、システムの一部のクラスに対する操作を表します。通常、アクティビティ図は、ワークフロー、ビジネス プロセス、および内部運用をモデル化するために使用されます。

シーケンス図

シーケンス図は、時間の経過に伴うメッセージ交換という観点からクラス間の対話を記述します。

インタラクション概要図

インタラクション概要図は、アクティビティ図とシーケンス図を組み合わせたものです。これらは一連のアクションをモデル化し、より複雑なインタラクションを管理可能なイベントに分解できるようにします。インタラクション概要図では、アクティビティ図で見るのと同じ表記法を使用する必要があります。

タイミング図

タイミング図は、特定の期間にわたって実行されるプロセスに焦点を当てた UML 動作図または相互作用図の一種です。これらはシーケンス図の特別な例ですが、 時間 上から下ではなく、左から右に増加します。

コミュニケーション図

コミュニケーション ダイアグラムは、オブジェクト間の相互作用を順番にモデル化します。これらは、システムの静的な構造と動的な動作の両方を記述します。多くの点で、コミュニケーション ダイアグラムは、UML 2.0 で導入されたコラボレーション ダイアグラムの簡略版です。

状態図

状態図 (現在はステート マシン図として知られています) と状態図は、外部刺激に応じたシステムの動的な動作を記述します。状態図は、特定のイベントによって状態がトリガーされるリアクティブ オブジェクトをモデル化する場合に特に役立ちます。

コンポーネント図

コンポーネント図は、ソース コード、ランタイム (バイナリ) コード、実行可能ファイルなどのソフトウェアの物理コンポーネントの構成を記述します。

展開図

配置図は、ノード、コンポーネント、接続などのシステムの物理リソースを表します。

UML

図の利点

UML 図は、あらゆる組織に多くの利点をもたらします。このタイプの図は次の目的で使用します。

  • 単純か複雑かに関係なく、情報システムのデータ モデルを図解します。
  • アプリケーションのスキーマの概要をよりよく理解します。
  • システムに対する具体的なニーズを視覚的に表現し、その情報を社内に広めます。
  • 説明されているフレームワークでプログラムおよび実装する必要がある特定のコードを強調表示する詳細なグラフィックを作成します。
  • システムで使用され、コンポーネント間で受け渡される型の実装に依存しない説明を提供します。
  USB 上のアイコンをカスタマイズする方法 - ガイド

図の基本コンポーネント

標準の UML 図は 3 つのセクションで構成されます。

  • 上部セクション: クラスの名前が含まれます。このセクションは、分類子であってもオブジェクトであっても、常に必須です。
  • 中間セクション: 属性が含まれています。このセクションを使用して品質を説明します。これは、特定のインスタンスを説明する場合にのみ必要です。
  • 下部セクション: 操作(メソッド)が含まれます。リスト形式で表示されると、各操作が独自の行を占めます。オペレーションは、データがどのように相互作用するかを記述します。

メンバーのアクセス修飾子

すべてのクラスには、アクセス修飾子 (可視性) に応じて異なるアクセス レベルがあります。アクセスレベルは次のとおりです。 シンボル 対応する:

  • パブリック (+)
  • プライベート (-)
  • 保護されています (#)
  • パッケージ (~)
  • 派生 (/)
  • 静的 (下線付き)

メンバーのスコープ

メンバーには、分類子とインスタンスという 2 つのスコープがあります。

分類子は静的メンバーですが、インスタンスはクラスの特定のインスタンスです。基本的な OO 理論に精通していれば、これは何も画期的なことではありません。

追加のクラス図コンポーネント

コンテキストに応じて、図は主要なオブジェクト、アプリケーション内の対話、またはプログラムされるクラスを表すことができます。 「UML 図とは何ですか?」という質問に答えるにはまずその基本的な構成を理解する必要があります。

  • クラス: オブジェクトを作成し、システム内で動作を実装するためのテンプレート。 UML では、クラスは、共通の構造と動作を共有するオブジェクトまたはオブジェクトのセットを表します。これらは、クラス名、その属性、およびその操作の行を含む四角形で表されます。クラス図にクラスを描画するときは、一番上の行を埋めるだけで済みます。他の項目は、より詳細な情報を提供したい場合のオプションです。
    • 名前: クラスフォームの最初の行。
    • 属性: クラス図形の 2 行目。クラスの各属性は個別の行に表示されます。
    • 方法: オペレーションとも呼ばれるメソッドは、各オペレーションが独自の行に表示されるリスト形式で表示されます。
  • 信号: アクティブなオブジェクト間の一方向の非同期通信を表すシンボル。
  • データの種類: データ値を定義する分類子。データ型は、プリミティブ型と列挙型の両方をモデル化できます。
  • パッケージ: 関連する分類子を図に整理するために設計された図形。それらはタブが付いた大きな長方形で象徴されています。
  • インターフェース: 一貫した一連の動作を定義する操作シグネチャおよび/または属性定義のコレクション。インターフェイスはクラスに似ていますが、クラスはその型のインスタンスを 1 つ持つことができ、インターフェイスにはそれを実装するクラスが少なくとも 1 つ必要であるという点が異なります。
  • 列挙: ユーザー定義のデータ型の表現。列挙には、列挙内の値を表す識別子のグループが含まれます。
  • オブジェクト: クラスのインスタンス。オブジェクトを図に追加して、具体的なインスタンスまたはプロトタイプのインスタンスを表すことができます。
  • アーティファクト: モデル要素は、ソフトウェアシステム内の具体的なエンティティ(文書など)を表す。 データベース、実行可能ファイル、ソフトウェア コンポーネントなど。
  CorelDraw でオブジェクトを整列して配置する方法

相互作用: 「相互作用」という用語は、クラス図やオブジェクト図に存在する可能性のあるさまざまな関係やリンクを指します。最も一般的なやり取りには次のようなものがあります。

  • 継承: 子またはサブクラスが親またはスーパークラスの機能を取得するプロセス。一般化とも呼ばれます。これは、スーパークラスを指す閉じた矢印に接続された直線によって象徴されます。
  • 双方向の関連付け: 2 つのクラス間のデフォルトの関係。両方のクラスはお互いを知っており、相互に関係しています。この関連性は、2 つのクラス間の直線で表されます。
  • 一方向の関連付け: 2 つのクラス間の関係は、あまり一般的ではありません。 1 つのクラスが他のクラスを認識し、相互作用します。一方向の関連付けは、既知のクラスから既知のクラスへ白抜きの矢印で指す直線接続線でモデル化されます。

UML図の作り方

クラス図を最初から作成するのは、特に次の場合は驚くほど簡単です。 Lucidchart. 次の手順に従ってください。

  • 空のドキュメントを開くか、テンプレートから始めます。
  • UML フォーム ライブラリを有効にします。 Lucidchart エディターの左側にある [Shapes] をクリックします。シェイプ ライブラリ マネージャーに移動したら、「UML」にチェックを入れて「保存」をクリックします。
  • 新しく追加されたライブラリから必要な形状を選択し、ツールボックスからキャンバスにドラッグします。
  • テキストを追加しながら図形の間に線を引くことで、プロセスの流れをモデル化します。

最後の言葉

たくさん UML図 これらは、クラス、属性、操作、オブジェクト間の関係をモデル化することにより、特定のシステムの構造を明確に図示します。特定の UML 図作成ソフトウェアを使用すると、これらの図の作成は、思っているほど難しくありません。

コメントを残します