CS

[CS] 소프트웨어 설계 - UML 다이어그램(클래스/유스케이스)

y_lime 2025. 1. 19. 15:05

① 클래스 다이어그램

클래스 다이어그램은 객체 지향 모델링 간 시클래스의 속성 및 연산과 클래스 간 정적인 관계를 표현한 다이어그램이다.

즉, 클래스 간의 관계와클래스의 속성을 표현한다.

 

◼︎ 클래스 다이어그램 구성 요소

구성 요소 4가지 

  • 이름
  • 속성
  • 연산
  • 접근 제어자
구성요소 설명
클래스 이름 (Class Name) - 클래스의 이름
속성 (Attribute) - 클래스의 특징에 이름을 부여
연산 (Operation) - 클래스에 속하는 객체에 적용될 메서드를 정의
- 클래스가 수행하는 책임
- 클래스의 동작을 의미하여, UML에서는 동작에 대한 인터페이스를 지칭
접근 제어자 (Access Modifier) 클래스에 접근할 수있는 정도를 표현
- : 클래스 내부 접근만 허용 (private)
+ : 클래스 외부 접근을 혀용 (public)
# : 동일 패키지 및 파생 클래스에서 접근 가능 (protected)
~ : 동일 패키지 클래스에서 접근 가능 (default)

 

1. Animal (부모 클래스)

  • 속성 (Attributes):
    • age: Int
      동물의 나이를 나타내는 정수형 속성.
    • gender: String
      동물의 성별을 나타내는 문자열 속성.
  • 메서드 (Methods):
    • isMammal(): void
      동물이 포유류인지 확인하는 메서드. 반환값은 없으며, 동작은 구체적으로 정의되지 않음.
    • introduce(String): void
      전달받은 문자열을 사용하여 동물을 소개하는 메서드. 반환값은 없음.

2. Duck (Animal을 상속받은 클래스)

  • 속성 (Attributes):
    • beakColor: String = "yellow"
      부리의 색을 나타내는 속성으로, 기본값은 "yellow"로 설정됨.
  • 메서드 (Methods):
    • swim(): void
      오리가 수영하는 동작을 구현하는 메서드. 반환값은 없음.
    • quak(): void
      오리가 울음소리("꽥꽥")를 내는 동작을 구현하는 메서드. 반환값은 없음.

3. Fish (Animal을 상속받은 클래스)

  • 속성 (Attributes):
    • sizeInFt: Int
      물고기의 크기를 나타내는 속성으로, 단위는 피트(ft).
  • 메서드 (Methods):
    • swim(): void
      물고기가 수영하는 동작을 구현하는 메서드. 반환값은 없음.

② 유스케이스 다이어그램

유스케이스 다이어그램은 시스템이 제공하고 있는 기능 및 그와 관련된 외부 요소를 사용자의 관점에서 표현하는 다이어그램이다.

(개발자의 요구를 추출하고 분석하기 위한 것이 아니다 !!!)

◼︎ 유스케이스 다이어그램 구성 요소

구성요소 3가지

  • 유스케이스
  • 액터
  • 시스템

 

◼︎ 유스케이스 다이어그램 구성 요소 간의 관계

구성요소 간의 관계 4가지

  • 연관 관계 (Association)
  • 포함 관계 (Include)
  • 확장 관계 (Exclude)
  • 일반화 관계 (Generalization)

 

이를 모두 적용한 결과를 보면 아래와 같은 예시가 생긴다.