応用情報技術者 2024年 秋期 午前2 問29
問題文
次のオブジェクト図 (インスタンスを表す図) に対応する概念データモデルはどれか。ここで、オブジェクト図及び概念データモデルの表きにはUMLを用いる。


選択肢
ア:
イ:(正解)
ウ:
エ:
🔒 解説は解答すると表示されます
オブジェクト図の多重度判定【午前2解説】
正解の理由
この設問の正答は イ です。オブジェクト図の実例(インスタンス接続)から、多重度(ある側に示された数値が「逆側のインスタンスに対して何個の当該側インスタンスが対応するか」を示すこと)を読み取ると、次の関係が成り立ちます。
- 地域―仕入先:大阪には複数の仕入先(25, 37)があり、各仕入先は必ず1つの地域(東京または大阪)に属している。したがって「地域側に1、仕入先側に*」。
- 仕入先―仕入:仕入先11は #01,#02,#03 と複数の仕入を持ち、各仕入(#01 等)は一つの仕入先にのみ接続されている。したがって「仕入先側に1、仕入側に*」。
- 仕入―部品:#01 と #03 が同じ部品136に接続されるなど、1つの部品に対して複数の仕入が存在し得る。一方、各仕入は特定の1つの部品を参照している。したがって「仕入側に*、部品側に1」。
以上が選択肢 イ の記述と一致するため、イ が正解になります。
解法ステップ
- UMLの多重度の読み方を明確にする:ある関連線の端に記された数は「その端にあるクラスのインスタンスが、反対側のインスタンス1つに対して何個対応するか」を示す。
- オブジェクト図の各接続を観察する:
- 地域 → 複数の仕入先(大阪が2つの仕入先を持つ) ⇒ 地域は複数の仕入先を持ち得る。
- 仕入先 → 複数の仕入(11が#01,#02,#03) ⇒ 仕入先は複数の仕入を持ち得る。
- 仕入 → 単一の部品(各仕入は1つの部品に接続) ⇒ 仕入は1つの部品に対応する。
- 同一部品に複数の仕入が接続している事実から、部品側は1、仕入側は*。
- 各関係について上記ルールを当てはめ、選択肢と照合する。
選択肢別の誤答解説
- ア:地域―仕入先が双方とも「1」となっているため、同一地域に複数の仕入先が存在する図(大阪に25,37がいる)と矛盾します。また、仕入―部品の指定が「仕入側*、部品側1」は合っているものの、地域側の誤りで全体が不適切です。
- ウ:仕入先―仕入の指定が「仕入先側に*、仕入側に1」となっており、「1つの仕入が複数の仕入先に属する」ことを意味してしまいます。オブジェクト図では各仕入(#01 等)は単一の仕入先に接続されているため、この方向は逆です(正しくは「仕入先側に1、仕入側に*」)。
- エ:地域―仕入先が「地域側に*、仕入先側に*」とされており、各仕入先が複数地域に属する可能性を許してしまいます。図では各仕入先は1つの地域に所属しているため不整合です。また、仕入―部品が「仕入側に1、部品側に*」となっており、これは「1つの仕入が複数の部品を参照する」ことを示すため図と異なります。
(特にウの誤りは「仕入と仕入先の多重度が逆になっている」点に注意してください。図からは「各仕入は1つの仕入先に属し、各仕入先は複数の仕入を持ち得る」ため、多重度は仕入先側が1、仕入側が*でなければなりません。)
よくある誤解
- 多重度の向きを読み違える:多重度は「端に書かれたクラスが、反対側の1インスタンスに対して何個あるか」を示します。端と反対側を混同すると逆向きの結論になります。
- オブジェクト図の「サンプル数」をそのまま固定値と誤解する:オブジェクト図はインスタンス例なので「ある接続が存在する」ことは示せますが、必ずしも最大数を限定するわけではありません。試験では提示された接続の様子(多数接続されているか、常に接続されているか)から合理的な多重度を推定します。
- 0と1の違いの見落とし:提示選択肢に 0..1 や 1..* といった細かい表現がない場合、図上で常に接続があることが確認できれば1を選びます。選択肢が限定されている点に注意しましょう。
補足コラム
UMLのオブジェクト図(インスタンス図)は実際のインスタンス間の結びつきを示し、概念データモデル(クラス図や概念モデル)で使う多重度はそこから一般化して導きます。判断の際は「あるインスタンスが必ず1つの相手を持つのか」「ある相手に多数のインスタンスが集まるのか」を、図の例から逆算するクセをつけると安定して解けます。
FAQ
Q1. オブジェクト図に1つしか接続が描かれていない場合、必ず「1」と判断してよいですか?
A1. 1つしかないことは「少なくとも1つ存在する」ことを示しますが、選択肢に0..1や1..*の区別があるときは注意が必要です。図でそのインスタンスが常に接続されている(他に接続先がない)ことが明示されている場面では1を選びます。試験問題は通常、与えられたオブジェクト図の配置から最も妥当な多重度を問います。
A1. 1つしかないことは「少なくとも1つ存在する」ことを示しますが、選択肢に0..1や1..*の区別があるときは注意が必要です。図でそのインスタンスが常に接続されている(他に接続先がない)ことが明示されている場面では1を選びます。試験問題は通常、与えられたオブジェクト図の配置から最も妥当な多重度を問います。
Q2. 同じ部品に複数の仕入が繋がっているとき、部品側は「」ではないのですか?
A2. 多重度の位置に注意してください。部品側に書かれる値は「1つの仕入が参照する部品の数」ではなく「1つの仕入に対応する部品側の値が反対側1つに対して何個の部品があるか」を示します。今回の図では「同一部品に複数の仕入が来ている」ため、部品側は1(各仕入は1つの部品を指す)、仕入側が(1つの部品に複数の仕入が存在)になります。
A2. 多重度の位置に注意してください。部品側に書かれる値は「1つの仕入が参照する部品の数」ではなく「1つの仕入に対応する部品側の値が反対側1つに対して何個の部品があるか」を示します。今回の図では「同一部品に複数の仕入が来ている」ため、部品側は1(各仕入は1つの部品を指す)、仕入側が(1つの部品に複数の仕入が存在)になります。
関連キーワード: UML、オブジェクト図、多重度、概念データモデル、アソシエーション、インスタンス認識

\ せっかくなら /
応用情報技術者を
クイズ形式で学習しませんか?
クイズ画面へ遷移する→
すぐに利用可能!

