データベーススペシャリスト 2024年 午前2 問06
問題文
階層構造をもつ組織と、従業員の組織への所属を表すUMLのクラス図のうち、“従業員は組織階層中のどの組織にも所属できるが、兼務はしない”とするものはどれか。

選択肢
ア:従業員は組織階層中のどの組織にも所属できるが、 兼務はしないことを表すクラス図。
イ:従業員は0..1の上位組織に所属し、 兼務しないことを表すクラス図。
ウ:従業員は複数の組織に所属可能で兼務を許すクラス図。
エ:従業員は1つの組織に所属し兼務しないことを表すクラス図。(正解)
階層構造をもつ組織と従業員の所属を表すUMLクラス図【午前2 解説】
要点まとめ
- 結論:従業員は組織階層中のどの組織にも所属でき、兼務はしないことを表すのは選択肢エです。
- 根拠:組織の階層構造を付加ノードで表現し、従業員側の多重度が「1」で兼務を禁止している点がポイントです。
- 差がつくポイント:組織の階層表現方法と従業員の所属多重度の理解、兼務の有無を正確に読み取る力が問われます。
正解の理由
選択肢エは、組織の階層構造を付加ノードで表現し、組織側の多重度「*」で階層中のどの組織にも所属可能としています。一方、従業員側の多重度が「1」となっており、従業員は必ず1つの組織に所属し、兼務(複数所属)はしないことを明確に示しています。これが問題文の条件に合致します。
よくある誤解
組織の階層構造を自己関連で表す場合や、従業員の所属多重度を「*」にして兼務を許すケースと混同しやすいです。多重度の意味を正確に理解しましょう。
解法ステップ
- 組織の階層構造の表現方法を確認する(自己関連か付加ノードか)。
- 従業員の所属する組織の多重度を確認する。
- 「兼務しない」=従業員側の多重度が「1」であることを確認。
- 「どの組織にも所属できる」=組織側の多重度が「*」であることを確認。
- 条件を満たす選択肢を選ぶ。
選択肢別の誤答解説
- ア:組織の階層を自己関連で表現し、従業員の所属は「1」だが、階層中のどの組織にも所属できる表現が不十分。
- イ:付加ノードで階層を表すが、従業員は「0..1」の上位組織にしか所属できず、階層中のどの組織にも所属できるとは言えない。
- ウ:従業員側の多重度が「*」で複数組織に所属可能、兼務を許しているため条件に合わない。
- エ:組織の階層を付加ノードで表し、従業員は必ず1つの組織に所属し兼務しない条件を満たす。
補足コラム
UMLのクラス図で組織の階層構造を表す方法は主に自己関連と付加ノードの2種類があります。自己関連は同一クラス内の親子関係を示し、付加ノードは関連の詳細を表現するために使われます。また、多重度は関連の「数」を示し、1は必ず1つ、*は複数可能を意味します。兼務の有無は多重度の違いで表現されるため、正確に読み取ることが重要です。
FAQ
Q: UMLの多重度「1」と「0..1」の違いは何ですか?
A: 「1」は必ず1つ存在することを示し、「0..1」は0か1つ存在することを示します。必須か任意かの違いです。
A: 「1」は必ず1つ存在することを示し、「0..1」は0か1つ存在することを示します。必須か任意かの違いです。
Q: 組織の階層構造を自己関連で表すメリットは?
A: 同じクラス内で親子関係を簡潔に表現でき、階層構造の理解がしやすい点です。
A: 同じクラス内で親子関係を簡潔に表現でき、階層構造の理解がしやすい点です。
Q: 兼務を許す場合、従業員側の多重度はどうなりますか?
A: 複数所属可能なので「」や「0..」など複数を示す多重度になります。
A: 複数所属可能なので「」や「0..」など複数を示す多重度になります。
関連キーワード: UMLクラス図、多重度、組織階層、兼務、付加ノード、自己関連、クラス図解釈

\ せっかくなら /
データベーススペシャリストを
クイズ形式で学習しませんか?
クイズ画面へ遷移する→
すぐに利用可能!

