応用情報技術者平成23年特別 午前問45

午前問45

図は"顧客が商品を注文する"を表現したUMLのクラス図である。"顧客が複数の商品をまとめて注文する"を表現したクラス図はどれか。ここで,"注文明細"は一つの注文に含まれる1種類の商品に対応し,"注文ヘッダ"は複数の"注文明細"を束ねた一つの注文に対応する。
45.gif/image-size:278×122
  • [この問題の出題歴]
  • 応用情報技術者 H25春期 問45

分類

テクノロジ系 » システム開発技術 » ソフトウェア要件定義

正解

解説

クラス間の多重度を整理します。

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

Pagetop