UML 배워보기 시리즈 #3 유스케이스 다이어그램

Seolang2·2023년 2월 9일
3

UML Diagram

목록 보기
3/3

유스케이스 다이어그램(Usecase Diagram) 이란?

유스케이스 다이어그램은 사용자와 프로그램 간의 관계를 명세한다

유스케이스 다이어그램은 시스템과 사용자의 상호작용을 명세한 다이어그램으로, 사용자의 관점에서 시스템의 서비스, 기능, 외부와의 관계에 대하여 다이어그램으로 표현한 것을 의미합니다.

유스케이스 다이어그램에서는 사용자가 시스템을 사용할 때, 시스템과 상호작용 하게 되는 관계를 나타내므로써 프로그래밍 시 사용자가 시스템 내부의 기능 중 어떤 기능을 사용할 수 있어야 하는지, 시스템은 어떤 기능을 가져야 하는지 파악하여 고객과 개발자 간의 요구사항에 대한 의견을 조율 할 수 있도록 합니다.


유스케이스의 구성요소

유스케이스 다이어그램은 시스템, 액터, 유스케이스, 관계 요소로 이루어져 있습니다.


시스템 (System)

다이어그램으로 나타내려 하는 프로그램

명세화 하려는 프로그램을 뜻하며, 외부에서 액터가 바라보는 프로그램과 그 내부의 동작들을 하나의 영역으로 표시합니다.

  • ex) ATM 시스템, 학교 서버 시스템 등

액터 (Actor)

시스템 외부에 존재하며 시스템과 상호작용을 하는 모든 것

액터란 시스템과 상호작용(Interaction)을 하는 시스템 외부의 존재를 의미하며, 대게 시스템을 사용하는 사용자와, 시스템을 사용함으로서 상호작용되는 다른 시스템이 액터가 될 수 있습니다.

1) Primary Actor : 시스템을 사용하는 주체가 되는 액터이며 주로 사람 모형과 그 아래 사용자의 추상적인 내용을 표기합니다.

  • ex) 회원, 관리자 등

2) Secondary Actor : Primary Actor가 이득을 얻기 위해 도움을 주는 액터로 주로 외부 시스템을 의미하며 박스에 <<actor>> 를 적어 표현합니다.

  • ex) ATM 시스템에 대한 외부 인증 시스템, 은행 시스템 등

유스케이스 (Usecase)

시스템이 제공하는 개별적인 기능

유스케이스는 사용자의 입장에서 바라본 시스템의 추상적인 기능으로 시스템의 요구사항을 나타냅니다. 하나의 유스케이스는 사용자가 인지할수 있는 하나의 단위 상호작용 이며 주로 타원형으로 표기하고, 이름은 수행하는 상호작용을 단순명료하게 기술합니다.

  • ex) ATM 시스템에서의 시스템 구동, 사용자 인증, 트랜잭션 등

관계 (Relation)

액터와 유스케이스, 유스케이스 사이의 관계

관계는 액터가 각 유스케이스와 상호작용하는 관계, 유스케이스와 유스케이스가 각각 상호작용하는 관계등을 나타내며 포함(Include)확장(Extend), 일반화(Generalization)로 나눠집니다.

1) 포함

하나의 유스케이스가 연관된 다른 유스케이스가 반드시 실행 되어야 동작하는 관계를 나타냅니다. 예를 들어 상품을 주문하기 위해서는 반드시 로그인을 하여 사용자를 인증해야 합니다.

상품 주문 유스케이스사용자 인증 유스케이스가 반드시 실행되어야 한다.

2) 확장

어떤 유스케이스가 부가적인 유스케이스를 실행 할 수 있는 관계를 나타냅니다. 예로 상품 목록을 조회할 때 상품의 상세 내용을 조회할 수 있습니다.

상품 목록 조회상품 상세 조회 기능을 부가적으로 추가할 수 있다.

3) 일반화 관계

추상적인 유스케이스 또는 액터를 그룹화 하는 표현입니다. 구체적인 유스케이스에서 추상적인 유스케이스로 화살표를 그리고 실선으로 표기합니다.
예를 들어 "카테고리 관리"라는 유스케이스에 대하여 카테고리의 "등록", "수정", "삭제" 등의 구체적인 유스케이스가 기능을 구현합니다.

카테고리 관리등록, 수정, 삭제로 구체화 된다.

profile
개발자 전직 일대기

2개의 댓글

comment-user-thumbnail
2023년 2월 12일

유즈케이스 다이어그램을 그릴 때 단순히 어떤 기능에 참여하는 사람들을 모두 액터로 설정하곤 했는데 다음부터는 primary actor와 secondary actor를 적절히 구분해야겠네요!

답글 달기
comment-user-thumbnail
2023년 2월 14일

좋은 글 감사합니다.
유스케이스 다이어그램에서 관계를 파악하기가 힘들었는데, 잘 설명해주셔서 다음번에 관계파악이 조금 쉬워진것같습니다~

답글 달기