平成23年度 高度共通 午前I(PM試験) 問15
図は“顧客が商品を注文する”を表現した UML のクラス図である。“顧客が複数の商品をまとめて注文する”を表現したクラス図はどれか。ここで,“注文明細”は一つの注文に含まれる 1 種類の商品に対応し,“注文ヘッダ”は複数の“注文明細”を束ねた一つの注文に対応する。

※選択肢ア〜エは上の図表内に記載されています。
解答・解説を見る
正解:ア
AI解説
「顧客が複数の商品をまとめて注文する」は、顧客─注文ヘッダ─注文明細─商品の4クラスで表現する。多重度は、1人の顧客が複数の注文ヘッダを持ち(1対多)、1つの注文ヘッダが複数の注文明細を束ね(1対多)、各注文明細は1種類の商品に対応し1つの商品は多くの注文明細から参照される(多対1)。この多重度の連鎖が正しく表現された図が正解のアである。 ア: 正しい。顧客1対多注文ヘッダ、注文ヘッダ1対多注文明細、注文明細多対1商品という多重度で、1回の注文で複数商品をまとめる構造を正しく表す。 イ: 誤り。多重度の付け方が問題文の条件(1つの注文ヘッダが複数の注文明細を束ね、明細は1種類の商品に対応する)と一致しない。 ウ: 誤り。注文ヘッダと注文明細、または明細と商品の間の多重度が条件と逆になっており、複数商品の一括注文を表現できない。 エ: 誤り。顧客と注文ヘッダなどの関連の多重度が条件を満たさず、モデルとして不適切である。 💡 ヘッダ・明細構造は『1つのヘッダが多数の明細を持ち、明細1行=商品1種類』が鉄則で、受注・請求などの業務モデリングで頻出する。多重度は「1つの○○に△△はいくつ対応するか」を両方向から声に出して確認すると誤りに気づける。
※Web掲載用に表記を一部変更しています。図表はIPA公式問題冊子から引用しています。著作権はIPAに帰属します。