[UML] クラス図

*抽象クラス
クラス名をイタリックにするか、クラス名の下に {abstract} と記述する。

*属性
アクセスレベル 属性名 : 型= デフォルト値

*操作
抽象メソッドはイタリックで記述する。

*クラススコープ
属性と操作でクラススコープのもの(Javaのクラス変数とクラスメソッド)は、名前の下に下線を引く。

*ユーティリティ
インスタンスを持たず、クラススコープの属性や操作をクラスの形にまとめた要素のユーティリティクラスは、クラス名の上に≪utility≫と記述する。

*関連
関連は、クラスから作成されるオブジェクト間のつながり(リンク)の可能性を示すもので、
実線矢印で表す。

*関連/誘導可能性
関連で一方が他方への参照を持っている場合、誘導可能性が成立する。
class HogeClass {
 Piyo piyo;
}
だったら↓な感じ。
----------
 Piyo
----------
  ↑-piyo
  |
----------
 Hoge
----------

*多重度
----------
 Piyo
----------
  ↑1
  |0..*
----------
 Hoge
----------

*コンポジション
コンポジション(合成集約)
黒塗りのひし形のついた実線で、「全体-部分」という結びつきが非常に強い関連を表す。
コンポジションでは、全体側と部分側のライフサイクルが一致していて、
「全体」(ひし形のついた方)のオブジェクトが消滅すると「部分」のオブジェクトも消滅する。
----------
 車
----------
  ◆
  |
----------
 タイヤ
----------

*集約
集約(共有集約)は、
コンポジションのようなオブジェクトのライフサイクルの一致は意味しておらず、
一般的な関連とほぼ同じ意味合いを持つ。
白抜きのひし形と実線とで表す。

*汎化
汎化(存在するクラスから、それをより一般的にしたクラスを導くこと)は、
実線の白抜き三角矢印で表す。
Javaでは継承として表現する。
class Piyo extends Hoge {...}
なら、↓な感じ。
----------
 Hoge
----------
  △
  |
----------
 Piyo
----------

*依存
依存は、「片方の変更が、もう一方に影響を与える可能性のある場合」に用いる。
要は、汎化、関連以外の関係は全て依存。
依存関係は、破線矢印で表現します。

*インターフェース
クラス名の上に≪interface≫と表記する。

*インタフェースの実現
白抜き矢印のついた破線
か、
依存関係に≪realize≫と記述する。
class Piyo implements Hoge {...}
なら、
----------
≪interface≫
 Hoge
----------
  △
  :
----------
 Piyo
----------

----------
≪interface≫
 Hoge
----------
  ↑
  :≪realize≫
----------
 Piyo
----------
な感じ。


ref:
http://www.stackasterisk.jp/tech/engineer/uml02_01.jsp

tag:
UML クラス図

tag : UML クラス図

2009-08-30 03:47 : engineering : コメント : 0 : トラックバック : 0 :
コメントの投稿
非公開コメント

« next  ホーム  prev »

search

ad



counter


tag cloud

category cloud