자격증/정보처리기사
유스케이스 연결선 4가지 완전 설명
키성열
2025. 4. 14. 20:06
반응형
유스케이스 다이어그램의 핵심 관계 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 | 항상 상속 | 하위 → 상위 | 공통 구조 추상화 및 계층 표현 |
반응형