Table of Contents
hide
UMLの目的
統合モデル化言語(UML)は、ソフトウェアシステムのアーティファクトを指定、可視化、構築、文書化するための標準言語である。オブジェクト管理グループ(OMG)によって作成され、UMLはソフトウェアおよび非ソフトウェアシステムのモデリングに不可欠なツールとなった。UMLはプログラミング言語ではないが、さまざまなツールがUML図を用いて異なる言語のコードを生成できる。

主なポイント:
- 汎用モデリング言語:UMLはソフトウェアシステムおよび製造ユニットのプロセスフローなど、非ソフトウェアシステムのモデリングに使用される。
- オブジェクト指向の概念:UMLはオブジェクト指向のアプローチを採用しており、オブジェクト指向システムのモデリングに最適である。
- 多用途の使用:UML図は設計、実装、展開などの異なる視点から描かれる。
UMLを用いたアーキテクチャビューのモデリング
UMLは、システムの異なる視点を定義する上で重要な役割を果たしており、これを「4+1ビューソフトウェアアーキテクチャ」と呼ぶ。これらのビューには以下のものがある:

- ユースケースビュー:システムの機能、外部インターフェース、主要なユーザーを記述する。
- 論理ビュー:パッケージ、クラス、インターフェースなどの実装単位を用いて、システムの構造を記述する。
- 実装ビュー:開発アーティファクトがファイルシステム内でどのように構成されているかを記述する。
- プロセスビュー:実行時のシステム構造を記述し、実行時の動作を持つコンポーネントや相互作用を含む。
- 展開ビュー:システムがハードウェアにどのようにマッピングされているかを記述する。
追加のビュー:
- データビュー:論理ビューの特殊化であり、システムにおいて永続性が重要な要素である場合に使用される。
UML 2における14種類の図
UML図は構造図と振る舞い図の2つに分類される。

構造図
構造図はシステムおよびその部品の静的構造を示す。構造図には7種類ある。
- クラス図:システム内のオブジェクトおよびそれらの関係を記述する。
- オブジェクト図:クラス図のインスタンスであり、システムの特定の時点での状態を捉える。
- コンポーネント図:システムの静的実装ビューを記述し、ライブラリやファイルなどの物理的コンポーネントで構成される。
- 配置図:システムの静的配置ビューを記述し、ノードとそれらの関係を示す。
- パッケージ図:パッケージおよびそれらの間の依存関係を示す。
- 複合構造図:クラスの内部構造およびそれによって可能となる協調動作を描く。
- プロファイル図:ドメインおよびプラットフォーム固有のスタイリスティックの作成を可能にし、それらの関係を定義する。
振る舞い図
振る舞い図はシステム内のオブジェクトの動的振る舞いを示す。振る舞い図には7種類ある。
- ユースケース図:ユースケースとアクターを用いて、システムの機能要件を記述する。
- 状態機械図:オブジェクトの全ライフサイクルをモデル化し、状態と遷移を示す。
- アクティビティ図:動的振る舞いを記述し、並列、単一、並行などのすべての流れをモデル化する。
- シーケンス図:時間順序に基づいてオブジェクトの協調動作をモデル化する。
- 通信図:時間順序ではなく、オブジェクトの協調動作に焦点を当てる。
- 相互作用概要図: 相互作用の制御の流れを概観する。
- タイミング図: オブジェクトの時間経過に伴う振る舞いを示す。
要約
UMLは、ユーザーおよび科学コミュニティのニーズに応える非特許的でオープンなモデリング言語である。さまざまな種類のシステム、開発フェーズ、内部概念の視点を統一し、業界で多様かつ広く採用されている汎用的なツールとなっている。
主な利点:
- 標準化: UMLは、以前のモデリング言語間の多くの違いを解消する。
- 統一された視点: さまざまなシステムや開発フェーズにわたる視点を統一する。
- 広範な採用: 複数のメソドロジスト、組織、ツールベンダーがUMLの使用に取り組んでおり、広範な採用を確保している。
UMLが複数の視点から複雑なシステムをモデリングできる能力は、開発者、ビジネスユーザー、およびシステムを効果的に理解・設計したいすべての人にとって貴重なツールとなっている。












