令和5年度春期 応用情報技術者試験 午前 問29
UMLを用いて表した図のデータモデルのa,bに入れる多重度はどれか。〔条件〕(1)部門には1人以上の社員が所属する。(2)社員はいずれか一つの部門に所属する。(3)社員が部門に所属した履歴を所属履歴として記録する。

- ア a:0..* b:0..*
- イ a:0..* b:1..*
- ウ a:1..* b:0..*
- エ a:1..* b:1..*
解答・解説を見る
正解:エ
AI解説
「部門には1人以上の社員が所属する」という条件から部門—社員間の多重度(a)は1以上を表す1..*となり、「所属履歴として記録する」という条件から社員は少なくとも1件以上の所属履歴をもつため、社員—所属履歴間の多重度(b)も1..*となる。 ア: aもbも0..*としており、部門に社員が1人もいない(0人)状態や社員に所属履歴が全くない状態を許してしまうため、条件(1)(3)に反する。 イ: aを0..*としており、社員が1人もいない部門の存在を許してしまうため、条件(1)「部門には1人以上の社員が所属する」に反する。 ウ: bを0..*としており、所属履歴が1件もない社員の存在を許してしまうため、条件(3)に反する(社員は入社時から必ず所属履歴をもつはずである)。 エ: 正解。a:1..*で部門には必ず1人以上の社員が所属することを表し、b:1..*で社員には必ず1件以上の所属履歴が記録されることを表す。 💡 多重度の下限は「その関係が必ず1件以上存在するか、0件でもよいか」を条件文から丁寧に読み取ることがポイント。「1人以上」「必ず記録する」といった表現があれば下限は1以上(0..*ではなく1..*)になる。
※Web掲載用に表記を一部変更しています。図表はIPA公式問題冊子から引用しています。著作権はIPAに帰属します。