유스케이스란?
유스케이스란?
유스케이스란(Use Case)란 무엇일까?
개발 프로젝트를 시작하면 늘 듣는 말이 있다.
“요구 사항을 먼저 정리하자.”
하지만 막상 요구사항을 문서로 정리하려고 하면 너무 추상적이거나, 반대로 지나치게 세세해져서 관리가 힘들어진다.
이 때 유용하게 쓸 수 있는 도구가 바로 유스케이스(Use Case) 이다. —
유스케이스란?
유스케이스는 사용자가 시스템을 통해 달성하고자 하는 목표를 시나리오 형태로 표현한 것이다.
즉, “사용자가 어떤 행동을 하고, 그에 따라 시스템은 어떻게 반응해야 하는가?”를 이야기식으로 풀어낸 문서이다.
- 사용자 관점에서 바라본다.
- 시스템이 제공해야 하는 기능을 드러낸다.
- 흐름(시나리오) 중심으로 작성한다.
유스케이스와 요구사항의 차이
유스케이스와 요구사항을 많이 헷갈리게 된다.
요구사항은 “무엇을 해야 한다” 라는 선언적 표현이고, 유스케이스는 그것을 “어떻게 흘러가는지” 를 구체적으로 보여준다.
- 요구사항: “사용자는 상품을 주문할 수 있어야 한다.”
- 유스케이스:
- 사용자가 상품을 선택하고 수량을 입력한다.
- 시스템이 재고를 확인한다.
- 재고가 충분하다면 주문을 생성한다.
- 결제 절차로 넘어간다.
- 예외: 재고가 부족하다면 주문이 실패한다. 즉, 요구사항이 정적이라면, 유스케이스는 동적이라고 볼 수 있다.
유스케이스의 구성 요소
유스케이스는 보통 다음과 같은 항목들로 기술한다.
- 액터(Actor): 시스템과 상호작용하는 주체 (ex:사용자, 다른 시스템 등)
- 시트템(System): 개발하려는 대상 (만들고자 하는 프로그램)
- 시나리오(Scenario): 액터가 시스템을 통해 달성하려는 목표
- 기본 흐름(Main Flow): 이상적인 상황에서의 단계별 절차
- 예외 흐름(Exception Flow): 에러나 조건 불만족으로 인해 발생하는 분기
유스케이스 작성 예시
유스케이스명: UC-01 장바구니에 제품 추가
- 액터(Actor): 고객
- 목표: 고객이 원하는 상품을 장바구니에 담는다.
- 사전 조건: 고객이 상품 상세 페이지에 접근한 상태여야 한다.
- 기본 흐름:
- 고객이 상품 상세 페이지에서 ‘장바구니 담기’ 버튼을 클릭한다.
- 시스템은 고객의 장바구니에 해당 상품과 수량(기본값 1개)을 추가한다.
- 시스템은 “장바구니에 상품이 추가되었습니다.” 라는 메시지를 표시한다.
- 고객은 장바구니로 이동하거나 쇼핑을 계속한다.
- 대체 흐름
- A1: 재고 부족:
- 고객이 ‘장바구니 담기’ 버튼을 클릭한다.
- 시스템은 해당 상품의 재고가 부족함을 확인한다.
- 시스템은 “재고가 부족하여 상품을 담을 수 없습니다.” 라는 메시지를 표시한다.
- A2: 로그인하지 않은 고객:
- 고객이 ‘장바구니 담기’ 버튼을 클릭한다.
- 시스템은 고객이 로그인 상태가 아님을 확인한다.
- 시스템은 “장바구니 기능은 로그인 후 이용 가능합니다. 로그인 페이지로 이동하시겠습니까?” 라는 메시지를 표시한다.
- 고객이 ‘예’를 선택하면 로그인 페이지로 이동한다.
- A1: 재고 부족:
- 사후 조건
- 조객의 장바구니에 선택한 상품이 추가된다.
- 상품의 실시간 재고가 1개 감소한다.
이 기사는 저작권자의 CC BY 4.0 라이센스를 따릅니다.