DX技術用語辞典

by Arsaga Partners

UML

読み方: ユーエムエル

UMLとは

UML(Unified Modeling Language)とは、統一モデリング言語と呼ばれる、分析・設計・実装といったシステム開発の過程を図として表現するモデリング手法を指す言葉です。

UMLを使用する主な目的は、コミュニケーションの効率化です。構造的にも動作面でも複雑なソフトウェアシステムのアーキテクチャ、設計と実装のための意味論的かつ構文的に豊かな共通の視覚的モデリング言語を打ち立てることを目指して作られました。

すべての情報が図式化されていれば、エンジニアとしての知識をほとんど持たない人にも、システムの仕組みや構造をスムーズに理解してもらいやすくなります。また、システムの全容から細部に至るまでを一目でチェックできるため、問題点を簡単に把握することが可能です。

UML図の種類

UMLのダイアグラム、いわゆるUML図は「構造図」と「振る舞い図」の2つに大別することが可能です。

・構造図:システムの静的な構造を表す図

・振る舞い図:システムの動的な挙動を表す図

■構造図

・クラス図

最も広く用いられる UMLの一種で、オブジェクトの設計図であるクラスの定義や、クラス同士のつながりを示す図です。

・コンポーネント図

システムの構成要素であるコンポーネントの構造や、コンポーネント同士の関係を示す図。複数の構成要素を含む複雑なシステムに用いられるのが一般的です。

・パッケージ図

モジュール間やサブシステム間の構造や依存関係を示す図。

・配置図

システムのハードウェアとソフトウェアを示すもので、複数のマシンにわたり、独自の設定でソフトウェアソリューションを使用する際に有用です。

・複合構造図

ダイアグラムにおける要素同士の一連の相互作用を通じてクラスの構造を示します。

・オブジェクト図

実世界の例を用いてオブジェクト間の関連を示し、一定の時点におけるシステムの状態を図式化するものです。

■振る舞い図

・ユースケース図

システムの特定の機能を表し、機能間の関連と内部/外部のコントローラー (アクター) との関連を利用者視点で示す図。

・シーケンス図

オブジェクト間の相互作用と、その相互作用の発生順序を時系列で示す図。

・アクティビティ図

システム実行の流れを示す図。事業やオペレーションのワークフローを視覚的に図示し、システム内の一部または一構成要素のアクティビティを示します。

・ステートマシン図

アクティビティ図と同様に、現在の状態でさまざまに異なるオブジェクトの振る舞いを示す図。

・ステートチャート図

オブジェクト内に存在する状態や、その状態の移り変わりを表現する図。

・コミュニケーション図

オブジェクト間でやり取りされるメッセージに主眼をおいた図。

・タイミング図

所定の時間枠内でのオブジェクトの振る舞いを示す図。複数のオブジェクトが含まれる場合には、オブジェクト間の相互作用が所定の時間枠内で示されます。

活用のメリットとデメリット

メリット

・複雑なアイデアやシステムの理解を容易にする

UML 図を使用することにより抽象的なアイデアやソフトウェアシステムを簡単に可視化することができます。そのため、この図はソフトウェア設計する際に共同作業が必要なソフトウェアエンジニアにとってとても便利なツールです。

・システム設計において必要とされる図表を網羅

UMLはシステム開発における、「上流工程」から「下流工程」まで、幅広く網羅します。UMLのユースケース図はシステム設計でよく用いられます。ステートマシン図やクラス図などは基本設計や詳細設計で用いられることが一般的です。このようにUMLは必要に応じて多くの図表が定義されているため、使い分けることで活用できます。

・情報共有(コミュニケーション)に最適

統一的な表記であるため、メンバー間や顧客との意思疎通に向いています。UMLを用いれば、開発を一緒にやるメンバーと情報共有をしたり、開発したシステムを納品する顧客との意見のすり合わせなどに活用できます。

デメリット

・ツールの依存

UMLは通常、特定のモデリングツールに依存しています。異なるツール間での互換性の問題やバージョンの違いが生じる可能性があり、チームやプロジェクトにとって課題となることがあります。

・複雑さと学習コスト

UMLは非常に包括的であり、多くの概念やダイアグラムがあります。初学者にとっては学習コストが高く、特に大規模で複雑なプロジェクトでは導入に時間がかかることがあります。

・適応性の不足

一部のプロジェクトやアジャイルな開発環境では、UMLが柔軟性に欠けると感じられることがあります。アジャイルメソッドや軽量な開発アプローチを採用する場合、UMLの形式主義が適切でないことも考えられます。

現場の声

UMLを活用することで、システムの構造や振る舞いを図や図表で明瞭に表現し、開発者や関係者との円滑なコミュニケーションを図ります。特にアクティビティ図はシンプルで記号が少なく、簡単に始められるため、システムの複雑なフローを効果的に表現でき、無駄なステップや改善可能なフローを発見するのに役立ちます。

<執筆・監修>

アルサーガパートナーズ株式会社 DX技術用語集制作チーム

(2024年1月時点)