๐ฅ UML(Unified Modeling Language) ์ด๋?
โ๏ธ ๊ฐ๋ฐ ์์คํ ์ ์ดํดํ๊ธฐ ์ฌ์ด ํํ๋ก ํํํ์ฌ ๊ธฐํ์, ๊ฐ๋ฐ์, ์ํคํ ์ณ๊ฐ ํจ์จ์ ์ผ๋ก ์์ฌ ์ํต ํ ์ ์๊ฒ ํด์ฃผ๋ ํ์คํ๋ ๋ชจ๋ธ๋ง ์ธ์ด
โ๏ธ ๊ฐ์ฒด์งํฅ์ ์ธ ๋ถ์๊ณผ ์ค๊ณ๋ฅผ ์ํ ๋ชจ๋ธ๋ง ์ธ์ด
< ๊ฐ์ฒด ์งํฅ ๊ฐ๋ >
โ๏ธ ์ ํด์ง ๊ธฐํธ(symbol)์ ๋ค์ด์ด๊ทธ๋จ(diagram)์ผ๋ก ์ํํธ์จ์ด ์์คํ ์ ์ฐ์ถ๋ฌผ์ ๊ฐ์ํ, ๊ตฌ์ถ, ๋ฌธ์ํํ๋ ๋๊ตฌ
๐ฅUML(Unified Modeling Language) ๋ชฉ์ ๐ฅ
๊ทธ๋ ๋ค๋ฉด ์ด ๋ชจ๋ธ๋ง์ ์ธ์ ์ ํ ๊น,,,?
โ๏ธ ๋ฌธ์ ๋๋ฉ์ธ ๋ฐ ์ ํ ์๊ตฌ์ฌํญ์ ์ดํด
๊ฐ๋ฐ์๊ฐ ์ํํธ์จ์ด๋ฅผ ๊ฐ๋ฐํ๋ ์ด์ ๋ ๊ณ ๊ฐ์ ๋ฌธ์ ๋ฅผ ํด๊ฒฐํ๊ธฐ ์ํด์์ด๋ค.
๋ฐ๋ผ์ ๊ฐ๋ฐ ์ ํ ์ผ์ ๋ฌธ์ ๋ฅผ ์ดํดํ๋ ๊ฒ์ธ๋ฐ, ์ด๋ ๋ฌธ์ ๋ฅผ ์ ์ดํดํ๊ธฐ ์ํด์ ํ๋ ๊ฒ์ด ๋ชจ๋ธ๋ง!!
์๋ ๊ทธ๋ฆผ๊ณผ ๊ฐ์ด ๊ฐ๋ฐ๋จ๊ณ ์ค ๋ถ์, ์ค๊ณ์์ ์ฐ์ถ๋ฌผ์ ์์ฑ
โ๏ธ ๊ตฌํ ์ ์ ์ฌ์ ์๋ฃจ์ ์คํ
โ๏ธ ๊ฐ๋ฐํ๊ณ ์ ํ๋ ๋ฐ๋ฅผ ๋ณด๋ค ๋ช ํํ
โ๏ธ ๊ธฐํ์, ๊ฐ๋ฐ์, ์ํคํ ์ณ๊ฐ์ ์ํํ ์ปค๋ฎค๋์ผ์ด์
ํ๋์ ๋ณด๊ธฐ ๋ณต์กํ ์ฝ๋๋ฅผ ์๊ฐํํ์ฌ ๊ฐ๋ฐ ์ค์ธ ์์คํ
์ ์ดํด ๋ฐ ์ ์ง๋ณด์, ์์คํ
์ค๊ณ ์์ด๋์ด ๋
ผ์์ ์ฉ์ด.
๐ฅUML(Unified Modeling Language) ํน์ง ๐ฅ
โ๏ธ ์๊ฐํ(Visualization) ์ธ์ด
์๊ฐ์ ์ธ ํํ๋ก ํํํ๋ฉฐ, ํ์คํ๋ ๋ค์ด์ด๊ทธ๋จ์ ์ ๊ณต.
โ๏ธ ๋ช
์ธํ(Specification) ์ธ์ด
์ํํธ์จ์ด ๊ฐ๋ฐ ๊ณผ์ ์ธ ๋ถ์, ์ค๊ณ ๋จ๊ณ์ ๊ฐ ๊ณผ์ ์์ ํ์ํ ๋ชจ๋ธ์ ์ ํํ๊ณ ์์ ํ๊ฒ ๋ช ์ธํ.
โ๏ธ ๊ตฌ์ถ(Construction) ์ธ์ด
Java , C# ๊ฐ์ ๋ค์ํ ํ๋ก๊ทธ๋๋ฐ ์ธ์ด๋ก ํํํ ์ ์์ผ๋ฉฐ, UML๋ก ์ค๊ณ๋ ๋ชจ๋ธ์ ํ๋ก๊ทธ๋จ ์ฝ๋๋ก ์๋ ๋ณํ ๊ฐ๋ฅ.
โ๏ธ ๋ฌธ์ํ(Documentation) ์ธ์ด
StarUML์ ์ด์ฉํ์ฌ ์ค๊ณํ ๋ด์ฉ์ ์๋์ผ๋ก ๋ฌธ์ํ ๊ฐ๋ฅ.
๐ฅUML(Unified Modeling Language) ์ข ๋ฅ ๐ฅ
Uml ๋ค์ด์ด๊ทธ๋จ์ ํด๋์ค, ์ํ์ค, ์ ์ฆ์ผ์ด์ค ๋ฑ ๊ตฌ์กฐ์ ํ์๋ฐ๋ผ ์ด 14๊ฐ์ ๋ค์ด์ด๊ทธ๋จ์ด ์์ต๋๋ค.
์ด๋, ๊ฐ๋ฐํ๋ ์์คํ ์ ์ ํ๊ณผ ๊ท๋ชจ์ ๋ฐ๋ผ์ ํ์ํ ๋ค์ด์ด๊ทธ๋จ์ ์ ํํ์ฌ ์ฌ์ฉํฉ๋๋ค.
โ๏ธ ๊ตฌ์กฐ ๋ค์ด์ด๊ทธ๋จ(Structure Diagram)
ํด๋์ค ๋ค์ด์ด๊ทธ๋จ, ๊ฐ์ฒด ๋ค์ด์ด๊ทธ๋จ, ๋ณตํฉ์ฒด ๊ตฌ์กฐ ๋ค์ด์ด๊ทธ๋จ, ๋ฐฐ์น ๋ค์ด์ด๊ทธ๋จ, ์ปดํฌ๋ํธ ๋ค์ด์ด๊ทธ๋จ, ํจํค์ง ๋ค์ด์ด๊ทธ๋จ
โ๏ธ ํ์ ๋ค์ด์ด๊ทธ๋จ(Behavior Diagram)
ํ๋ ๋ค์ด์ด๊ทธ๋จ, ์ํ ๋จธ์ ๋ค์ด์ด๊ทธ๋จ, ์ ์ฆ ์ผ์ด์ค ๋ค์ด์ด๊ทธ๋จ, ์ํธ์์ฉ ๋ค์ด์ด๊ทธ๋จ
๋ถ๋ฅ | ๋ค์ด์ด๊ทธ๋จ ์ ํ | ๋ชฉ์ | |
๊ตฌ์กฐ ๋ค์ด์ด๊ทธ๋จ (Structure Diagram) |
ํด๋์ค ๋ค์ด์ด๊ทธ๋จ (Class Diagram) |
์์คํ ์ ๊ตฌ์ฑํ๋ ํด๋์ค๋ค ์ฌ์ด์ ๊ด๊ณ๋ฅผ ํํํ๋ค. | |
๊ฐ์ฒด ๋ค์ด์ด๊ทธ๋จ (Object Diagram) |
๊ฐ์ฒด ์ ๋ณด๋ฅผ ๋ณด์ฌ์ค๋ค. | ||
๋ณตํฉ์ฒด ๊ตฌ์กฐ ๋ค์ด์ด๊ทธ๋จ (Composite Structure Diagram) |
๋ณตํฉ ๊ตฌ์กฐ์ ํด๋์ค์ ์ปดํฌ๋ํธ ๋ด๋ถ ๊ตฌ์กฐ๋ฅผ ํํํ๋ค. | ||
๋ฐฐ์น ๋ค์ด์ด๊ทธ๋จ (Deployment Diagram) |
์ํํธ์จ์ด, ํ๋์จ์ด, ๋คํธ์ํฌ๋ฅผ ํฌํจํ ์คํ ์์คํ ์ ๋ฌผ๋ฆฌ ๊ตฌ์กฐ๋ฅผ ํํํ๋ค. | ||
์ปดํฌ๋ํธ ๋ค์ด์ด๊ทธ๋จ (Component Diagram) |
์ปดํฌ๋ํธ ๊ตฌ์กฐ ์ฌ์ด์ ๊ด๊ณ๋ฅผ ํํํ๋ค. | ||
ํจํค์ง ๋ค์ด์ด๊ทธ๋จ (Package Diagram) |
ํด๋์ค๋ ์ ์ค์ผ์ด์ค ๋ฑ์ ํฌํจํ ์ฌ๋ฌ ๋ชจ๋ธ ์์๋ค์ ๊ทธ๋ฃนํํด ํจํค์ง๋ฅผ ๊ตฌ์ฑํ๊ณ ํจํค์ง๋ค ์ฌ์ด์ ๊ด๊ณ๋ฅผ ํํํ๋ค. | ||
ํ์ ๋ค์ด์ด๊ทธ๋จ (Behavior Diagram) |
ํ๋ ๋ค์ด์ด๊ทธ๋จ (Activity Diagram) |
์ ๋ฌด ์ฒ๋ฆฌ ๊ณผ์ ์ด๋ ์ฐ์ฐ์ด ์ํ๋๋ ๊ณผ์ ์ ํํํ๋ค. | |
์ํ ๋จธ์ ๋ค์ด์ด๊ทธ๋จ (State Machine Diagram) |
๊ฐ์ฒด์ ์๋ช ์ฃผ๊ธฐ๋ฅผ ํํํ๋ค. | ||
์ ์ค์ผ์ด์ค ๋ค์ด์ด๊ทธ๋จ (Use Case Diagram) |
์ฌ์ฉ์ ๊ด์ ์์ ์์คํ ํ์๋ฅผ ํํํ๋ค. | ||
์ํธ ์์ฉ ๋ค์ด์ด๊ทธ๋จ Interaction Diagram) |
์์ฐจ ๋ค์ด์ด๊ทธ๋จ (Sequence Diagram) |
์๊ฐ ํ๋ฆ์ ๋ฐ๋ฅธ ๊ฐ์ฒด ์ฌ์ด์ ์ํธ์์ฉ์ ํํํ๋ค. | |
์ํธ์์ฉ ๊ฐ์ ๋ค์ด์ด๊ทธ๋จ (Interaction Overview Diagram) |
์ฌ๋ฌ ์ํจ์์ฉ ๋ค์ด์ด๊ทธ๋จ ์ฌ์ด์ ์ ์ด ํ๋ฆ์ ํํํ๋ค. | ||
ํต์ ๋ค์ด์ด๊ทธ๋จ (Communication Diagram) |
๊ฐ์ฒด ์ฌ์ด์ ๊ด๊ณ๋ฅผ ์ค์ฌ์ผ๋ก ์ํธ์์ฉ์ ํํํ๋ค. | ||
ํ์ด๋ฐ ๋ค์ด์ด๊ทธ๋จ (Timing Diagram) |
๊ฐ์ฒด ์ํ ๋ณํ์ ์๊ฐ ์ ์ฝ์ ๋ช ์์ ์ผ๋ก ํํํ๋ค. |
๐ฅUML(Unified Modeling Language) ์์ฑ ๋๊ตฌ๐ฅ
http://staruml.io/
http://www.umlet.com/
https://gmlwjd9405.github.io/2018/07/04/class-diagram.html