[PR] この広告は3ヶ月以上更新がないため表示されています。
ホームページを更新後24時間以内に表示されなくなります。

トップ
トップ >  オブジェクト指向 >  UML >  クラス図
クラス図
概要
クラスおよびクラス間の関連を示す図です。

表記法
クラス図では以下の要素を使用します。
要素表記説明
クラスクラスクラスを表します。属性とメソッドの区画はそれぞれ省略可能です。
関連関連関連を表します。
集約集約全体と部分を表します。
コンポジションコンポジション強い集約です。
継承継承継承を表します。
実装実装多重継承をサポートしない言語を想定する場合、実装を使います。

クラスの詳細
書式
基本的に長方形で示します。
クラス
属性やメソッドはそれぞれ省略可能ですので、 クラス名のみの記載、クラス名と属性の記載、クラス名とメソッドの記載等でもかまいません。
名称書式説明
クラス名クラス名クラス名を記載します。抽象クラスの場合は斜体で記述します。
属性属性名属性だけを表記する書式です。
[可視性] 属性名 : 型[ = 初期値] [{制約}]型情報も記載する書式です。初期値がある場合、初期値も記述できます。クラスフィールドの場合は下線を引きます。
可視性は以下の4つが定義されています。
記号アクセス可能なもの
+すべて
#サブクラス
~同一パッケージ内
-同一クラス内
…と記述することで、明記されているもの以外にも属性が存在することを示せます。
メソッドメソッド名()メソッド名だけを表記する書式です。
[可視性] メソッド名([引数 : 型]…) : 戻り値の型型情報も記載する書式です。クラスメソッドの場合は下線を引きます。
…と記述することで、明記されているもの以外にもメソッドが存在することを示せます。
他の属性から導き出せる属性を派生属性といい、 分析では明記する場合があります。 先頭に/を記入して派生属性であることを示します。

クラス間関係
関連
クラスとクラスの間の関連を矢印で示します。

各関係には上記のように関連端名や多重度をつけることができます。
多重度は線の上でも下でも問題ありません。
名称説明
多重度(multipricity)1つのインスタンスに対しどれだけの数のインスタンスが関連するかを示します。
値あるいは最小値..最大値で取りうる値を示します。
*は上限なしを表します。
矢印の下に記述します。
表記取りうる値
11のみ
22のみ
0..*または*0以上
2..42~4
3..*3以上
関連名役割を矢印の上に記述します。
関連端名矢印の上に記述します。

関連の誘導可能性
関連の可能性を以下に示します。
表記説明
関連未定関連未定
関連確定関連確定
関連なし関連なし

継承
スーパークラスが上になるように配置するのが一般的です。
複数のサブクラスがある場合は以下のように記述します。
継承または継承


概要表記説明
クラス例-クラスクラス内からのみアクセス可能な属性1、メソッド1があり、それ以外のメソッドがあることを示します。
抽象クラス例-抽象クラスクラス名を斜体にします。
多重度例-多重度クラスAに対し、複数のクラスBが対応します。クラスBに対してはクラスAは1つのみ対応します。
再帰例-再帰再帰を表します。
誘導可能性例-誘導可能性AからBへの関連があることを示します。BからAへの関連は未定です。
誘導可能性(単方向)例-誘導可能性AからBへの関連があることを示します。BからAへの関連はありません。
誘導可能性(双方向)例-誘導可能性AとBは双方向に関連があることを示します。

新旧対応(2.0と1.5)
1.5との相違点です。
項目2.01.5説明
関連端名関連端名役割名1.5では名称が役割名になります。
関連の誘導可能性両方向の関連です。
一方通行の関連です。
トップ >  オブジェクト指向 >  UML >  クラス図