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

応用情報技術者 2018年 秋期 午前226


問題文

社員と年の対応関係を UMLのクラス図で記述する。二つのクラス間の関連が次の条件を満たす場合、a, bに入れる多重度の適切な組合せはどれか。ここで、”年”クラスのインスタンスは毎年存在する。   〔条件〕  (1) 全ての社員は入社年を特定できる。  (2) 年によっては社員が入社しないこともある。
応用情報技術者 2018年 秋期 午前2 問26の問題画像応用情報技術者 2018年 秋期 午前2 問26の選択肢の画像

選択肢

(正解)

社員と年の対応関係を UMLのクラス図で記述する問題【午前2 解説】

正解の理由

選択肢イの「a=0..*、b=1」が正解です。
  • (1)「全ての社員は入社年を特定できる」→社員は必ず1つの年に属するため、年側の多重度は「1」。
  • (2)「年によっては社員が入社しないこともある」→年側は社員を0人以上持つ可能性があるため、社員側は「0..*」。
    また、「年」クラスのインスタンスは毎年存在するため、年側の多重度は「1」と固定されます。

解法ステップ

  1. 問題文の条件を丁寧に読み、社員と年の関係を整理する。
  2. 「全ての社員は入社年を特定できる」→社員は必ず1つの年に属する。
  3. 「年によっては社員が入社しないこともある」→年は社員を0人以上持つ可能性がある。
  4. 「年」クラスのインスタンスは毎年存在する→年側の多重度は「1」。
  5. 以上を踏まえ、多重度を「社員側:0..*」「年側:1」と決定する。

選択肢別の誤答解説

  • ア(0..*、0..1):年側が「0..1」は誤り。全社員は必ず入社年があるため年側は「1」。
  • イ(0..*、1):正解。社員は0人以上、年は必ず1つ存在。
  • ウ(1..、0..1):社員側が「1..」は誤り。社員は0人以上でよく、年側は「1」が正しい。
  • エ(1..、1):社員側が「1..」は誤り。社員は0人以上でよく、必ず1人以上とは限らない。

よくある誤解

  • 「社員は必ず年に属する」ことを忘れて「0..1」とする誤り。
  • 「年に必ず社員がいる」と誤解し「1」とする誤り。年は社員がいなくても存在するため「0..*」が正しい。

補足コラム

UMLの多重度は「関連するインスタンスの数の範囲」を示します。
  • 「0..*」は0人以上の任意の数を意味し、存在しなくてもよいことを示します。
  • 「1」は必ず1つ存在することを示し、必須の関連を表します。
    この問題では「社員は必ず入社年を持つ」ため、年側は「1」となり、年は毎年存在するため「0..*」ではなく「1」となります。

FAQ

Q: なぜ社員側の多重度は「0..*」なのですか?
A: 年によっては社員が入社しないことがあるため、社員は0人以上存在し得るからです。
Q: 年側の多重度が「1」なのはなぜですか?
A: 問題文で「年」クラスのインスタンスは毎年存在すると明記されているため、必ず1つ存在します。

関連キーワード: UML, クラス図、多重度、入社年、関連、オブジェクト指向、モデリング
← 前の問題へ次の問題へ →
戦国ITクイズ機能

\ せっかくなら /

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

クイズ画面へ遷移する

すぐに利用可能!

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

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