集約とコンポジションとは?
集約とコンポジションとは、クラス図で「全体と部分」を表す2種類の関連。集約は部分が全体から独立して存在できる緩い関係(白抜きのひし形)、コンポジションは全体の消滅とともに部分も消える強い関係(黒塗りのひし形)で、部分は同時に複数の全体に属せない。
システムアーキテクト試験の過去問では1回出題されています。
しゅうやくとこんぽじしょん
集約とコンポジションの意味
クラス図で「全体と部分」を表す2種類の関連。集約は部分が全体から独立して存在できる緩い関係(白抜きのひし形)、コンポジションは全体の消滅とともに部分も消える強い関係(黒塗りのひし形)で、部分は同時に複数の全体に属せない。
集約とコンポジションの具体例
受注と受注明細はコンポジションで、受注を取り消せば明細も存在意義を失う。一方、プロジェクトと参加メンバーは集約で、プロジェクト終了後も社員は残る。この判断がそのまま削除時のカスケード動作や外部キー設計の方針になる。
集約とコンポジションは試験でどう引っ掛けられる?
ひし形は「全体」側に付く。どちらに付けるかの取り違えが多い。また日本語の「〜を持つ」だけでは判断できず、生存期間が全体に従属するかどうかで決める点を押さえる必要がある。
集約とコンポジションと関連する用語
集約とコンポジションが出た過去問
図は"顧客が商品を注文する"を表現したUMLのクラス図である。"顧客が複数の商品をまとめて注文する"を表現したクラス図はどれか。ここで、注文明細は注文に含まれる…
正解:顧客1―0..*注文。注文の側に黒ひし形(多重度1)を置き、注文明細(多重度1..*)をコンポジションで束ねる。注文明細0..*―1商品。
要点:一括注文は注文が明細1..*を束ねる構造で表す
複数商品をまとめて注文する構造は、注文が複数の注文明細を束ね、各注文明細が一つの商品に対応する形で表現する。したがって注文と注文明細はコンポジション(注文が全体、注文明細が部分)で、注文側の多重度が1、注文明細側が1..*になる。顧客と注文は1対0..*、注文明細と商品は0..*対1が正しい。この関係を全て満たすのはアである。
出典:平成29年度 秋期 システムアーキテクト試験 am2 問3(IPA)
最終更新:2026-08-25/解説は資格暗記が独自に作成しています。 過去問の出典は各問題に記載のとおりです。