본문 바로가기

개발 지식/말 그대로 지식

USECASE 다이어그램이란

반응형

정의

시스템의 사용에 대한 시나리오의 집합. 즉, 시스템과 사용자간의 상호작용을 다이어그램으로 표현한 것으로 사용자의 관점에서 시스템의 서비스 혹은 기능 및 그와 관련한 외부 요소를 보여주는 것.

목적

사용자의 관점에서 시스템을 모델링하기 위함. 즉, 사용자가 시스템에 대하여 바라는 바를 표현함으로써 사용자의 시점을 빨리 이해하고 쓸모있고(Useful) 쓸 수 있는(Useable) 시스템을 만들 수 있도록 함.

사용

  • 대게 의뢰인과 개발팀이 참조하는 설계문서의 한 부분으로 사용한다.
  • 새로 만들어진 시스템을 테스트하는데 사용 : 사용자의 시스템 사용 시나리오를 표현한 것이기 때문에 테스트도 그 시나리오에 따라서 하면 된다.

용어

  • Actor : 시스템과 교류하는 사람이나 시스템 또는 장치, Usecase를 시작시키고, 구성하는 진행단계가 끝나면 그 결과를 받는다. 막대기로 사람모양을 표현, 행위자의 이름은 막대인간 아래에 쓴다.
  • Usecase(쓰임새) : 타원으로 표현, 쓰임새의 이름은 타원 안쪽 또는 아래에 쓴다. 쓰임새를 시작시킨 행위자는 왼쪽, 결과를 받는 행위자는 오른쪽에 표현. 행위자와 쓰임새 간의 연결은 실선으로 그림.
  • System(시스템) : 쓰임새를 둘러싸는 사각형으로 표현, 행위자는 대게 시스템 외부에 있는 반면, 쓰임새는 시스템 내부에 존재한다. 즉, 쓰임새 분석을 통하여 시스템과 외부세계와의 경계를 효과적으로 보여줄 수 있다. 만들고자 하는 프로그램

관계

Actor와 Usecase 사이의 의미있는 관계를 나타낸다. 종류는 연관(Association), 의존(Dependency), 일반화(Generalization)이 있으며 의존관계는 포함(Include), 확장(Extend)로 나눠진다.

  1. 연관(Association)은 usecase와 actor간의 상호작용이 있음을 표현한다. usecase와 actor를 실선으로 연결한다.
  2. 포함 관계(Include)는 하나의 usecase가 다른 usecase의 실행을 전제로 할 때 형성되는 관계다. 포함되는 usecase는 포함하는 usecase를 실행하기 위해 반드시 실행되어야 하는 경우에 적용한다. 포함하는 usecase에서 포함되는 usecase 방향으로 화살표를 점선으로 연결하고 <<include>>라고 표기한다.
  3. 확장 관계(Extend)는 확장 기능 usecase와 확장 대상 usecase 사이에 형성되는 관계다. 확장 대상 usecase를 수행할 때 특정 조건에 따라 확장 기능 usecase를 수행하는 경우에 적용한다. 확장 기능 usecase에서 확장 대상 usecase 방향으로 화살표를 점선으로 연결하고 <<extend>>라고 표기한다.
  4. 일반화 관계(Generalization)은 유사한 usecase 또는 actor를 모아 추상화한 usecase 또는 actor와 연결시켜 그룹을 만들어 이해도를 높이기 위한 관계이다. 구체적인 유스케이스에서 추상적인 유스케이스 방향으로 끝부분이 삼각형으로 표현된 화살표를 실선으로 연결하여 표현한다.

Usecase의 분석과정 및 사용 방법

  1. 시스템 사용자를 시스템 분석과 설계의 초기 단계에 참여시킴
  2. [요구사항 수집] 의뢰인과 대화 -> 초기 클래스 다이어그램 -> 사용하고 있는 용어를 통해서 개념정리 -> 사용자와의 대화가 유연해짐
  3. 사용자와 대화 -> 설계하고자 하는 시스템을 가지고 어떤 일을 하는지 질문 -> 얻어낸 대답은 미래에 Usecase 다이어그램을 만드는데 토대로 사용
  4. Usecase에 대한 간단한 설명을 붙임 -> 설명이 많을수록 사용자와 할 수 있는 대화의 밀도도 높아진다.

작성요령

  1. Usecase를 시작하는 Actor
  2. Usecase가 시작하는데 필요한 선행조건
  3. 시나리오의 진행단계
  4. 쓰임새가 끝나는데 필요한 종료조건
  5. 쓰임새의 결과를 받는 행위자
  6. 쓰임새의 가정 - EX) "한번에 소비자 한명이 음료수 자판기를 사용한다" 등...
  7. 간단한 한 문장 정도의 설명문

예시

  • Actor : 소비자
  • Usecase 설명 : 자판기에서 음료수를 사는 경우이다.
  • 가정 : 한번에 한명의 소비자만 사용한다.
  • 시작 행위자 : 소비자
  • 선행조건 : 소비자가 목이 마르다
  • 진행단계
    1. 동전 또는 지폐를 넣는다.
    2. 컵이 내려오고, 음료가 채워진다.
  • 종료조건 : 음료를 가졌다.
  • 결과 받는 행위자 : 소비자
반응형

'개발 지식 > 말 그대로 지식' 카테고리의 다른 글

CES 2020 요약  (0) 2020.01.22
IaaS, PaaS, SaaS란?  (0) 2020.01.05
프레임워크와 라이브러리의 차이  (0) 2019.11.16