1
0

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?

More than 1 year has passed since last update.

UMLを使ってクラス図を書く方法

Posted at

目次

  • 概要
  • そもそもUMLって何?
  • UMLでクラス図を書いてみる
  • 最後に

概要

最近一気に寒くなってきてまだ衣替えしていなく、半袖半ズボンで寝てるので三連休で衣替えしようと思います🥶

さて今回のスキルアップのための不定期30分インプット・アウトプット投稿第三段は、「UMLを使ってクラス図を書く方法」ついてやっていこうと思います!
第二弾は、Dockerを使ってPHPを実行する方法について投稿したのでよければ確認してみてください。

 

そもそもUMLって何?

wikiだと下記のような定義らしいです。

ソフトウェア工学で用いられる、汎用的かつ開発方面に特化させたモデリング言語である。
システム設計を視覚的に図式化しての標準化されたモデリング手法の提供を目的にしている。
UML(Unified Modeling Language)の略語で呼ばれることが多い。オブジェクト指向分野でよく用いられている。

ということで噛み砕くと、
システムの構造や動きを図にしたもので、世界中の人が見てもわかるように決められた書き方
ということみたいです。

 

UMLを使ってクラス図を書いてみる

UMLの中でも構造を表すクラス図を書くときのルールをまとめておきます。
ちなみにクラス図を書くツールはいろいろあるようですが、私はdrow.ioを使って書いていきます。

基本的なルール

クラス図は、属性と操作で上下分けて書きます。
PHPでいうと上がプロパティ、下がメソッドで分けられます。
image.png

アクセス範囲のルール

プロパティやメソッドの前に記号がついていますが、これはpublicprivateなどのアクセス修飾子を表しています。。

記号(可視性) アクセス修飾子 アクセス範囲
+ pablic 自クラス外からもアクセス可能
- private 自クラス内からアクセス可能
# protected 自クラスと継承クラスからアクセス可能
_ static インスタンス化せずに自クラス外からもアクセス可能

相互関係の書き方

インターフェイスを継承する

image.png

クラスを継承する

image.png

クラスAのインスタンスをクラスBが保持

image.png

クラスAがクラスBを生成(クラスAの返り値がクラスB)

image.png

 

最後に

まだ多重度と呼ばれる関連する数を表現する方法があるみたいですが、30分で調べきれなかったのでまたの機会にします。

クラス図の書き方を調べるにあたって、Javaを例にクラス図の紹介がされている記事は多く見つけましたが、PHPで紹介されている記事が少なく同じPHP初学者の人の助けになれれば嬉しいです。

1
0
2

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
1
0

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?