UML
Unified Modeling Languageの略語です。日本語では「統一モデリング言語」と呼ばれています。オブジェクト指向でシステムの仕様を分析、設計、記述するのに使います。
代表的な図は以下です。
クラス図
システムに存在する「モノ」が性質として持っている構造(クラス)と、それらの関係を表現する図です。
コンポーネント図
UML2.0でのコンポーネントとは、一つ以上のインターフェイスを持つ自立したサブシステムを言います。一般的には設計上でクラスよりも大きなカプセル化された単位を指します。
コンポーネントは外部からアクセスできる提供インターフェイスと、他のコンポーネントの機能を必要とする要求インターフェイスがあります。
システム全体を大まかに俯瞰した図を描くことができるため、開発プロジェクト全体をマネジメントする立場の人にとっては、モジュールごとの担当チームの作業計画にも利用できますし、モジュール間の関係を把握するのにも役立ちます。
オブジェクト図
クラス図で表されたシステムが実際に稼働する時に具象化するオブジェクト間の関連を表現します。クラス図より具体的になるので、システムの理解を助けるために描かれることが多いです。
配置図
物理的なハードウェアの配置構造と、その内部のコンポーネント、コンポーネント間の通信関係を図式表現したものです。
パッケージ図
パッケージ図はクラス図の一部で、クラスをグルーピングしたパッケージ単位での依存関係を図示するのに使用します。
ユースケース図
利用者目線での「このシステムではこんなことができる」という要件です。ユース(use)+ケース(case)という言葉を組み合わせて「ユースケース(use case)」というひとつの言葉になっています。
ユースケースを「誰が」「何に対して」「何をできる」と要素に分解して明確に図示できるのがユースケース図です。システムの要件分析の段階で非常に役立ちます。
利用者やシステムを示す「アクター」と行動を示す「ユースケース」を線で結ぶだけなので技術者でなくてもとてもわかりやすい図です。「アクター」には、システムとその利用者のほか、システムから影響を受ける外部システムやハードウェアなどが含まれます。
シーケンス図
シーケンス図は、システムがある振る舞いをする時のオブジェクト間の相互作用を時系列順に上から下へ向かって記述する図です。
コミニュケーション図
シーケンス図と同じく、オブジェクト同士の相互作用を記述する図です。シーケンス図では相互作用を時系列で表記するのに対し、コミュニケーション図ではオブジェクト間の関係に着目して表記します。
ステートマシーン図
状態から状態への遷移としてオブジェクトの振る舞いを表現する図で状態遷移図とも呼ばれます。
アクティビティ図
ある一連の処理を実行する際の手続きと条件分岐などを表現する図です。フローチャートとほぼ同じなので、フローチャートを描いたことのある人は比較的簡単に理解することができるでしょう。
開始と終了のノードがあるため、見た目がステートマシン図と似て見えますが、内容は全く異なり、ある一つの処理に注目してそれが始まってから終わるまでを記述しています。