ソフトウェア要件定義 (全25問中9問目)

No.9

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

Pagetop