統一モデリング言語 (UML) は、ソフトウェアエンジニア開発の世界において、ビジネスユーザーを始め、システムを理解しようとするあらゆるユーザーが理解できる視覚化のための共通言語を打ち立てることを目的のために作られたモデリング手法です。 このUMLガイドでは、UML図の入門基礎、用途、例、概念やUMLの種類、 Lucidchart UML 図ツール で作成する際のガイドや参考テンプレートをご紹介しています。
この記事を読むのに必要な時間 : 8 分
UML図の作成には、ぜひ Lucidchart を試してみましょう。素早く、簡単に使えて、完全に無料です。
UMLとは?わかりやすく説明
統一モデリング言語 (UML: Unified Modeling Lnaguage) は、構造的にも動作面でも複雑なソフトウェアシステムのアーキテクチャ、設計と実装のための意味論的かつ構文的に豊かな共通の視覚的モデリング言語を打ち立てることを目指して作られました。UML は、ソフトウェアの可視化、統一を実現させ、説明書に対する理解力を向上させる効果があり、システム分析の可視化によりコミュニケーションが効率化できる効果があります。
また、UMLは他の分野で用いられる設計図に類似しており、さまざまな種類の手方で構成されます。UML図は、システムとそのシステム内のオブジェクトの境界、構造や振る舞いを表します。
UMLを使用すれば、複雑なシステムの設計書を簡単に見える化させることができます。

UMLの活用目的と使用メリット
UML図の活用目的と使用メリットは主に以下を参考にして下さい。
- ごちゃごちゃな文字ベースのシステム全体像を可視化
- システムに対する理解力の向上
- 新しいシステムの設計図を作成する際
- システム開発プロジェクトのコミュニケーションの統一
知っておきたいUMLの歴史
ソフトウェアエンジニアリング界の通称「スリーアミーゴス」は、他の方法論を進化させました。新しい基準を作ることにより、プログラマーによりわかりやすい方法論を打ち立てることを目指したグラディ・ブーチとランボーの間の共同作業により、これら3つの方法論が拡充され、最終成果物として改善されました。
こうした考案者らの取り組みが結実し、1996年に UML 0.9/0.91 が公開されました。その後、Microsoft や Oracle、IBM を始めとする企業が、自社の事業開発に欠かせない要素として UML を捉えていることが明らかとなりました。考案者の3人は、他の個人や企業と共に、本格的なモデリング言語開発のためのリソースを確立し、1999年に「UMLユーザーガイド」を出版しました。さらに2005年の第2版では、UML 2.0 に関する情報を含む最新情報を公開しています。
UMLとOMG (Object Management Group)
Object Management Group® (OMG®) は、テクノロジーに関する標準を推進する1989年創設の会員制国際非営利コンソーシアムです (出所: OMG ウェブサイト)。ベンダー、エンドユーザー、学術機関や政府機関が共に OMG の標準を推進しています。OMG タスクフォースでは、多彩なテクノロジーや広範な業界を対象としたエンタープライズ統合型の標準の開発を行っています。UML やモデル駆動型アーキテクチャ® (MDA®) を始めとする OMG のモデリング標準は、ソフトウェアやその他のプロセスの強力な視覚的設計、実行とメンテナンスの実現に寄与しています。
OMG は、UML の仕様の定義とメンテナンスを監督しています。あらゆるシステム規模のソフトウェアライフサイクルの全段階にわたり、エンジニアやプログラマーが1つの言語を多彩な用途に利用できるようにすることがその目標です。
OMGが定めるUMLの目的
OMG では、UML の目的を以下のように定義しています。
- システムアーキテクト、ソフトウェアエンジニア、ソフトウェア開発者に対し、ソフトウェアベースのシステムの分析、設計や実装、加えてビジネスや同様のプロセスのモデル化のためのツールを提供するもの。
- オブジェクト視覚モデリングツールの相互運用性を実現することで、業界のあり方を進歩させるもの。ただし、ツール間における有意味なモデル情報の交換を実現するためには、意味論と表記法に関する合意が必要とな る。
UML は以下の要件を満たします。
- UML の抽象構文を指定する共通の Meta-Object Facility (MOF) ベースのメタモデル公式定義を設定すること。この抽象構文は、UML モデリングの概念の集合、その属例と関係、さらにこれらの概念を組み合わせて部分的または完全な UML モデルを構築するためのルールを定義します。
- UML モデリング概念それぞれの意味論の詳細な説明を提供すること。この意味論は、UML の概念がコンピューターにより実現される方法を技術に依存しない方法で定義します。
- 個別の UML モデリング概念の表現のための対人可読な表記要素、さらにこれらを組み合わせてモデリング対象のシステムのさまざまな側面に対応する多様な種類の図を作成するためのルールを指定すること。
- UML ツールをこの仕様に準拠させる方法を定義すること。この内容は、準拠したツールで実行すべき、対応するモデル交換形式 (XMI) の XML ベースの仕様により (別の仕様において) サポートされています。
UML とデータモデリング
UML はプログラマーに人気ですが、データベース開発者の間では通常使われません。理由のひとつとしては、UML の成り立ちがデータベースを主眼としたものでないことが挙げられます。しかしながら、UML は高次の概念データのモデリングに有用であり、さまざまな種類の UML 図で活用することができます。オブジェクト志向のクラスモデルの関係データベースへのレイヤー化については、Database Modeling in UML (UML におけるデータベースモデリング)が参考になります。
Lucidchart を使えば、素早く、簡単に図を作成することができます。今すぐ無料のトライアルを開始して、作図と共同編集を始めましょう。
UML図 を作成UML 2.0 における変更
UML は継続的に改良されています。アジャイルを含め、開発のより多くの側面に対応するよう、UML の仕様を拡張したものが UML 2.0 で、使いやすさや実装、導入を簡素化するため、UML を再構築し、改良することを目的として作られました。UML 図については、以下のような点が変更されています。
- 構造モデルと行動モデルの間の統合強化
- 階層の定義とソフトウェアシステムのコンポーネントとサブコンポーネントへの分類が可能に
- UML 2.0 では図の数が9から13に拡大
覚えてお きたいUMLの用語一覧
UML で使われる用語に慣れておきましょう。以下のリストでは、OMG に属さないメンバーが一般に使われる用語を理解できるよう、UML 2.4.1ドキュメントから抜粋した内容を紹介しています。
- 抽象構文準拠 ユーザーは、ツールの表記法が異なる場合であっても、さまざまなツールを通じてモデルを移動させることが可能
- 共通ウェアハウスメタモデル (CWM) 分散型異機種環境において、ウェアハウスツール、ウェアハウスプラットフォーム、ウェアハウスメタデータリポジトリ間のウェアハウスとビジネスインテリジェンスメタデータの交換を可能にする標準インターフェイス
- 具象構文準拠 さまざまなツールでユーザーが使い慣れた表記法の使用が可能
- コア UML のコンテキストにおいて、コアは通常、高い再利用性を主目的に設計された完全なメタモデルである「コアパッケージ」を指す
- 言語単位 特定のパラダイムや形式主義に従った検討対象のシステムの側面の表現を可能にする密接に結合したモデリング概念の集合体から構成される
- レベル0 (L0) UML インフラストラクチャの最下位準拠レベル - クラスベースの構造などのモデリングのための単一の言語単位で、最も人気の高いオブジェクト指向プログラミング言語で見られるもの
- Meta Object Facility (MOF) OMG によるモデリング仕様で、OMG の MDA 言語ファミリにおけるメタモデル定義の基礎となるもの
- メタモデル モデル形成の基盤となる言語とプロセスを定義
- メタモデル構造 (LM) UML インフラストラクチャにおける第2の準拠レベル - UML そのものなど、(CMOF を使った) メタモデルの作成に使われるより高度なクラスベースの構造のための追加の言語単位で、UML の準拠レベルは2種類のみ
- モデル駆動型アーキテクチャ (MDA) 一体性のあるモデル駆動型技術仕様の策定のためのアプローチと計画
- オブジェクト制約言語 (OCL) 統一モデリング言語に適用される規則を記述するための宣言型言語。OCL は、自然言語よりも正確で、数学よりも習得しやすい用語やフローチャート記号の提供により UML を補完
- オブジェクトマネジメントグループ (OMG) UML 仕様の定義と維持を行う非営利のコンピューター業界仕様コンソーシアム
- UML 1 統一モデリング言語の最初のバージョン
- 統一モデリング言語 (UML) システムの成果物を指定、構築および記録するための視覚的言語
- XMI 対応するモデル交換形式の XML ベースの仕様
- MDA(Model Driven Architecture)
MOF ドキュメントの全文を表示。
UML の定義による概念のモデリング
システムの開発においては、以下の3つの全体的なシステムモデルに重点が置かれます。