๐Ÿ‘ฉ‍๐Ÿ’ปProgramming

[์†Œํ”„ํŠธ์›จ์–ด ์„ค๊ณ„] UML (Unified Modeling Language)

taesooya 2022. 7. 29.
UML (Unified Modeling Language)

 

1๏ธโƒฃ ๊ธฐ๋ณธ ๊ตฌ์„ฑ ์š”์†Œ

์‚ฌ๋ฌผ(Things), ๊ด€๊ณ„(Relationship), ๋‹ค์ด์–ด๊ทธ๋žจ(Diagram)

 

2๏ธโƒฃ ๋ชจ๋ธ

  • 1. ๊ธฐ๋Šฅ์  ๋ชจ๋ธ: ์‚ฌ์šฉ์ž ๊ด€์ ์—์„œ ์‹œ์Šคํ…œ ๊ธฐ๋Šฅ์„ ํ‘œํ˜„ํ•˜๋Š” UML Use Case Diagram ์‚ฌ์šฉ
  • 2. ์ •์  ๋ชจ๋ธ: ๊ฐ์ฒด, ์†์„ฑ, ์—ฐ๊ด€๊ด€๊ณ„, ์˜คํผ๋ ˆ์ด์…˜์˜ ์‹œ์Šคํ…œ ๊ตฌ์กฐ๋ฅผ ํ‘œํ˜„ํ•˜๋Š” UML Class Diagram ์‚ฌ์šฉ
  • 3. ๋™์  ๋ชจ๋ธ: ์‹œ์Šคํ…œ ๋‚ด๋ถ€ ๋™์ž‘์„ ํ‘œํ˜„ํ•˜๋Š” UML Sequence Diagram, State Diagram, Activity Diagram ์‚ฌ์šฉ

 

3๏ธโƒฃ ๊ด€๊ณ„

  • 1. ์—ฐ๊ด€ ๊ด€๊ณ„ Association: ํ•œ ์‚ฌ๋ฌผ์˜ ๊ฐ์ฒด๊ฐ€ ๋‹ค๋ฅธ ์‚ฌ๋ฌผ์˜ ๊ฐ์ฒด์™€ ์—ฐ๊ฒฐ๋˜๋Š” has-a ๊ด€๊ณ„
  • 2. ์˜์กด ๊ด€๊ณ„ Dependency: ํ•œ ์‚ฌ๋ฌผ์˜ ๋ช…์„ธ์„œ๊ฐ€ ๋ฐ”๋€Œ๋ฉด ๊ทธ๊ฒƒ์„ ์‚ฌ์šฉํ•˜๋Š” ๋‹ค๋ฅธ ์‚ฌ๋ฌผ์— ์˜ํ–ฅ์„ ๋ผ์น˜๋Š” ๊ด€๊ณ„
  • 3. ์ผ๋ฐ˜ํ™” ๊ด€๊ณ„ Generalization: ํ•œ ํด๋ž˜์Šค๊ฐ€ ๋‹ค๋ฅธ ํด๋ž˜์Šค๋ฅผ ํฌํ•จํ•˜๋Š” ์ƒ์œ„ ๊ฐœ๋…์ผ ๋•Œ is-a-kind-of ๊ด€๊ณ„
  • 4. ์ง‘ํ•ฉ ๊ด€๊ณ„ Aggregation: A ๊ฐ์ฒด๊ฐ€ B ๊ฐ์ฒด์— ํฌํ•จ๋œ ๊ด€๊ณ„
  • 5. ํฌํ•จ ๊ด€๊ณ„ Composition: ๋ถ€๋ถ„ ๊ฐ์ฒด๊ฐ€ ์ „์ฒด ๊ฐ์ฒด์— ์†ํ•˜๋Š” ๊ฐ•ํ•œ ์ง‘ํ•ฉ ์—ฐ๊ด€์˜ ๊ด€๊ณ„๋ฅผ ํ‘œํ˜„ํ•˜๋Š” ํด๋ž˜์Šค
  • 6. ์‹ค์ฒดํ™” ๊ด€๊ณ„ Realization: ํ•œ ๊ฐ์ฒด๊ฐ€ ๋‹ค๋ฅธ ๊ฐ์ฒด์—๊ฒŒ ์˜คํผ๋ ˆ์ด์…˜์„ ์ˆ˜ํ–‰ํ•˜๋„๋ก ์ง€์ •ํ•˜๋Š” ์˜๋ฏธ์  ๊ด€๊ณ„

 

4๏ธโƒฃ ๋‹ค์ด์–ด๊ทธ๋žจ

  • ๊ตฌ์กฐ์  ๋‹ค์ด์–ด๊ทธ๋žจ: ์‹œ์Šคํ…œ์˜ ์ •์ ์ธ ๊ตฌ์กฐ๋ฅผ ํ‘œํ˜„ํ•˜๋Š” ๋‹ค์ด์–ด๊ทธ๋žจ์œผ๋กœ, ํด๋ž˜์Šค ๋‹ค์ด์–ด๊ทธ๋žจ, ๊ฐ์ฒด ๋‹ค์ด์–ด๊ทธ๋žจ, ๋ณตํ•ฉ์ฒด ๊ตฌ์กฐ ๋‹ค์ด์–ด๊ทธ๋žจ, ๋ฐฐ์น˜ ๋‹ค์ด์–ด๊ทธ๋žจ, ์ปดํฌ๋„ŒํŠธ ๋‹ค์ด์–ด๊ทธ๋žจ, ํŒจํ‚ค์ง€ ๋‹ค์ด์–ด๊ทธ๋žจ ๋“ฑ์ด ์žˆ๋‹ค.
  • ํ–‰์œ„ ๋‹ค์ด์–ด๊ทธ๋žจ: ์‹œ์Šคํ…œ์˜ ๋™์ ์ธ ํ–‰์œ„๋ฅผ ํ‘œํ˜„ํ•˜๋Š” ๋‹ค์ด์–ด๊ทธ๋žจ์œผ๋กœ, ์œ ์Šค์ผ€์ด์Šค ๋‹ค์ด์–ด๊ทธ๋žจ, ํ™œ๋™ ๋‹ค์ด์–ด๊ทธ๋žจ,์ƒํƒœ๋จธ์‹  ๋‹ค์ด์–ด๊ทธ๋žจ, ์ˆœ์ฐจ/์‹œํ€€์Šค ๋‹ค์ด์–ด๊ทธ๋žจ, ์ƒํ˜ธ์ž‘์šฉ ๋‹ค์ด์–ด๊ทธ๋žจ, ํ†ต์‹  ๋‹ค์ด์–ด๊ทธ๋žจ, ํƒ€์ด๋ฐ ๋‹ค์ด์–ด๊ทธ๋žจ ๋“ฑ์ด ์žˆ๋‹ค.

๋Œ“๊ธ€