UML - 유스케이스 다이어그램 (Use Case Diagram)
Architecture & Design Pattern 전체 링크
유스케이스 다이어그램 (Use Case Diagram)
- 시스템의 사용자 또는 액터(Actor)와 시스템이 제공하는 기능(Use Case) 간의 상호작용을 보여준다.
- 시스템의 내부 요소와 외부 요소를 결합하고, 사용자의 특정 요구 사항을 강조한다.
- 시스템의 상황을 묘사하고, 시스템의 청사진으로 작동할 수 있다.
- 사용자를 위한 다이어그램이므로 시스템의 기능이나 세부정보를 나타내지는 않는다.
유스케이스 (Use Case)
- 새로 만들어야 할 시스템이나 소프트웨어 변경 사항에 대한 요구 사항을 찾아내는 방법
- 사용자 또는 시스템 외부에서 시스템이 수행할 수 있는 작업 또는 시나리오
- 각 유스케이스는 시스템이 사용자의 요구사항을 어떻게 충족시키는지를 보여준다.
- 모든 유스케이스는 시작 시점과 종료 시점이 있다.
- 모든 유스케이스는 외부 사용자(액터, 외부 시스템)에 의해 시작된다.
- 유스케이스는 시스템이 어떻게 작동해야 하는지에 대한 기능 요구사항(Functional Requrements)이다.
- 좋은 유스케이스는 명확하고, 구체적이며, 시스템의 주요 기능을 잘 반영하고, 사용자 요구사항을 충족한다.
도메인 분석
- 주어진 문제 영역 또는 도메인에 대한 이해를 개발하는 프로세스
- 기존 시스템, 개발 인력, 지식, 이론, 기술 등을 바탕으로 도메인 관련 정보를 찾아서 구조화하는 프로세스
- 도메인 분석을 통해 유스케이스 다이어그램을 작성하면 효과적으로 의사소통을 할 수 있다.
시나리오
- 첫 단계부터 마지막 단계까지 유스케이스를 거치는 하나의 전체 경로
- 유스케이스는 몇 개의 다른 시나리오가 있지만, 시나리오는 항상 같은 사용자 목표를 가진다.
주 경로 (Main Success Paths / Scenario)
- 모든 작업이 제대로 진행되었을 때, 시스템의 일반적인 흐름
- 고객이 시스템에 대해 얘기할 때 이야기하는 것
- 유스케이스의 핵심 성공 시나리오를 설명하며, 시스템이 정상 동작할 때 발생하는 일을 보여준다.
대체 경로 (Alternative Paths / Scenarios)
- 주 경로와는 다른 사용자의 행동 또는 시스템의 반응을 기술
- 주 경로에서 벗어나는 상황이나 선택적인 동작 또는 대체할 방법을 나타내는 단계
- 사용자의 선택 또는 시스템의 특정 상태에 따라 발생할 수 있다.
- 주 경로에 추가 단계 또는 완전히 다른 경로를 통해 목적을 달성하도록 하는 단계일 수 있다.
예외 경로(Exception Paths / Scenarios)
- 예외적인 상황 또는 오류 조건
- 시스템이 정상적인 상태에서 벗어나거나 예상하지 못한 상황에 직면했을 때 어떻게 처리되는지를 설명
- 사용자의 잘못된 입력이나 시스템 오류와 같은 상황에 대응한다.
유스케이스 다이어그램 구성 요소
유스케이스는 액터 / 유스케이스 / 관계 / 시스템의 경계 등으로 구성된다.
액터(Actor)는 유스케이스를 단계별로 시작시킨다.
액터는 다음과 같은 사람 모양의 그림으로 표시된다.
유스케이스(Use Case)는 소프트웨어 시스템이 제공하는 기능이나 작업을 기술한 것이다.
모든 액터는 하나 이상의 Use Case에 연결되며, 시스템과 상호작용을 한다.
타원형 모양 안에 Use Case를 넣는다.
관계(Relationships)는 액터와 유스케이스 간의 사용 관계를 나타낸다.
화살표로 표시되고, 주로 액터가 유스케이스로 향하는 방향으로 나타낸다.
시스템의 경계(Boundary of the System)는 큰 직사각형으로 표시한다.
상황에 따라 전체 Application을 의미할 수도 있고, 단일 기능일 수도 있다
시스템 밖에 있는 액터가 시스템을 사용하게 된다.