クラス図

問題

図は”顧客が商品を注文する”を表現したUMLのクラス図である。”顧客が複数の商品をまとめて注文する”を表現したクラス図はどれか。ここで,”注文明細”は一つの注文に含まれる1種類の商品に対応し,”注文ヘッダ”は複数の”注文明細”を束ねた一つの注文に対応する。

凡例

答え

解説

注文明細は、一つの注文に含まれる一つの商品に対応します。

注文は、注文明細を束ねたもので、注文(全体)がなければ注文明細(部分)が成り立たないコンポジションの関係にあります。

顧客は、0以上の注文を行います。

よって、「顧客が複数の商品をまとめて注文する」をクラス図として表すと、下のようになります。

UML

統一モデリング言語(とういつモデリングげんご、UML: Unified Modeling Language)は、主にオブジェクト指向分析や設計のための、記法の統一がはかられた(Unified)モデリング言語(Modeling Language)である 。

出典: フリー百科事典『ウィキペディア(Wikipedia)』

クラス図

統一モデリング言語 (UML)におけるクラス図(クラスず、: class diagram)とは、クラス、属性、クラス間の関係からシステムの構造を記述する静的な構造図である。

出典: フリー百科事典『ウィキペディア(Wikipedia)』

以下は易しくまとまっています。

よく聞くUMLって何?

こちらはもうちょっと詳しくて分かりやすいです。

【新人教育 資料】第3章 UMLまでの道 〜図種類紹介とクラス図の解説編〜

コンポジション

一部が揃っていないと全体側が成り立たないような、もしくは全体が消滅したら、その一部も一緒に消滅する、というような関係を表現します。「全体」側の終端に黒塗りの菱形が付きます。

多重度

ER図のカーディナリティ(多重度)に対応します。

UML図作成

下記サイトを使いました。

https://www.draw.io/