図は"顧客が商品を注文する"を表現したUMLのクラス図である。"顧客が複数の商品をまとめて注文する"を表現したクラス図はどれか。ここで、注文明細は注文に含まれる一つの商品に対応し、注文は一つ以上の注文明細を束ねたもので、一つの注文に対応する。基本図:顧客(1)-(0..*)注文(0..*)-(1)商品。凡例:クラスは四角、関連は実線、コンポジションは黒塗りひし形付き実線、多重度は1=必ず1、0..*=0以上、1..*=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―0..*注文。注文の側に黒ひし形(多重度1)を置き、注文明細(多重度1..*)をコンポジションで束ねる。注文明細0..*―1商品。
複数商品をまとめて注文する構造は、注文が複数の注文明細を束ね、各注文明細が一つの商品に対応する形で表現する。したがって注文と注文明細はコンポジション(注文が全体、注文明細が部分)で、注文側の多重度が1、注文明細側が1..*になる。顧客と注文は1対0..*、注文明細と商品は0..*対1が正しい。この関係を全て満たすのはアである。
選択肢ごとの解説
- ア正しい。注文が注文明細1..*を束ね、注文明細は商品1に対応し、顧客1対注文0..*も満たす。
- イ注文と注文明細の多重度が逆で、一つの明細が複数の注文に属することになり不適切である。
- ウ顧客が注文ではなく注文明細に直接結び付いており、まとめて注文する構造を表せていない。
- エ顧客が注文明細に結び付く上に注文と明細の多重度も逆で、二重に誤っている。
同じ分野の他の問題
- 要件定義において,システムが提供する機能単位と利用者又は外部システムとの間の相互作用や,システム内部と外部との境界を明示…2025年度 春期 午前II 問13
- UML 2.0のステートマシン図の記法に適合している図はどれか。2023年度 春期 午前II 問9
- 要件定義において、システムが提供する機能単位と利用者又は外部システムとの間の相互作用や、システム内部と外部との境界を明示…2021年度 春期 午前II 問14
- イベント駆動型のアプリケーションプログラムにおけるイベント処理のタイミングを設計するのに有用なものはどれか。2021年度 春期 午前II 問4
- UMLの図のうち、業務要件定義において、業務フローを記述する際に使用する、処理の分岐や並行処理、処理の同期などを表現でき…2019年度 秋期 午前II 問14
最終更新:2026-08-25/解説・選択肢ごとの解説は資格暗記が独自に作成しています。問題文と選択肢の出典は上記のとおりです。