IPA モデリング記法(UML・DFD・状態遷移) — 頻出論点と過去問
頻出論点
1. この分野は何か
業務の流れ、データのまとまり、部品どうしのやり取り、出来事による状態の移り変わりは、それぞれ向いている図や表が違います。図の種類を取り違えるほか、線の端の数字や矢印、枠の形の意味を読み違えるところでつまずきます。
2. 実際の出題のされ方
図の読み書きの入口では、業務の流れを描く図表の使い分けや、格子状に区切った図の読み取りが試されます。縦横の区画をもつ図から業務のどの要素を読み取れるかを判断する問題や、複数の図表の中から業務プロセスの改善において業務の流れを表記するのに使うものだけを選ばせる問題が、ITパスポートで出ています。
図の種類を目的に合わせて選ぶ問題と、条件や表を手でたどる問題は、応用情報技術者の午前と高度試験の午前Iで繰り返し出題されています。UMLの複数の図から目的に合うものを選ぶ問題や、CRUDマトリクスの説明を選ぶ問題のほか、業務の条件からクラス図の空欄に入る多重度やクラス名の組合せを決める問題、複数の条件の組合せに対する動作指定部の表を選ぶ問題、初期状態から複数のイベントが順に発生した後の最終状態を状態遷移表からたどる問題が出題されています。
DFDとステートマシン図の細かな書き方の決まりには、システムアーキテクトの午前IIで踏み込みます。DFDの図形要素の組合せ、既存システムから新システムを描き起こす手順、親プロセスを子プロセスに分けたときの入出力の整合、並行して動く領域をもつ状態の描き方が出ています。
出来事の起こる順序や、同時に進む処理の待ち合わせを表すのに向いた図やモデルを選ぶ問題が、エンベデッドシステムスペシャリストとシステムアーキテクトの午前IIで問われています。
このほか、高度試験の午前IIでは、SysML、オブジェクト指向開発で使うロバストネス分析、データ中心アプローチの特徴を説明文から選ぶ問題もあります。
3. 学習のポイント
UML(統一モデリング言語)の図は、構造(静的な側面)を表すものと振る舞い(動的な側面)を表すものに分けて整理します。
- 構造を表す図: クラス図は、クラスの属性・操作とクラス間の関連や多重度といった静的な構造を表します。クラス図の関連線の端に書く数(
1、0..1、0..*、1..*など)は、反対側の1つから見て、その端のものがいくつ結びつくかを表します(下限..上限)。これに対し、ある時点における実体化したインスタンス(オブジェクト)どうしの静的な結びつき(リンク)を表すのがオブジェクト図、ソフトウェア部品間の依存関係などの物理的構造を表すのがコンポーネント図です。 - 振る舞いを表す図: ユースケース図は、人の形で描く利用者(アクター)と、楕円で描く機能のまとまりを線で結び、四角い枠でシステムの内と外を分けます。アクティビティ図は、処理を角の丸い箱で並べ、ひし形で分かれ道と合流を、太い棒で並行する処理の分岐と待ち合わせを描きます。区画(スイムレーン)に分ければ、どの部門や役割がその処理を受け持つかも示せます。シーケンス図は、登場するオブジェクトを横に並べ、それぞれから下へ伸ばした線の間に、送るメッセージを上から順に矢印で書きます。縦方向が時間の流れです。ステートマシン図(状態マシン図)は、1つのオブジェクトが取りうる状態を角の丸い箱で、移り先を矢印で描き、矢印に移るきっかけ(トリガ)を書きます。UML 2.0のステートマシン図で、1つの状態の中に並行して動く複数の領域(直交状態)を描く場合は、領域どうしを破線で区切り、各領域の開始状態(黒丸)から出る最初の遷移にはトリガを記述しません。
構造化分析などで用いられるDFD(Data Flow Diagram)と関連手法も重要な柱です。
- DFDの要素と手順: DFDはデータの流れに着目してシステムをモデル化する図であり、データフロー(矢印)、プロセス(円)、データストア(2本の平行線)、源泉と吸収(四角。外部実体とも呼ぶ)の4つの記号で描きます。既存システムから新システムを設計する際は、現状の実態をそのまま描く現物理モデルを作り、そこから実装手段を除いて本質的な機能を抽出した現論理モデルへ抽象化し、新しい要件を組み込んだ新論理モデルを定義した上で、具体的な実現手段を当てはめる新物理モデルへと進めます。
- DFDの階層化(バランス則): 1つのプロセスを子プロセスに分けて詳しくするときは、親に出入りするデータと、子プロセス群が外とやり取りするデータが、中身として過不足なく対応していなければなりません。親の図の1本の流れが複数のデータをまとめたものなら、子の図でそれを構成するデータに分けて描いてもかまいませんが、新しいデータが増えたり、どこかのデータが消えたりしてはいけません。
- アプローチとマトリクス: 機能間のデータの流れに着目するプロセス中心アプローチに対し、業務の手順は変わりやすいが扱うデータの構造は比較的変わりにくいという見方から、先にデータをE-Rモデル(実体関連モデル)で整理して設計の土台にするのがデータ中心アプローチ(DOA)です。また、CRUDマトリクスは、行に機能、列にエンティティをとり、交わるます目に生成(Create)・参照(Read)・更新(Update)・削除(Delete)のどれを行うかを書き込んだ表です。
表形式のモデルや、特殊なシステム向けのモデリング手法も特徴を押さえておきます。
- 決定表と状態遷移表: 決定表(デシジョンテーブル)は、上段の条件指定部に条件の成否(Y/N)の組合せを列挙し、下段の動作指定部に実行する動作(Xなど)を記入して複雑な条件分岐を整理する表です。状態遷移表は、現在の状態と発生したイベントの交差するセルに遷移時の動作と次の状態を記述した表です。空欄のます目が何を意味するかは問題文で約束されるので、その約束に従ってイベント発生ごとに状態番号がどう移り変わるかを1つずつたどります。
- ペトリネット・SysML・ロバストネス分析: ペトリネットは、条件を表すプレースと出来事を表すトランジションを矢印で結び、プレースに置いたトークンの動きで処理の進み方を表します。入力側のプレースすべてにトークンがそろって初めてトランジションが発火するので、複数の処理の待ち合わせや取り合いを描けます。SysMLは、機械・電気・ソフトウェアや人の手順までを含むシステム全体を描くための言語で、UMLを土台にしています。UMLに無い図として、要求どうしの関係を描く要求図と、性能や重さなどの制約を式で結びつけるパラメトリック図があります。また、ロバストネス分析は、ユースケースの流れを、利用者と接する画面などのバウンダリ、手順の進行を受け持つコントロール、記録として残るデータのエンティティの3種類に分けて図にし、設計に進む前に流れの抜けを見つける手法です。
4. 間違えやすいところ
DFDの図形要素を選ぶ問題では、E-R図の要素である実体と関連を含めた組合せが誤答肢にありました。DFDの外部の送り手・受け手は、データの構造を表すE-R図の実体とは役割が違います。
オブジェクトどうしのやり取りを時間の順に設計する図を選ぶ問題では、状態遷移図が誤答肢にありました。状態遷移図が追うのは1つのものの状態の変わり方で、複数のものの間で何がどの順に送られるかは描けません。
SysMLの特徴を問う問題では、UMLでインスタンスのつながりを描く図の説明が誤答肢にありました。
クラス図の多重度は、下限を0にするか1にするかで意味が変わります。たとえば図書と貸出の関連で、まだ一度も貸し出されていない図書があり得るなら、図書から見た貸出の多重度の下限は0です。どの貸出も必ず1冊の図書を指すなら、貸出から見た図書の多重度は1です。相手が無い場合を条件が認めているかどうかを、文から読み取って下限を決めます。
モデリング記法(UML・DFD・状態遷移)の理解度チェック
モデリング記法(UML・DFD・状態遷移)の過去問一覧
- 2025(R7)秋 応用情報技術者 午前 問47 UMLのダイアグラムのうち,インスタンス間の関係を表現するものはどれか。…
- 2025(R7)秋 高度試験共通 午前I 問16 UMLのダイアグラムのうち,インスタンス間の関係を表現するものはどれか。…
- 2025(R7)春 システムアーキテクト 午前II 問1 DFDで用いられる図形要素だけの組みはどれか。…
- 2025(R7)春 システムアーキテクト 午前II 問13 要件定義において,システムが提供する機能単位と利用者又は外部システムとの間の相互作用や,システム内部と外部との境界を明示…
- 2024(R6)秋 応用情報技術者 午前 問66 UMLの図のうち,業務要件定義において,業務フローを記述する際に使用する,処理の分岐や並行処理,処理の同期などを表現でき…
- 2024(R6)秋 高度試験共通 午前I 問25 UMLの図のうち,業務要件定義において,業務フローを記述する際に使用する,処理の分岐や並行処理,処理の同期などを表現でき…
- 2024(R6)秋 エンベデッドシステムスペシャリスト 午前II 問17 並列に生起する事象の間の同期を表現することが可能な,ソフトウェアの要求モデルはどれか。…
- 2023(R5)秋 データベーススペシャリスト 午前II 問24 データ中心アプローチの特徴はどれか。…
- 2023(R5)春 応用情報技術者 午前 問29 UMLを用いて表した図のデータモデルのa,bに入れる多重度はどれか。 〔条件〕 部門には1人以上の社員が所属する。 社員…
- 2023(R5)春 応用情報技術者 午前 問47 値引き条件に従って,商品を販売する。決定表の動作指定部のうち,適切なものはどれか。 〔値引き条件〕 ① 上得意客(前年度…
- 2023(R5)春 高度試験共通 午前I 問9 UMLを用いて表した図のデータモデルの a, b に入れる多重度はどれか。 〔条件〕 部門には1人以上の社員が所属する。…
- 2023(R5)春 ネットワークスペシャリスト 午前II 問24 SysMLの説明として, 適切なものはどれか。…
- 2023(R5)春 システムアーキテクト 午前II 問2 図は,階層化されたDFDにおける,あるレベルのDFDの一部である。プロセス1を子プロセスに分割して詳細化したDFDのうち…
- 2023(R5)春 システムアーキテクト 午前II 問3 複数のシステムの組合せによって実現する SoS (System of Systems) をモデル化するのに適した表記法で…
- 2023(R5)春 システムアーキテクト 午前II 問9 UML 2.0のステートマシン図の記法に適合している図はどれか。…
- 2022(R4)秋 データベーススペシャリスト 午前II 問2 社員と年との対応関係を UMLのクラス図で記述する。二つのクラス間の関連が次の条件を満たす場合,a,b に入れる多重度の…
- 2022(R4)秋 エンベデッドシステムスペシャリスト 午前II 問19 イベント駆動型のアプリケーションプログラムにおける,時系列でのオブジェクト間の相互作用を設計するのに有用なものはどれか。…
- 2022(R4)春 応用情報技術者 午前 問66 UMLの図のうち,業務要件定義において,業務フローを記述する際に使用する,処理の分岐や並行処理,処理の同期などを表現でき…
- 2022(R4)春 高度試験共通 午前I 問25 UMLの図のうち,業務要件定義において,業務フローを記述する際に使用する,処理の分岐や並行処理,処理の同期などを表現でき…
- 2022(R4)春 システムアーキテクト 午前II 問7 既存システムを基に,新システムのモデル化を行う場合のDFD作成の手順として,適切なものはどれか。…
- 2022年度(R4) ITパスポート 問15 業務プロセスを,例示するUMLのアクティビティ図を使ってモデリングしたとき,表現できるものはどれか。…
- 2022年度(R4) ITパスポート 問25 a~dのうち,業務プロセスの改善に当たり,業務プロセスを表記するために用いられる図表だけを全て挙げたものはどれか。 a …
- 2021(R3)秋 応用情報技術者 午前 問46 CRUD マトリクスの説明はどれか。…
- 2021(R3)秋 応用情報技術者 午前 問47 UMLにおける振る舞い図の説明のうち,アクティビティ図のものはどれか。…
- 2021(R3)秋 高度試験共通 午前I 問16 UMLにおける振る舞い図の説明のうち,アクティビティ図のものはどれか。…
- 2021(R3)秋 データベーススペシャリスト 午前II 問2 部,課,係の階層関係から成る組織のデータモデルとして,モデルA~Cの三つの案が提出された。これらに対する解釈として,適切…
- 2021(R3)秋 エンベデッドシステムスペシャリスト 午前II 問20 並列に生起する事象間の同期を表現することが可能な,ソフトウェアの要求モデルはどれか。…
- 2021(R3)秋 プロジェクトマネージャ 午前II 問15 オブジェクト指向開発におけるロバストネス分析で行うことはどれか。…
- 2021(R3)春 応用情報技術者 午前 問29 商品の注文を記録するクラス(顧客,商品,注文,注文明細)の構造を概念データモデルで表現する。a〜dに入れるべきクラス名の…
- 2021(R3)春 応用情報技術者 午前 問47 状態遷移表のとおりに動作し,運転状況に応じて装置の温度が上下するシステムがある。システムの状態が“レディ”のとき,①~⑥…
- 2021(R3)春 システムアーキテクト 午前II 問4 イベント駆動型のアプリケーションプログラムにおけるイベント処理のタイミングを設計するのに有用なものはどれか。…
- 2021(R3)春 システムアーキテクト 午前II 問14 要件定義において,システムが提供する機能単位と利用者又は外部システムとの間の相互作用や,システム内部と外部との境界を明示…
- 2019(R1)秋 システムアーキテクト 午前II 問1 図は,階層化された DFD における,あるレベルの DFD の一部である。プロセス1を子プロセスに分割して詳細化した D…
- 2019(R1)秋 システムアーキテクト 午前II 問2 並列に生起する事象間の同期を表現することが可能な,ソフトウェアの要求モデルはどれか。…
- 2019(R1)秋 システムアーキテクト 午前II 問14 UMLの図のうち,業務要件定義において,業務フローを記述する際に使用する,処理の分岐や並行処理,処理の同期などを表現でき…
- 2018(H30)秋 システムアーキテクト 午前II 問1 CRUDマトリックスの説明はどれか。…
- 2018(H30)秋 システムアーキテクト 午前II 問7 ソフトウェアの要件定義や分析・設計で用いられる技法に関する記述のうち,適切なものはどれか。…
- 2017(H29)秋 システムアーキテクト 午前II 問3 図は“顧客が商品を注文する”を表現したUMLのクラス図である。“顧客が複数の商品をまとめて注文する”を表現したクラス図は…
- 2017(H29)秋 システムアーキテクト 午前II 問4 複数のシステムの組合せによって実現するSoS (System of Systems)をモデル化するのに適した表記法である…
- 2017(H29)秋 システムアーキテクト 午前II 問7 イベント駆動型のアプリケーションにおけるイベント処理のタイミングを設計するのに有用なものはどれか。…
- 2016(H28)秋 システムアーキテクト 午前II 問3 DFDで用いられる図形要素を列記したものはどれか。…
- 2016(H28)秋 システムアーキテクト 午前II 問4 並列に動作する事象間の同期を表現することが可能な,ソフトウェアの要求モデルはどれか。…
- 2016(H28)秋 システムアーキテクト 午前II 問6 図は,デマルコの提唱による構造化技法を基本としたシステム開発プロジェクトのライフサイクルを表現したものである。図中の a…
- 2015(H27)秋 システムアーキテクト 午前II 問2 UMLを使って図のクラスPを定義した。このクラスの操作のうち,公開可視性(public)をもつものはどれか。…
- 2015(H27)秋 システムアーキテクト 午前II 問3 オブジェクト指向分析における分析モデルによって,ユースケース内のオブジェクトを分類するとき,境界オブジェクトに該当するも…