👈 유스케이스 다이어그램은 이전 포스팅에 있음
구성요소 | 내용 |
---|---|
액션 / 액티비티 | 액션: 더 이상 분해할 수 없는 단일 작업, 액티비티: 몇 개의 액션으로 분리될 수 있는 작업 |
시작 노드 | 액션이나 액티비티가 시작됨을 표현한 것 |
종료 노드 | 액티비티 안의 모든 흐름이 종료됨을 표현한 것 |
조건(판단) 노드 | 조건에 따라 제어의 흐름이 분리됨을 표현한 것, 들어오는 제어 흐름은 한 개이고 나가는 제어 흐름은 여러 개임 |
병합 노드 | 여러 경로의 흐름이 하나로 합쳐짐을 표현한 것, 들어오는 제어 흐름은 여러 개이고 나가는 제어 흐름은 한 개임 |
포크 노드 | 액티비티의 흐름이 분리되어 수행됨을 표현한 것, 들어오는 액티비티 흐름은 한 개이고 나가는 액티비티 흐름은 여러 개임 |
조인 노드 | 분리되어 수행되던 액티비티의 흐름이 다시 합쳐짐을 표현한 것, 들어오는 액티비티 흐름은 여러 개이고 나가는 액티비티 흐름은 한 개임 |
스윔 레인 | 액티비티 수행을 담당하는 주체를 구분하는 선, 가로 또는 세로 실선을 그어 구분함 |
📍 정적 모델링
- 사용자가 요구한 기능을 구현하는데 필요한 자료들의 논리적인 구조를 표현한 것
- 시스템에 의해 처리되거나 생성될 객체들 사이에 어떤 관련이 있는지를 구조적인 관점(View)에서 표현
- 정적 모델링은 객체(Object)들을 클래스(Class)로 추상화하여 표현
- UML을 이용한 정적 모델링의 대표가 ❗바로 클래스 다이어그램❗
구성요소 | 내용 |
---|---|
클래스 | 각 객체들의 속성과 오퍼레이션을 표현한 것, 일반적으로 3개의 구획으로 나눠 클래스의 이름/속성/오퍼레이션 표기 |
제약조건 | 속성 입력값에 대한 제약조건이나 오퍼레이션 수행 전후에 지정 조건이 있다면 이를 적음, 제약 조건 기술 시에는 {} 이용 |
관계 | 클래스와 클래스 사이의 연관/집합/포함/일반화/의존 관계를 표현 |
- 속성 : 클래스의 상태나 정보를 표현
- 오퍼레이션 : 클래스가 수행할 수 있는 동작으로, 함수라고도 함
☝🏻 동적 모델링의 종류
1. 시퀀스 다이어그램
2. 커뮤니케이션 다이어그램
3. 상태 다이어그램
구성요소 | 내용 |
---|---|
액터 | 시스템으로부터 서비스를 요청하는 외부 요소로, 사람이나 외부 시스템을 의미함 |
객체 | 메시지를 주고받는 객체 |
생명선 | 객체가 메모리에 존재하는 기간으로, 객체 아래 쪽에 점선을 그어 표현함 / 객체 소멸이 표시된 기간까지 존재함 |
실행 상자 | 객체가 메시지를 주고받으며 구동되고 있음을 표현함 |
메시지 | 객체가 상호 작용을 위해 주고 받는 메시지 |
객체 소멸 | 해당 객체가 더 이상 메모리에 존재하지 않음을 표현한 것 |
프레임 | 다이어그램의 전체 또는 일부를 묶어 표현한 것 |
구성요소 | 내용 |
---|---|
액터 | 시스템으로부터 서비스를 요청하는 외부 요소로, 사람이나 외부 시스템을 의미함 |
객체 | 메시지를 주고받는 객체 |
링크 | 객체들 간의 관계를 표현한 것, 액터와 객체 / 객체와 객체 간에 실선을 그어 표현함 |
메시지 | 객체가 상호 작용을 위해 주고받는 내용으로, 화살표의 방향은 메시지를 받는 쪽으로 향하게 표현함. 일정한 순서에 의해 처리되는 메시지의 경우 숫자로 순서를 표시함 |
구성요소 | 내용 |
---|---|
상태 | 객체의 상태를 표현한 것 |
시작 상태 | 상태의 시작을 표현한 것 |
종료 상태 | 상태의 종료를 표현한 것 |
상태 전환 | 상태 사이의 흐름, 변화를 화살표로 표현한 것 |
이벤트 | 상태에 변화를 주는 현상 / 이벤트에는 조건, 외부 신호, 시간의 흐름 등이 있음 |
프레임 | 상태 다이어그램의 범위를 표현한 것 |
구성요소 | 내용 |
---|---|
패키지 | 객체들을 그룹화한 것 |
객체 | 유스케이스, 클래스, 인터페이스, 테이블 등 패키지에 포함될 수 있는 다양한 요소들 |
생명선 | 패키지와 패키지 / 패키지와 객체 간을 점선 화살표로 연결하여 표현, 스테레오타입을 이용해 의존 관계를 구체적으로 표현할 수 있음. 의존 관계의 표현 형태는 사용자가 임의로 작성할 수 있음. |
❗️ 패키지 표기법
- 단순 표기법
: 패키지 안에 패키지 이름만 표현- 확장 표기법
: 패키지 안에 요소까지 표현
❗️ 의존 관계의 표현 형태
- << import >> : 패키지에 포함된 객체들을 직접 가져와서 이용하는 관계
- << access >> : 인터페이스를 통해 패키지 내의 객체에 접근하여 이용하는 관계