基本情報技術者 2017年 秋期 午前(科目A) 問28
問題文
UMLを用いて表した図のデータモデルの解釈のうち、適切なものはどれか。

選択肢
ア:事業部以外の部門が、部門を管理できる。
イ:社員は事業部に所属できる。(正解)
ウ:所属する社員がいない部門が存在する。
エ:部門は、いずれかの事業部が管理している。
##: UMLを用いたデータモデルの解釈【午前2 解説】
要点まとめ
- 結論→社員は事業部に所属できる:事業部は「部門」のサブクラスであり、社員は部門へ所属するため事業部にも所属可能です。
- 根拠→多重度と汎化の組合せ:社員―部門の関連で社員側が1..*、部門側が1となり社員は必ず1つの部門を持ちます。
- 差がつくポイント→多重度は「その端に示されたクラスが相手に対して持つ数」を示し、汎化はis‑a関係で関連がサブクラスにも適用されます。
正解の理由
事業部は図で部門のサブクラス(汎化)として示されています。社員は「所属する」関連で必ず1つの部門(部門側の多重度が1)に属すると定義されているため、「部門」を表すインスタンスの一種である事業部にも同様に所属できます。したがって「社員は事業部に所属できる」が正しい解釈です。
よくある誤解
- 多重度の向きの誤認:多重度はその数字が書かれているクラスが相手に対して持つ個数を示すため、社員側の1..*は「部門が持つ社員数」ではなく「部門に対して存在する社員の数」を読む必要があります。
- 汎化を無視する誤り:事業部が部門のサブクラスである点を見落とし、サブクラスを別種と誤解してしまうことがあります。サブクラスはスーパークラスの全ての関連に参加可能です。
- 矢印の意味の混同:矢印(ナビゲーション)は「参照可能方向」を示すだけで、所属の有無や多重度の意味を変えません。
解法ステップ
- クラス図の各関連で、多重度がどのクラス端に付いているかを確認する(数字はその端のクラスに関する数を示す)。
- 汎化(白抜き三角形)は上位がスーパークラス、下位がサブクラスで「is‑a」を表すことを確認する。
- スーパークラスに対する関連はサブクラスのインスタンスにも適用されるため、サブクラスがその関連に参加できるか評価する。
- 選択肢を上記の解釈に照らして、矛盾する記述を除外する。
選択肢別の誤答解説
- ア: 事業部以外の部門が、部門を管理できる。
→ 誤り。図の「管理する」関連は事業部(事業部→部門)から部門への向きで示されており、事業部が部門を管理することを表しています。他の部門が管理者になる関係は図示されていません。 - 正解: イ 社員は事業部に所属できる。
→ 正しい。社員は必ず1つの部門に所属し、事業部は部門のサブクラスなので社員は事業部にも所属可能です。 - ウ: 所属する社員がいない部門が存在する。
→ 誤り。社員-部門の関連で部門側の多重度が1、社員側が1..*となっており、部門は少なくとも1人の社員を持つことが要求されています。 - エ: 部門は、いずれかの事業部が管理している。
→ 誤り。事業部側の多重度が0..1となっており、部門が必ず事業部に管理されているとは限りません(管理されない部門もあり得ます)。
補足コラム
UMLのクラス図では「汎化(generalization)」によりサブクラスはスーパークラスの性質・関連を継承します。したがってスーパークラス宛ての関連を設計すると、サブクラスもその関連に参加できる点が実務でも頻出のポイントです。また、多重度の読み間違いは致命的な誤解につながるため、常に「この数字はこのクラスが相手に対していくつ持つか」を意識してください。矢印(ナビゲーション)は実装上の参照方向に関するヒントであり、必ずしも設計上の必須条件を変えるものではありません。
FAQ
Q1: 事業部が部門のサブクラスなら、事業部は部門と同一視して扱ってよいですか?
A1: はい。サブクラスのインスタンスはスーパークラスのインスタンスであり、スーパークラスへの関連に参加できます。
A1: はい。サブクラスのインスタンスはスーパークラスのインスタンスであり、スーパークラスへの関連に参加できます。
Q2: 多重度「1..」はどちらの制約ですか?
A2: 多重度はその数字が付いているクラス端の「相手クラスに対する個数」を示します。図の「社員側1..」は、部門が関連する社員の数が1以上であることを示します。
A2: 多重度はその数字が付いているクラス端の「相手クラスに対する個数」を示します。図の「社員側1..」は、部門が関連する社員の数が1以上であることを示します。
Q3: 矢印(塗りつぶし三角)は何を意味しますか?
A3: 多くの場合ナビゲーション(参照可能方向)を示します。解釈を変えるのではなく「どちらから参照できるか」の情報として扱ってください。
A3: 多くの場合ナビゲーション(参照可能方向)を示します。解釈を変えるのではなく「どちらから参照できるか」の情報として扱ってください。
関連キーワード: UML, クラス図, 多重度, 汎化, 関連, ナビゲーション, 継承, association, multiplicity, class diagram

\ せっかくなら /
基本情報技術者を
クイズ形式で学習しませんか?
クイズ画面へ遷移する→
すぐに利用可能!

