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

問45

図は"顧客が商品を注文する"を表現したUMLのクラス図である。"顧客が複数の商品をまとめて注文する"を表現したクラス図はどれか。ここで,"注文明細"は一つの注文に含まれる1種類の商品に対応し,"注文ヘッダー"は複数の"注文明細"を束ねた一つの注文に対応する。
45.png/image-size:277×127
  • 45a.png/image-size:251×76
  • 45i.png/image-size:251×76
  • 45u.png/image-size:254×77
  • 45e.png/image-size:243×74
  • [出題歴]
  • 応用情報技術者 H23特別 問45

分類

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

正解

解説

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

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

Pagetop