유스케이스(Use Case) 다이어그램
개발될 시스템을 이용해 수행할 수 있는 기능을 사용자 관점(View)
에서 표현
- 외부 요소와 시스템 간의 상호 작용 확인
- 사용자의 요구사항을 분석하기 위한 도구로 사용
- 시스템의 범위 파악
구성 요소
시스템(System) / 시스템 범위(System Scope)
: 내부에서 수행되는 기능을 외부 시스템과 구분하기 위함
: 시스템 내부의 유스케이스들을 사각형으로 묶어 표현
액터(Actor)
: 모든 외부 요소, 사람이나 외부 시스템
: 주액터 - 주로 사람
: 부액터(시스템 액터) - 주액터의 목적 달성을 위해 서비스를 제공하는 외부 시스템
유스케이스(Use Case)
: 사용자가 보는 관점에서 제공하는 서비스 또는 기능 표현
관계(Relationship)
: 액터와 유스케이스, 유스케이스와 유스케이스 사이에서 나타남
: 연관 관계, 포함 관계, 확장 관계, 일반화 관계
클래스(Class) 다이어그램
클래스, 속성과 오퍼레이션, 제약조건 사이의 관계 표현
- 시스템을 구성하는 요소에 대해 이해할 수 있는 구조적 다이어그램
- 시스템 구성 요소 문서화
- 코딩에 필요한 객체의 속성, 함수 등의 정보 표현
- 시스템 모델링에 자주 사용
구성 요소
클래스(Class)
- 각각의 객체들이 갖는 속성과 오퍼레이션(동작) 표현
- 3개의 구획(Compartment)으로 나눠 클래스명, 속성, 오퍼레이션 표기
속성(Attribute)
: 클래스의 상태나 정보 표현
오퍼레이션(Operation)
: 클래스가 수행할 수 있는 동작(함수/메소드(Method))
제약조건
- 속성에 입력될 값에 대한 제약조건
- 오퍼레이션 수행 전후에 지정해야 할 조건
관계(Relationships)
- 클래스와 클래스 사이의 연관성
- 연관 관계, 집합 관계, 포함 관계, 일반화 관계, 의존 관계
접근제어자
- public '+' : 어떤 클래스에서라도 접근 가능
- private '-' : 해당 클래스 내부에서만 접근 가능
- protected '#' : 동일 패키지 내의 클래스나 해당 클래스를 상속 받은 외부 패키지의 클래스에서 접근 가능
- package '~' : 동일 패키지 내부에 있는 클래스에서만 접근 가능
순차(Sequence) 다이어그램
시스템이나 객체들이 메시지를 주고받으며 시간의 흐름에 따라 상호 작용하는 과정을 그림으로 표현한 것
- 시스템이나 객체들의 상호 작용 과정에서 주고받는 메시지 표현
- 각 동작에 참여하는 시스템이나 객체들의 수행 기간 확인 가능
- 클래스 내부에 있는 객체들을 기본 단위로 하여 상호 작용을 표현함
- 기능 모델링에서 작성한 유스케이스 명세서나 하나의 클래스에 포함된 오퍼레이션을 하나의 범위로 표현함
구성 요소
액터(Actor)
- 시스템으로부터 서비스르르 요청하는 외부 요소
- 사람이나 외부 시스템
객체(Object)
생명선(Lifeline)
- 객체가 메모리에 존재하는 기간
- 객체 아래쪽에 점선으로 표현
실행 상자(Active Box)
- 객체가 메시지를 주고받으며 구동되고 있음을 표현
메시지(Message)
- 객체가 상호 작용을 위해 주고받는 메시지
- 실선으로 표현
회귀 메시지(Reply/Return Message)
- 객체가 처리한 반환값이 담긴 메시지
- 점선으로 표현
제어 블록(Loop)