use case 모델링

Giheon Do·2024년 10월 27일
0
post-thumbnail

use case 모델링

use case 모델링은 시스템의 기능적 요구사항을 결정하고 설명하는 데 사용된다. 이를 통해 고객과 소프트웨어 개발자 간의 합의가 이루어지며, 시스템이 수행해야 하는 작업에 대해 명확하고 일관된 설명을 제공한다. 또한, 개발 과정 전반에 걸쳐 모든 개발자에게 이러한 요구사항을 효과적으로 전달하는 데 활용된다.

use case란?

use case는 시스템이 특정 사용자(액터) 에게 가치를 제공하기 위해 수행하는 일련의 행동을 설명하는 것으로, use case를 통해 특정 작업이나 기능이 어떻게 이루어지는지를 상세히 설명하고, 이를 통해 시스템이 제공하는 서비스의 범위를 명확하게 설정할 수 있다.

use case 모델링은 use case diagramuse case description으로 구성되는데, 이 두 가지 요소는 함께 사용되어 시스템의 기능적 요구 사항을 명확히 하고, 이해 관계자 간의 의사소통을 돕는다.


use case diagram


위 그림과 같이 use case diagram은 외부 관찰자의 시각에서 시스템이 수행하는 작업을 설명한다. 이 다이어그램은 시스템이 어떻게 작동하는지가 아닌, 무엇을 하는지에 중점을 두는데, 유스 케이스 다이어그램은 시나리오와 밀접하게 연관되어 있다.

시나리오

누군가가 시스템과 상호작용할 때 발생하는 예시 상황

actor

actor는 시스템과 상호작용할 때 외부 에이전트가 수행하는 역할을 의미한다. 이때 외부 에이전트는 사람일 수도 있고, 어떠한 단체 혹은 하드웨어 장치일 수도 있으며, 또 다른 자동화된 시스템일 수도 있다.

use case 간의 관계

include

여러 use case가 같은 작업을 가질 경우, 해당 작업을 다른 작업들이 include할 수 있도록 하나의 use case로 빼서 구성할 수 있다.

위 그림의 경우 현금 인출(Cash Withdrawal)과 송금(Transfer between Accounts)시 해당 고객에 대한 인증(Authentication for Customer)이 필요하다. 이때 현금 인출 기능과 송금 기능은 고객 인증 기능을 include 하여 사용할 수 있다. 이때 A가 B를 include 한다면 화살표로 (A ---> B)로 표기한다.

extend

한 use case가 다른 use case에 특정 행동을 추가(확장)하는 방식으로 작동한다.

위 그림과 같이 돈을 지불하는 기능에 extension point로 카드, Paypal, EFT로 결제하는 기능을 extend할 수 있다. 이때 A가 B를 extend 한다면 화살표로 (A ---> B)로 표기한다.

include와 extend를 모두 표현하면 다음과 같은 다이어그램을 구성할 수 있다.

Toy Shopping Mall

Chatting System

use case diagram 그리는 과정

1. system 정의
2. actor 찾기
3. use cases 찾기
4. use cases 설명하기
5. use cases간의 관계(include, extend) 정의하기
6. model 검증하기


use case description

use case description은 use case의 동작을 글로 자세히 서술해놓은 것으로


+ 종료 조건

위 그림과 같이 작성할 수 있다.

그럼 이제 한번 작성해보자.

사용 사례 이름: 상품 주문
액터: 고객
목표: 선택한 상품을 배달 정보를 입력하고 주문
시작 조건: 장바구니에 상품이 지정되어 있고 신용 불량 고객이 아니어야 함
정상적 사건의 흐름:
1. 고객이 '주문' 메뉴를 눌러 use case가 시작된다.
2. 고객이 이름과 주소를 입력한다.
3. 고객이 결제 수단을 선택한다.
4. 고객이 확인을 누르면
5. 시스템이 상품 주문 가능 여부를 확인한다
6. 확인이 완료되어 이상이 없으면 시스템이 결제창을 띄운다.
7. 결제가 완료되어 이상이 없으면 주문 정보를 저장하고 화면에 주문 확인 정보를 제공한다.
대안 흐름:
A1: 상품 매진
1. 기본 흐름 6단계에서 주문 불가능 상태로 판단되면 시작한다.
2. 시스템이 고객에게 해당 상품이 불가능한 이유를 알려주고 장바구니에서 삭제하도록 한다.
3. 기본 흐름 6단계를 계속한다.
A2: 주문 취소
1. ‘책 주문’ use case의 어느 단계에서든지 ‘취소’ 버튼을 누른다.
2. 시스템이 고객에게 취소 의사를 다시 확인한다.
3. '확인'을 누르면 use case를 종료한다.
종료조건:
주문이 취소되지 않는다면 시스템에 저장하고 확인된 주문으로 표시한다.

이러한 use case description 간에도 include, extend 관계를 설정할 수 있다.

include

extend

마지막으로, use case description을 작성할 때는 다음 요소에 집중하는 것이 중요하다.

  • 소프트웨어가 제공할 기능에 집중
  • 사용자 관점으로 작성
  • 목표 지향적으로 작성
  • 읽기 쉽게 작성

이와 같은 요소를 바탕으로 use case description을 작성하면, 모든 관계자에게 시스템의 기능과 가치를 보다 효과적으로 전달할 수 있다.

profile
Think Twice Code Once

0개의 댓글

관련 채용 정보