平成23年特別試験問題 午前Ⅰ 問15

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

  • am1/45a.gif
  • am1/45i.gif
  • am1/45u.gif
  • am1/45e.gif
正解 問題へ
分野:テクノロジ系
中分類:システム開発技術
小分類:ソフトウェア要件定義
解説
クラス間の多重度を整理します。

[顧客-注文]
  • 1人の顧客は複数回の注文を行うことがあり、顧客によってはまだ注文が行われていないケースも考えられます。よって、1人の顧客には「0以上」の注文が対応します。
  • 1つの注文は必ず1人の顧客と関連付けられるので、1つの注文には「1」の顧客が対応します。
am1/45_1.gif
[注文-注文明細]
  • 1つの注文で複数の商品が購入された場合には、1つの注文に対して複数の注文明細が関連付けられます。よって、1つの注文には「1以上」の注文明細が対応します。
  • 注文明細は1つの注文に含まれる商品ごとに作成されるので、1つの注文明細には「1」の注文が対応します。
  • コンポジションは2つのクラス間に集約関係(part-of関係)を示します。ひし形の矢印は全体側に付くので、注文クラス側に付くのが適切です。
am1/45_2.gif
[注文明細-商品]
  • 1つの注文明細は1つの商品と対応しているので、1つの注文明細には「1」の商品が対応します。
  • 同じ商品が複数回注文されることがあり、ある商品(例えば発売開始したばかりの商品)ではまだ注文明細がないケースも考えられます。よって、1つの商品には「0以上」の注文明細が対応します。
am1/45_3.gif
これらすべての関連を適切に記述している「ア」が、"顧客が複数の商品をまとめて注文する"を表現したクラス図です。

Pagetop