令和4年度 秋期 データベーススペシャリスト試験 午前II 問2
テクノロジシステム開発技術モデリング記法(UML・DFD・状態遷移)
社員と年との対応関係を UMLのクラス図で記述する。二つのクラス間の関連が次の条件を満たす場合,a,b に入れる多重度の適切な組合せはどれか。ここで,“年”クラスのインスタンスは毎年存在する。
〔条件〕
- 全ての社員は入社年を特定できる。
- 年によっては社員が入社しないこともある。

図の説明テキスト
「社員」クラスと「年」クラスが直線(関連線)で結ばれている。線の「社員」側上部には空欄枠 a 、「年」側上部には空欄枠 b が配置されている。また、線の「年」側下部には関連名として「入社年」と記述されている。
解答・解説
正解: イ. a: 0..*,b: 1
UMLのクラス図における多重度の読み方に関する問題です。
クラス間の関連において、多重度は「相手側のクラスのインスタンスがいくつ対応するか」を示します。
問題文の条件を一つずつ確認します。
「全ての社員は入社年を特定できる。」
社員1人に対して、入社した年は必ず1つだけ存在します。
したがって、「社員」から見た「年」の多重度(図中のb)は 1 となります。「年によっては社員が入社しないこともある。」
ある1つの年に対して、その年に入社した社員は0人の場合もあれば、複数人いる場合もあります。
したがって、「年」から見た「社員」の多重度(図中のa)は 0..* となります。
よって、a に入るのは 0..*、b に入るのは 1 となり、イ が正解です。
各選択肢の解説
- ア (a: 0..*、b: 0..1):bが 0..1 だと、「入社年が特定できない社員がいる(年が0)」ことになり、条件1に反します。
- イ (a: 0..*、b: 1):正解です。
- ウ (a: 1..、b: 0..1):aが 1.. だと、「毎年必ず1人以上の社員が入社する」ことになり条件2に反します。さらにbが 0..1 なので条件1にも反します。
- エ (a: 1..、b: 1):aが 1.. だと、「毎年必ず1人以上の社員が入社する」ことになり、条件2に反します。