基本情報 平成31年度 春期 問46:テクノロジ系に関する問題
UML における振る舞い図の説明のうち, アクティビティ図のものはどれか。
- aある振る舞いから次の振る舞いへの制御の流れを表現する。正答
- bオブジェクト間の相互作用を時系列で表現する。
- cシステムが人外部に提供する機能と, それを利用する者や外部システムとの関係 を表現する。
- dーーつのオブジェクトの状態がイベントの発生や時間の経過とともにどのように 変化するかを表現する。
AI解説(初心者・標準・上級)
理解度に合わせて3レベルの解説を無料で読めます。
答えは a です。
アクティビティ図は、業務の流れや処理の進み方を「フローチャートみたいに」描くUMLの図です。
「Aの作業が終わったらB、条件によってC」みたいに、振る舞い(動き)の順番を表します。
👉 覚え方:アクティビティ図=活動の流れ図=フローチャートの仲間。
ほかの選択肢:b 時系列の相互作用=シーケンス図/c 外部とのやり取り=ユースケース図/d 状態の変化=ステートマシン図。
なぜこれが正解か
正解は a。アクティビティ図(Activity Diagram)はUMLの振る舞い図の一つで、処理(アクション)の順序と分岐・並行・同期を表現する。問題文の「ある振る舞いから次の振る舞いへの制御の流れを表現」がまさに定義。フローチャートと類似だが、フォーク/ジョイン(並行処理)、スイムレーン(責任分割)が表現できる点が拡張。
各選択肢の解説
- b オブジェクト間の相互作用を時系列で表現=シーケンス図
- c 外部提供機能とアクター(利用者)の関係=ユースケース図
- d 1つのオブジェクトの状態変化=ステートマシン図(状態遷移図)
覚え方・ひっかけ注意
UMLの振る舞い図4種を整理:
- アクティビティ図:処理の流れ(フロー)
- シーケンス図:時系列の相互作用(メッセージ)
- ステートマシン図:オブジェクトの状態変化
- ユースケース図:システム機能とアクター
キーワード対応:「流れ→アクティビティ」「時系列→シーケンス」「状態→ステートマシン」「機能・アクター→ユースケース」。
理論的背景
UML 2.x(現在2.5.1)はOMG(Object Management Group)が策定。構造図7種と振る舞い図7種の計14図種がある。
- 構造図:クラス図、オブジェクト図、コンポーネント図、配置図、パッケージ図、合成構造図、プロファイル図
- 振る舞い図:ユースケース図、アクティビティ図、ステートマシン図、シーケンス図、コミュニケーション図、タイミング図、相互作用概要図
アクティビティ図はUML 2.0でPetri-net理論を取入れ、トークンの概念で並行・同期が厳密化された。
アクティビティ図の主要要素
- アクション:処理単位(丸角矩形)
- コントロールノード:開始・終了・デシジョン(菱形分岐)・マージ・フォーク・ジョイン
- オブジェクトノード:データの受渡し
- スイムレーン(パーティション):責任主体ごとの縦/横区分
- 送受信信号:イベント処理
実務での使われ方
- 業務プロセスモデリング:BPMNとの併用/使い分け(BPMNはより業務寄り、アクティビティ図はソフト寄り)
- 要件定義:ユースケース記述の「メインシナリオ/代替シナリオ」を可視化
- 並行処理設計:マルチスレッド、ワークフローエンジンのフロー設計
- テストケース導出:分岐網羅・パス網羅でテストケース設計
他振る舞い図の使い分け
- シーケンス図:API設計、メッセージ往復の詳細(同期/非同期、戻り値)
- ステートマシン図:UI画面遷移、注文ステータス、デバイス状態管理
- ユースケース図:要件定義初期、ステークホルダ共通認識
試験での位置づけ
基本情報・応用情報のソフトウェア開発分野で必出。応用情報・システムアーキテクトではDDD(ドメイン駆動設計)、マイクロサービス設計でUMLとアーキテクチャパターン(CQRS、イベントソーシング)の連動が問われる。
選択肢の発展補足
シーケンス図のメッセージは同期(矢印実線・三角頭)/非同期(矢印実線・線頭)/返却(矢印破線)で表現。ライフライン上の活性化区間(バー)でメソッド実行中を示す。ステートマシン図はHarelの拡張で階層状態(複合状態)と並行状態(直交領域)が表現可能。これらはモデル駆動開発(MDD)/コード生成の入力にもなる。
出典:IPA(情報処理推進機構)公式 基本情報技術者試験 平成31年度 春期 問46/ 公的機関配布資料につき出典明記の上引用。解説は合格ナビによる独自AI解説です。