예약 서비스의 사용자는 무엇을 할까?
관리자라면 다른 기능이 필요할 것이다.
전체 예약을 조회하고, 운영 시간을 변경하고, 특정 예약을 처리할 수도 있다.
ACTOR 01사용자서비스를 이용한다
예약하기
예약 조회
예약 취소
회원 정보 확인
ACTOR 02관리자서비스를 운영한다
전체 예약 조회
운영 시간 변경
예약 처리
ACTOR누가 시스템과 만나는가사용자·관리자처럼 시스템 밖에서 기능을 요청하는 주체를 먼저 찾는다.
USE CASE그 주체가 무엇을 하려는가예약하기·조회하기처럼 사용자의 목적이 되는 기능을 적는다.
유스케이스는 내부 구현을 설명하는 그림이 아니다. 데이터베이스 테이블이나 클래스 구조보다, 사용자가 시스템을 통해 이루려는 목적을 먼저 보여준다.
기능을 사용자의 관점에서 바라보다
여기서 중요한 것은 프로그램 내부의 코드가 아니다. 사용자가 시스템을 통해 이루고 싶은 목표다.
기술 이름
시스템과 상호작용하는 사람이나 외부 시스템을
액터(Actor)라고 하고,
액터가 시스템을 이용해 수행하는 기능을
유스케이스(Use Case)라고 한다.
사용자 → 예약하기
사용자 → 예약 조회하기
사용자 → 예약 취소하기
관리자 → 예약 현황 관리하기
사용자 → 예약 조회하기
사용자 → 예약 취소하기
관리자 → 예약 현황 관리하기
이렇게 정리하면 시스템의 범위가 보이기 시작한다.
기능끼리도 관계가 있다
어떤 기능은 항상 다른 기능을 포함할 수 있고, 특정 상황에서만 추가 기능이 실행되기도 한다.
또 여러 액터가 공통된 특성을 가질 수도 있다.