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