UML (2) — シーケンス・ユースケース・状態遷移・アクティビティ

クラス図以外の UML 図 4 種の役割と使い分け、AP頻出パターンを整理。

クラス図以外の UML 図も AP では頻出。シーケンス図・ユースケース図・状態遷移図の用途を整理します。

鳴海 理央(普段) 鳴海 理央

シーケンス図 はオブジェクト間のメッセージを時系列で表す図。
ユースケース図 はアクタとシステムが提供する機能の関係を表す図。
状態遷移図 はオブジェクトの状態変化を表す図。

砂原 ニコ(普段) 砂原 ニコ

それぞれ、どんな場面で使うの?

緒方 ナオミ 先生(笑顔) 緒方 ナオミ 先生

ユースケース図は要件定義段階、シーケンス図は設計段階で具体的な処理フローを整理、状態遷移図は GUI のボタン状態や注文の状態 (受付・決済・出荷・配送) などイベント駆動型の振る舞いを表現するときに使うわ。

藤咲 まりあ(普段) 藤咲 まりあ

アクティビティ図 もありますよね…?

鳴海 理央(普段) 鳴海 理央

業務フローやアルゴリズムの流れを表す図ですね。
条件分岐や並列処理も表現できて、BPMN に近い表記なので業務分析にも使えます。

緒方 ナオミ 先生(普段) 緒方 ナオミ 先生

AP では『次の図はどの UML 図か』『ユースケース図の include と extend の違い』あたりが頻出ね。

知りたいことからUML図を逆引きする

図を選ぶときは、対象が「静的な構造」「利用者から見た機能」「時系列のやり取り」「状態の変化」「処理の流れ」のどれかを判定します。オンライン注文を例にすると、顧客と「商品を注文する」の関係はユースケース図、画面・注文サービス・決済サービスが送るメッセージの順序はシーケンス図、注文が受付済みから決済済み、出荷済みへ移る条件は状態遷移図、返品手続の分岐や並列作業はアクティビティ図で表します。

設問の焦点選ぶ図読む手掛かり
誰がどの機能を利用するかユースケース図アクタ、システム境界
誰から誰へ何を送るかシーケンス図ライフライン、上から下の時間
イベントで状態がどう変わるか状態遷移図状態、イベント、ガード条件
作業の分岐・合流・並列アクティビティ図開始点、判断、フォーク

include・extendと状態遷移を解く手順

<<include>> は、元のユースケースを実行すると必ず共通処理を呼ぶ関係です。「商品を購入する」が常に「本人確認を行う」を含むなら include です。<<extend>> は特定条件だけで追加される任意の振る舞いで、「クーポンを適用する」のような処理が該当します。必須か条件付きかを一文に言い換えてから矢印を選びます。

状態遷移問題では、現在状態、発生イベント、ガード条件、遷移後状態、実行アクションの順に表へ書き出します。たとえば未決済の注文に「入金確認」が起き、金額一致という条件を満たすと決済済みに遷移し、領収メールを送信します。シーケンス図を選ぶ誤答は、どちらも時間変化を扱うために生じます。複数オブジェクト間のメッセージ順序ならシーケンス図、一つの対象が取り得る状態なら状態遷移図です。

確認クイズ

オブジェクトが取りうる状態と、状態間の遷移をモデリングするのに最も適した UML 図はどれか。

  1. クラス図
  2. シーケンス図
  3. 状態遷移図
  4. ユースケース図
こたえを見る

正解: 3. 状態遷移図

状態遷移図は『オブジェクトの状態と状態間遷移』を表す図。例: 注文の『受付済み → 決済済み → 出荷済み → 配達完了』など。GUI のボタン状態や TCP の接続状態 (3-way handshake) などイベント駆動型システムで頻用されます。

🔖 この記事の関連書籍

Amazonアソシエイトリンクを含みます。他分野は おすすめ書籍ページ へ。