프로그래밍

유스케이스 (Usecase)

Victory_HA 2023. 4. 26. 15:37

객체지향의 사실과 오해 서적 참고

유스케이스(Usecase)

  • 유스케이스는 사용자의 목표를 달성하기 위해 사용자와 시스템 간에 이뤄지는 상호작용의 흐름을 텍스트로 정리한 것이다.

유스케이스 특징

1. 유스케이스는 사용자와 시스템 간 상호작용을 보여주는 '텍스트'다.

  • 유스케이스의 핵심은 사용자와 시스템 간의 상호작용을 일련의 이야기 흐름으로 표현하는 것이다.
  • 다이어그램에 노력을 쏟지 말고, 유스케이스에 담겨있는 이야기에 집중해야한다.

2. 하나의 시나리오가 아니라 여러 시나리오들의 집합이다.

  • 시나리오는 유스케이스를 통해 시스템을 사용하는 하나의 특정 이야기 또는 경로이다.
    • ex> 이자 계산이라는 유스케이스가 있다고 해보자, 이자 계산은 2개의 시나리오를 포함하는데
    • 첫번째 시나리오: 예금주가 계좌를 선택하고 당일까지의 이자액을 계산한다.
    • 두번째 시나리오: 예금주가 계좌를 선택하고 특정일까지 이자액을 계산한다.
  • 즉, 유스케이스는 사용자 목표를 가지는 시나리오들의 집합이라고 할 수 있다.

3. 단순한 피처(feature)목록은 아니다.

  • 피처 란, 시스템의 기능을 하나하나 전부 열거한 것이다.
    • 각 기능 별 연관성 없이 열거한 것이 피처이다.
  • 유스케이스는 각 기능들을 하나의 큰 카테고리로 묶어, 기능들을 연관짓게 하는 것이라고 볼 수 있다.

4. 사용자 인터페이스와 관련된 세부 정보를 포함하면 안된다.

  • 유스케이스는 사용자 관점에서 시스템의 행위에 초점을 맞춰 작성해야한다.
  • 사용자 인터페이스를 배제한 형식을 본질적인 유스케이스(essential usecase)라고 한다.

5. 내부 설계와 관련된 정보를 포함하면 안된다.

  • 마찬가지로 사용자 관점에서 시스템의 기능을 유스케이스로 표현해야하지, 내부 설계를 설명하는것이 아니다.

'프로그래밍' 카테고리의 다른 글

[클린코드] 6장 객체와 자료구조  (0) 2023.10.15
Architecture Decision Record (ADR)이란?  (0) 2023.05.27
VisualStudio Copilot 설치하기  (0) 2023.03.30
[MinIO] MinIO Windows에 설치하기  (0) 2023.03.10
Zero Copy 란?  (0) 2023.03.05