유스케이스 다이어그램
사용자와 다른 외부 시스템들이 개발될 시스템을 이용해 수행할 수 있는 기능을 사용자 관점에서 표현한 것
- 외부 요소와 시스템의 상호작용 확인 가능
- 사용자의 요구사항을 분석하기 위한 도구
- 시스템 범위 파악
구성 요소
시스템/시스템범위
- 시스템 내부의 유스케이스들을 사각형으로 묶어 시스템 범위 표현
액터
- 시스템과 상호작용 하는 모든 외부 요소
- 주액터 : 시스템을 사용함으로써 이득을 얻는 대상
- 부액터 : 주액터 목적 달성을 위해 시스템에 서비스를 제공하는 외부 시스템
유스케이스
- 사용자가 보는 관점에서 시스템이 액터에게 제공하는 서비스
관계
- 액터와 유스케이스, 유스케이스와 유스케이스 사이 표현
- 연관 관계, 포함 관계, 확장 관계, 일반화 관계
클래스 다이어그램
시스템을 구성하는 클래스, 클래스 속성과 오퍼레이션, 속성과 오퍼레이션에 대한 제약조건, 클래스 사이 관계를 표현한 것
- 시스템을 구성하는 요소에 대해 이해할 수 있는 구조적 다이어그램
- 시스템 구성 요소를 문서화하는데 사용
- 시스템 모델링에 자주 사용
구성요소
클래스
- 각 객체들이 갖는 속성과 오퍼레이션 표현
- 일반적으로 클래스 이름, 속성, 오퍼레이션 표기
- 속성 : 클래스의 상태나 정보 표현
- 오퍼레이션 : 클래스가 수행할 수 있는 동작(= 함수, 메소드)
제약조건
- 속성에 입력될 값에 대한 제약조건, 오퍼레이션 수행 전후 지정해야할 조건
관계
- 클래스와 클래스 사이 연관성
- 연관 관계, 집합 관계, 포함 관계, 일반화 관계, 의존 관계
접근제어자
- public(+) : 어떤 클래스에서라도 접근 가능
- private(-) : 해당 클래스 내부에서만 접근 가능
- protected(#) : 동일 패키지 내의 클래스 또는 해당 클래스를 상속 받은 외부 패키지의 클래스에서 접근 가능
- package(~) : 동일 패키지 내부에 있는 클래스에서만 접근 가능
순차 다이어그램
시간의 흐름에 따라 상호작용하는 과정을 액터, 객체, 메시지 등의 요소를 사용해 그림으로 표현한 것
- 시스템이나 객체들의 상호 작용 과정에서 주고받는 메시지를 표현
- 시스템이나 객체들의 수행 기간 확인 가능
- 클래스 내부에 있는 객체들을 기본 단위로 하여 상호작용 표현
- 주로 유스케이스 명세서를 하나의 표현 범위로 함
구성요소
- 액터 : 시스템으로부터 서비스를 요청하는 외부 요소
- 객체 : 메시지를 주고 받는 주체
- 생명선 : 객체가 메모리에 존재하는 기간
- 실행 상자 : 객체가 메시지를 주고 받으며 구동되고 있음을 표현
- 메시지 : 객체가 상호 작용을 위해 주고 받는 메시지