SAシステムアーキテクト試験 午前Ⅱ

平成24年度秋期 システムアーキテクト 午前Ⅱ 問21

問題文と選択肢を読んで答えを考えてから、下の「正解と解説を見る」で確認しましょう。

問題

社員と年の対応関係をUMLのクラス図で記述する。二つのクラス間の関連が次の条件を満たす場合,a,bに入る多重度の適切な組合せはどれか。ここで,年クラスのインスタンスは毎年存在する。 〔条件〕 (1) 全ての社員は入社年を特定できる。 (2) 年によっては社員が入社しないこともある。
社員クラスと年クラスの入社年関連における多重度a,b,及び四つの候補表。
社員クラスと年クラスの入社年関連における多重度a,b,及び四つの候補表。

選択肢

  1. ア
    表ア
  2. イ
    表イ
  3. ウ
    表ウ
  4. エ
    表エ
解き方のヒントを見る

関連図を読むための一つの視点

関連を読み取るときは、図の記号や配置を先に決めつけず、注目する結び付きと各端点の意味を対応づけて整理します。全体ではなく一つの関係に絞ると、見落としを減らせます。

この問題で問われていること

一つの関連だけを選び、その線がどの要素からどの要素へ読まれるか、また各端点に添えられた条件が何を表すかを、同じ基準で一貫して丁寧に確認することに集中してください。

視点

図全体を一度に解釈せず、対象となる関連・両端の要素・端点付近の表記を分けて見ます。そのうえで、表記が示す対象と範囲を対応づけ、読み手の視点が途中で変わっていないかを確認します。

確認ポイント

  • 注目する関連を一つに限定できているか
  • 両端の要素を同じ観点で対応づけられているか
  • 端点付近の表記を見落とさず、読み方の基準を途中で変えていないか
正解と解説を見る

正解

イ

解説

正しい組合せはイです。UMLクラス図では、関連端の多重度を反対側のクラスの一つのインスタンスから見て読みます。社員一人に対応する年は必ず一つで、年一つに対応する社員はゼロ人以上です。

理由

年クラスのインスタンスは毎年存在するため、各年に社員が対応しない場合も含めて考える必要がある。条件(2)から、年一つに対応する社員数の下限は0で、複数の社員が同じ年に入社できるため上限は限定されない。条件(1)から、社員一人に対応する入社年は必ず一つです。

比較

図ではaが年一つに対応する社員数、bが社員一人に対応する入社年数を表す位置にある。したがってaは0..*、bは1..1となる。選択肢は、年側の下限を1にしたもの、社員側の下限を0にしたものなど、条件のどちらかを満たさない組合せと比較できる。

選択肢ア

これは不正解だよ。アはaが0..*、bが0..1です。年によって社員が一人もいない場合があるのでaの0..*は条件に合いますが、全ての社員は入社年を特定できるため、bは0を許さず1..1でなければなりません。

選択肢イ(正解)

これは正解だよ。イはaが0..*、bが1..1です。年によって社員が一人もいないことを表すには年一つに対応する社員数を0以上とし、社員一人には条件(1)により入社年を必ず一つ対応させます。

選択肢ウ

これは不正解だよ。ウはaが1..*、bが0..1です。aの下限1は、どの年にも社員がいることを要求しますが、条件(2)は社員が入社しない年を認めています。またbの下限0も、条件(1)の必須性に反します。

選択肢エ

これは不正解だよ。エはaが1..*、bが1..1です。bは全社員が一つの入社年を特定できる条件に合いますが、aの下限1は全ての年に社員が必要という意味になります。条件(2)と両立しません。

学習のポイント

関連端の多重度を、どのクラスから見た個数として読むかを整理する。

出典:独立行政法人 情報処理推進機構(IPA)平成24年度秋期 システムアーキテクト試験 午前Ⅱ 問21(公式資料:問題冊子(PDF) / 解答例)

関連する過去問一覧

IPA Advancedは非公式の学習サイトです。解説にはAIによる補助生成を含む場合があります。公式の問題冊子・解答例・採点講評を優先し、誤りは確認後に訂正します。運営・編集方針