--- 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를 사용할 수 없다는 메시지를 표시하고 유스케이스를 종료한다.