Skip to content

Latest commit

ย 

History

History
116 lines (77 loc) ยท 3.34 KB

UML.md

File metadata and controls

116 lines (77 loc) ยท 3.34 KB

UML

UML (Unified Modeling Language, ํ†ตํ•ฉ ๋ชจ๋ธ๋ง ์–ธ์–ด)

์ •์˜

ํ”„๋กœ๊ทธ๋žจ์„ ๋‹จ์ˆœํ™”ํ•˜์—ฌ ํ‘œํ˜„ํ•˜๊ธฐ ์œ„ํ•ด ์‚ฌ์šฉํ•˜๋Š” ๋ชจ๋ธ๋ง ์–ธ์–ด

์ฆ‰, ํ”„๋กœ๊ทธ๋žจ์„ ๋‹ค์ด์–ด๊ทธ๋žจํ™”ํ•œ ๊ฒƒ์ด๋‹ค.

์„ค๊ณ„ ๋‹จ๊ณ„์—์„œ ์›ํ™œํ•œ ์˜์‚ฌ์†Œํ†ต์„ ์œ„ํ•ด ์‚ฌ์šฉํ•œ๋‹ค.

์™œ ์‚ฌ์šฉํ•˜๋Š”๊ฐ€? (์žฅ์ )

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

UML ๋‹ค์ด์–ด๊ทธ๋žจ์˜ ์ข…๋ฅ˜

๋ถ„์„ ๋‹จ๊ณ„

  • Use Case Diagram
    • ์‹œ์Šคํ…œ๊ณผ ์ƒํ˜ธ ์ž‘์šฉํ•˜๋Š” ์™ธ๋ถ€(์‚ฌ์šฉ์ž)์˜ ์‹œ์„ ์—์„œ ๋ฌ˜์‚ฌ
  • Activity Diagram
    • ์ ˆ์ฐจ(workflow) ๋˜๋Š” ์ƒ๋ช…์ฃผ๊ธฐ๋ฅผ ๋ฌ˜์‚ฌ

๊ฐ์ฒด ๊ฐ„ ์ƒํ˜ธ์ž‘์šฉ

  • Interaction Diagram
    • ๊ฐ์ฒด๋“ค ๊ฐ„์˜ ์ƒํ˜ธ์ž‘์šฉ ๋ฐฉ๋ฒ•์„ ๋ฌ˜์‚ฌ
    • ๊ทธ ์ค‘์—์„œ๋„ Sequence Diagram์ด ๊ฐ€์žฅ ๋งŽ์ด ์‚ฌ์šฉ๋จ

์„ค๊ณ„ ๋‹จ๊ณ„

  • โญ Class Diagram
    • ํด๋ž˜์Šค ๊ฐ„์˜ ์ƒ์„ธํ•œ ๊ด€๊ณ„๋ฅผ ๋ฌ˜์‚ฌ
    • ์ฝ”๋“œ์™€ ๊ฐ€์žฅ ๋ฐ€์ ‘ํ•œ ๊ด€๊ณ„๋ฅผ ๊ฐ€์ง€๊ธฐ ๋•Œ๋ฌธ์— ๊ฐ€์žฅ ๋งŽ์ด ์‚ฌ์šฉ๋œ๋‹ค.

๊ฐ์ฒด๋“ค์˜ ๋™์ž‘์— ์ดˆ์ 

  • State Diagram
    • ๊ฐ์ฒด๊ฐ€ ๊ฐ€์ง€๋Š” ์—ฌ๋Ÿฌ ๊ฐ€์ง€ ์ƒํƒœ์™€ ์ƒํƒœ ๊ฐ„ ์ „ํ™˜์„ ๋ฌ˜์‚ฌ
    • ์ž„๋ฒ ๋””๋“œ ๋ถ„์•ผ์—์„œ ๋งŽ์ด ์‚ฌ์šฉ

์„ค์น˜ ๋‹จ๊ณ„

  • Deployment Diagram
    • ๊ฐ ๋ชจ๋“ˆ๋“ค์„ ์–ด๋””์— ์–ด๋–ป๊ฒŒ ๋ฐฐ์น˜ํ•  ๊ฒƒ์ธ์ง€๋ฅผ ๋ฌ˜์‚ฌ

UML ๋‹ค์ด์–ด๊ทธ๋žจ์˜ ์œ ํ˜•๋ณ„ ์ข…๋ฅ˜

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

  • ํด๋ž˜์Šค ๋‹ค์ด์–ด๊ทธ๋žจ
  • ๊ฐ์ฒด ๋‹ค์ด์–ด๊ทธ๋žจ
  • ์ปดํฌ๋„ŒํŠธ ๋‹ค์ด์–ด๊ทธ๋žจ
  • ๋ฐฐ์น˜ ๋‹ค์ด์–ด๊ทธ๋žจ
  • ๋ณตํ•ฉ์ฒด ๊ตฌ์กฐ ๋‹ค์ด์–ด๊ทธ๋žจ
  • ํŒจํ‚ค์ง€ ๋‹ค์ด์–ด๊ทธ๋žจ

ํ–‰์œ„ ๋‹ค์ด์–ด๊ทธ๋žจ

  • ์œ ์Šค์ผ€์ด์Šค ๋‹ค์ด์–ด๊ทธ๋žจ
  • ์‹œํ€€์Šค(์ˆœ์ฐจ) ๋‹ค์ด์–ด๊ทธ๋žจ
  • ์ปค๋ฎค๋‹ˆ์ผ€์ด์…˜
  • ์ƒํƒœ(State) ๋‹ค์ด์–ด๊ทธ๋žจ
  • ํ™œ๋™(Activity) ๋‹ค์ด์–ด๊ทธ๋žจ
  • ์ƒํ˜ธ์ž‘์šฉ(Interaction) ๋‹ค์ด์–ด๊ทธ๋žจ
  • ํƒ€์ด๋ฐ ๋‹ค์ด์–ด๊ทธ๋žจ

UML ๋‹ค์ด์–ด๊ทธ๋žจ ๋‚ด ๊ด€๊ณ„

  • ์—ฐ๊ด€, ์ง‘ํ•ฉ, ํ•ฉ์„ฑ, ์˜์กด, ์ผ๋ฐ˜ํ™”(์ƒ์†), ์‹ค์ฒดํ™”(๊ตฌํ˜„) ์กด์žฌ

์—ฐ๊ด€

  • ํด๋ž˜์Šค ์ž์ฒด์— ๋Œ€ํ•œ ์ฐธ์กฐ๋กœ, ์‚ฌ์šฉ ์ดํ›„์—๋„ ์ฐธ์กฐ๊ฐ€ ์œ ์ง€๋จ
  • ์‹ค์„  ํ™”์‚ดํ‘œ๋กœ ํ‘œํ˜„

์ง‘ํ•ฉ

  • ์—ฐ๊ด€์˜ ์ข…๋ฅ˜ ์ค‘ ํ•œ ๊ฐ€์ง€
  • ๋‚ด๋ถ€ ํ•„๋“œ๋กœ ์†Œ์œ ํ•˜๋ฉฐ ์ƒ๋ช…์ฃผ๊ธฐ๋ฅผ ๋‹ฌ๋ฆฌ ํ•จ
  • ์†์ด ๋นˆ ๋‹ค์ด์•„๋ชฌ๋“œ๋กœ ํ‘œํ˜„

์ปดํฌ์ง€์…˜ (๋ณตํ•ฉ ๋˜๋Š” ํฌํ•จ ๋˜๋Š” ํ•ฉ์„ฑ์ด๋ผ๊ณ ๋„ ๋ถ€๋ฆ„)

  • ์—ฐ๊ด€์˜ ์ข…๋ฅ˜ ์ค‘ ํ•œ ๊ฐ€์ง€
  • ๋‚ด๋ถ€ ํ•„๋“œ๋กœ ์†Œ์œ ํ•˜๋ฉฐ ์ƒ๋ช…์ฃผ๊ธฐ๋ฅผ ๊ฐ™์ด ํ•จ (๋‚ด๋ถ€์—์„œ ๊ฐ์ฒด๊ฐ€ ์ƒ์„ฑ๋จ)
  • ์†์ด ์ฐฌ ๋‹ค์ด์•„๋ชฌ๋“œ๋กœ ํ‘œํ˜„

์˜์กด

  • ํŠน์ • ํด๋ž˜์Šค๊ฐ€ ๋‹ค๋ฅธ ํด๋ž˜์Šค๋ฅผ ์ผ์‹œ์ ์œผ๋กœ ์ฐธ์กฐํ•  ๋•Œ ์ด๋ฅผ ์˜์กดํ•œ๋‹ค๊ณ  ํ•จ
  • ์ ์„  ํ™”์‚ดํ‘œ๋กœ ํ‘œ์‹œ

์ผ๋ฐ˜ํ™”

  • ์ƒ์†(is-a) ๊ด€๊ณ„๋ฅผ ์˜๋ฏธ
  • ์‹ค์„ , ์†์ด ๋นˆ ํ™”์‚ดํ‘œ๋กœ ๋‚˜ํƒ€๋ƒ„

์‹ค์ฒดํ™”(๊ตฌํ˜„)

  • ์ธํ„ฐํŽ˜์ด์Šค๋ฅผ ๊ตฌํ˜„๋ฐ›๋Š” ๊ฒƒ(has-a)์„ ์˜๋ฏธ
  • ์ ์„ , ์†์ด ๋นˆ ํ™”์‚ดํ‘œ(์ƒ๋žต ๊ฐ€๋Šฅ)๋กœ ๋‚˜ํƒ€๋ƒ„

์Šคํ…Œ๋ ˆ์˜ค ํƒ€์ž…

  • UML์—์„œ ๋ถ€๊ฐ€ ๊ธฐ๋Šฅ ํ‘œํ˜„์„ ์œ„ํ•ด ์‚ฌ์šฉ๋จ
  • << >> ์•ˆ์— ํ‘œํ˜„ ํ˜•ํƒœ ๊ธฐ์ˆ 
  • include, extend, interface, exception, constructor