---
tags: reference
---
# 유스케이스(Usecase)
요구 분석단계에서 작성하는 사용 시나리오
시스템과 사용자의 상호작용에 집중한다.
기본적으로 Diagram적으로 전체적 도식을 표현하고 기술서로 시나리오를 기술한다.
슬랙의 예시는 유스케이스 기술서의 형태를 취하고 있다.
### 다이어그램
유스케이스들의 관계를 표현한다. 여기서 사용자가 하는 동작(기능)이 모두 서술되고 그들의 관계가 정의된다. 관계는 아래와 같이 기술된다
1. include: 다른 케이스의 수행을 요청할 때 쓰이는 관계
- 예시: 글쓰기에 로그인
2. generalization: 특정 케이스에서 분화되는 관계
- 예시: 게시글 투표 <- 좋아요/싫어요
3. extended: 조건이 만족되는 경우에만 실행되는 관계
- 예시: 게시글 작성 <- 이미지 첨부
가장 주의해야 할 점은 다이어그램이 흐름도가 아니라는 점이다. 모든 기능은 개별적이되, 순서가 반드시 필요한 경우에만 include/extended되어야 한다. 대표적으로 로그인은 사용자의 행동과 직접적 연관이 없다.
### 기술서
각각의 유스케이스에 대한 상세 기술을 하는 과정이다.
일종의 시나리오가 기술되어 하나의 기능의 전체적인 흐름을 알 수 있게끔한다.
통상 들어가는 내용은
1. 이름
2. 액터(사용자)
3. 개요
4. 사전/사후 조건
5. 기본 흐름(성공 시나리오)
6. 대체 흐름(예외, 오류, 선택적 흐름)
[참고 1](https://m.blog.naver.com/ljh0326s/221001892737)
[참고 2](https://gnaseel.tistory.com/22)
### Sparta 1차 목표(실시간으로 위치를 띄워준다)의 Usecase 기술서
케이스명: 실시간 위치 표시
액터: 주 = 사용자 / 부 = 기기(GPS)
개요: 사용자의 위치 이동을 실시간으로 표시해준다.
사전조건
1. GPS기능이 사용 가능할것
기본 흐름
1. 사용자가 웹 어플리케이션에 접속한다.
2. 시스템은 기기의 GPS정보를 읽는다.
3. 시스템은 사용자의 현 위치를 지도에 표시해준다.
대체 흐름 1 => 이건 대체 흐름인가 아닌가...
3a. 사용자가 이동하는 경우
3a.1. 시스템은 기기의 GPS정보를 읽는다.
3a.2. 시스템은 사용자의 이동한 현 위치를 지도에 표시해준다.
대체 흐름 2
2a. 기기의 GPS정보를 읽지 못하는 경우(에러)
2a.1. 기본 지도 위치와 GPS를 사용할 수 없다는 메시지를 표시하고 유스케이스를 종료한다.