UML (Unified Modeling Language)
UML(Unified Modeling Language:統一モデリング言語)概要
UMLとは
UMLとは、システム開発の過程(分析・設計・実装など)を図として表現するための、標準規格として作られた記法(モデリング言語)です。
特にオブジェクト指向開発において、システムの振る舞いや構造を分析・設計する際に、図を用いることで視覚的に説明し、効果的に表現できます。
モデリングとは
モデリングとは、システム開発における業務プロセスやデータ構造などから共通する性質や特徴を抽出して、抽象的な模型(モデル)を作成することです。
モデルを作成することで、構造や構成要素、対象間の関係や作用などを明確化して、システムの全体像を可視化します。
UMLの歴史
UMLの仕様は1996年にRational Software社(2003年にIBM社が買収)のジェームズ・ランボー、グラディ・ブーチ、イヴァー・ヤコブソン(この3人はスリーアミーゴスと呼ばれます)によって策定されました。
1997年にUMLは、Object Management Group(OMG)の標準モデリング言語に採用され、以降はOMGに管理されています。
UML1.4が2005年にISO/IEC 19501として、UML 2.4が2012年にISO/IEC 19505として国際標準となっています。
2023年12月時点の最新版は、2017年12月に採択された「UML 2.5.1」となっています。
https://www.omg.org/spec/UML/
UMLダイアグラム
UMLでは、システムの様々な側面を伝達できるように、14種類の図(UML2.5.1の時点)が用意されています。
構造図(structure diagram)
構造図は、システムや機能を構成する構造的な要素を表現するための図です。
種類 | 説明 |
---|---|
クラス図(Class diagram) | クラスの構造や属性、およびそのクラス間の関係性を表現する。 |
オブジェクト図(Object diagram) | オブジェクトの属性やオブジェクト間の関係を表現する。 |
パッケージ図(Package diagram) | クラスやインターフェースをどのようにパッケージに配置するかを表現する。 |
合成構造図(Composite structure diagram) | クラスやコンポーネントの内部構造を表現する。 |
コンポーネント図(Component diagram) | システムの機能や部品レベルで、その関係性や全体構成を表現する。 |
配置図(Deployment diagram) | システムの物理的な配置・構成を表現する。 |
プロファイル図(Profile diagram) |
UML要素などを拡張するためのUMLプロファイルを定義するために利用します。 |
振る舞い図(behavior diagram)
振る舞い図は、システムやビジネスプロセスの振る舞いの特性を表現するための図です。
種類 | 説明 |
---|---|
ユースケース図(Use case diagram) | システムが提供する機能とその利用者を表現する。 |
アクティビティ図(Activity diagram) | システムの処理がどのような順番で行われていくかを表現する。 |
ステートマシン図(State machine diagram) | オブジェクトの状態や状態の遷移について表現する。 |
コミュニケーション図(Communication diagram) | オブジェクト間のメッセージについて関係性を表現する。 |
シーケンス図(Sequence diagram) | オブジェクト間の相互作用を時系列に表現する。 |
相互作用概要図(Interaction overview diagram) | 相互作用の実行順序を表現する。 |
タイミング図(Timing diagram) | 相互作用と状態遷移に関する時間制約を表現する。 |
UML関連リンク
- https://www.uml.org/
UML公式サイト - PlantUML Web Server
Web上でUMLを記述できるPlantUMLサイト - UML Sequence Diagram Online Tool
Web上でシーケンスダイアログを記述できるサイト