統一モデリング言語UMLの8種類を解説(クラス図、シーケンス図、アクティビティ図など)
プログラム設計図の統一表記法である「UML」は、システムの要件定義や設計においてコミュニケーションを円滑にするなどの目的で活用されています。
本記事では、UMLで使用される主要な図を8種類解説していきます。
1. クラス図
クラス図は、システム内のクラス(名前、属性、操作)とその関係を視覚的に表すことで、システムの静的構造を明確に示します。
図1.クラス図
上図では「自動車」というクラスを継承した「普通車」「バス」「トラック」の3つのクラスがあることを示しています。
参考サイト:https://fksekiguchi.sakura.ne.jp/wpJava/2017/09/01/class_diagram/
2. オブジェクト図
オブジェクト図は、特定の瞬間におけるシステムのオブジェクトの状態を表します。これは、クラス図のインスタンス版と考えることができます。オブジェクト図を用いることで、実際のデータの状態やオブジェクト間の関係を具体的に示せます。
図2.オブジェクト図
上図では、パソコンという親クラスおよびそれを継承したパソコンA、パソコンB、パソコンCのオブジェクト(インスタンス)を示しています。
参考サイト:https://www.edrawsoft.com/jp/uml-object-diagram.html
3. 配置図
配置図は、ソフトウェアコンポーネントがハードウェア上でどのように配置され、相互にどのように通信しているかを視覚化します。これにより、システム全体の物理的なアーキテクチャを理解しやすくします。
具体的には、ネットワークインフラやサーバ配置、通信経路などの情報を明確にできます。
図3.配置図
上図では、アプリケーションサーバとデータベースサーバーの通信およびソフトウェアコンポーネントを示しています。
参考サイト:https://www.edrawsoft.com/jp/uml-deployment-diagram-example.html
4. パッケージ図
パッケージ図は、関連するクラスやコンポーネントをグループ化します。これにより、システムの大規模な構造を整理し、モジュール間の依存関係を明確にできます。
図4.パッケージ図
上図では「受注管理」「会員管理」「在庫管理」それぞれの処理の依存関係を示しています。
参考サイト:https://www.lucidchart.com/pages/ja/uml-package-diagram
5. ユースケース図
ユースケース図は、システムの機能要件をユーザーの視点から視覚化します。アクター(ユーザーや他のシステム)とユースケース(システムが提供する機能)との関係を示し、システムの利用方法を明確にします。
図5.ユースケース図
上図では、Eコマースにおける購入者の購買および在庫管理の関係を示しています。
参考サイト:https://www.lucidchart.com/pages/ja/uml-use-case-diagram
6. シーケンス図
シーケンス図は、オブジェクト間のメッセージ交換を時系列で示します。これにより、システム内の動的な振る舞いやプロセスの流れを理解しやすくします。シーケンス図を使用することで、特定の機能の動作や、複雑な相互作用を視覚化できます。
図3.シーケンス図
上図では、ユーザーが在庫検索画面を使用した際の具体的な動作を示しています。
参考サイト:https://www.sejuku.net/blog/87396
7. コミュニケーション図
コミュニケーション図は、シーケンス図と似ていますが、オブジェクト間の関係性やメッセージの流れを重視して示します。
図7.コミュニケーション図
上図では、ユーザーが会員登録処理を行った際のオブジェクト間の連携を示しています。
参考サイト:https://www.lucidchart.com/pages/ja/uml-communication-diagram
8.アクティビティ図
アクティビティ図は、システムの作業プロセスを示します。いわばUMLのフローチャートであり、各ステップや分岐、並行処理などのプロセスの流れを明確にします。
図8.アクティビティ図
上図では、購入者が自動販売機で商品を購入する際のプロセスの流れを示しています。
参考サイト:https://www.lucidchart.com/pages/ja/uml-activity-diagram
まとめ
本記事では、UMLの主な図について紹介しました。
クラス図、ユースケース図など、それぞれのダイアグラムの特徴や用途を理解して、適材適所でダイアグラムを利用できるようにしましょう。
- カテゴリ:
- キーワード: