자격증/정보처리기사

유스케이스 연결선 4가지 완전 설명

키성열 2025. 4. 14. 20:06
반응형
유스케이스 연결선 4가지 완전 설명

유스케이스 다이어그램의 핵심 관계 4가지

― Association, Include, Extend, Generalization 완전 정리

1. Association (연관 관계)

정의: Actor와 Use Case 간의 기본적인 기능 수행 관계로, “누가 어떤 기능을 수행하는가”를 나타냅니다.

도식:

[고객] ─────────→ (상품 검색)

사용 시점: 사용자가 시스템 기능을 직접 요청할 때

사용 목적: 기능 호출의 기본 구조 표현

예시:

  • 고객 → 주문하기
  • 관리자 → 회원 삭제
  • 결제 API → 결제 요청

오해 방지:

  • 화살표는 필수 아님
  • Actor와 유스케이스만 연결할 수 있음 (유스케이스 간 아님)

2. Include (포함 관계)

정의: 하나의 유스케이스가 반드시 다른 유스케이스를 포함하여 실행할 때 사용합니다.

도식:

(주문하기) ────<>────▶ (결제하기)

사용 시점: 공통 기능을 분리하고 여러 유스케이스에서 재사용할 때

사용 목적: 구조적 모듈화, 중복 제거

예시:

  • (회원가입) → (본인 인증)
  • (상품 주문) → (재고 확인)

오해 방지:

  • Include는 항상 실행됨
  • 조건부 아님 (Extend와 구분 필요)

3. Extend (확장 관계)

정의: 특정 조건에서만 확장 유스케이스가 수행되는 관계입니다. 부가 기능, 예외 흐름에 사용됩니다.

도식:

(결제하기) ◀──<>── (쿠폰 적용)

사용 시점: 조건부 실행 또는 예외 상황이 있는 경우

사용 목적: 기본 흐름의 단순화, 부가 기능 분리

예시:

  • (상품 주문) ← (포인트 사용)
  • (회원 탈퇴) ← (설문 응답)

오해 방지:

  • Extend는 조건부 실행
  • 항상 실행되는 include와 다름

4. Generalization (일반화 관계)

정의: 공통 기능을 가진 Actor나 Use Case를 상위 개념으로 두고, 하위 개념이 이를 상속하는 구조입니다.

도식:

(회원 등록) ◁──── (관리자 등록)
[사용자] ◁──── [관리자]

사용 시점: 여러 개체가 공통 기능을 공유하면서도 구체화가 필요할 때

사용 목적: 계층 구조 정리, 코드 구조 재사용

예시:

  • Actor: [고객] ← [VIP 고객], [비회원]
  • Use Case: (파일 업로드) ← (이미지 업로드), (문서 업로드)

오해 방지:

  • 일반화는 실행 흐름이 아님 → 단지 “상속 구조” 표현
  • 상위 개념도 독립 실행 가능함

5. 핵심 비교 요약표

관계 대상 실행 조건 방향성 설명
Association Actor ↔ Use Case 기본 실행 양방향 사용자가 기능을 호출함
Include Use Case ↔ Use Case 항상 실행 주 → 포함 공통 기능 재사용
Extend Use Case ↔ Use Case 조건부 실행 확장 → 기본 예외 흐름, 부가 기능 분리
Generalization Actor 또는 Use Case 항상 상속 하위 → 상위 공통 구조 추상화 및 계층 표현
반응형