포스트

유스케이스란?

유스케이스란?

유스케이스란(Use Case)란 무엇일까?

개발 프로젝트를 시작하면 늘 듣는 말이 있다.
“요구 사항을 먼저 정리하자.”
하지만 막상 요구사항을 문서로 정리하려고 하면 너무 추상적이거나, 반대로 지나치게 세세해져서 관리가 힘들어진다.
이 때 유용하게 쓸 수 있는 도구가 바로 유스케이스(Use Case) 이다. —

유스케이스란?

유스케이스는 사용자가 시스템을 통해 달성하고자 하는 목표를 시나리오 형태로 표현한 것이다.
즉, “사용자가 어떤 행동을 하고, 그에 따라 시스템은 어떻게 반응해야 하는가?”를 이야기식으로 풀어낸 문서이다.

  • 사용자 관점에서 바라본다.
  • 시스템이 제공해야 하는 기능을 드러낸다.
  • 흐름(시나리오) 중심으로 작성한다.

유스케이스와 요구사항의 차이

유스케이스와 요구사항을 많이 헷갈리게 된다.
요구사항은 “무엇을 해야 한다” 라는 선언적 표현이고, 유스케이스는 그것을 “어떻게 흘러가는지” 를 구체적으로 보여준다.

  • 요구사항: “사용자는 상품을 주문할 수 있어야 한다.”
  • 유스케이스:
    • 사용자가 상품을 선택하고 수량을 입력한다.
    • 시스템이 재고를 확인한다.
    • 재고가 충분하다면 주문을 생성한다.
    • 결제 절차로 넘어간다.
    • 예외: 재고가 부족하다면 주문이 실패한다. 즉, 요구사항이 정적이라면, 유스케이스는 동적이라고 볼 수 있다.

유스케이스의 구성 요소

유스케이스는 보통 다음과 같은 항목들로 기술한다.

  • 액터(Actor): 시스템과 상호작용하는 주체 (ex:사용자, 다른 시스템 등)
  • 시트템(System): 개발하려는 대상 (만들고자 하는 프로그램)
  • 시나리오(Scenario): 액터가 시스템을 통해 달성하려는 목표
  • 기본 흐름(Main Flow): 이상적인 상황에서의 단계별 절차
  • 예외 흐름(Exception Flow): 에러나 조건 불만족으로 인해 발생하는 분기

유스케이스 작성 예시

유스케이스명: UC-01 장바구니에 제품 추가

  • 액터(Actor): 고객
  • 목표: 고객이 원하는 상품을 장바구니에 담는다.
  • 사전 조건: 고객이 상품 상세 페이지에 접근한 상태여야 한다.
  • 기본 흐름:
    1. 고객이 상품 상세 페이지에서 ‘장바구니 담기’ 버튼을 클릭한다.
    2. 시스템은 고객의 장바구니에 해당 상품과 수량(기본값 1개)을 추가한다.
    3. 시스템은 “장바구니에 상품이 추가되었습니다.” 라는 메시지를 표시한다.
    4. 고객은 장바구니로 이동하거나 쇼핑을 계속한다.
  • 대체 흐름
    • A1: 재고 부족:
      • 고객이 ‘장바구니 담기’ 버튼을 클릭한다.
      • 시스템은 해당 상품의 재고가 부족함을 확인한다.
      • 시스템은 “재고가 부족하여 상품을 담을 수 없습니다.” 라는 메시지를 표시한다.
    • A2: 로그인하지 않은 고객:
      • 고객이 ‘장바구니 담기’ 버튼을 클릭한다.
      • 시스템은 고객이 로그인 상태가 아님을 확인한다.
      • 시스템은 “장바구니 기능은 로그인 후 이용 가능합니다. 로그인 페이지로 이동하시겠습니까?” 라는 메시지를 표시한다.
      • 고객이 ‘예’를 선택하면 로그인 페이지로 이동한다.
  • 사후 조건
    • 조객의 장바구니에 선택한 상품이 추가된다.
    • 상품의 실시간 재고가 1개 감소한다.
이 기사는 저작권자의 CC BY 4.0 라이센스를 따릅니다.