開発技術

基本情報技術者試験クラス図」の問題

マネジメント系開発技術難易度:normal
UMLのクラス図で、クラスAとクラスBを結ぶ関連の両端に、A側『1』、B側『0..*』という多重度が記されている。この記述が表す意味として最も適切なものはどれか。
一つのAに対しBは必ず一つだけ対応する
一つのAに対しBは零個以上対応し、一つのBには一つのAが対応する
一つのAに対しBは必ず一つ以上対応しなければならない
AとBはどちらも互いに複数を対応させられる
正解
一つのAに対しBは零個以上対応し、一つのBには一つのAが対応する

多重度は関連の相手方が何個対応するかを示し、各端の数値は反対側の1インスタンスから見た対応数を表す。B側『0..*』は一つのAにBが零個以上、A側『1』は一つのBにAがちょうど一つ対応することを示す。設問の説明に正確に合致する。

?選択肢ごとの解説

ア ×『一つのAにBは一つだけ』はB側が『1』の場合の意味であり、零個以上を許す『0..*』とは異なる。
イ ○多重度は関連の相手方が何個対応するかを示し、各端の数値は反対側の1インスタンスから見た対応数を表す。B側『0..*』は一つのAにBが零個以上、A側『1』は一つのBにAがちょうど一つ対応することを示す。設問の説明に正確に合致する。
ウ ×『必ず一つ以上』はB側が『1..*』のときの意味で、零個を許す『0..*』では成り立たない。
エ ×『互いに複数』は両端が『*』の多対多を表し、A側が『1』の本問とは一致しない。

くわしく

多重度の記法は『0..1(任意で一つ)』『1(必須で一つ)』『0..*または*(零個以上)』『1..*(一つ以上)』が基本である。各端の値は反対側のオブジェクト一つから見た数で読む点が要点で、A側『1』はBから見てAは一つ、B側『0..*』はAから見てBは零個以上、と二方向で解釈する。これは一対多の関連を正確に表現する。

本番での押さえどころ

試験のコツ

『0..*』は零個以上、『1..*』は一個以上、『1』はちょうど一個、『0..1』は零か一、と対応表で暗記する。

覚え方

多重度は『向こう岸を見た数』。自分側ではなく相手の個数を表すと覚える。

よくある誤り

多重度を自端のオブジェクト数と取り違える誤りが多い。多重度は必ず反対側から見た対応数として読む。

開発技術の他の問題

この問題を、AIの8-ways解説つきで。

基本情報技術者試験の演習を、一問ごとに「なぜ」まで。まずは無料で。

無料ではじめる →

ukamiru 過去問 · 基本情報技術者試験 · fe-a2-0062

【基本情報技術者試験】クラス図の問題 — 解答・解説|ukamiru 過去問