[UML] 유스케이스 다이어그램(Usecase Diagram)

노성준·2022년 7월 3일
0

소프트웨어 공학

목록 보기
1/1

정의

시스템에서 제공해야 하는 기능이나 서비스를 명세한 다이어그램이다.
사용자와 시스템 사이의 상호작용에 집중하는 것이 특징이다.

사용 목적

외부에서 본 시스템의 기능을 표현하기 때문에, 실제 내부의 비즈니스 로직이 아닌, 사용자가 수행하는 기능을 파악하고 싶을 때 작성한다.

구성요소

유스케이스 다이어그램은 시스템(System), 액터(Actor), 유스케이스(Usecase), 관계(Relation)로 구성되어 있다.

시스템(System)

만들고자 하는 프로그램을 나타낸다.
시스템의 범위를 제한하고 흐름이 일어나는 영역의 경계를 표시한다.
사각형으로 표기

액터(Actor)

시스템의 외부에서 시스템과 상호작용하는 대상(사용자, 다른 시스템)을 의미한다.

프라이머리 액터(Primary Actor)

시스템을 사용하고, 직접 이득을 보는 액터이다.
졸라맨으로 표기. 보통 시스템의 왼쪽에 표시한다.

세컨더리 액터(Secondary Actor)

프라이머리 액터가 목적을 달성하기 위해 도움을 주는 액터이다.
사각형 박스에 << actor >>를 입력하여 표기. 보통 시스템의 오른쪽에 표시한다.

유스케이스(Usecase)

액터가 목적을 달성하기 위해 상호작용을 함에 있어 시스템이 제공하는 기능들을 나타낸다.
타원형으로 표기. 시스템에 내부에 표시한다.

관계(Relation)

액터와 유스케이스, 유스케이스와 유스케이스 간의 관계를 나타낸다.
관계의 종류로는 연관(Association), 의존(Dependency), 일반화(Generalization)가 있으며, 의존관계는 포함과 확장으로 다시한번 구분된다.

연관 관계(Association)

액터와 유스케이스 간의 상호작용을 나타낸다.
실선으로 표기.

의존 관계(Dependency)

하나의 유스케이스가 다른 유스케이스에 의존하고 있음을 나타내며, 포함(Include), 확장(Extend)가 있다.
점선으로 표기.

포함 관계(Include)
하나의 유스케이스가 다른 유스케이스의 실행을 전제로 하고 있음을 나타낸다.

확장 관계(Extend)
하나의 유스케이스에서 특정 조건에 따라 다른 하나의 유스케이스가 실행될 수 있음을 나타낸다.

포함과 확장의 차이
포함은 해당 유스케이스가 실행되기 위해서 포함하고 있는 다른 유스케이스들이 무조건 실행 되어야 하지만 확장은 해당 유스케이스에서 특정 조건에 따라 확장된 유스케이스가 실행 될 수도 있고 실행되지 않을 수도 있음을 나타낸다.

일반화 관계(Generalization)

추상화된 유스케이스를 구체화한 경우를 나타낸다.
끝부분이 삼각형으로 된 실선으로 표기.

작성 순서

  1. 액터 식별하기
    누가 정보를 제공하고, 사용하고, 삭제하는가?
    누가 또는 어떤 조직에서 개발될 시스템을 사용할 것인가?
    누가 요구사항에 대해 관심을 가지고, 시스템이 만들어낸 결과에 관심이 있는가?
    누가 시스템이 잘 운영될 수 있도록 유지보수 및 관리를 하는가?
    개발될 시스템과 상호작용하는 하드웨어나 소프트웨어 시스템은 무엇인가?
  2. 유스케이스 식별하기
    액터가 원하는 시스템 제공 기능은 무엇인가?
    액터는 시스템에 어떤 정보를 생성, 수정, 조회, 삭제하고 싶어 하는가?
    모든 기능 요구사항들을 만족할 수 있도록 유스케이스가 모두 식별 되었는가?
  3. 관계 정의하기
    모든 관계가 정확하게 표현되어 있는가?
    추상화, 구체화를 통해 기능을 세부적으로 표현되어 있는가?

1개의 댓글

comment-user-thumbnail
2023년 3월 13일

그러면 유스케이스가 수강신청이고 프라이머리 액터가 학생인 경우 세컨더리 액터는 학교입니까?

답글 달기