UMLとは?
統一モデリング言語(Unified Modeling Language)
1) オブジェクト指向分析や設計のための、記法の統一がはかられたモデリング言語 ※1。
2) UML2.0以降では13種類の図(下図参照)があり、用途に応じて使い分ける必要がある※2。
※1 言語といっても、クラスはこういうモデル、記法で表しましょうということの取り決めのため、(HTMLのように)こう書くとこう見えるといったものではない。
※2 全てを使う必要はなく、必要なものだけを使用する。ここでも使用頻度の高いものだけを取り上げる。
ユースケース図
ユースケース図とは…
1) システムが何をするかを決めるもの。
2) ○○が××するぐらいザックリしたものにする。(細かく書くと仕様書になってしまう)
3) 要求定義フェーズで使用される。
4) ユースケース図で使用される記号
・アクター … システムを利用する人。(同時に使用する別のシステムがアクターの場合もある)
・ユースケース … システムの利用例。○○が××するぐらいの粒度。
・パッケージ … 複数のユースケースをまとめて表現する際に使用する。
状態マシン図
状態マシン図とは…
1) オブジェクトの変化を順を追って書いたもの。
2) 開始と終了があり、その途中の変化を書く。
3) 基本仕様フェーズで使用される。
4) 状態マシン図で使用される記号
・開始状態/終了状態 … スコープ内で開始/終了を表す。
・状態 … 実体の状態を表す。
・遷移 … ひとつの状態から別の状態への遷移を示す矢印。
クラス図
クラス図とは…
1) クラス、属性、クラス間の関係を書く。
2) クラス図を書けば、クラスが完成する。(後はコードにするだけ。)
3) 詳細設計フェーズで使用される。
クラスの書き方
・フィールド … 可視性 属性名 : 型 = 初期値
・メソッド … 可視性 操作名 ( パラメータ ) : 戻り値
・可視性(フィールド/メソッド共通)
+ … public
# … protected
- … private
クラス間の関係
関連(association)
クラス間で結びつきがある場合
集約(aggregation)
集約は関連の一種でオブジェクトが複数集まって全体を構成する関係です。双方のオブジェクト間に「全体-部分」の関係が成り立っているとき
コンポジション(composition)
コンポジションは関連の一種で集約よりも結びつきが強い場合、例えば「全体-部分」において双方が存在して初めて成り立つような関係のとき
依存(dependency)
相手の状態、若しくはイベントに対して影響を受ける関係のとき
汎化(generalization)
継承、つまり「is a」の関係
実現(realization)
interfaceと同等の意味で、相手を具象化する関係のとき
多重度
関連(集約、コンポジションを含む)の端に数値を書く事で関係する数を表現する。
シーケンス図
シーケンス図とは…
1) クラスやオブジェクト間のやりとりを書く。
2) 上から下へ書く。(プログラムと同じ)1) クラスやオブジェクト間のやりとりを書く。
3) 詳細仕様フェーズで使用される。詳細仕様フェーズで使用される。
4) シーケンス図で使用される記号
・ライフライン … オブジェクトやクラスを表現する時に使用する。
・実行仕様 … ライフラインで処理が実行されていることを意味する。
・停止 … ライフラインの消滅を意味する。
※最新の情報の取得・更新に努めておりますが、掲載内容については、その正確性、完全性、有用性、最新性等についていかなる保証もするものではありません。