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) |
시스템의 기능이 별도의 기능을 포함 (점선) |
|
일반화 |
하위 Use Case/Action이 상위 Use Case/Actor에게 기능/역할을 상속 받음 |
|
그룹화 (Grouping) |
여러 개의 Use Case를 단순화 하는 방법 |
|
III. 요구사항 정의서
- 요구사항은 구조 체계를 가지고 도출됨
- 요구사항은 크게 기능(functional)과 비기능(non-functional)으로 분류됨
- 기능적 요구사항은 Use Case 모델에 반영되며 비기능 요구사항은 아키텍처에 반영됨
IV. 요구사항 으로부터 Use-case 다이아그램 작성
※ 메일 보내기가 단순 기능의 사용인 경우 별도의 Actor로 도출하지 않음
- Actor
- 시스템 외부에 존재하며 시스템과 상호 작용하는 어떤 것 (anything)
- 사람 / 외부 시스템 / HW 장치 / 이벤트
- Use Case
- 사용자에게 의미 있는 결과를 전달하는 시스템이 수행하는 일련의 행동 패턴
- 관련된 요구사항의 그룹이 Use Case 도출의 후보가 됨
- Communication
- Actor와 Use Case 간의 상호작용
- 방향성은 필수는 아니며, 누가 먼저 대화를 시작하는가(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 |
|
|
XIII. Use Case 적용 시 고려사항
고려사항 |
설명 |
---|---|
인터뷰 |
시스템 분석단계에서 의뢰인과 인터뷰로 사용자 도메인 이해 및 기능 요구사항과 시스템 요구사항을 구체화 |
행동 중심 파악 |
전체 System이나 일부 System 문맥에서 행동을 파악하는데 중요한 Use Case만을 표현 |
필수 항목 중심 |
복잡하지 않으면서 해당 부분을 이해하는데 필수적인 Use Case와 Actor만을 포함 |
최소한의 관계 |
관계는 너무 많이 표현하지 않고 필요한 것만을 표현 |