UMLガイド | アクティビティ図とは?書き方やメリットを例を使ってご紹介

UMLアクティビティ図についての画像

アクティビティ図は、ソフトウェア設計やシステム開発で活用されるUML(Unified Modeling Language:統一モデリング言語)の一つです。

システムの処理の手順をわかりやすいビジュアルを使って表現することで、誰でも 構成要素や構造、修正点が一目で把握しやすくなります。

そのため、開発プロジェクトなどでコミュニケーションツールとしても活躍するので、 プロジェクト全体の効率化やリソースの最適化にもアクティビティ図が役立ちます。

この記事ではそんなアクティビティ図についてやアクティビティ図の書き方、メリット、 フローチャートとの違いについてご紹介しています。

記事の最後にはアクティビティ図の作成におすすめのツールやテンプレートも ご紹介しているので、ぜひご確認ください。

▼ 関連ページ UMLとは?図の種類から書き方の基本をわかりやすく解説

アクティビティ図とは?

上記でも少しご紹介したように、アクティビティ図は、ソフトウェア設計やシステム開発で 活用されるUMLの一種であり、システムの処理の手順をビジュアルを使って表現したいときに 作成される図です。

システム実行の流れと条件分岐がこの図では図解されており、あるプロセスの開始から 完了までの機能を手順通りに図でわかりやすく整理することができます。

そのため、複雑なシステム構造でもビジュアルを使ってわかりやすく表現できるので、 開発メンバーやクライアントとのコミュニケーションの促進、プロジェクトの効率化にも この図が役立ちます。

なお、その動的な特徴から、アクティビティ図は、ユースケース図シーケンス図状態遷移図(ステートマシン図)と同様「振る舞い図」としてUMLでは分類されます。

アクティビティ図とフローチャートの違い

アクティビティ図とよく混同されがちな図の一つに「フローチャート」があります。

フローチャートとはプロセス内の各ステップを記号で説明し、プロセス間の流れを 矢印・線で示した図であり、アルゴリズムやプロセス、システム内の動作を表現する際に よく使用される図です

そのため、両者ともソフトウェア設計やシステム開発で活用される図であり、大きな違いは 存在しません。

しかし、目的によってこれらの図を使うことで、開発しているプロダクト・サービスの質を 向上できるため「ビジネスロジックを明瞭にする目的ならアクティビティ図」「ソフトウエア の詳細設計ならフローチャートまたは他のUML図」など目的に合わせてこれらの図を 使い分けてみましょう。

基本的にアクティビティ図は詳細なシステムの設計仕様書としては不向きな図です。

そのため、このような設計仕様書を作成したい場合は、他のUML図を作成して、 アクティビティ図は、参考資料として活用するようにしましょう。

▼ 関連ページ フローチャートとは?書き方や記号について簡単解説

アクティビティ図のメリット

ソフトウェア設計やシステム開発でアクティビティ図を作成することで、さまざまな メリットを得ることができます。

以下でこれらのメリットについて見ていきましょう。

システム構造をわかりやすく可視化できる

アクティビティ図のシンプルなビジュアルを活用することで、複雑なシステムでも一目で 構造が把握できるようになります。

このように処理手順を図を俯瞰することで、プロセス内での無駄や修正点を開発作業が 始まる前に特定することができ、よりロジックに基づいた形で設計作業が進められます。

そのため、余分な修正作業ややり直しなどもするリスクを軽減できるので、貴重なリソースの 最適化にもアクティビティ図が活躍します。

誰でも情報が理解できるようになる

プロダクト・サービス対してのソフトウェアやシステムを設計する場合、部門横断的な プロジェクトで図を共有しなければならないといったケースも出てくることでしょう。

このような場合にアクティビティ図を参照資料として作成することで、ITリテラシーの 高くない人が見ても直感的にプロセスを理解することができます。

そのため、プロダクト・サービスに関して認識も合わせやすくなり、プロジェクトを より効率的に進めることができます。

さまざまなオンラインツールが提供されている

最近ではアクティビティ図を作成するためのオンラインツールがインターネット上で 多数提供されています。

無料のツールであったり、大規模なプロジェクトに対応しているもの、PlantUMLを使って よりテクニカルに詳細を作り込める製品などもあるので、予算やチームの規模に合わせて 導入するツールを選ぶことができます。

アクティビティ図の記号と表記法

アクティビティ図を含めたUMLでは決まった記号と表記法(モデリング言語)が使用されます。

これらのモデリング言語を開発者間で統一することで、すべてのメンバーが同じ目線で 開発プロセスを進めることができるので、プロダクト・サービスの質も自ずと向上します。

以下でご紹介する記号と表記法を覚えてアクティビティ図を作成しましょう。

開始ノード

  • 記号:塗りつぶされた黒い円

  • 使い方:アクティビティの開始点を示します。

終了ノード

  • 記号:二重円

  • 使い方:アクティビティの終了点を示します。

フロー終了ノード

  • 記号:円の中にバツ印

  • 使い方:特定のフローの終了を示します。アクティビティ全体の終了ではなく、 フローを終了させます。

アクション

  • 記号:長方形(角が丸い)

  • 使い方:アクティビティ内で行われる具体的な作業や操作を示します。

判断・マージノード

  • 記号:ひし形

  • 使い方:複数のフローを一つに統合し、条件に基づかない統合です。分岐点を示し、 条件に基づいて異なるフローに分岐します。そして各分岐に条件を記載します。

並行(フォーク)ノード

  • 記号:太い水平または垂直の線

  • 使い方:単一のフローを並行する複数のフローに分割します。

結合ノード

  • 記号:太い水平または垂直の線

  • 使い方:複数の並行フローを一つのフローに統合します。

オブジェクトノード

  • 記号:長方形(通常は角が尖っている)

  • 使い方:アクティビティ内で使用されるオブジェクトやデータを示します。データの入出力を表現します。

コントロールフロー

  • 記号:矢印

  • 使い方:アクティビティ内のアクションやノード間のフローを示します。矢印の方向が フローの進行方向を表します。

オブジェクトフロー

  • 記号:長方形

  • 使い方:アクティビティ(制御)の対象となるオブジェクトを表します。

パーティション

  • 記号:十字で四分割された正方形

  • 使い方:アクティビティ(制御)がどの領域に属するかを各領域を使って表示します。

最終制御

  • 記号:中心にバツ印のある円

  • 使い方:それまでのアクション(制御)で使用されたトークンをすべて破棄するときに記入します。

データストア

  • 記号:長方形

  • 使い方:長方形の中にデータを保持する装置の名前を記入してデータストアを表します。

例外

  • 記号:ジグザグの線

  • 使い方:例外が発生して、アクティビティ(制御)が移行することを表します。

シグナル送信

  • 記号:長方形(角が丸く、内部に矢印が右向きに描かれている)

  • 使い方:シグナルを他のアクティビティやオブジェクトに送信するアクションを示します。

シグナル受信

  • 記号:長方形(角が丸く、内部に矢印が左向きに描かれている)

  • 使い方:他のアクティビティやオブジェクトからシグナルを受信するアクションを示します。

待機

  • 記号:2つの三角形が上下に合わさった形

  • 使い方:タイムイベント(A秒に1度)などを表すときに使用されます。

アクティビティ図の書き方

ここまで、UMLにおいてのアクティビティ図についてやそのメリット、記号について よく知っていただけたと思います。

それでは、実際にこれらの知識を活用してアクティビティ図を作成する例をご紹介したいと 思います。

設計するソフトウェアや開発するシステムの仕様によって作成するアクティビティは さまざまですので、あくまで参考として以下の例をご参照ください。

Step1:アクティビティの範囲を決定する

まず、アクティビティ図で表現したいプロセスやシステムの範囲を決定します。

何を図示するのかを明確にしましょう。

これは、特定のビジネスプロセス、システムの機能、またはワークフロー全体である 可能性があります。

Step 2:主要なアクティビティを洗い出す

次に、プロセス内の主要なアクティビティ(活動やタスク)を洗い出しましょう。

これらのアクティビティは、プロセスの主要なステップや制御を表します。

Step 3:開始ノードと終了ノードを追加する

アクティビティ図の開始点と終了点を示すために、開始ノードと終了ノードを図に追加します。

  • 開始ノード:塗りつぶされた黒い円で表現します。

  • 終了ノード:二重円で表現します。

Step 4:アクションやアクティビティを追加する

プロセスの各ステップを表すアクションやアクティビティを図に追加します。

これらは、角の丸い長方形で表現します。

各アクションには、具体的なタスクや操作を記載します。

Step 5:フローを追加する

アクション間のフローを示すために矢印を追加します。

フローは、プロセスの進行方向を示します。

  • コントロールフロー:アクションやノード間の制御の流れを示します。

Step 6:判断・マージノードを追加する

プロセス内で条件に基づいて分岐する場合や複数のフローを1つに統合する場合に 判断・マージノードを追加します。

  • 判断・マージノード:ひし形で表すノードであり、複数のフローを一つに統合し、条件に 基づかない統合ノードです。分岐点を示し、条件に基づいて異なるフローに分岐します。 そして各分岐に条件を記載します。

Step 7:並行(フォーク)ノードと結合ノードを追加する

プロセスが並行して進行する場合、並行ノードを追加します。また、並行処理を一つに 統合する場合、結合ノードを追加します。

  • 並行(フォーク)ノード:太い水平または垂直の線で表現し、単一のフローを複数の 並行フローに分割します。

  • 結合ノード:太い水平または垂直の線で表現し、複数の並行フローを一つに統合します。

Step 8:オブジェクトフローを追加する

アクティビティ間でデータやオブジェクトが移動する場合、オブジェクトフローを追加します。

  • オブジェクトフロー:オブジェクトやデータの流れを示すための矢印です。オブジェクト ノード間のデータの流れを表します。

Step 9:スイムレーンを追加する(必要に応じて)

プロセスを担当者や部門ごとに分類する場合、スイムレーンを追加します。

スイムレーンは、垂直または水平の区切りで表現し、各レーンには担当者の名前を記載します。

▼ 関連ページ スイムレーンガイド | 書き方と活用方法

Step 10:コメントや注釈を追加する(必要に応じて)

アクティビティ図内の特定の部分に注釈やコメントを追加する場合、コメントを使用します。

コメントは角が折れた長方形で表現し、点線で関連するアクションやノードに接続します。

アクティビティ図の作成には Miro がおすすめ

ビジュアルコラボレーションツールである Miro では、システム・ソフトウェア開発に役立つ ツールやテンプレート、UMLライブラリを使ってアクティビティ図を効率的に作成できます。

PluntUML や Mermaid アプリなども使うことでコード内で図の編集ができるため、 編集しているシステムを一から組み直す必要もなくなります。

作図に役立つ AI 機能も充実しているため、ぜひ明日からのUML図の作成に Miro を お試しください。

製品ページは以下のリンクからご確認いただけます。

Miro のUML図作成ツールMiro のアクティビティ図作成ツールMiro のアクティビティ図テンプレートPlantUMLアプリについてMermaid アプリについて

新しい働き方を Miro で実現しましょう!

Miro はチームで課題を解決し、新しいアイデアを発見するための「ワークスペース」です。