クラス図とは?くらすず
クラス図とは、クラスが持つ属性と操作、およびクラス間の静的な関係(関連・集約・コンポジション・汎化・依存)を多重度付きで表すUMLの図。時間とともに何が起きるかではなく、いつ見ても成り立っていなければならない構造上の制約を示す。
最終更新:2026-10-06
この語が出る過去問を解く →背景
振る舞いを描く図だけでは、あるオブジェクトが同時にいくつ存在してよいか、親が消えたとき子はどうなるかといった制約を書けない。構造の側を明示しておけば、そのままテーブル設計やクラス実装へ落とせるうえ、「1対1のはずが実際は1対多だった」という要件の矛盾を設計段階で見つけられる。業務の概念を関係者と確認する道具にもなる。
具体例
「注文」と「注文明細」をコンポジションで結び多重度を1対1..*とすれば、明細のない注文は存在せず、注文を消せば明細も消えることを図の上で表明できる。「顧客」と「注文」は関連で1対0..*とし、注文が消えても顧客は残ることを区別する。
試験での引っ掛け
集約(部分を共有でき寿命も独立)とコンポジション(全体が消えれば部分も消える)の違いと、菱形をどちら側に付けるかが頻出。多重度の 0..1 / 1 / 1..* / * の読み分けも問われる。時間的な順序や状態の変化はこの図では表現できない。
関連用語
出た過去問
出典:平成29年度 秋期 システムアーキテクト試験 午前Ⅱ 問3(IPA)
図は"顧客が商品を注文する"を表現したUMLのクラス図である。"顧客が複数の商品をまとめて注文する"を表現したクラス図はどれか。ここで、注文明細は注文に含まれる…
正解:顧客1―0..*注文。注文の側に黒ひし形(多重度1)を置き、注文明細(多重度1..*)をコンポジションで束ねる。注文明細0..*―1商品。
要点:一括注文は注文が明細1..*を束ねる構造で表す
複数商品をまとめて注文する構造は、注文が複数の注文明細を束ね、各注文明細が一つの商品に対応する形で表現する。したがって注文と注文明細はコンポジション(注文が全体、注文明細が部分)で、注文側の多重度が1、注文明細側が1..*になる。顧客と注文は1対0..*、注文明細と商品は0..*対1が正しい。この関係を全て満たすのはアである。
出典・参考
解説は資格暗記が独自に作成しています。過去問の出典は各問題に記載のとおりです。