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

- ア a: 0..*,b: 0..1
- イ a: 0..*,b: 1
- ウ a: 1..*,b: 0..1
- エ a: 1..*,b: 1
正解と解説を見る
正解: イ
- ア: b が 0..1 だと、入社年が分からない社員がいることになります。全ての社員は入社年を特定できるので 1 です。
- イ: ある年に入社する社員は 0 人以上 (0..*)、社員の入社年はちょうど 1 つ (1) なので正しい組合せです。
- ウ: a が 1..* だと、毎年必ず誰かが入社することになります。入社しない年もあるので 0..* です。
- エ: a が 1..* だと、毎年必ず誰かが入社することになります。入社しない年もあるので 0..* です。
ポイント
- UML の多重度は、相手のクラスの 1 つのインスタンスに対して、こちら側がいくつ対応するか を、こちら側のクラスの近くに書きます。
- a (社員側): ある年に入社した社員は、0 人のこともあれば何人もいることもあるので 0..*
- b (年側): 社員 1 人の入社年は必ず 1 つに決まるので 1