Use Case 다이아그램 – 요구사항부터 구현까지

개념
Use Case 다이어그램 - 시스템이 제공하고 있는 기능 및 그와 관련된 외부요소를 사용자의 관점에서 표현하는 다이어그램

UML(Unified Modeling Language) 2.0 diagram, Use Case, 행위자(Actor), 연관, 확장(Extend), 포함(Include), 일반화(Generalization)

 

I. 시스템 기능에 대한 사용자 입장의 표현, 유스케이스 다이어그램의 개요

 가. 유즈케이스 다이어그램(Use Case Diagram)의 정의

  • - 시스템이 제공하고 있는 기능 및 그와 관련된 외부요소를 사용자의 관점에서 표현하는 다이어그램
  • - 시스템 분석가가 사용자와 힘을 합쳐 시스템의 사용 방법을 결정하는데 도움을 주는 도구

나. 유즈케이스 다이어그램의 특징

  • 사용자의 기능적 요구사항을 정의하는 직관적인 표현
  • Use Case와 Actor간의 관계를 표현
  • (Actor는 시스템을 제외한 모든 외부요소로서 시스템을 사용하는 사람 또는 시스템이며, Actor는 Use Case를 수행함)
  • 주로 분석단계에서 수행하여 시스템 개발 전 단계에 영향
  • 시스템이 제공하는 기본적인 기능을 설명
  • 사용자와 대화 수단 활용 및 내부 기능을 예측할 목적임.

 

II. Use Case 구성요소와 구성요소간 관계

가. Use Case의 구성요소

구성요소

내용

표기법

Use Case

시스템이 제공해야 하는 서비스.

Actor가 시스템을 통한 일련의 행위


Actor
(행위자)

- 사용자가 시스템에 대해 수행하는 역할(role)

- 시스템과 상호작용하는 사람 또는 사물

시스템

(System)

- 전체시스템의 영역을 표현

- 특별한 의미를 가지지 못함

나. Use Case의 구성요소간 관계

관계

설명

표기법

연관(Association)

Use Case와 Actor의 관계를 표현
(실선)

확장(Extend)

기본 Use Case 수행 시 특별한 조건을 만족할 때 수행하는 Use Case

포함(Include)

시스템의 기능이 별도의 기능을 포함 (점선)

일반화
(Generalization)

하위 Use Case/Action이 상위 Use Case/Actor에게 기능/역할을 상속 받음

그룹화

(Grouping)

여러 개의 Use Case를 단순화 하는 방법

 

III. 요구사항 정의서

 

 

 

 

 

 

 

 

 

 

 

 

 

 

  • 요구사항은 구조 체계를 가지고 도출됨
  • 요구사항은 크게 기능(functional)과 비기능(non-functional)으로 분류됨
  • 기능적 요구사항은 Use Case 모델에 반영되며 비기능 요구사항은 아키텍처에 반영됨

 

IV. 요구사항 으로부터 Use-case 다이아그램 작성

※ 메일 보내기가 단순 기능의 사용인 경우 별도의 Actor로 도출하지 않음

  • Actor
  1. 시스템 외부에 존재하며 시스템과 상호 작용하는 어떤 것 (anything)
  2. 사람 / 외부 시스템 / HW 장치 / 이벤트
  • Use Case
  1. 사용자에게 의미 있는 결과를 전달하는 시스템이 수행하는 일련의 행동 패턴
  2. 관련된 요구사항의 그룹이 Use Case 도출의 후보가 됨
  • Communication
  1. Actor와 Use Case 간의 상호작용
  2. 방향성은 필수는 아니며, 누가 먼저 대화를 시작하는가(initiate)의 의미 (데이터의 이동 방향이 아님)

 

V. Use-case 명세서 작성

 

VI. Use-Case Realization

    도출한 Use Case 별로 단계를 진행하며 추적하기 위한 도구Use Case의 상세정보는 Use Case 명세서에 기록되며, Use Case Realization의 정보는 하위의  Interaction Diagram에 의해 상세화됨

 

VII. Sequence Diagram 사례

 

VIII. Class Diagram 사례

 

 

IX. 설계단계 Diagram 사례

더 상세화된 형태로 클래스 다이아그램이 도출됨

 

X. 설계와 구현의 연관관계 사례 

 

XI. Use Case 모델링 사례

 

XII. 레스토랑에서 일어나는 상황에 대한 Use Case 다이어그램

  가. Use Case Diagram 작성단계

작성단계

상세내용

1) Actor 식별

 모든 사용자 역할 식별 

 상호 작용하는 타 시스템 식별

2) Use Case 식별

 Actor가 요구하는 서비스 식별

 Actor가 요구하는 정보 식별

 Actor가 시스템과 상호 작용하는 행위를 식별

3) 관계 정의

 Actor와Actor 관계 정의

 Actor와 Use Case 관계분석 정의 

 Use Case와 Use Case 관계 분석 정의

4) Use Case

구조화

 2개이상의 Use Case에 존재하는 공통 서비스 추출

 추출된 서비스를 Use Case 정의

 조건에 따른 서비스 수행 부분 분석하여 추출

 추출된 서비스를 사용하는 Use Case와의 관계정의

 

 

  나. 레스토랑 Use Case Diagram

Use Case 명세

Use Case Diagram

  1. 웨이터는 고객의 주문을 받는다
  2. 웨이터는 주문을 확인한다 (주문상태 포함)
  3. 요리사는 주문을 확인한다
  4. 웨이터는 음식을 제공한다
  5. 계산대 직원은 음식값을 계산 처리한다

 

XIII. Use Case 적용 시 고려사항

고려사항

설명

인터뷰

 시스템 분석단계에서 의뢰인과 인터뷰로 사용자 도메인 이해 및 기능 요구사항과 시스템 요구사항을 구체화

행동 중심 파악

 전체 System이나 일부 System 문맥에서 행동을 파악하는데 중요한 Use Case만을 표현

필수 항목 중심

 복잡하지 않으면서 해당 부분을 이해하는데 필수적인 Use Case와 Actor만을 포함

최소한의 관계

 관계는 너무 많이 표현하지 않고 필요한 것만을 표현

 
 

 

 

댓글
민현사랑인

ㄷㅇㅇㅁㅇㄷㅇㅅㅂㄷ !! ㄱㅅㅎㅏㅂㄴㅣ다

사실태희사랑인

ㄷㅗㅇㅜㅁ이마ㄴㅎㅇㅣ 도ㅣ어ㅆㅅㅡㅂㄴㅣㄷㅏ !! ㄱㅏㅁㅅㅏㅎㅏㅂㅣㄴ다 !!