情報処理試験を勉強していると、「アクティビティ図って結局フローチャートと何が違うの?」と疑問に思うことがあります。この記事では、アクティビティ図の定義から構成要素、試験での出題パターンまでを図解付きで整理します。
対象試験と出題頻度
アクティビティ図は、基本情報技術者・応用情報技術者で出題されるテーマです。
UMLのダイアグラム比較問題として定番化しており、「ユースケース図」「シーケンス図」「状態マシン図」との違いを正確に区別できるかが問われます。
詳細をクリックして確認
基本情報技術者
応用情報技術者
★★★☆☆
ランクB(標準)覚えておくと有利
用語の定義
アクティビティ図(Activity Diagram)とは、一言で言うと
「ある処理から次の処理への制御の流れを、分岐や並行処理も含めて図式化するUMLの振る舞い図」
のことです。
イメージとしては、「料理のレシピ本」です。
レシピには「野菜を切る → 鍋で炒める → 煮込む」のように手順が書かれています。
途中で「味が薄ければ塩を足す」という分岐があったり、「パスタを茹でながら、同時にソースを作る」という並行作業もあります。
アクティビティ図は、こうした「手順・分岐・同時進行」をすべて1枚の図に描き出したものです。
📊 アクティビティ図の基本情報
| 項目 | 内容 |
|---|---|
| 英語名 | Activity Diagram |
| UMLでの分類 | 振る舞い図(Behavior Diagram) |
| 主な利用工程 | 業務分析、要件定義、詳細設計 |
| 類似概念 | フローチャート(JIS X 0121 準拠の流れ図) |
解説
システム開発やビジネスプロセスの整理では、「処理がどの順番で実行されるか」を関係者全員で共有する必要があります。
従来のフローチャートでも順次・分岐・反復は表現できましたが、「複数の処理を同時に走らせる並行処理」や「担当者ごとの作業範囲の区分け」を標準的な記法で描く手段がありませんでした。
この課題を解決するために、UMLの中にアクティビティ図が定義されました。フローチャートの表現力を拡張し、フォーク・ジョインによる並行処理やスイムレーンによる責任範囲の明示が可能になっています。
構成要素
アクティビティ図を構成する主要な記号を整理します。ここだけは確実に押さえてください。
| 要素 | 記号 | 役割 |
|---|---|---|
| 開始ノード | ●(黒丸) | 処理の開始点。1つの図に1つだけ配置する |
| 終了ノード | ◉(二重丸) | 処理の終了点。すべてのフローがここで完了する |
| アクション | 角丸長方形 | 個々の処理ステップ。「注文を受け付ける」のように動詞で記述する |
| デシジョン/マージ | ◇(ひし形) | 条件による分岐(デシジョン)と合流(マージ)を表す |
| フォーク/ジョイン | 太い横棒 | フォーク:処理を並行に分岐する。ジョイン:並行処理を1本に合流させる |
| スイムレーン | 縦または横の区画線 | 担当者や部門ごとの責任範囲を視覚的に区分けする |
図解:注文処理のアクティビティ図
ECサイトの注文処理を題材にした簡易的なアクティビティ図を示します。
図解:注文処理のアクティビティ図
ECサイトの注文処理を題材にした簡易的なアクティビティ図を示します。
▲ 在庫ありルートは並行処理後に発送して終了、在庫なしルートは入荷待ち通知を出して終了
フローチャートとの違い
「フローチャートと同じでは?」と感じる方は多いですが、明確な違いがあります。
| 観点 | アクティビティ図 | フローチャート |
|---|---|---|
| 規格 | UML(OMG / ISO 19505) | JIS X 0121 |
| 並行処理 | フォーク・ジョインで標準表現可能 | 標準的な記法がない |
| 担当区分 | スイムレーンで部門・担当者を区分け | 対応する記法がない |
| 主な用途 | 業務プロセスの分析、オブジェクト指向設計 | アルゴリズムの手順表現 |
要するに、アクティビティ図は「並行処理と担当区分を描ける、フローチャートの上位互換」と理解して問題ありません。
他のUMLダイアグラムとの比較
試験では他の振る舞い図との見分けが問われます。判別のキーワードを整理します。
| 図の名称 | 何を表現するか | 見分けキーワード |
|---|---|---|
| アクティビティ図 | ある振る舞いから次の振る舞いへの制御の流れ | 制御の流れ、分岐、並行処理、ワークフロー |
| ユースケース図 | アクターとシステム機能の対応関係 | アクタ、相互作用、要求機能 |
| シーケンス図 | オブジェクト間のメッセージを時系列で表現 | ライフライン、メッセージ、時系列 |
| 状態マシン図 | オブジェクトの状態遷移 | トリガ、状態遷移、イベント |
では、この用語が試験でどのように出題されるか見ていきましょう。
💡 アクティビティ図の核心を3行で
・処理の制御フローを図式化するUMLの振る舞い図で、フローチャートの上位互換にあたる
・フォーク/ジョイン(並行処理)とスイムレーン(担当区分)がフローチャートとの最大の違い
・構成要素は開始ノード(●)、終了ノード(◉)、アクション(角丸長方形)、デシジョン(◇)、フォーク/ジョイン(太棒)
試験ではこう出る!
アクティビティ図は、FE・APの午前問題でUMLの振る舞い図比較問題として繰り返し出題されています。出題パターンは大きく2つに分かれます。
📊 過去問での出題実績
| 試験回 | 出題内容 | 問われたポイント |
|---|---|---|
| FE H31春 午前 問46 |
UMLにおける振る舞い図の説明のうち、アクティビティ図のものを選ぶ問題。 | ・「ある振る舞いから次の振る舞いへの制御の流れ」が正解 ・シーケンス図・ユースケース図・状態遷移図の説明がひっかけ |
| AP R3秋 午前 問47 |
上記FE H31春 問46と同一構成の問題(流用)。 | ・FEとAPで同じ問題が出回る典型例 ・選択肢の文言もほぼ同一 |
| FE R2免除 問65 |
業務要件定義で処理の分岐や並行処理、同期を表現できる図を選ぶ問題。 | ・「分岐」「並行処理」「同期」がアクティビティ図の決め手 ・クラス図・状態遷移図・ユースケース図がひっかけ |
| AP R4春 午前 問66 |
上記FE R2免除 問65と同一構成の問題(流用)。 | ・業務フロー記述の文脈で出題 ・FE/AP間での問題共有パターン |
| FE H30春 午前 問64 |
UMLをビジネスモデリングに用いる場合、ワークフローを表す図を選ぶ問題。 | ・「ビジネスプロセスの実行順序」「条件による分岐」がキーワード |
📝 IPA試験での出題パターン
パターン1:「振る舞い図の説明を選べ」
4つの振る舞い図の説明文が並び、アクティビティ図に該当するものを選ぶ形式。ひっかけとして「オブジェクト間の相互作用を時系列で表現」(シーケンス図)、「一つのオブジェクトの状態がイベントで変化」(状態マシン図)が紛れ込む。キーワードは「制御の流れ」「並行処理」。
パターン2:「業務フローを描く図を選べ」
業務要件定義の文脈で、分岐・並行処理・同期を表現できるUMLの図を問う形式。「処理の分岐や並行処理」が選択肢に含まれていればアクティビティ図を選べば正解。
試験ではここまででOKです。フォークやジョインの記号の形状を細かく覚える必要はなく、「制御の流れ+並行処理を表現できる図=アクティビティ図」と即答できれば得点できます。
【確認テスト】理解度チェック
ここまでの内容を理解できたか、簡単なクイズで確認してみましょう。
Q. UMLにおける振る舞い図の説明のうち、アクティビティ図のものはどれでしょうか?
- A. ある振る舞いから次の振る舞いへの制御の流れを表現する。
- B. システムが外部に提供する機能と、それを利用する者や外部システムとの関係を表現する。
- C. 一つのオブジェクトの状態がイベントの発生や時間の経過とともにどのように変化するかを表現する。
正解と解説を見る
正解:A
解説:
アクティビティ図は、処理の制御フローを分岐や並行処理も含めて図式化するUMLの振る舞い図です。「ある振る舞いから次の振る舞いへの制御の流れを表現する」がそのまま定義に合致します。
選択肢Bはユースケース図の説明です。ユースケース図はアクター(利用者や外部システム)とシステム機能の対応関係を表す図であり、処理の順序や分岐は扱いません。選択肢Cは状態マシン図(状態遷移図)の説明です。状態マシン図はオブジェクトの状態変化をトリガやイベントとともに記述するもので、複数の処理間の制御フローを表す用途とは異なります。
よくある質問(FAQ)
Q. アクティビティ図のスイムレーンとは何ですか?
スイムレーンは、アクティビティ図の中を縦または横の区画線で区切り、各アクションの実行責任者(部門・役職・システムなど)を明示する表現です。例えば「顧客」「営業部」「倉庫」のようにレーンを分け、それぞれの処理がどの担当者の責任範囲かを一目で把握できます。プールのレーンに似ていることからこの名前が付きました。IPA試験の午前問題ではスイムレーン単体で問われることはほぼありませんが、午後問題の業務分析で登場することがあります。
Q. アクティビティ図と状態マシン図の見分け方は?
アクティビティ図は「処理の順序(何をして、次に何をするか)」に焦点を当てます。一方、状態マシン図は「1つのオブジェクトがどのような状態を取り得るか、何をきっかけに状態が変わるか」に焦点を当てます。問題文に「制御の流れ」「ワークフロー」「並行処理」と書かれていればアクティビティ図、「状態遷移」「イベント」「トリガ」と書かれていれば状態マシン図です。
Q. 実務ではアクティビティ図はどの場面で使われますか?
業務フローの整理や改善提案の場面で多く使われます。たとえば、現行の受発注プロセスをアクティビティ図に描き起こし、無駄な承認ステップやボトルネックを可視化してから改善案を提示する、といった使い方です。BPM(ビジネスプロセスマネジメント)ツールの中にはアクティビティ図に準拠した記法を採用しているものもあり、設計段階から実行基盤まで一貫して利用できるケースがあります。
Q. アクティビティ図とBPMN(ビジネスプロセスモデリング表記法)の関係は?
BPMNはOMGが策定したビジネスプロセスのモデリング専用の表記法で、アクティビティ図と見た目が似ています。アクティビティ図がUMLの一部として汎用的なソフトウェアモデリングに使われるのに対し、BPMNは業務プロセスの記述に特化しており、メッセージフローやプールなどビジネス寄りの表現が充実しています。IPA試験ではBPMNは出題範囲に含まれないため、試験対策としてはアクティビティ図だけ押さえれば十分です。