Class Diagram

λ‹€μ΄μ–΄κ·Έλž¨

  • Class Diagram

  • Use Case Diagram

  • Sequence Diagram

클래슀 λ‹€μ΄μ–΄κ·Έλž¨

μ •μ˜

μ‹œμŠ€ν…œμ˜ 정적인 면을 ν‘œν˜„ν•˜κΈ° μœ„ν•΄ 주둜 μ‚¬μš©λ˜λŠ” UML ꡬ쑰 λ‹€μ΄μ–΄κ·Έλž¨

클래슀, 클래슀 κ°„ 관계λ₯Ό 보여쀀닀.

ν‘œν˜„ μ˜ˆμ‹œ

  • 객체λͺ…

    객체λͺ…
  • 객체λͺ… + ν•„λ“œ

    객체λͺ…+ν•„λ“œ
  • 객체λͺ… + λ©”μ„œλ“œ

    객체λͺ…+λ©”μ„œλ“œ
  • 객체λͺ… + ν•„λ“œ + λ©”μ„œλ“œ

    객체λͺ…+ν•„λ“œ+λ©”μ„œλ“œ

μš©λ„μ— λ”°λ₯Έ ν‘œν˜„ μ˜ˆμ‹œ

  • 뢄석 단계: νƒ€μž…(μžλ£Œν˜•), κ°€μ‹œν™” 정보(μ ‘κ·Ό μ œμ–΄μž) μƒλž΅

    뢄석단계
  • 섀계 단계: νƒ€μž…(μžλ£Œν˜•), κ°€μ‹œν™” 정보(μ ‘κ·Ό μ œμ–΄μž) 포함

    섀계단계

클래슀 κ°„ 관계 ν‘œν˜„λ²•

  1. μ—°κ΄€ (Association) - ν•œ ν΄λž˜μŠ€κ°€ λ‹€λ₯Έ 클래슀λ₯Ό μ‚¬μš©

  2. μΌλ°˜ν™” (Generalization) - 상속 관계

  3. μ§‘ν•©

    3-1. μ§‘μ•½ (Aggregation) - 포함 관계λ₯Ό κ°€μ§€μ§€λ§Œ 독립적 λΌμ΄ν”„νƒ€μž„μ„ 가짐

    3-2. ν•©μ„± (Composition) - 포함 관계λ₯Ό κ°€μ§€λ©° 의쑴적 λΌμ΄ν”„νƒ€μž„μ„ 가짐

  4. 의쑴 (Dependency) - ν•œ ν΄λž˜μŠ€κ°€ λ‹€λ₯Έ 클래슀λ₯Ό 인자둜 λ°›μ•„ μ‚¬μš©

  5. 싀체화 (Realization) - μΈν„°νŽ˜μ΄μŠ€μ˜ κ΅¬ν˜„

μ—°κ΄€ (Association)

λ°©ν–₯μ„±

클래슀 κ°„ μ—°κ΄€ κ΄€κ³„λŠ” μ–‘λ°©ν–₯μ΄κ±°λ‚˜ 단방ν–₯이닀.

μ–‘λ°©ν–₯은 μ„ (β€”), 단방ν–₯은 ν™”μ‚΄ν‘œ(β†’)둜 ν‘œκΈ°ν•œλ‹€.

  • μ–‘λ°©ν–₯

    μ–‘λ°©ν–₯
  • 단방ν–₯

    단방ν–₯

    단방ν–₯인 경우 Aβ†’B이면 A만 Bλ₯Ό μ°Έμ‘°ν•˜κ³  BλŠ” A에 λŒ€ν•΄ μ•Œμ§€ λͺ»ν•¨μ„ λœ»ν•œλ‹€.

닀쀑성

클래슀 κ°„ μ—°κ°„ κ΄€κ³„λŠ” μΌλŒ€μΌ, μΌλŒ€λ‹€, λ‹€λŒ€λ‹€ 관계λ₯Ό κ°–λŠ”λ‹€.

  • μΌλŒ€μΌ (1:1)

    1:1
  • μΌλŒ€λ‹€ (1:N)

    1:N
  • λ‹€λŒ€λ‹€ (N:M)

    N:M

    λ‹€λŒ€λ‹€λŠ” μ—°κ΄€ 클래슀λ₯Ό λ§Œλ“€μ–΄ 두 개의 μΌλŒ€λ‹€ κ΄€κ³„λ‘œ λ§Œλ“€ 수 μžˆλ‹€.

    N:M(2)

μž¬κ·€

  • ν΄λž˜μŠ€κ°€ μž¬κ·€μ μœΌλ‘œ μ—°κ΄€λ˜λ‚˜ 사이클이 λ°œμƒν•˜μ§€λŠ” μ•ŠλŠ”λ‹€.

    μž¬κ·€
  • λ¦¬λˆ…μŠ€μ˜ 파일 계측 ꡬ쑰가 이에 ν•΄λ‹Ήν•œλ‹€.

μΌλ°˜ν™” (Generalization)

μ •μ˜

κ³΅ν†΅λœ νŠΉμ§•μ„ λ¬Άμ–΄ μΆ”μƒν΄λž˜μŠ€ λ˜λŠ” μΈν„°νŽ˜μ΄μŠ€λ‘œ μ •μ˜ν•œ λ’€ 상속 λ˜λŠ” κ΅¬ν˜„μ„ μ΄μš©ν•˜λŠ” 것

속이 빈 μ‹€μ„  ν™”μ‚΄ν‘œλ‘œ ν‘œκΈ°ν•œλ‹€.

μ˜ˆμ‹œ

  • κ°€μ „μ œν’ˆμ—λŠ” λ‹€μ–‘ν•œ μ œν’ˆμ΄ ν¬ν•¨λ˜κ³ , ν•΄λ‹Ή μ œν’ˆ λ˜ν•œ 세뢀적인 μΉ΄ν…Œκ³ λ¦¬λ₯Ό κ°€μ§ˆ 수 μžˆλ‹€.

    Generalization

μ§‘ν•© (Aggregation, Composition)

μ •μ˜

  • ν•œ 객체가 λ‹€λ₯Έ ν•˜λ‚˜λ₯Ό 포함

  • 각 객체의 λΌμ΄ν”„νƒ€μž„μ˜ 독립 의쑴 여뢀에 따라 μ§‘μ•½, ν•©μ„±μœΌλ‘œ λ‚˜λ‰œλ‹€.

  • 집합은 μ—°κ΄€(Association)의 νŠΉμˆ˜ν•œ κ²½μš°μ— ν•΄λ‹Ήν•œλ‹€. 즉, 연관에 ν¬ν•¨λœλ‹€.

μ§‘μ•½ (Aggregation)

  • 전체 객체와 λΆ€λΆ„ 객체의 λΌμ΄ν”„νƒ€μž„μ΄ 독립적인 포함 ꡬ쑰

  • 전체 객체가 사라져도 λΆ€λΆ„ κ°μ²΄λŠ” μœ νš¨ν•˜μ—¬ 사라지지 μ•ŠλŠ”λ‹€.

  • λΆ€λΆ„ 객체λ₯Ό μ—¬λŸ¬ 전체 객체가 κ³΅μœ ν•  수 μžˆλ‹€.

  • κ΅¬ν˜„ λ‹¨κ³„μ—μ„œλŠ” λΆ€λΆ„ 객체λ₯Ό λ³„λ„λ‘œ μƒμ„±ν•˜κ³  νŒŒλΌλ―Έν„°λ‘œ λ°›λŠ”λ‹€.

  • 빈 λ§ˆλ¦„λͺ¨λ‘œ ν‘œκΈ°ν•œλ‹€.

    Aggregation

ν•©μ„± (Composition)

  • 전체 객체와 λΆ€λΆ„ 객체의 λΌμ΄ν”„νƒ€μž„μ΄ 의쑴적인 포함 ꡬ쑰

  • 전체 객체가 사라지면 λΆ€λΆ„ κ°μ²΄λŠ” λΆˆμœ νš¨ν•΄μ Έ 사라진닀.

  • λΆ€λΆ„ 객체λ₯Ό μ—¬λŸ¬ 전체 객체가 κ³΅μœ ν•  수 μ—†λ‹€.

  • κ΅¬ν˜„ λ‹¨κ³„μ—μ„œλŠ” λΆ€λΆ„ 객체λ₯Ό 전체 객체 λ‚΄λΆ€μ˜ ν•„λ“œλ‘œ μƒμ„±ν•œλ‹€.

  • 꽉 μ°¬ λ§ˆλ¦„λͺ¨λ‘œ ν‘œκΈ°ν•œλ‹€.

    Composition

의쑴 (Dependency)

μ •μ˜

ν΄λž˜μŠ€κ°€ λ‹€λ₯Έ 클래슀λ₯Ό μ‚¬μš©ν•˜λŠ” μ„Έ κ°€μ§€ 방법이 μžˆλ‹€.

  1. 클래슀의 ν•„λ“œλ‘œ μ°Έμ‘° ν• λ‹Ή

  2. μ—°μ‚°μ˜ 인자(parameter)둜 μ‚¬μš©

  3. λ©”μ„œλ“œ λ‚΄λΆ€μ˜ μ§€μ—­ 객체

μ—¬κΈ°μ„œ 1번이 μ—°κ΄€, 2번이 의쑴, 3번이 합성에 ν•΄λ‹Ήν•œλ‹€.

점선 ν™”μ‚΄ν‘œλ‘œ ν‘œκΈ°ν•œλ‹€.

μ˜ˆμ‹œ

  • λˆ„κ΅°κ°€ μΆœκ·Όν•˜λ©΄μ„œ μžλ™μ°¨λ₯Ό 타고 μ£Όμœ μ†Œλ₯Ό μ΄μš©ν•œλ‹€κ³  ν•˜λ©΄, λ‹€μŒκ³Ό 같은 클래슀 λ‹€μ΄μ–΄κ·Έλž¨μ„ 그릴 수 μžˆλ‹€.

    Dependency
    • μ‚¬λžŒμ€ μžλ™μ°¨λ₯Ό μ΄μš©ν•˜λ˜, 항상 같은 μ°¨λ₯Ό μ΄μš©ν•œλ‹€. μžλ™μ°¨λ₯Ό λ°”κΎΈλŠ” 일은 거의 μ—†λ‹€.

    • μžλ™μ°¨λŠ” μ£Όμœ ν•  λ•Œ νŠΉμ • μ£Όμœ κΈ°λ§Œμ„ κ³ μ§‘ν•˜μ§€ μ•ŠλŠ”λ‹€. 맀번 λ‹€λ₯Έ 주유기λ₯Ό μ΄μš©ν•  수 μžˆλ‹€.

    • λ”°λΌμ„œ μ‚¬λžŒμ€ μžλ™μ°¨λ₯Ό ν•„λ“œλ‘œ μ†Œμœ ν•˜κ³ (μ‚¬μš©), μžλ™μ°¨λŠ” μ£Όμœ μ†Œμ— μ˜μ‘΄ν•œλ‹€.

싀체화 (Realization)

μ •μ˜

μ–΄λ–€ κ°μ²΄λ“€μ˜ κ³΅ν†΅λ˜λŠ” λŠ₯λ ₯, νŠΉμ§• 듀을 λͺ¨μ•„ μΈν„°νŽ˜μ΄μŠ€-κ΅¬ν˜„ ꡬ쑰λ₯Ό ν˜•μ„±

μ˜ˆμ‹œ

  • 비행기와 μƒˆλŠ” λ‚  수 μžˆλ‹€λŠ” 곡톡점이 μžˆλ‹€. 이λ₯Ό μΆ”μƒν™”ν•˜κ³  κ΅¬ν˜„ν•˜λ©΄ λ‹€μŒκ³Ό κ°™λ‹€.

    Realization

Last updated