유스케이스 다이어그램 ( Use Case Diagram )
기능 모델링
기능 모델링이란 사용자의 요구사항을 분석하여 개발될 시스템이 갖춰야 할 기능들을 정리한 후 사용자와 함께
정리된 내용을 공유하기 위해 표현하는 것
- 기능 모델링은 개발된 시스템의 전반적인 행태를 기능에 초점을 맞춰 표현
- UML의 기능 모델링에는 유스케이스 다이어그램과 액티비티 다이어그램이 있다.
유스케이스 다이어그램
개발될 시스템과 관련된 외부 요소들, 즉 사용자와 다른 외부 시스템들이 개발될 시스템을 이용해 수행할 수 있는
기능을 사용자의 관점(View)에서 표현한 것
- 외부 요소와 시스템 간의 상호 작용을 확인 가능
- 사용자의 요구사항을 분석하기 위한 도구로 사용
- 시스템의 범위를 파악 가능
구성요소
시스템 범위, 액터, 유스케이스, 관계
1. 시스템(System) / 시스템 범위(System Scope)
시스템 내부에서 수행되는 기능들을 외부 시스템과 구분하기 위해
시스템 내부의 유스케이스들을 사각형으로 묶어 시스템의 범위를 표현
- 사각형 안쪽 상단에 시스템 명칭을 기술
2. 액터(Actor)
시스템과 상호작용하는 모든 외부 요소 → 사람이나 외부 시스템을 의미
(1). 액터는 시스템에 대해 수행할 수 있는 역할을 의미
(2). 액터 이름이 구체적 X
→ 액터 이름이 구체적(ex : 홍길동)으로 표시된다면 해당 이름만 기능을 사용 가능
(3). 액터에는 주액터와 부액터 존재
- 주액터(Primary Actor) : 시스템을 사용함으로써 이득을 보는 대상 → 사람 / 간략화 표현, 왼쪽 배치
- 부액터(Secondary Actor) : 주액터의 목적 달성을 위해 시스템에 서비스를 제공하는 외부 시스템
→ 조직이나 기관 / 오른쪽 배치, 상단에 <<Actor>> 표시
3. 유스케이스(Use Case)
사용자가 보는 관점에서 시스템이 액터에게 제공하는 서비스 또는 기능을 표현한 것
타원으로 표현, 타원 안쪽이나 아래쪽에 유스케이스 이름을 기술
- 유스케이스 이름은 액터와 시스템 사이에서 이뤄지는 상호작용의 목적을 내포, 단순 기재
- 기능적 요소 중심이지만 비기능적 요소 포함 가능
- 더 이상 분할되지 않는 기능의 단위
- 액터에 의해 수행, 액터가 관찰할 수 있는 결과를 산출
- 하나의 유스케이스 안에서 수행되는 동작은 유스케이스 수행 시 모두 수행, 부분적 수행 X
- 유스케이스는 분석, 설계, 테스트 등 개발 전 과정에서 이용 가능
4. 관계(Relationship)
관계는 액터와 유스케이스, 유스케이스와 유스케이스 사이에서 나타날 수 있으며, 포함 관계, 확장 관계,
일반화 관계의 3종류가 있다.
(1). 포함(Include) 관계
두 개 이상의 유스케이스에 공통적으로 적용되는 기능을 별도로 분리하여 새로운 유스케이스로 만든 경우
원래의 유스케이스와 새롭게 분리된 유스케이스와의 관계를 포함 관계라 한다.
- <<include>> 표기
(2). 확장(Extend) 관계
유스케이스가 특정 조건에 부합되어 유스케이스의 기능이 확장될 때 원래의 유스케이스와 확장된
유스케이스와의 관계를 확장 관계라 한다.
- <<extend>> 표기
(3). 일반화(Generalization) 관계
유사한 액터나 유스케이스를 하나의 그룹으로 묶고 싶을 때 그보다 일반적인 액터나 유스케이스를 만들어
이들을 연결하여 표현하는 관계를 일반화 관계라고 한다.
- 하위 액터나 유스케이스가 상위 액터나 유스케이스로 일반화하는 관계
→ 상위 액터나 유스케이스가 하위 액터나 유스케이스로 구체화되는 관계
- 하위 액터나 유스케이스가 상위에게 역할이나 기능을 상속(Inheritance)받는 관계
- 하위 액터나 유스케이스에서 상위 쪽으로 속이 빈 삼각형 화살표를 실선으로 연결
유스케이스 명세서(기술서)
유스케이스 명세서는 유스케이스 안에서의 액터나 시스템 간의 상호작용과정을 글로 자세히 표현한 것
- 유스케이스 다이어그램에 있는 모든 유스케이스에 대해 개별적으로 작성
- 각 유스케이스 명세서에 작성된 사건의 흐름을 참고하여 활동 다이어그램을 작성
- '상품 주문'에 대한 유스케이스 명세서
유스케이스명 | 상품 주문 |
액터명 | ⊙ 주액터 : 회원 ⊙ 부액터 : 재고 시스템, 결제 시스템 |
목표(개요) | ⊙ 상품 주문 과쟁에서 재고/결제 시스템 이용 |
시작 조건 | ⊙ 상품 주문을 하려면, 회원 가입이 되어 있어야 함 |
이후 조건 | ⊙ 상품 주문이 정상 완료 시, 완료 메시지를 화면에 표현 |
정상적인 흐름 | ⊙ 회원 로그인 클릭 ⊙ 회원 정보 입력 후 확인 ⊙ 로그인 완료 시 주문할 상품 선택 ⊙ 선택된 상품에 대한 재고 확인 ⊙ 선택된 상품에 대한 결제 진행 ⊙ 주문 완료 |
대안 흐름 | ⊙ 2A : 입력된 정보가 잘못 입력된 경우 → 재입력 요청 메시지 ⊙ 4A : 선택된 상품의 재고가 없는 경우 → 다른 상품 선택 요청 메시지 ⊙ 5A : 선택된 상품에 대한 결제 실패 → 재시도 요청 → 결제 인증 성공 시 완료 → 재시도 후 실패 시 주문 불가 메시지 표시 |
활동(Activity) 다이어그램
활동 다이어그램
자료흐름도와 유사한 것, 사용자의 관점에서 시스템이 수행하는 기능을 처리 흐름에 따라 순서대로 표현
→ 하나의 유스케이스 안에서 혹은 유스케이스 사이에 발생하는 복잡한 처리의 흐름을 명확하게 표현 가능
※ 자료흐름도(DFD, Data Flow Diagram)
각 절차에 따라 컴퓨터 기반의 시스템 내부를 흘러 다니는 데, 이를 자료의 흐름
자료 흐름도는 요구사항 분석에서 자료의 흐름 및 변환 과정과 기능을 도형 중심으로 기술하는 방법
구성 요소
액션, 액티비티, 노드, 스윔레인 등
액션(Action) / 액티비티(Activity)
⊙ 액션은 더 이상 분해할 수 없는 단일 작업
⊙ 액티비티는 몇 개의 액션으로 분리될 수 있는 작업
⊙ 액션이나 액티비티 모두 테두리가 있는 둥근 사각형으로 표현
⊙ 둥근 사각형 안에 액션이나 액티비티의 명칭을 기술
제어 흐름
⊙ 실행의 흐름을 표현
⊙ 화살표로 표현
시작 노드
⊙ 액션이나 액티비티가 시작됨을 의미
⊙ 하나의 다이어그램 안에는 하나의 시작점만 존재
⊙ 검은색 원으로 표현
종료 노드
⊙ 액티비티 안의 모든 흐름이 종료됨을 의미
⊙ 하나의 다이어그램 안에 여러 개의 종료 노드가 있을 수 있으나 일반적으로 하나만 표현
⊙ 검은색 원을 포함한 원으로 표현
조건(판단) 노드
⊙ 조건에 따라 제어의 흐름이 분리됨을 표현
⊙ 마름모로 표현, 들어오는 제어 흐름은 한 개이고, 나가는 제어 흐름은 여러 개이다.
병합 노드
⊙ 여러 경로의 흐름이 하나로 합쳐짐을 표현
⊙ 마름모로 표현하며, 들어오는 제어 흐름은 여러 개이고 나가는 제어 흐름은 한 개
포크 노드
⊙ 액티비티의 흐름이 분리되어 수행됨을 표현
⊙ 굵은 가로선으로 표현하며, 들어오는 액티비티 흐름은 한 개이고, 나가는 액티비티 흐름은 여러 개
조인(Join) 노드
⊙ 분리되어 수행되던 액티비티의 흐름이 다시 합쳐짐을 표현
⊙ 굵은 가로선으로 표현, 들어오는 액티비티 흐름은 여러 개이고 나가는 액티비티 흐름은 한 개
스윔레인(Swim Lane)
⊙ 액티비티 수행을 담당하는 주체를 구분
⊙ 가로 또는 세로 실선을 그어 구분
'정보처리이론' 카테고리의 다른 글
커뮤니케이션 다이어그램과 상태 다이어그램 (0) | 2020.11.15 |
---|---|
2-6. 클래스(Class)다이어그램과 시퀀스 다이어그램 (0) | 2020.11.15 |
2-4 UML (0) | 2020.11.03 |
2-3 요구사항 분석 기법과 요구사항 확인 기법 (0) | 2020.11.02 |
2-2 요구사항 정의 (0) | 2020.10.20 |