メインコンテンツまでスキップ

0_UML

UML(Unified Modeling Language)には、システム設計を視覚化するためのさまざまな種類の図が存在します。これらは、システムの構造や動作、インタラクションを理解しやすくするために用いられます。以下に、UMLの主な図をリストアップします。

1. 構造図 (Structural Diagrams)

構造図は、システムの静的な構造やコンポーネントを表現します。

  • ⭕️クラス図 (Class Diagram)
    オブジェクト指向設計におけるクラス、属性、メソッド、そしてクラス間の関係を示す図。

  • コンポーネント図 (Component Diagram)
    システムの物理的または論理的なコンポーネントやモジュールと、それらの依存関係を示す図。

  • オブジェクト図 (Object Diagram)
    クラス図に似ていますが、特定の時点でのオブジェクトのインスタンスを示します。

  • デプロイメント図 (Deployment Diagram)
    ソフトウェアがどのようにハードウェアに配置され、コンポーネント間の通信が行われるかを示す図。

  • パッケージ図 (Package Diagram)
    システムを複数のパッケージ(モジュール)に分け、その関係を示す図。

  • 構造体図 (Composite Structure Diagram)
    システムのコンポーネント内部の構造や相互作用を示す図。

2. 振る舞い図 (Behavioral Diagrams)

振る舞い図は、システムの動作や動的な側面を示します。

  • ⭐️ユースケース図 (Use Case Diagram)
    システムがどのような機能(ユースケース)を提供するかを示し、システムと外部アクター(ユーザーや他のシステム)とのインタラクションを表現します。

  • シーケンス図 (Sequence Diagram)
    システム内のオブジェクト間のメッセージのやり取りを時系列で示す図。

  • コミュニケーション図 (Communication Diagram)
    シーケンス図と似ていますが、オブジェクト間のメッセージのやり取りをネットワーク構造に基づいて表現します。

  • アクティビティ図 (Activity Diagram)
    プロセスや業務フローを示す図で、条件分岐や並行処理を視覚的に表現します。

  • 状態遷移図 (State Machine Diagram)
    オブジェクトの状態とその遷移を示す図で、オブジェクトがどのように状態を変更するかを示します。

  • タイミング図 (Timing Diagram)
    時間の経過に伴うシステムの状態やイベントを示す図。

3. インタラクション図 (Interaction Diagrams)

インタラクション図は、オブジェクト間の相互作用を表現します。

  • ⭐️シーケンス図 (Sequence Diagram)
    時系列でオブジェクト間のメッセージのやり取りを示します。

  • コミュニケーション図 (Communication Diagram)
    オブジェクト間のメッセージ交換を構造的に示し、オブジェクトの関係を強調します。

  • インタラクションオーバービュー図 (Interaction Overview Diagram)
    複数のシーケンス図を統合した図で、異なるプロセスの流れを示します。

4. アクティビティ図 (Activity Diagrams)

アクティビティ図は、プロセスの流れや業務フローを示し、処理の順序や並行性を表現します。

  • アクティビティ図 (Activity Diagram)
    進行中のプロセスや処理フロー、条件分岐、並行処理などを示す図。

5. クライアントとサーバーの構造図

これらは、システムがどのように物理的に配置されるかや通信の流れを表します。

  • デプロイメント図 (Deployment Diagram)
    ソフトウェアがどのハードウェアにデプロイされるか、各ノード間でどのように通信が行われるかを示します。

まとめ

UMLは、システムの設計や振る舞いを多角的に表現するために、さまざまな種類の図を提供しています。これらの図を使い分けることで、システムの全体像を把握しやすくし、ステークホルダー間でのコミュニケーションを円滑に進めることができます。

主なUMLの図は、構造図(クラス図、コンポーネント図など)、振る舞い図(ユースケース図、シーケンス図など)、インタラクション図(シーケンス図、コミュニケーション図など)、そして状態遷移図やアクティビティ図などの動的な振る舞いを表現する図です。

基本は、ユースケース図・シーケンス図・(クラス図)が使われる

あと、そのほかフローチャート図・ER図が使われる

draw.ioで実際に書く