戦国IT - 情報処理技術者試験の過去問対策サイト
ブログお知らせお問い合わせ料金プラン

基本情報技術者 2013年 春期 午前(科目A)26


問題文

UMLを用いて表した図のデータモデルに対する多重度の説明のうち、適切なものはどれか。
基本情報技術者 2013年 春期 午前(科目A) 問26の問題画像

選択肢

社員が複数のプロジェクトに参画する場合は、全て同じ役割分担となる。
社員は、同じプロジェクトに異なる役割分担で参画することができる。(正解)
社員は、一つ以上のプロジェクトに参画している。
社員は、複数の部門に所属することができる。

🔒 解説は解答すると表示されます

UMLの多重度と役割分担【午前解説】

正解の理由

設問図では「プロジェクト参画」がプロジェクト・社員・プロジェクト内役割分担をつなぐレコード(連接エンティティ)になっています。各結合の多重度は次のように解釈します。
  • 参画 — 役割:役割側に「1」、参画側に「0..*」 → 1つの参画には必ず1つの役割が割り当てられるが、ある役割に対しては複数の参画がある。
  • 参画 — 社員:社員側に「1」、参画側に「0..*」 → 1つの参画は必ず1人の社員に紐づくが、ある社員に対して参画は0個以上存在する。
  • 注記「プロジェクト・社員・プロジェクト内役割分担で一意に定まる」は(project, employee, role)の組で参画が一意であることを示すだけで、同じ社員が同じプロジェクトで「異なる」役割を持つことを禁止しません。
    以上より「社員は、同じプロジェクトに異なる役割分担で参画することができる()」が正しいです。

解法ステップ

  1. 各結合の多重度の位置を確認し、「あるインスタンスに対して相手側が何個あり得るか」を読み取る。
  2. 参画(中間エンティティ)的役割を持つクラスは、両側の多重度で「0..*」を持つ側が複数件を許容することを理解する。
  3. 注記(制約)を読んで、唯一性が何の組み合わせにかかっているかを確認し、可能/不可能な事例を検証する。
  4. 選択肢を上記の解釈に当てはめ、矛盾する記述を除外する。

選択肢別の誤答解説

  • ア: 社員が複数のプロジェクトに参画する場合は、全て同じ役割分担となる。
    → 誤り。図は参画ごとに1つの役割を持つ設計で、プロジェクト毎に役割が異なっていても構わない。
  • イ: 社員は、同じプロジェクトに異なる役割分担で参画することができる。
    → 正しい。参画が(プロジェクト, 社員, 役割)で一意化されているため、役割が異なれば別の参画を持てる。
  • ウ: 社員は、一つ以上のプロジェクトに参画している。
    → 誤り。社員側の参画は0..*(社員に対して参画が無い可能性も有り)なので「必ず1つ以上」とは言えない。
  • エ: 社員は、複数の部門に所属することができる。
    → 誤り。社員—部門の多重度は社員側1..*、部門側1で、1人の社員は部門側の多重度1に対応するため「1つの部門に所属する」と解釈される(部門は1つ、部門側は複数の社員を持つ)。

よくある誤解

  • 「多重度の数をそのまま『何を持たなければならないか』と読み違える」:相手側の視点で数を読む必要があります。
  • 「一意性制約=他の組み合わせも禁止」と誤認する:ここは複合キー的な唯一性であり、異なる役割なら別レコード化を許容します。
  • 「矢印(三角)は必ず所属先の多重度を変える」と思い込む:三角はナビゲーション(向き)を示すことが多く、多重度自体の読み方は変わりません。

補足コラム

  • アソシエーションを表す「参画」クラスはリレーショナルモデルでは連結テーブルに相当します。そこで主キーが(project_id, employee_id, role_id)であれば、同一社員が同一プロジェクトで複数の役割を持てるかはrole_idの有無で決まります。
  • UMLの多重度の読み方は重要で、「A —(m..n)— B」のとき、A一件に対してBがm..n件ある、という向きで読む点を常に意識してください。
  • 三角のナビゲーションは「参照方向」を示すことが多く、所有や導出を示す場合がありますが、多重度そのものの意味を変えません。

FAQ

Q. 参画における「0..*」はどちら側に書かれているかで意味が変わりますか?
A. はい。多重度はそれが付いている側(クラス)から見た「相手側インスタンス数」を示します。位置に注意して読みます。
Q. 注記「一意に定まる」は重複禁止だけですか?
A. はい。指定された属性の組で一意であることを示すため、異なる組合せ(例:役割が異なる)は別レコードとして許容されます。
Q. 部門の多重度「1..」は社員側にあると図示されていますが、社員が複数部門を持つ可能性は?
A. 図の読み方では社員側に「1..
」があるのは部署から見た社員数であり、社員が所属する部門は「1」と示されているため、社員は1部門に所属します。

関連キーワード: UML、多重度、アソシエーション、連結エンティティ、複合キー、ナビゲーション、モデリング、ER図、リレーショナルモデリング
← 前の問題へこの年度をクイズで解く次の問題へ →
戦国ITクイズ機能

\ せっかくなら /

基本情報技術者
クイズ形式で学習しませんか?

クイズ画面へ遷移する

すぐに利用可能!

©︎2026 情報処理技術者試験対策アプリ

このサイトについてブログプライバシーポリシー利用規約特商法表記開発者について