본문 바로가기
Life

[CS/SW설계] UML (Unified Modeling Language) - Use Case Diagram 과 Use case의 개념

by Warehaus 2022. 3. 19.

Use Cases 의 정의

 

Use case 는 시스템을 사용하는 actors(사용자) 의 목적을 달성하기 위해 작성 된 하나의 text stories / scenario 입니다.

 

예를들어, 물건을 판매하는 과정을 use case로 표현한다고 하면 아래 내용처럼 표현할 수 있습니다.

 

소비자가 물건을 사기 위해서 카운터로 이동합니다. 카운터에 계산원은 POS시스템을 이용해서 물건을 계산하고 현금 또는 카드를 이용해 결제과정을 진행합니다. 결제 시스템은 전체 구매항목에 대해서 합을 계산하고 영수증을 출력해 줍니다.

 

Use case 는 다이어그램이 아닌 하나의 문장입니다.

 

Use case는 사용자가 필요한 내용을 정리한 문장이기 때문에, Functional requirement 라고 보아도 무방합니다.

 

 

Use Case Diagram

 

Use case diagram은 Use case의 이름과 actor 그리고 이들간의 관계를 표현하는 그림입니다.

 

모든 use case의 요약본이라고 봐도 될 것 같습니다.

 

Use case 의 포맷

Use case의 포맷은 크게 3가지로 나눌 수 있습니다.

 

Brief

하나의 간결한 요약 내용, 보통 하나의 주요 시나리오를 작성합니다.

 

게임 사용자가 로그인을 하는 경우, 로그인 시스템은  MFA 시스템을 이용하여 사용자 로그인을 진행한다.

 

Casual

정보가 어느정도 담겨있는 포맷이며, 다양한 시나리오를 다루기 위해 여러 문장으로 구성되기도 합니다.

 

게임 사용자가 로그인을 하는 경우, 로그인 시스템은 MFA시스템을 이용해 로그인을 진행한다.

사용자 인증에 실패하는 경우 실패 창을 띄우고 비밀번호/계정 찾기 메뉴로 사용자를 안내한다.
로그인에 성공하는 경우 성공 메시지를 사용자에게 보여준다.
MFA는 모바일 또는 OTP이용한 인증을 제공한다.

 

Fully Dressed

모든 시나리오의 단계들을 다루고 다양한 예외나 구현을 진행하기 위한 디테일한 사항을 표현합니다.

Fully dressed use case를 보고 실제 구현을 할 수 있는 수준의 세부내용을 다룹니다.

 

usecase name : 사용자 로그인

주요 사용자 : 게임 유저
사전 준비사항 : 게임 설치, 로그인 화면, 계정 생성

주요 시나리오 : 게임 사용자가 로그인을 하는 경우, 로그인 시스템은 MFA시스템을 이용해 로그인을 진행한다.
....

 

반응형

 

Use case 작성 시 주의사항

 

1. UI / GUI 와 연관성이 없게 작성한다.

 

Use case 는 너무 상세하게 작성되어서는 추후 구현 단계에서 Use case에 얽메이게 되는 경우가 발생할 수 있다. 구현 방식은 언제든지 바뀔 수 있으니 Use case 정리 단계에서는 GUI / View 와는 무관하게 작성하도록 한다.

 

2. Black-Box usecase

 

Use case 의 작성은 실제 로직이 표현되지 않도록 Black-box style로 작성해야 한다.

예를들어 로그인 시스템의 Use case를 정리할 때, 내부에서 Account 를 Hash 화 한다거나, DB 를 Oracle, MySql, CouchDB 등등 을 사용한다던지 이런 세부적인 내용은 추후에 변경될 수 있으니 지양한다.