平成27年度秋期 応用情報技術者試験 午前 問27
社員と年の対応関係をUMLのクラス図で記述する。二つのクラス間の関連が次の条件を満たす場合,a,bに入る多重度の適切な組合せはどれか。ここで,年クラスのインスタンスは毎年存在する。〔条件〕(1) 全ての社員は入社年を特定できる。(2) 年によっては社員が入社しないこともある。

- ア a:0..*,b:0..1
- イ a:0..*,b:1..1
- ウ a:1..*,b:0..1
- エ a:1..*,b:1..1
解答・解説を見る
正解:イ
AI解説
正解はイ(a:0..*,b:1..1)。多重度は「相手のインスタンス1個から見て,自分側のインスタンスがいくつ対応するか」を自分側の端に書く。条件(1)より社員は必ず1つの入社年をもつので,年側の多重度bは1..1。条件(2)より年から見て入社した社員は0人の年もあるので,社員側の多重度aは0..*となる。 ア: a:0..*は正しいが,b:0..1では入社年を特定できない社員(0)が存在し得ることになり,条件(1)に反する。 イ: 正しい。年から見た社員は0人以上(0..*),社員から見た入社年はちょうど1つ(1..1)で,両条件を満たす。 ウ: a:1..*ではどの年にも必ず1人以上入社することになり,「社員が入社しない年もある」という条件(2)に反する。b:0..1も条件(1)に反する。 エ: b:1..1は正しいが,a:1..*は条件(2)に反する(入社者ゼロの年を表現できない)。 💡 多重度は「反対側のクラスの1インスタンスから見た個数」を記入する,という読み方を固定化する。「必ず特定できる=下限1」「ないこともある=下限0」とキーワードを下限値に直結させると速い。
※Web掲載用に表記を一部変更しています。図表はIPA公式問題冊子から引用しています。著作権はIPAに帰属します。