UML入門

この文書ではアジャイル開発手法のひとつである 統一モデリング言語 (Unified Modeling Language: UML) でのモデリングに使用されるダイアグラム(図)を説明します。

目次

ユースケース図

UMLのユースケース図は、システムが提供する機能を表現するために使用されます。

クラス図

UMLのクラス図では、クラスをクラスアイコンで表現します。次にクラスアイコンの書式を示します。

<<ステレオタイプ>>
パッケージ::クラス
{プロパティリスト}
ビジビリティ 属性:型 = 初期値
ビジビリティ オペレーション(引数):復帰値

クラス名以外の要素は省略することができます。クラスアイコンは次の3つのコンパートメントに分かれています。

クラス名およびパッケージ名は太文字で表記します。抽象(アブストラクト)クラスやオペレーションは斜体(イタリック)で表記します。

ステレオタイプには以下のようなものがあります。

ステレオタイプ意味
interfaceインタフェース

ビジビリティには次のいずれかの記号を使用します。

ビジビリティ意味
+public
-private
#protected

プロパティリストには次のようなものがあります。

プロパティリスト意味
abstract抽象クラス

汎化 (generalization) は、三角に実線を付けて表します。

汎化

実装 (realize) は、三角に破線を付けて表します。

実装

オブジェクト図

UMLのオブジェクト図はクラス図で表現されたオブジェクト関係のある時点でのスナップショットを表現します。

シーケンス図

UMLのシーケンス図はシステムの動的な振る舞いを表現します。

シーケンス図
シーケンス図に使われる記号
記号意味
オペレーション(同期)
オペレーション(非同期)
リターン
ライフライン
ライフライン

コミュニケーション図(コラボレーション図)

UMLコミュニケーション図は、クラスが協調して共通の目的を達成する振る舞いをモデリングします。

UML 1.x ではコラボレーション図と呼ばれていました。

コミュニケーション図の内容はシーケンス図とほぼ同じです。時系列の流れを中心にした表記(シーケンス図)とクラス間の関係を中心にした表記(コミュニケーション図)の違いです。

状態図

UMLの状態図はオブジェクトの状態遷移を表現します。

状態図

状態にはイベントとアクションを記述することもできます。イベントには次のようなものがあります。

イベント意味
entry他の状態から遷移したきたときに実行する
exit他の状態へ遷移するときに実行する
do状態が続いているときに実行する

アクティビティ図

UMLアクティビティ図は、処理の流れを表します。構造化設計のフローチャートやデータフロー図 (Data Flow Diagram: DFD) に相当します。

名前意味表記法
初期ノードダイアグラムの開始地点
最終ノードダイアグラムの終了地点。複数の終了地点が存在してもよい。
アクティビティ実行する処理
フロー処理の流れを表す矢印
フォーク並列処理の開始
ジョイン並列処理の終了
条件フローに付ける条件。条件を満たした場合にのみ次の処理に進む。[条件]
決断分岐地点。分岐先それぞれに条件を明示する。
併合複数のフローの合流点
ノート注釈(コメント)

コンポーネント図

UMLのコンポーネント図 (component diagram) では、ソフトウェアコンポーネント間の依存関係を表します。

<<component>>
コンポーネント名
<<ステレオタイプ>>
<<required interface>>
外部に対して要求しているインタフェース
<<provided interface>>
外部に対して提供しているインタフェース

ステレオタイプは省略することができます。次にコンポーネント図で使われる主なステレオタイプを示します。

ステレオタイプ意味
applicationアプリケーション
infrastructureセキュリティ、永続性、ミドルウェアといったシステムレベルのサービスを実装するコンポーネント
databaseデータベース
UIユーザインタフェース

<<component>>というステレオタイプを記述する代わりに、アイコンで表すこともできます。

コンポーネントのアイコン
コンポーネント名
<<ステレオタイプ>>

配置図

UMLの配置図 (deployment diagram) では、ノードとコンポーネントの物理的な配置を表します。

次に配置図で使われる主なステレオタイプを示します。

ステレオタイプ意味
device物理的なデバイス
ExecutionEnvironment実行環境
artifact成果物
deploy配置関係
manifest成果物の構成要素
deployment spec配置仕様
SEO 仕事 掲示板 レンタルサーバー プロフ SEO