Contents

UML (Unified Modeling Language)에 λŒ€ν•˜μ—¬

   Apr 17, 2024     1 min read

UML (Unified Modeling Language)에 λŒ€ν•˜μ—¬ μ•Œμ•„λ³Έ κΈ€μž…λ‹ˆλ‹€.

μ•ˆλ…•ν•˜μ„Έμš”!

μ˜€λŠ˜μ€ UML (Unified Modeling Language)에 λŒ€ν•΄ μ•Œμ•„λ³΄κ³ , UML의 κ΅¬μ„±μš”μ†Œμ™€ λ‹€μ΄μ–΄κ·Έλž¨ μ’…λ₯˜μ— λŒ€ν•΄ μ†Œκ°œν•΄λ“œλ¦¬κ² μŠ΅λ‹ˆλ‹€.

글을 본격적으둜 μ‹œμž‘ν•˜κΈ°μ— μ•žμ„œ,

β€”μ˜€λŠ˜μ˜ TMIβ€”

μ˜€λŠ˜λΆ€ν„° 살을 μ’€ 빼보렀 ν•©λ‹ˆλ‹€!

졜근 λ„ˆλ¬΄ μ•‰μ•„λ§Œ μžˆλ‹€λ³΄λ‹ˆ 살이 많이 찐 것 κ°™μ•„μ„œμš”.

콀푸차도 사고, μ–‘λ°°μΆ” μ°œλ„ λ¨Ήκ³  ν•˜κ³  μžˆμŠ΅λ‹ˆλ‹€!

μ—¬λŸ¬λΆ„μ€ λ‹€μ΄μ–΄νŠΈλ₯Ό μœ„ν•΄ 식단 관리λ₯Ό ν•˜μ‹œλ‚˜μš”??

β€”TMI 끝—

κΈ€λ‘œ λŒμ•„κ°€κ² μŠ΅λ‹ˆλ‹€!

UML κ°œμš”

UML은 μ†Œν”„νŠΈμ›¨μ–΄ 개발 κ³Όμ •μ—μ„œ μ‚¬μš©λ˜λŠ” ν‘œμ€€ν™”λœ λͺ¨λΈλ§ μ–Έμ–΄λ‘œ, μ‹œμŠ€ν…œμ˜ ꡬ쑰와 λ™μž‘μ„ μ‹œκ°μ μœΌλ‘œ ν‘œν˜„ν•˜κΈ° μœ„ν•΄ μ‚¬μš©λ©λ‹ˆλ‹€.

UML은 사물, 관계, λ‹€μ΄μ–΄κ·Έλž¨μœΌλ‘œ κ΅¬μ„±λ˜μ–΄ μžˆμŠ΅λ‹ˆλ‹€.

UML의 κ΅¬μ„±μš”μ†Œ

  • 사물(Elements): UMLμ—μ„œλŠ” μ‹œμŠ€ν…œμ„ κ΅¬μ„±ν•˜λŠ” μš”μ†Œλ“€μ„ μ‚¬λ¬Όλ‘œ ν‘œν˜„ν•©λ‹ˆλ‹€. 클래슀, 객체, μΈν„°νŽ˜μ΄μŠ€, νŒ¨ν‚€μ§€ 등이 사물에 ν•΄λ‹Ήλ©λ‹ˆλ‹€. μ΄λŸ¬ν•œ 사물듀은 μ‹œμŠ€ν…œμ˜ ꡬ쑰λ₯Ό ν‘œν˜„ν•˜κ³ , 속성과 λ™μž‘μ„ 가지며, μ„œλ‘œ μ—°κ΄€λ˜μ–΄ μžˆμŠ΅λ‹ˆλ‹€.
  • 관계(Relationships): UMLμ—μ„œλŠ” 사물듀 κ°„μ˜ 관계λ₯Ό ν‘œν˜„ν•©λ‹ˆλ‹€. 상속, μ—°κ΄€, 의쑴, 집합 λ“± λ‹€μ–‘ν•œ 관계λ₯Ό μ‚¬μš©ν•˜μ—¬ 사물듀 κ°„μ˜ μ—°κ²°κ³Ό μ˜μ‘΄μ„±μ„ ν‘œν˜„ν•  수 μžˆμŠ΅λ‹ˆλ‹€.
  • λ‹€μ΄μ–΄κ·Έλž¨(Diagrams): UMLμ—μ„œλŠ” 사물과 관계λ₯Ό μ‹œκ°μ μœΌλ‘œ ν‘œν˜„ν•˜λŠ” λ‹€μ΄μ–΄κ·Έλž¨μ„ μ‚¬μš©ν•©λ‹ˆλ‹€. λ‹€μ΄μ–΄κ·Έλž¨μ€ μ‹œμŠ€ν…œμ˜ νŠΉμ • 츑면을 λ‚˜νƒ€λ‚΄λ©°, μ†Œν”„νŠΈμ›¨μ–΄ κ°œλ°œμžλ“€ μ‚¬μ΄μ—μ„œ μ˜μ‚¬μ†Œν†΅κ³Ό 이해λ₯Ό λ•λŠ” μ€‘μš”ν•œ λ„κ΅¬μž…λ‹ˆλ‹€.

UML λ‹€μ΄μ–΄κ·Έλž¨ μ’…λ₯˜

  • 클래슀 λ‹€μ΄μ–΄κ·Έλž¨(Class Diagram): μ‹œμŠ€ν…œμ˜ ν΄λž˜μŠ€μ™€ 클래슀 κ°„μ˜ 관계λ₯Ό ν‘œν˜„ν•˜λŠ” λ‹€μ΄μ–΄κ·Έλž¨μž…λ‹ˆλ‹€. 클래슀의 속성, μ—°μ‚°, λ©”μ„œλ“œ, 상속, μ—°κ΄€ 등을 ν‘œν˜„ν•˜μ—¬ μ‹œμŠ€ν…œμ˜ ꡬ쑰λ₯Ό λ³΄μ—¬μ€λ‹ˆλ‹€.
  • μ‹œν€€μŠ€ λ‹€μ΄μ–΄κ·Έλž¨(Sequence Diagram): μ‹œμŠ€ν…œμ˜ λ™μž‘μ„ μ‹œκ°„ μˆœμ„œμ— 따라 ν‘œν˜„ν•˜λŠ” λ‹€μ΄μ–΄κ·Έλž¨μž…λ‹ˆλ‹€. 객체 κ°„μ˜ μƒν˜Έμž‘μš©κ³Ό λ©”μ‹œμ§€ 흐름을 λ³΄μ—¬μ€ŒμœΌλ‘œμ¨ μ‹œμŠ€ν…œμ˜ λ™μž‘μ„ μ‹œκ°μ μœΌλ‘œ 이해할 수 μžˆμŠ΅λ‹ˆλ‹€.
  • μƒνƒœ λ‹€μ΄μ–΄κ·Έλž¨(State Diagram): μ‹œμŠ€ν…œμ˜ 동적인 μƒνƒœλ₯Ό ν‘œν˜„ν•˜λŠ” λ‹€μ΄μ–΄κ·Έλž¨μž…λ‹ˆλ‹€. 사물이 κ°€μ§ˆ 수 μžˆλŠ” μƒνƒœμ™€ μƒνƒœ κ°„μ˜ 전이λ₯Ό λ³΄μ—¬μ€ŒμœΌλ‘œμ¨ μ‹œμŠ€ν…œμ˜ λ™μž‘ 흐름을 이해할 수 μžˆμŠ΅λ‹ˆλ‹€.
  • μ»΄ν¬λ„ŒνŠΈ λ‹€μ΄μ–΄κ·Έλž¨(Component Diagram): μ‹œμŠ€ν…œμ„ κ΅¬μ„±ν•˜λŠ” μ»΄ν¬λ„ŒνŠΈλ“€κ³Ό μ»΄ν¬λ„ŒνŠΈ κ°„μ˜ 관계λ₯Ό ν‘œν˜„ν•˜λŠ” λ‹€μ΄μ–΄κ·Έλž¨μž…λ‹ˆλ‹€. μ‹œμŠ€ν…œμ˜ ꡬ성 μš”μ†Œλ“€μ„ μ‹œκ°μ μœΌλ‘œ ν‘œν˜„ν•˜μ—¬ μ‹œμŠ€ν…œμ˜ ꡬ쑰λ₯Ό νŒŒμ•…ν•  수 μžˆμŠ΅λ‹ˆλ‹€.
  • 배치 λ‹€μ΄μ–΄κ·Έλž¨(Deployment Diagram): μ‹œμŠ€ν…œμ˜ 물리적인 배치λ₯Ό ν‘œν˜„ν•˜λŠ” λ‹€μ΄μ–΄κ·Έλž¨μž…λ‹ˆλ‹€. ν•˜λ“œμ›¨μ–΄, μ†Œν”„νŠΈμ›¨μ–΄, λ„€νŠΈμ›Œν¬ λ“±μ˜ ꡬ성 μš”μ†Œλ“€ κ°„μ˜ 관계와 배치λ₯Ό λ³΄μ—¬μ€ŒμœΌλ‘œμ¨ μ‹œμŠ€ν…œμ˜ 배치λ₯Ό 이해할 수 μžˆμŠ΅λ‹ˆλ‹€.

마치며

μ΄μƒμœΌλ‘œ UML의 κ°œλ…κ³Ό κ΅¬μ„±μš”μ†Œ, 그리고 λ‹€μ΄μ–΄κ·Έλž¨ μ’…λ₯˜μ— λŒ€ν•΄ κ°„λž΅νžˆ μ†Œκ°œν•΄λ“œλ ΈμŠ΅λ‹ˆλ‹€.

UML은 μ†Œν”„νŠΈμ›¨μ–΄ 개발 κ³Όμ •μ—μ„œ μ€‘μš”ν•œ λ„κ΅¬λ‘œ μ‚¬μš©λ˜λ©°, 효과적인 μ‹œμŠ€ν…œ λͺ¨λΈλ§κ³Ό 섀계λ₯Ό μœ„ν•΄ κΌ­ μ•Œμ•„λ‘μ‹œλ©΄ μ’‹μŠ΅λ‹ˆλ‹€.

κ°μ‚¬ν•©λ‹ˆλ‹€!