令和5年度 春期 午前Ⅱ 問9
システム要件定義・ソフトウェア要件定義
ステートマシン図に関する問題
UML 2.0 のステートマシン図の記法に適合している図はどれか。
選択肢のステートマシン図:
- 開始疑似状態 → 状態1 → 状態2(複合状態)→ 終了状態
- 状態2の中に二つの領域: 開始疑似状態 → 状態3 → 状態4 → 終了状態/開始疑似状態 → 状態5 → 状態6 → 終了状態
- ア(原典は図。状態1→状態2 の遷移にトリガ1。状態2の二つの領域は破線で区切られている。状態3→状態4 にトリガ2,状態5→状態6 にトリガ3。領域内の開始疑似状態からの遷移にトリガなし)
- イ(原典は図。状態1→状態2 の遷移にトリガ1。状態2の二つの領域を区切る破線なし。状態3→状態4 にトリガ2,状態5→状態6 にトリガ3。領域内の開始疑似状態からの遷移にトリガなし)
- ウ(原典は図。状態1→状態2 の遷移にトリガなし。状態2の二つの領域は破線で区切られている。両領域の開始疑似状態からの遷移にトリガ1。状態3→状態4 にトリガ2,状態5→状態6 にトリガ3)
- エ(原典は図。状態1→状態2 の遷移にトリガなし。状態2の二つの領域を区切る破線なし。両領域の開始疑似状態からの遷移にトリガ1。状態3→状態4 にトリガ2,状態5→状態6 にトリガ3)
答えと解説を見る
✓ これが正解ア(原典は図。状態1→状態2 の遷移にトリガ1。状態2の二つの領域は破線で区切られている。状態3→状態4 にトリガ2,状態5→状態6 にトリガ3。領域内の開始疑似状態からの遷移にトリガなし)
解説
領域は破線で区切り、開始疑似状態からの遷移にトリガを付けません。
見分ける軸は二つあり、複合状態の中の並行する領域の区切り方と、開始疑似状態から出る遷移にトリガを付けられるかです。UML のステートマシン図では、一つの複合状態の中で同時に進む複数の領域を表すとき、領域の間を破線で区切ります。また、開始疑似状態から出る遷移は、その状態に入った時点で自動的に起こるものなので、トリガを付けません。状態2に入るきっかけは、状態1から状態2への遷移にトリガ1として付けます。正解の図は、破線で領域が区切られ、トリガ1が状態1から状態2への遷移にあり、領域内の開始疑似状態からの遷移にトリガがないので、二点を両方満たします。破線とトリガの位置の二点を順に確かめると選べます。
ほかの選択肢はなぜ違うのか
- イ(原典は図。状態1→状態2 の遷移にトリ…:トリガの付け方は正しいものの、状態2の中の二つの領域を区切る破線がありません。破線がないと二つの流れが並行する別々の領域であることが示されず、並行状態の記法を満たしていません。
- ウ(原典は図。状態1→状態2 の遷移にトリ…:領域は破線で区切られていますが、両方の領域の開始疑似状態から出る遷移にトリガ1が付いています。開始疑似状態からの遷移にはトリガを付けられないので、この点で記法に反しています。
- エ(原典は図。状態1→状態2 の遷移にトリ…:二つの領域を区切る破線がなく、しかも領域内の開始疑似状態から出る遷移にトリガ1を付けています。並行する領域の表し方と、開始疑似状態からの遷移の扱いの両方が記法に反しています。
出典:令和5年度 春期 システムアーキテクト試験 午前Ⅱ 問9
この解説に誤りを見つけたら教えてください。直して、直した記録を残します。誤りを報告する(メールが開きます)