UML

読み:ゆーえむえる / 英語表記:Unified Modeling Language

ソフトウェアの構造や振る舞いを図で表すための、統一されたグラフィカルなモデリング言語。オブジェクト指向による分析・設計で使われ、OMGが標準化している。

イマシルちゃんの解説

ソフトウェアを作るとき、頭の中にある設計を、ほかの人に伝えるのって難しいよね。

UMLは、「この図はこう描く」っていう世界共通の描き方のルールなんだ。
クラスの関係を描く図、処理の順番を描く図、状態の移り変わりを描く図……。
ルールが同じだから、誰が描いても、誰が読んでも、同じように理解できるんだよ!

より深い解説

定義

UML(Unified Modeling Language)は、1990年代に、それまで乱立していたオブジェクト指向の分析・設計の表記法を統一して作られたモデリング言語である。現在はOMG(Object Management Group)が仕様を管理し、ISO/IEC 19501などとしても標準化されている。プログラム言語ではなく、設計を表現するための「図の言語」である。

主なダイアグラム

UML 2では、ダイアグラムを大きく2つに分けている。

分類ダイアグラム表すもの
構造図クラス図クラスの属性、操作と、クラス間の関係(関連、汎化、集約など)
構造図オブジェクト図ある時点のオブジェクト(インスタンス)とその関係
構造図コンポーネント図、配置図、パッケージ図部品、ハードウェアへの配置、整理の単位
振る舞い図ユースケース図利用者(アクタ)から見たシステムの機能
振る舞い図シーケンス図オブジェクト間のメッセージのやり取りを、時間の順に表す
振る舞い図アクティビティ図処理の流れ(フローチャートに近い)
振る舞い図ステートマシン図オブジェクトの状態と、イベントによる状態の遷移
振る舞い図コミュニケーション図オブジェクト間のメッセージのやり取りを、つながりを中心に表す

クラス図の主な関係

関係意味例
汎化(継承)「AはBの一種である」(is-a)「普通預金口座」は「口座」の一種
集約「全体と部分」で、部分が独立して存在できる「チーム」と「選手」
コンポジション「全体と部分」で、全体が消えると部分も消える「注文」と「注文明細」
関連互いに関係がある「顧客」と「注文」

関連には、相手の数(多重度)を「1」「0..1」「1..*」「*」のように書き添える。

UMLを拡張した言語

UMLは、プロファイルという仕組みで、特定の分野向けに拡張できる。システムズエンジニアリング向けに、UMLの一部を流用して機能を拡張したものが、SysMLである。

実際の試験ではここに出る!

この用語が出てくる記事

↑