UMLのクラス図を用いて、1人の顧客が同じ商品を0回以上注文できる状況を表現する概念モデルを作成した。このモデルの誤りの指摘として、不適切なものはどれか。ここで、各属性にはそれぞれ妥当な値が設定されるものとする。
┏━━━━┓ ┏━━━━┓ ┏━━━━┓
┃ 個人 ┃ ┃ 注文 ┃ ┃ 商品 ┃
┠────┨顧客 ┠────┨ 注文品┠────┨
┃氏名 ┠───────┨注文番号┠───────┨品名 ┃
┃住所 ┃0..* 1┃注文日 ┃1 0..*┃定価 ┃
┗━━━━┛ ┃数量 ┃ ┗━━━━┛
┗━━━━┛
@ 1つの商品が複数回注文されることがある。
A ある注文の顧客を1人に特定できないことがある。
B 個人が注文できるのは、1度だけである。
C 商品を指定しない注文ができる。
D どの顧客がいつ注文したかはわかる。
@
「個人 1 ── 0..* 注文」は、1つの注文に対して、0個以上複数の個人(商品)が関係するという意味である。「誤りの指摘として、不適切なものはどれか」という表現が遠まわしで、なんとも微妙。
@ 不適切である。注文 1 ── 0..* 商品 であり、1つの商品が複数回注文されることがある。誤りの指摘として不適切であり、正解となる。
A 1つの注文に対して、複数の個人(顧客)が関係するため、顧客を1人に特定できないことがある。
B 個人 1 ── 0..* 注文の表現がないため、問題の個人が注文できるのは、1度だけでということになり、問題の概念モデルは誤りということができる。
C 注文 1 ── 0..* 商品 であり、商品を指定しない注文ができてしまう。
D 誤りの指摘とは言い難い。何を誤りとしているのか不明である。どの顧客がいつ注文したかは判るので正しい指摘である。
「どの顧客がいつ注文したかぐらいはわかる (けど、概念モデルは誤り。)」というニュアンスだろうか?
問題に対して正確に解答するなら、@とDが不適切と言える。
V−15 | 目次 | V−17 |