시스템에서 제공해야 하는 기능이나 서비스를 명세한 다이어그램이다.
사용자와 시스템 사이의 상호작용에 집중하는 것이 특징이다.
외부에서 본 시스템의 기능을 표현하기 때문에, 실제 내부의 비즈니스 로직이 아닌, 사용자가 수행하는 기능을 파악하고 싶을 때 작성한다.
유스케이스 다이어그램은 시스템(System), 액터(Actor), 유스케이스(Usecase), 관계(Relation)로 구성되어 있다.
만들고자 하는 프로그램을 나타낸다.
시스템의 범위를 제한하고 흐름이 일어나는 영역의 경계를 표시한다.
사각형으로 표기
시스템의 외부에서 시스템과 상호작용하는 대상(사용자, 다른 시스템)을 의미한다.
시스템을 사용하고, 직접 이득을 보는 액터이다.
졸라맨으로 표기. 보통 시스템의 왼쪽에 표시한다.
프라이머리 액터가 목적을 달성하기 위해 도움을 주는 액터이다.
사각형 박스에 << actor >>를 입력하여 표기. 보통 시스템의 오른쪽에 표시한다.
액터가 목적을 달성하기 위해 상호작용을 함에 있어 시스템이 제공하는 기능들을 나타낸다.
타원형으로 표기. 시스템에 내부에 표시한다.
액터와 유스케이스, 유스케이스와 유스케이스 간의 관계를 나타낸다.
관계의 종류로는 연관(Association), 의존(Dependency), 일반화(Generalization)가 있으며, 의존관계는 포함과 확장으로 다시한번 구분된다.
액터와 유스케이스 간의 상호작용을 나타낸다.
실선으로 표기.
하나의 유스케이스가 다른 유스케이스에 의존하고 있음을 나타내며, 포함(Include), 확장(Extend)가 있다.
점선으로 표기.
포함 관계(Include)
하나의 유스케이스가 다른 유스케이스의 실행을 전제로 하고 있음을 나타낸다.
확장 관계(Extend)
하나의 유스케이스에서 특정 조건에 따라 다른 하나의 유스케이스가 실행될 수 있음을 나타낸다.
포함과 확장의 차이
포함은 해당 유스케이스가 실행되기 위해서 포함하고 있는 다른 유스케이스들이 무조건 실행 되어야 하지만 확장은 해당 유스케이스에서 특정 조건에 따라 확장된 유스케이스가 실행 될 수도 있고 실행되지 않을 수도 있음을 나타낸다.
추상화된 유스케이스를 구체화한 경우를 나타낸다.
끝부분이 삼각형으로 된 실선으로 표기.
그러면 유스케이스가 수강신청이고 프라이머리 액터가 학생인 경우 세컨더리 액터는 학교입니까?