UMLについて

概要

UMLとは

UML(Unified Modeling Language)は、オブジェクト指向のプログラミングアプローチを記述するための標準化されたモデルのことである。UMLの開発者はランボー・ブーチ・ヤコブソンの3人である。

UMLは、システムの抽象的な内容をモデル要素(アクター/ユースケース/クラス/パッケージなど)と、1つ以上のダイアグラムを含めて表現します。各種ダイアグラムでは、システムの特定の側面を切り出し、構造/振る舞い/関係/機能などを可視化する。

UMLの主な図形

クラス図

クラス図は、特定のシステムのクラス、属性、操作やオブジェクト間の関係を可視化することで、システムの構造を明確に図式化する。クラス図の構成要素は、実際にプログラムされるクラス、主要なオブジェクトに加え、クラスやオブジェクト間の相互作用を表すものである。

クラスの図形自体は、3行からなる長方形で構成されている。最上段の行にはクラスの名前、中段にはクラスの属性がそれぞれ含まれ、最下段にはクラスの用いるメソッドや操作が記述される。

配置図

UML配置図は、システム実装で使用されるシステム物理構造の図式表現である。これはハードウェアのトポロジーシステムを視覚化し、物理ハードウェア要素とそれらの間の通信関係をモデル化し、システムのアーキテクチャを計画するために使用される。

UMLの作成方法

UMLの作成には、各図形を選んで土台にドロップし、必要なコネクタを選んで各図形を接続する。図形をクリックしてテキストを入力し、スタイル全体やレイアウト、背景をカスタマイズすることが出来る。

mermaidでのUMLの作成例

以下の例はAnimalというスーパークラスを継承してDuckFishZebraというサブクラスを作成する例である。

classDiagram 
Animal <|-- Duck
Animal <|-- Fish
Animal <|-- Zebra
Animal : +int age
Animal : +String gender
Animal: +isMammal()
Animal: +mate()

class Duck{ 
	+String beakColor 
	+swim() 
	+quack() 
}

class Fish{ 
	-int sizeInFeet
	-canEat()
} 

class Zebra{ 
	+bool is_wild 
	+run()
}