この文書ではアジャイル開発手法のひとつである 統一モデリング言語 (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 | 配置仕様 |












