【ゆーえむえる】

UML(統一モデリング言語) とは?

最終更新:
💡 ソフトウェア設計を「図」で共有する共通言語

ソフトウェアなどの構造や振る舞いをモデルとして表す標準の言語。クラス図、シーケンス図などがあり、UML 2.5.1では14種類の主要な図を整理している。

📌 このページのポイント
UML:構造と振る舞いを表す図構造図:どんな要素が関係するかクラス図UserOrderクラスと関係コンポーネント図画面API部品の構成振る舞い図:何をするか・どう動くかユースケース図注文する利用者ができることシーケンス図画面APIやり取りの順序アクティビティ図確認保存処理の手順状態機械図未送信送信済送信状態と変化主要な図のうち6種類を示した概念例シーケンス図は振る舞い図内の相互作用図
代表的な6種類の図の簡略例です。上段の2種類は構造図、下の4種類は振る舞い図。ユースケース図を構造図に分類しないよう修正しています。線や矢印の意味は図ごとに異なり、全てがデータの流れを表すわけではありません。
ひよこ ひよこ
UMLって何種類くらいあるの?
ペンギン先生 ペンギン先生
UML 2.5.1の仕様では、14種類の主要な図を整理しているよ。大きく構造図と振る舞い図に分かれる。クラス図やコンポーネント図は構造図、ユースケース図やアクティビティ図、状態機械図は振る舞い図なんだ
ひよこ ひよこ
ペンギン先生 ペンギン先生
クラス図は、どんなクラスがあり、どう関連するかという構造を表すよ。シーケンス図は、参加する要素の間でメッセージがどんな順に交わされるかを表す。シーケンス図は振る舞い図の中の相互作用図に含まれるんだ
ひよこ ひよこ
全部の図を書かないといけないの?
ペンギン先生 ペンギン先生
伝えたいことに合う図を選ぶよ。例えば利用者がシステムで何をできるかならユースケース図、処理の手順ならアクティビティ図を考えられる。図の種類を増やすより、その図で何を説明するのかをそろえることが大切なんだ
ひよこ ひよこ
図を書くとプログラムが動くの?
ペンギン先生 ペンギン先生
UMLはモデルを表現する言語で、図を描くだけでプログラムが動くわけではないよ。コードを生成できる道具もあるけれど、UMLを使えば自動で実装や正しさまで保証される、という意味ではないんだ
ひよこ ひよこ
テキストから図を作る道具もあるの?
ペンギン先生 ペンギン先生
PlantUMLではクラスや関係などをテキストで書いて図にできるよ。Mermaidもクラス図などを描ける。ただし入力する記法や対応範囲は道具によって違う。道具独自の全ての図が、そのままUMLの図というわけではないんだ
ペンギン
まとめ:ざっくりこれだけ覚えればOK!
「UML」って出てきたら「構造や振る舞いを図で共有する標準の言語」と思えばだいたいOK!
📖 おまけ:英語の意味
「Unified Modeling Language」 = 統一モデリング言語
💬 Unifiedは統一、Modelingはモデル化、Languageは言語。OMGが仕様を定め、システムの構造や振る舞いを共通の記法で表すために使うよ

参考資料

← 用語集にもどる