유스케이스 다이어그램(Use Case Diagram) 쉽게 이해하기! 😄
유스케이스 다이어그램은 시스템의 기능을 사용자(액터) 관점에서 표현하는 다이어그램이에요. 사용자가 시스템을 어떻게 이용하는지 시각적으로 표현하여 요구사항 분석 및 시스템 설계를 쉽게 이해할 수 있도록 돕는 UML(통합 모델링 언어) 기법이에요. 📊📝🔍
쉽게 말해, 유스케이스 다이어그램은 "시스템이 제공하는 기능을 사용자의 입장에서 그림으로 표현한 것"이에요. 예를 들어, 온라인 쇼핑몰에서 '상품 검색', '장바구니 담기', '결제' 등의 기능을 사용자와 연결하는 방식이에요.
예시:
- 사용자가 쇼핑몰에서 상품을 검색하는 과정.
- 은행 고객이 계좌 잔액을 조회하고 이체하는 기능.
- 도서관 관리 시스템에서 책을 대출하고 반납하는 절차.
유스케이스 다이어그램의 목적 🎯
1️⃣ 시스템 요구사항 명확화
- 사용자가 시스템과 어떻게 상호작용하는지 정의하여 요구사항을 명확히 함.
- 예: 온라인 쇼핑몰에서 ‘주문’ 및 ‘결제’ 절차 정의.
2️⃣ 이해관계자 간의 의사소통 도구
- 개발자, 기획자, 고객 간 시스템의 기능적 요구사항을 쉽게 공유.
- 예: 개발 회의에서 시각적 표현으로 커뮤니케이션 향상.
3️⃣ 시스템 범위 정의
- 시스템의 기능 범위 및 역할을 정의하여 프로젝트 초기에 명확한 경계를 설정.
- 예: 은행 서비스에서 고객과 관리자의 역할 구분.
4️⃣ 기능 우선순위 설정
- 핵심 기능과 부가 기능을 구분하여 개발의 우선순위를 설정.
- 예: MVP(최소 기능 제품) 정의 시 유용.
유스케이스 다이어그램의 구성 요소 🏗️
유스케이스 다이어그램은 주요 객체와 관계로 구성되며, 다음과 같은 핵심 요소들이 포함돼요.
1️⃣ 액터(Actor)
- 시스템과 상호작용하는 사용자 또는 외부 시스템을 나타냄.
- 예: 고객, 관리자, 제3자 시스템.
2️⃣ 유스케이스(Use Case)
- 시스템이 제공하는 기능(서비스)을 나타내며, 타원형으로 표현.
- 예: 주문하기, 로그인, 결제하기.
3️⃣ 시스템(System Boundary)
- 유스케이스와 액터 간의 상호작용이 이루어지는 시스템의 범위를 나타냄.
- 예: 은행 거래 시스템의 범위 정의.
4️⃣ 연관(Association)
- 액터와 유스케이스 간의 관계를 직선으로 연결하여 표현.
- 예: 고객 → 주문하기.
5️⃣ 확장(Extend) 관계
- 특정 조건에서 실행되는 기능을 확장하여 표현.
- 예: ‘결제하기’ 유스케이스에 ‘할인 적용’이 확장될 수 있음.
6️⃣ 포함(Include) 관계
- 공통적으로 필요한 기능을 재사용하는 관계를 표현.
- 예: ‘주문하기’는 항상 ‘로그인’을 포함해야 함.
유스케이스 다이어그램의 작성 절차 📝
유스케이스 다이어그램을 작성하는 절차는 다음과 같이 진행돼요.
단계설명
단계 | 설명 |
1️⃣ | 시스템의 주요 액터 식별 (사용자 역할 파악) |
2️⃣ | 주요 기능(유스케이스) 도출 |
3️⃣ | 액터와 유스케이스 간의 관계 정의 |
4️⃣ | 확장 및 포함 관계 파악 및 추가 |
5️⃣ | 시스템 경계를 정의하고 전체 다이어그램 구성 |
유스케이스 다이어그램 작성 예시 📊
온라인 쇼핑몰 유스케이스 다이어그램 예시
유스케이스 다이어그램의 적용 사례 👀
① 온라인 쇼핑몰 시스템
- 고객이 상품 검색, 주문, 결제를 수행하는 과정을 다이어그램으로 시각화.
예시: "쇼핑몰 UX 개선을 위한 기능 도출."
② 은행 전산 시스템
- 고객의 잔액 조회, 송금, 계좌 개설 등의 절차를 표현.
예시: "모바일 뱅킹 시스템 요구사항 분석."
③ 병원 예약 시스템
- 환자가 진료 예약을 하고, 의사가 일정 관리하는 과정 모델링.
예시: "환자 중심의 예약 서비스 구현."
④ 교통관리 시스템
- 운전자가 티켓 구매, 경로 확인 등의 기능을 수행하는 과정 표현.
예시: "대중교통 자동화 프로젝트."
⑤ 인사관리 시스템
- 직원이 근태 조회 및 급여 명세 확인을 수행하는 시스템의 범위를 정의.
예시: "기업의 인사 프로세스 자동화."
유스케이스 다이어그램의 장점 및 단점 ⚖️
항목장점단점
항 목 | 장 점 | 단 점 |
이해도 | 시스템의 기능을 시각적으로 표현해 누구나 쉽게 이해 가능 | 상세한 논리적 흐름까지 설명하기 어려움 |
의사소통 | 개발팀과 고객 간의 원활한 커뮤니케이션 도구 | 복잡한 시스템에서는 다이어그램이 과밀해질 수 있음 |
요구사항 | 시스템 요구사항을 명확하게 도출 가능 | 비기능적 요구사항 표현이 어려움 |
정보관리기술사 시험에 문제가 나온다면... 📝
유스케이스 다이어그램은 소프트웨어 개발의 초기 요구사항 분석 및 설계를 위한 핵심 기법으로, 시험에서는 다음 내용을 포함해 답안을 구성하세요.
① 유스케이스 다이어그램의 정의와 필요성
"유스케이스 다이어그램은 사용자의 요구사항을 시각적으로 표현하여 시스템의 기능적 요구사항을 정의하는 UML 모델입니다."
② 유스케이스 다이어그램의 주요 구성 요소
액터, 유스케이스, 시스템 경계, 포함 및 확장 관계의 설명을 포함하세요.
③ 유스케이스 다이어그램의 작성 절차
요구사항 도출, 액터 식별, 유스케이스 정의, 관계 표현 등의 절차를 기술하세요.
④ 유스케이스 다이어그램의 적용 사례
온라인 쇼핑몰, 은행, 병원 시스템의 사례를 들어 설명하세요.
예시 답변 마무리:
"유스케이스 다이어그램은 시스템의 기능적 요구사항을 명확하게 정의하고, 개발자와 이해관계자 간 원활한 소통을 돕는 중요한 도구입니다."
'03_SW(소프트웨어 공학) > UML 및 디자인 패턴' 카테고리의 다른 글
클래스다이어그램(Class Diagram) (4) | 2025.01.23 |
---|