この概念が出た関連問題

この試験の対策ガイド

基本情報技術者試験 対策ガイド

合格率・勉強法・参考書の選び方をまとめています

見る →
答えと解説を見る(先に解くのがおすすめ)

正解は イ

解説

UML のクラス図による概念データモデルの多重度を読み取る問題です。図は「部署」と「従業員」が「所属する」という関連で結ばれ、部署側に 1..*、従業員側に 0..* の多重度が付いています。多重度は「相手から見て自分が何個対応するか」を表すため、読み方は次のとおりです。従業員側の 0..* は「1つの部署には0人以上の従業員が所属する」、部署側の 1..* は「1人の従業員は1つ以上の部署に所属する」ことを意味します。この読み取りから、従業員は同時に2つ以上(複数)の部署に所属してもよいことが分かり、イが正解です。多重度の検証は各選択肢を「この多重度で許されるか/禁止されるか」に翻訳して行います。1..* は「最低1つ、上限なし」、0..* は「0でもよく、上限なし」です。UML の多重度は関連の線の「相手側の端」に書かれた値を読む、という基本ルールを正確に押さえることが、この種の問題を確実に解く鍵になります。

なぜ他の選択肢は違うのか

選択肢 ア
多重度は「1つのインスタンスに対応する相手の個数の範囲」を制約するだけで、部署と従業員それぞれの総数については何も規定しません。例えば部署が3つで従業員が100人という構成でも、各従業員が1つ以上の部署に所属し、各部署に0人以上が所属していれば多重度の制約はすべて満たされます。総数が一致するという解釈は多重度の意味の取り違えであり、図からは導けません。
選択肢 ウ
従業員側の多重度が 0..* なので、1つの部署に所属する従業員は「0人以上」と読み取れます。つまり所属する従業員が1人もいない(0人の)部署もこのモデルでは許容されています。新設直後でまだ人員が配属されていない部署のような状態を認めていることになります。「存在は許されない」と言えるためには従業員側の下限が1(つまり 1..*)でなければならず、本図の 0..* とは合致しません。
選択肢 エ
部署側の多重度が 1..* なので、1人の従業員は「1つ以上」の部署に必ず所属しなければなりません。下限が1と定められている以上、どの部署にも所属しない(所属数が0の)従業員はこのモデルでは存在できず、「存在してもよい」は誤りです。仮に部署側の多重度が 0..* であれば未所属の従業員も許されますが、本図はそうなっていません。下限の数値が0か1かを正確に読み取ることが決め手です。

解くときのポイント

UML 多重度は「線の相手側の端の数値」を読む。1..*=最低1つ・上限なし、0..*=0でもよい。各選択肢を「下限・上限に違反するか」へ翻訳して機械的に判定する。