平成25年度春期 問45 / 80

平成25年度 春期 応用情報技術者試験 午前 問45

図は“顧客が商品を注文する”を表現した UML のクラス図である。“顧客が複数の商品をまとめて注文する”を表現したクラス図はどれか。ここで,“注文明細”は一つの注文に含まれる1種類の商品に対応し,“注文”は複数の“注文明細”を束ねた一つの注文に対応する。

問題の図

キーボード:1〜4 で解答 → 次の問題 ← 前の問題

正解と解説を見る

正解:ア

“注文”は複数の“注文明細”を束ねたものなので,注文と注文明細は「全体(注文)-部分(注文明細)」の関係になり,注文側にひし形 を付けたコンポジションで表します。多重度は「注文 1 に対して注文明細 1..*」です。

また,各注文明細は1種類の商品に対応するので「注文明細 0.. ― 1 商品」,顧客は注文と関連付けて「顧客 1 ― 0.. 注文」となります。

  • ア: 顧客 1 ― 0.. 注文,注文(◆)1 ― 1.. 注文明細,注文明細 0..* ― 1 商品
    正しい。1人の顧客は0件以上の注文を行い,1件の注文は1件以上の注文明細から構成され(注文側にひし形のコンポジション),各注文明細は1つの商品に対応します。問題の条件どおりです。

  • イ: 注文 1..* ― ◆1 注文明細(ひし形が注文明細側)
    誤り。ひし形が注文明細側にあるため,注文明細が複数の注文を束ねる関係になっており,“注文”が複数の“注文明細”を束ねるという条件と逆です。

  • ウ: 注文と商品を直接関連付け,顧客を注文明細に関連付けたもの
    誤り。1件の注文が1つの商品にしか対応しないため,複数の商品をまとめて注文することを表現できていません。また,顧客は注文明細ではなく注文と関連付けるべきです。

  • エ: 注文と商品を直接関連付け,ひし形が注文明細側にあるもの
    誤り。注文と商品が直接関連しており,さらにコンポジションの向きも逆なので,条件を表現できていません。


答え

ア: 顧客 1 ― 0.. 注文,注文(◆)1 ― 1.. 注文明細,注文明細 0..* ― 1 商品

出典:平成25年度 春期 応用情報技術者試験 午前 問45

平成25年度春期の他の問題