本文へスキップ

技術士試験(情報工学部門)・情報技術者試験。ファーストマクロ。


Since 2016.4.19

平成25年度 春期 高度情報技術者試験問題と解説

問16

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

  ┌────┐     ┌────┐     ┌────┐
  │ 顧客 ├─────┤ 注文 ├─────┤ 商品 │
  └────┘1 0..*└────┘0..* 1└────┘

  凡例                  多重度
  クラス   関連  コンポジション 1   必ず1
 ┌────┐             0..* 0以上
 │    │ ──── ◆───   1..* 1以上
 └────┘


┌────┐     ┌─────┐
│ 顧客 ├─────┤  注文  │
└────┘1 0..*└─────┘
              ◆1
              │1..*
           ┌──┴──┐     ┌────┐
           │ 注文明細 ├─────┤ 商品 │
           └─────┘0..* 1└────┘


 ┌────┐     ┌─────┐
 │ 顧客 ├─────┤  注文  │
 └────┘1 0..*└──┬──┘
               │1..*
               ◆1
            ┌─────┐     ┌────┐
            │ 注文明細 ├─────┤ 商品 │
            └─────┘0..* 1└────┘


             ┌─────┐     ┌────┐
             │  注文  ├─────┤ 商品 │
             └─────┘0..* 1└────┘
                ◆1
                │1..*
  ┌────┐     ┌──┴──┐
  │ 顧客 ├─────┤ 注文明細 │
  └────┘1 0..*└─────┘


             ┌─────┐     ┌────┐
             │  注文  ├─────┤ 商品 │
             └──┬──┘0..* 1└────┘
                │1..*
                ◆1
  ┌────┐     ┌─────┐
  │ 顧客 ├─────┤ 注文明細 │
  └────┘1 0..*└─────┘


正解


解説

コンポジションは集約の一種で、なくてはならない集約である。例えば自動車とタイヤのような関係である。なお、自動車とカーエアコンのような関係は集約である。

■顧客と注文の関係
顧客から見ると注文はしない場合もあるし、複数注文する場合もある。
また、注文からみると、顧客は必ず1人である。
従って 顧客 1  0..* 注文 の関連となる。

■注文と注文明細の関係
注文からみると注文明細は、1行以上なければならない。
注文明細からみると注文は必ず1つである。
従って、注文 1  1..* 注文明細 の関連となる。
また、注文明細 is part of 注文 であるから、注文 ◆─── 注文明細 である。

■注文明細と商品の関係
注文明細からみると商品は必ず1つである。
商品からみると、注文明細にない商品も存在するし、1つ以上の注文明細が存在する場合もある。
従って、注文明細 0..*  1 商品 の関連となる。

問15 目次 問17