๋ณธ๋ฌธ ๋ฐ”๋กœ๊ฐ€๊ธฐ

โœ”๏ธ Etc.

[UML]UML(Unified Modeling Language) ์ด๋ž€?

728x90

UML(Unified Modeling Language)

 


๐Ÿ”ฅ UML(Unified Modeling Language) ์ด๋ž€?

โœ”๏ธ ๊ฐœ๋ฐœ ์‹œ์Šคํ…œ์„ ์ดํ•ดํ•˜๊ธฐ ์‰ฌ์šด ํ˜•ํƒœ๋กœ ํ‘œํ˜„ํ•˜์—ฌ ๊ธฐํš์ž, ๊ฐœ๋ฐœ์ž, ์•„ํ‚คํ…์ณ๊ฐ€ ํšจ์œจ์ ์œผ๋กœ ์˜์‚ฌ ์†Œํ†ต ํ•  ์ˆ˜ ์žˆ๊ฒŒ ํ•ด์ฃผ๋Š” ํ‘œ์ค€ํ™”๋œ ๋ชจ๋ธ๋ง ์–ธ์–ด

โœ”๏ธ ๊ฐ์ฒด์ง€ํ–ฅ์ ์ธ ๋ถ„์„๊ณผ ์„ค๊ณ„๋ฅผ ์œ„ํ•œ ๋ชจ๋ธ๋ง ์–ธ์–ด

< ๊ฐ์ฒด ์ง€ํ–ฅ ๊ฐœ๋… >

 

๊ฐ์ฒด์ง€ํ–ฅ(OOP) VS ์ ˆ์ฐจ์ง€ํ–ฅ(PP) ํ”„๋กœ๊ทธ๋ž˜๋ฐ

๊ฐ์ฒด์ง€ํ–ฅ, ์ ˆ์ฐจ์ง€ํ–ฅ ํ”„๋กœ๊ทธ๋ž˜๋ฐ์˜ ์ •์˜, ํŠน์ง•, ์žฅ๋‹จ์ , ์ข…๋ฅ˜์— ๋Œ€ํ•ด ์•Œ์•„๋ณด๊ณ  ๋น„๊ตํ•ด๋ณด์ž ๊ทธ์ „์—, ๐Ÿ”ฅ ๊ฐ„๋‹จ ์ดํ•ด ๐Ÿ”ฅ โœ”๏ธ ์ ˆ์ฐจ์‹ ๋ฐฉ๋ฒ•์€ ํ”„๋กœ๊ทธ๋žจ์„ ์œ„ ๊ทธ๋ฆผ๊ฐ™์ด ๋ฐ์ดํ„ฐ์™€ ๊ธฐ๋Šฅ(ํ•จ์ˆ˜)์œผ๋กœ ๋‚˜๋ˆ„

lxxyeon.tistory.com

 

โœ”๏ธ ์ •ํ•ด์ง„ ๊ธฐํ˜ธ(symbol)์™€ ๋‹ค์ด์–ด๊ทธ๋žจ(diagram)์œผ๋กœ ์†Œํ”„ํŠธ์›จ์–ด ์‹œ์Šคํ…œ์˜ ์‚ฐ์ถœ๋ฌผ์„ ๊ฐ€์‹œํ™”, ๊ตฌ์ถ•, ๋ฌธ์„œํ™”ํ•˜๋Š” ๋„๊ตฌ

UML(Unified Modeling Language)


๐Ÿ”ฅ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)
ํ™œ๋™ ๋‹ค์ด์–ด๊ทธ๋žจ, ์ƒํƒœ ๋จธ์‹  ๋‹ค์ด์–ด๊ทธ๋žจ, ์œ ์ฆˆ ์ผ€์ด์Šค ๋‹ค์ด์–ด๊ทธ๋žจ, ์ƒํ˜ธ์ž‘์šฉ ๋‹ค์ด์–ด๊ทธ๋žจ

UML(Unified Modeling Language) ์ข…๋ฅ˜

 

 ๋ถ„๋ฅ˜ ๋‹ค์ด์–ด๊ทธ๋žจ ์œ ํ˜•  ๋ชฉ์  
 ๊ตฌ์กฐ ๋‹ค์ด์–ด๊ทธ๋žจ
(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

๋ฐ˜์‘ํ˜•