PR

 UML(Unified Modeling Language)は、オブジェクト指向プログラミングにおいて図を使って表記するモデリング言語である。オブジェクト指向技術の標準化団体O M G(Object Management Group)が仕様を策定し、事実上の業界標準になっている。現行バージョンはUML 1.5であるが、近くUML 2.0の仕様が確定する見込みだ。

図形の描き方を標準化

UMLは、システム開発において分析→設計→実装と、上流から下流までの工程を同じ言語で表現できるようにしている。これにより、工程間の齟齬(そご)をなくすことを目的にしている。また、業界標準として広がれば、ユーザーとベンダーの間でシステム開発の要求仕様をまとめたり、異なる業者がシステム構築にかかわったりするときに、技術者同士が同じ土俵で作業ができる。
 UMLで使う記号は、例えば、あるオブジェクトの属性や操作仕様などを四角い図形に書き込み、他のオブジェクトとの連携の仕方も、四角い図形同士を線でつなぐことで定義する(図)

図 コンポジット・ストラクチャ図の例
図 コンポジット・ストラクチャ図の例
この図は「Car(自動車)というクラスに関して、Engine(エンジン)というクラスのポートに、2 つのWheel(ホイール)のクラスがaxel(車軸)を通じてつながっていること」を表している

 UMLに対応したモデリング・ツールを使えば、作図によってプログラム・コードを生成することも可能になる。UML 2.0の基本仕様はすでに2003年に決まっているため、早々と仕様確定前のUML 2.0に準拠したモデリング・ツールがいくつか出荷されている。
新版でモデル中心の開発を強化

 UML 2.0は、MDA(モデル駆動型アーキテクチャ)を目標としている。MDAは、プラットフォームに依存しないモデルと依存するモデルの2階層に分けてシステムを開発する手法で、将来にわたるシステム運用の継続を可能にしようとする概念である。
 現行のバージョンに比べ、(1) リアルタイム処理やビジネス・モデルなどのモデリング、(2) 分岐や繰り返しの強化、(3) WebサービスやSOA(サービス指向アーキテクチャ)といったコンポーネントの組み合わせ―などに対応するために、仕様を拡張している。
 モデリングに当たっては、次のような13種類の図(ダイアグラム)を使ってオブジェクトの構造を表現する。

(1) クラス図:クラスの静的構造を表記。
(2) コンポーネント図:コンポーネントの内部構造やコンポーネント間の接続関係を表記。
(3) オブジェクト図:オブジェクトの静的構造を表記。
(4) コンポジット・インフラストラクチャ図:クラスやコンポーネントの内部構造を表記。
(5) デプロイメント図:パッケージの展開・配置を表記。
(6) パッケージ図:クラスやオブジェクトと同様パッケージの構造を表記。
(7) アクティビティ図:データの処理や振る舞いを表記。ビジネス・モデルなどの上流工程に対応。
(8) ユース・ケース図:システムのサービスを表記。
(9) ステート・マシン図:イベントによるオブジェクトの状態遷移を表記。(10) シーケンス図:時間に沿ってクラスやオブジェクトのメッセージのやり取りを表記。
(11) インタラクション・オーバービュー図:シーケンス図やコミュニケーション図、タイミング図が大まかにどのような位置関係にあるかを表記。
(12) コミュニケーション図:オブジェクト間のメッセージの伝わり方や相互関係を表記。
(13) タイミング図:システムの振る舞いを時間で表記。リアルタイム処理が求められる組み込みシステム向け。