UMLについて
概要
UMLとは
UML(Unified Modeling Language)は、オブジェクト指向のプログラミングアプローチを記述するための標準化されたモデルのことである。UMLの開発者はランボー・ブーチ・ヤコブソンの3人である。
UMLは、システムの抽象的な内容をモデル要素(アクター/ユースケース/クラス/パッケージなど)と、1つ以上のダイアグラムを含めて表現します。各種ダイアグラムでは、システムの特定の側面を切り出し、構造/振る舞い/関係/機能などを可視化する。
UMLの主な図形
クラス図
クラス図は、特定のシステムのクラス、属性、操作やオブジェクト間の関係を可視化することで、システムの構造を明確に図式化する。クラス図の構成要素は、実際にプログラムされるクラス、主要なオブジェクトに加え、クラスやオブジェクト間の相互作用を表すものである。
クラスの図形自体は、3行からなる長方形で構成されている。最上段の行にはクラスの名前、中段にはクラスの属性がそれぞれ含まれ、最下段にはクラスの用いるメソッドや操作が記述される。
配置図
UML配置図は、システム実装で使用されるシステム物理構造の図式表現である。これはハードウェアのトポロジーシステムを視覚化し、物理ハードウェア要素とそれらの間の通信関係をモデル化し、システムのアーキテクチャを計画するために使用される。
UMLの作成方法
UMLの作成には、各図形を選んで土台にドロップし、必要なコネクタを選んで各図形を接続する。図形をクリックしてテキストを入力し、スタイル全体やレイアウト、背景をカスタマイズすることが出来る。
mermaidでのUMLの作成例
以下の例はAnimalというスーパークラスを継承してDuck、Fish、Zebraというサブクラスを作成する例である。
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() }