その他

UMLについてさらっと解説・ご紹介

UMLロゴ その他
この記事は約4分で読めます。

現在の案件でUMLというものについて初めて触れたので、代表的なものを図を用いてさらっと解説、ご紹介したいと思います。

UMLとは?

ざっくりいうと

オブジェクト指向開発に一貫して使われる手法で、ソフトウェアの機能や構造をわかりやすく図で表現したモデリング言語のこと。
※モデリング:分析や流れを図解すること

なんの略語??

Unified Modeling Language ( 統一モデリング言語 ) の略。

メリット

コミュニケーションの改善

UMLは共通の言語を提供し、開発者やステークホルダー間のコミュニケーションを円滑にします。図やモデルを通じて、システムの要件や設計を明確に伝えることができます。

複雑さの可視化

ソフトウェアシステムはしばしば複雑ですが、UMLを使用することでシステム全体の構造や関係を視覚化することができます。これにより、問題の特定や改善点の把握が容易になります。

ドキュメントの自動作成

UMLモデルはドキュメントとしても使用できます。UMLツールを使用すれば、モデルから自動的にドキュメントを生成することができます。これにより、開発プロセスの効率化やドキュメントの保守性が向上します。

UMLの種類

前提知識

UMLで定義される図には様々なものがあるが、大きく分けてシステムの構造を表す構造図(structure diagram)と、動作や変化を表す振る舞い図(behavior diagram)の2種類に分類されます。

構造図

クラス図(class diagram)

クラスの定義や関連付けを示す図
オブジェクト指向開発で作成する「クラス」の定義や「他クラス」との関連性を示す図であり、オブジェクト図に比べ抽象的。

オブジェクト図(object diagram)

オブジェクト指向開発で作成する「クラス」を実体化させるインスタンス(オブジェクト)の関係性をあらわす図。クラス図に比べ具体的。

コンポーネント図(component diagram)

処理を構成する複数のクラスを1つのコンポーネントと見なし、「コンポーネントの構成」や「他コンポーネント」との関係をあらわす図です。
クラス単位のクラス図とは違い、コンポーネント図は部品(機能)単位で構成されます。

パッケージ図(package diagram)

パッケージ図とは、オブジェクト指向開発で作成する「クラス」などが、どのようにグループ化(パッケージ)されているかをあらわす図です。

配置図(deployment diagram)

複合構成図とは、複数クラスを内包するクラスやコンポーネントの内部構造をあらわした図です。

複合構造図(composite structure diagram)

システムを構成する物理的な構造をあらわす図です。例えば「Webサーバ」や「アプリケーションサーバ」「DBサーバ」などの物理的な構造を示す際に使用されます。

振る舞い図

ユースケース図(use case diagram)

利用者視点でシステムがどのように利用されるかを非常にシンプルな図であらわしたもの

シーケンス図(Sequence Diagram)

オブジェクト間の処理の流れを時系列であらわした図であり、ソフトウェア開発の設計段階でよく利用される有名なUML。

アクティビティ図(activity diagram)

利用者視点でシステムがどのように利用されるかを非常にシンプルな図であらわしたものです。

ステートマシン図(state machine diagram)

イベントによって起こる、オブジェクトの状態遷移をあらわした図です。

コミュニケーション図(communication diagram)

クラスやオブジェクト間の関連と、そこでやり取りされるメッセージをあらわす図です。

タイミング図(timing diagram)

クラスやオブジェクトの状態遷移を時系列であらわす図です。

相互作用概要図(interaction overview diagram)

「ユースケース図」や「シーケンス図」などを構成要素として、より大枠な処理の流れをあらわす図です。

まとめ

UMLについてさらっとご紹介でした。

種類が豊富なためソフトウェア開発のさまざまなフェーズで役立ちそうなことがわかりましたね。

以上が、UMLについての概要です。UMLを活用して、より効率的で信頼性の高いソフトウェア開発を行いましょう。