๋ณธ๋ฌธ ๋ฐ”๋กœ๊ฐ€๊ธฐ
Basics/Concepts

์‚ฌ๋ฌผ, ๊ด€๊ณ„, ๋‹ค์ด์–ด๊ทธ๋žจ ์˜ ์ข…๋ฅ˜์™€ UML : ์†Œํ”„ํŠธ์›จ์–ด ์„ค๊ณ„ ๋ชจ๋ธ๋ง

by IworldT 2022. 3. 16.
๋ฐ˜์‘ํ˜•

 

์•ˆ๋…•ํ•˜์„ธ์š”!

 

์ด๋ฒˆ ํฌ์ŠคํŒ…์—์„œ๋Š” UML์˜ ๊ตฌ์„ฑ์š”์†Œ์ธ ์‚ฌ๋ฌผ, ๊ด€๊ณ„, ๋‹ค์ด์–ด๊ทธ๋žจ์— ๋Œ€ํ•ด์„œ ์•Œ์•„๋ณด๊ณ 

๊ฐ ์ข…๋ฅ˜์ธ ์—ฐ๊ด€๊ด€๊ณ„, ์ผ๋ฐ˜ํ™”๊ด€๊ณ„, ์‹ค์ฒดํ™”๊ด€๊ณ„ ๋“ฑ

๋˜๋Š” ๊ตฌ์กฐ๋‹ค์ด์–ด๊ทธ๋žจ, ํ–‰์œ„๋‹ค์ด์–ด๊ทธ๋žจ ๋“ฑ์„ ์ •๋ฆฌํ•ด๋ณด๋„๋ก ํ•˜๊ฒ ์Šต๋‹ˆ๋‹ค.

 

 


UML

UML(Unified Modeling Language)

UML์€ ์†Œํ”„ํŠธ์›จ์–ด์˜ ์ฒญ์‚ฌ์ง„์„ ์ž‘์„ฑํ•˜๋Š” ํ‘œ์ค€ ์–ธ์–ด๋กœ, ์ด๋ฅผ ์ด์šฉํ•˜์—ฌ ์‚ฐ์ถœ๋ฌผ์„ ํ†ตํ•œ ๊ฐ€ ์‹œํ™”, ๋ช…์„ธํ™”, ๋ฌธ์„œํ™”๊ฐ€ ๊ฐ€๋Šฅํ•œ ๋„๊ตฌ์ด๋‹ค. ์†Œํ”„ํŠธ์›จ์–ด ์•„ํ‚คํ…์ฒ˜ ์„ค๊ณ„ ์†Œํ”„ํŠธ์›จ์–ด์— ๋Œ€ํ•œ ์š”๊ตฌ์‚ฌํ•ญ ์ •์˜, ๋ถ„์„๊ณผ ์„ค๊ณ„ ๋ชจ๋ธ๋ง ์ž‘์—…์—์„œ ๋„๋ฆฌ ํ™œ์šฉ๋˜๊ณ  ์žˆ๋‹ค.

 

UML ๊ตฌ์„ฑ ์š”์†Œ

UML์€ ๋ชจ๋ธ์˜ ๊ธฐ๋ณธ ์š”์†Œ์ธ ์‚ฌ๋ฌผ๊ณผ ์‚ฌ๋ฌผ ๊ฐ„์˜ ๊ด€๊ณ„๋ฅผ ๋‚˜ํƒ€๋‚ด๋Š” ๊ด€๊ณ„, ์‚ฌ๋ฌผ๋“ค ๊ฐ„์˜ ๊ด€๊ณ„๋ฅผ ๋„์‹ํ™”ํ•œ ๋‹ค์ด์–ด๊ทธ๋žจ ๋“ฑ์œผ๋กœ ๊ตฌ์„ฑ๋œ๋‹ค.

UML ๊ตฌ์„ฑ ์š”์†Œ

 

(1) ์‚ฌ๋ฌผ(Things)

๋ชจ๋ธ ๊ตฌ์„ฑ์˜ ๊ธฐ๋ณธ ์š”์†Œ๋กœ ์ถ”์ƒ์ ์ธ ๊ฐœ๋…์ด๋‹ค. ์‹œ์Šคํ…œ์˜ ๊ตฌ์กฐ์™€ ํ–‰์œ„ ๋“ฑ์„ ํ‘œํ˜„ํ•˜๊ณ  ๊ฐœ๋…๋“ค์„ ๊ทธ๋ฃนํ™”ํ•˜๊ธฐ ์œ„ํ•œ ๊ฒƒ๋“ค๋กœ ๊ตฌ์„ฑ๋˜์–ด ์žˆ๋‹ค.

 

(2) ๊ด€๊ณ„(Relationships)

์‚ฌ๋ฌผ ๊ฐ„์˜ ์—ฐ๊ฒฐ ๊ด€๊ณ„๋ฅผ ์ถ”์ƒํ™”ํ•˜์—ฌ ํ‘œํ˜„ํ•œ๋‹ค.

 (๊ฐ€) ์—ฐ๊ด€๊ด€๊ณ„ (Association) : ๊ตฌ์กฐ์  ๊ด€์ ์—์„œ ์‚ฌ๋ฌผ๋“ค์˜ ์—ฐ๊ฒฐ์„ ํ‘œํ˜„ํ•œ๋‹ค.

 (๋‚˜) ํฌํ•จ๊ด€๊ณ„ (Composition) : ์‚ฌ๋ฌผ ์‚ฌ์ด์˜ ํฌํ•จ๊ด€๊ณ„๋ฅผ ํ‘œํ˜„ํ•œ๋‹ค.

 (๋‹ค) ์ผ๋ฐ˜ํ™”๊ด€๊ณ„ (Generalization) : ์‚ฌ๋ฌผ ๊ฐ„์˜ ํŠน์ˆ˜ํ™”, ์ผ๋ฐ˜ํ™” ๊ด€๊ณ„๋ฅผ ํ‘œํ˜„ํ•œ๋‹ค.

 (๋ผ) ์˜์กด๊ด€๊ณ„ (Dependency) : ์‚ฌ๋ฌผ ๊ฐ„์˜ ์„œ๋กœ ์˜ํ–ฅ์„ ๋ฏธ์น˜๋Š” ๊ด€๊ณ„๋ฅผ ํ‘œํ˜„ํ•œ๋‹ค.

 (๋งˆ) ์‹ค์ฒดํ™”๊ด€๊ณ„ (Realization) : ์‚ฌ๋ฌผ์ด ์ˆ˜ํ–‰ํ•˜๊ธฐ๋กœ ๋˜์–ด ์žˆ๋Š” ์ œ์•ฝ์„ ๋ช…์„ธํ™”ํ•œ ๊ฒƒ์ด๋‹ค.

 

(3) ๋‹ค์ด์–ด๊ทธ๋žจ(Diagram)

์‚ฌ๋ฌผ๋“ค ๊ฐ„์˜ ๊ด€๊ณ„๋ฅผ ๋„ํ˜•์œผ๋กœ ํ‘œํ˜„ํ•œ ๊ฒƒ์œผ๋กœ, ์—ฌ๋Ÿฌ ๊ด€์ ์—์„œ ์‹œ์Šคํ…œ์„ ๊ฐ€์‹œํ™”ํ•œ ๋ทฐ(View)๋ฅผ ์ œ๊ณตํ•จ์œผ๋กœ์จ ์˜์‚ฌ์†Œํ†ต์— ๋„์›€์„ ์ค€๋‹ค.

์ •์  ๋ชจ๋ธ๋ง์—์„œ ์‚ฌ์šฉํ•˜๋Š” ๊ตฌ์กฐ์  ๋‹ค์ด์–ด๊ทธ๋žจ, ๋™์  ๋ชจ๋ธ๋ง์—์„œ ์‚ฌ์šฉํ•˜๋Š” ํ–‰์œ„ ๋‹ค์ด์–ด๊ทธ๋žจ์„ ์ฃผ๋กœ ์‚ฌ์šฉํ•œ๋‹ค.

 


 


์ •์ (๊ตฌ์กฐ) ๋‹ค์ด์–ด๊ทธ๋žจ

์‹œ์Šคํ…œ์˜ ์ •์ ์ธ ๋ถ€๋ถ„์„ ๊ฐ€์‹œํ™”ํ•˜๊ธฐ ์œ„ํ•˜์—ฌ ๋‹ค์ด์–ด๊ทธ๋žจ์„ ์ด์šฉํ•˜์—ฌ ํ‘œํ˜„ํ•œ ๊ฒƒ์œผ๋กœ ์ฃผ์š” ๋‹ค์ด์–ด๊ทธ๋žจ์€ ์•„๋ž˜์™€ ๊ฐ™๋‹ค.

 

1. ํด๋ž˜์Šค ๋‹ค์ด์–ด๊ทธ๋žจ(Class Diagram)

์‹œ์Šคํ…œ์„ ๊ตฌ์„ฑํ•˜๋Š” ํด๋ž˜์Šค์™€ ์ธํ„ฐํŽ˜์ด์Šค ์‚ฌ์ด์˜ ์ •์ ์ธ ๊ด€๊ณ„๋ฅผ ๋‚˜ํƒ€๋‚ธ ๋‹ค์ด์–ด ๊ทธ๋žจ์ด๋‹ค. ํด๋ž˜์Šค ๋‹ค์ด์–ด๊ทธ๋žจ์„ ํ†ตํ•ด ์ฃผ์š” ์‹œ์Šคํ…œ ๊ตฌ์กฐ๋ฅผ ํŒŒ์•…ํ•˜๊ณ  ๊ตฌ์กฐ์ƒ์˜ ๋ฌธ์ œ์ ์„ ๋„์ถœํ•  ์ˆ˜ ์žˆ๋‹ค.

 

2. ๊ฐ์ฒด ๋‹ค์ด์–ด๊ทธ๋žจ(Object Diagram)

ํด๋ž˜์Šค ๋‹ค์ด์–ด๊ทธ๋žจ์— ํฌํ•จ๋œ ์‚ฌ๋ฌผ๋“ค์˜ ์ธ์Šคํ„ด์Šค(Instance)๋ฅผ ํŠน์ • ์‹œ์ ์˜ ๊ฐ์ฒด์™€ ๊ฐ์ฒด ์‚ฌ์ด์˜ ๊ด€๊ณ„๋กœ ํ‘œํ˜„ํ•œ ๋‹ค์ด์–ด๊ทธ๋žจ์ด๋‹ค.

 

3. ์ปดํฌ๋„ŒํŠธ ๋‹ค์ด์–ด๊ทธ๋žจ(Component Diagram)

์‹ค์ œ ๊ตฌํ˜„ ๋ชจ๋“ˆ์ธ ์ปดํฌ๋„ŒํŠธ ๊ฐ„์˜ ๊ด€๊ณ„๋ฅผ ํ‘œํ˜„ํ•˜๋Š” ๋‹ค์ด์–ด๊ทธ๋žจ์ด๋‹ค.

 

4. ๋ฐฐ์น˜ ๋‹ค์ด์–ด๊ทธ๋žจ(Deployment Diagram)

๋…ธ๋“œ์™€ ๋…ธ๋“œ ์‚ฌ์ด์— ์กด์žฌํ•˜๋Š” ์ปดํฌ๋„ŒํŠธ๋“ค์˜ ๋ฌผ๋ฆฌ์ ์ธ ๊ตฌ์„ฑ์„ ํ‘œํ˜„ํ•œ๋‹ค. 

 

 


๋™์  ๋‹ค์ด์–ด๊ทธ๋žจ

์‹œ์Šคํ…œ์˜ ๋™์ ์ธ ๋ถ€๋ถ„์„ ๊ฐ€์‹œํ™”ํ•˜๊ธฐ ์œ„ํ•ด ๋‹ค์ด์–ด๊ทธ๋žจ์„ ์ด์šฉํ•˜์—ฌ ํ‘œํ˜„ํ•œ ๊ฒƒ์œผ๋กœ ์ฃผ์š” ๋‹ค์ด์–ด๊ทธ๋žจ์€ ์•„๋ž˜์™€ ๊ฐ™๋‹ค.

 

1. ์œ ์Šค์ผ€์ด์Šค ๋‹ค์ด์–ด๊ทธ๋žจ(Use Case Diagram)

์‹œ์Šคํ…œ์˜ ์š”๊ตฌ์‚ฌํ•ญ ์ค‘ ๊ธฐ๋Šฅ์ ์ธ ์š”๊ตฌ์‚ฌํ•ญ์„ ์œ ์Šค์ผ€์ด์Šค ๋‹จ์œ„๋กœ ํ‘œํ˜„ํ•˜๊ณ  ์•กํ„ฐ (Actor)์™€ ์ด๋“ค ๊ฐ„์˜ ๊ด€๊ณ„๋ฅผ ๋‹ค์ด์–ด๊ทธ๋žจ์œผ๋กœ ํ‘œํ˜„ํ•œ๋‹ค. 

 

2. ์‹œํ€€์Šค ๋‹ค์ด์–ด๊ทธ๋žจ(Sequence Diagram)

์‹œ์Šคํ…œ์˜ ๋‚ด๋ถ€์ ์ธ ๋กœ์ง ํ๋ฆ„์„ ๋™์ ์œผ๋กœ ํ‘œํ˜„ํ•œ ๋‹ค์ด์–ด๊ทธ๋žจ์ด๋‹ค.

๊ฐ์ฒด์™€ ๊ฐ์ฒด ์‚ฌ์ด์˜ ๊ด€๊ณ„์™€ ๊ฐ์ฒด๋“ค๋ผ๋ฆฌ ์ƒํ˜ธ ๊ตํ™˜ํ•˜๋Š” ๋ฉ”์‹œ์ง€์˜ ์ˆœ์„œ๋ฅผ ๊ฐ•์กฐํ•˜์—ฌ ํ‘œํ˜„ํ•œ๋‹ค.

 

3. ์ƒํƒœ ๋‹ค์ด์–ด๊ทธ๋žจ(State Diagram)

์‹œ์Šคํ…œ์˜ ๋™์ ์ธ ์ƒํƒœ๋ฅผ ๋‚˜ํƒ€๋‚ด๋Š” ๋‹ค์ด์–ด๊ทธ๋žจ์œผ๋กœ ์ด๋ฒคํŠธ์— ๋”ฐ๋ผ ์ˆœ์ฐจ์ ์œผ๋กœ ๋ฐœ์ƒํ•˜๋Š” ๊ฐ์ฒด์˜ ์ƒํƒœ ๋ณ€ํ™”๋ฅผ ํ‘œํ˜„ํ•œ๋‹ค.

 

4. ํ™œ๋™ ๋‹ค์ด์–ด๊ทธ๋žจ(Activity Diagram)

์‹œ์Šคํ…œ์˜ ๋‚ด๋ถ€ ํ™œ๋™์— ๋Œ€ํ•œ ํ๋ฆ„์„ ํ–‰์œ„์— ๋”ฐ๋ผ ๋ณ€ํ™”ํ•˜๋Š” ๊ฐ์ฒด์˜ ์ƒํƒœ๋ฅผ ํ‘œํ˜„ํ•˜๋Š” ๋‹ค์ด์–ด๊ทธ๋žจ์ด๋‹ค.

 


 

 

728x90
๋ฐ˜์‘ํ˜•

๋Œ“๊ธ€