平成24年度 秋期 システムアーキテクト試験 午前Ⅱ 問21
テクノロジ/開発技術社員と年の対応関係を UML のクラス図で記述する。二つのクラス間の関連が次の条件を満たす場合,a,b に入る多重度の適切な組合せはどれか。ここで,年クラスのインスタンスは毎年存在する。 〔条件〕 (1) 全ての社員は入社年を特定できる。 (2) 年によっては社員が入社しないこともある。 〔クラス図〕 [社員]-(多重度a)-〔関連:入社年〕-(多重度b)-[年] (a は“社員”側に付与された多重度,b は“年”側に付与された多重度を表す) (注:本サイトでは原問題の図を文字表記に変換しています)
出典:平成24年度 秋期 システムアーキテクト試験 午前Ⅱ 問21
- アa:0..*,b:0..1
- イa:0..*,b:1..1
- ウa:1..*,b:0..1
- エa:1..*,b:1..1
正解:イ
解説
条件(1)「全ての社員は入社年を特定できる」から,社員側から見て年は必ず1つに定まるため,年側の多重度(b)は1..1となります。条件(2)「年によっては社員が入社しないこともある」から,1つの年に対応する社員の数は0人以上となるため,社員側の多重度(a)は0..*となります。したがって,適切な組合せはa:0..*,b:1..1です。
選択肢ごとの解説
- ア誤り。条件(1)により,1人の社員に対応する入社年は必ず1つに定まるはずですが,bを0..1とすると入社年が特定できない社員が存在し得ることになり,条件と矛盾します。
- イ正しい。条件(2)から年に対応する社員数は0人以上(a:0..*),条件(1)から社員に対応する年は必ず1つ(b:1..1)となる組合せが適切です。
- ウ誤り。条件(2)により,社員が入社しない年も存在し得るはずですが,aを1..*とすると全ての年に少なくとも1人は社員が入社することになり,条件と矛盾します。
- エ誤り。aを1..*,bを1..1とすると,条件(2)が示す「社員が入社しない年もある」というケースを表現できません。