본문 바로가기
Study/UML

[UML] UML 다이어그램

by 스테디코디스트 2023. 10. 1.
반응형

<UML 다이어그램>

- UML은 Unified Modeling Language의 약자로, 모델을 만드는 표준 언어라는 의미이다.

- UML 다이어그램은 통합 모델링 언어(UML)를 사용하여 시스템 상호작용, 업무흐름, 시스템 구조, 컴포넌스 관계 등을 그린 도면이다.

 

<UML 다이어그램을 사용하는 이유>

- 프로그래밍을 단순화 시켜 표현해 의사소통하기 좋다.

- 대규모 프로젝트 구조의 로드맵을 만들거나 개발을 위한 시스템 구축에 기반을 마련할 수 있다.

 

<UML 다이어그램의 종류>

1. 구조 다이어그램 : 시스템의 개념, 관계 등의 측면에서 요소들을 나타내고 각 요소들의 정적인 면을 보기 위한 것

1) Class Diagram(클래스 다이어그램)

- 거의 모든 객체 지향 메서드를 관통하는 핵심 모델링 기법

- 시스템의 객체 유형과 객체 간에 존재하는 다양한 종류의 정적 관계를 설명함

2) Object Diagram(객체 다이어그램)

- 객체와 데이터 값을 포함한 인스턴스에 대한 시각화

- 클래스 다이어그램에 대한 인스턴스를 보여주며, 특정 시점의 시스템 세부 상태에 대한 스냅샷을 보여줌

- 특정 시점에 대한 인스턴스를 나타내어 클래스 다이어그램보다 구체적인 표현이 가능함

3) Package Diagram(패키지 다이어그램)

- 패키지와 패키지 간의 종속성을 보여주는 다이어그램

- 다중 계층 애플리케이션 모델과 같이 시스템에 대한 다양한 뷰를 표시할 수 있음

4) Component Diagram(컴포넌트 다이어그램)

- 컴포넌트를 서로 연결하여 더 큰 컴포넌트 또는 소프트웨어 시스템을 형성하는 방법

- 소프트웨어 컴포넌트의 아키텍처와 컴포넌트 간의 종속성을 보여줌

5) Deployment Diagram(배치 다이어그램)

- 객체 지향 소프트웨어 시스템의 물리적 측면을 모델링하는데 도움을 줌

- 소프트웨어 아티팩트가 위치할 곳에 배치할 때 시스템의 아키텍처를 보여줌

- 일반적으로 하드웨어 구성과 기존 소프트웨어 구성 요소를 함께 모델링하는 작업이 포함됨

6) Composite Structure Diagram(복합 구조 다이어그램)

- 클래스 다이어그램과 유사하며 주로 미시적 관점에서 시스템을 모델링할 때 사용됨

- 전체 클래스가 아닌 부분적으로 개별 클래스를 나타낸다는 점에서 클래스 다이어그램과 차별점을 가짐

7) Profile Diagram(프로필 다이어그램)

- 도메인과 플랫폼의 관계를 정의

- 스테레오타입을 생성하고 리소스 중심 인터페이스를 통해 구성 또는 일반화와 연관시킬 수 있음

 

2. 행위 다이어그램 : 각 요소들 혹은 요소들 간의 변화나 흐름, 주고받는 데이터 등의 동작을 보기 위한 것

1) Use Case Diagram(유스케이스 다이어그램)

- 시스템의 기능적 요구사항을 사용 사례 측면에서 설명함

- 시스템에서 필요한 것과 시스템이 이러한 요구사항을 제공하는 방법을 연관시킬 수 있음

2) Activity Diagram(활동 다이어그램)

- 선택, 반복, 동시성을 지원하는 단계별 활동 및 작업의 워크플로우를 그래픽으로 표현한 다이어그램

- 복잡한 비즈니스 규칙 및 운영 탐색과 같은 대상 시스템의 제어 흐름을 설명함

- 유스케이스와 함께 비즈니스 프로세스를 설명함

3) State Machine Diagram(상태 머신 다이어그램)

- 시스템의 동작을 설명하기 위한 다이어그램

- 허용된 상태와 전환은 물론 이러한 전환에 영향을 미치는 이벤트를 표현함

4) Sequence Diagram(순차 다이어그램)

- 시간 순서에 따라 객체들의 협업을 모델링

- 유스케이스의 특정 시나리오에서 객체가 다른 객체와 상호 작용하는 방식을 보여줌

5) Communication Diagram(커뮤니케이션 다이어그램)

- 유스케이스의 동적 동작을 모델링하는 데 사용

- 시간 순서보다는 객체들의 협업을 보여주는데 중점을 둠

6) Interaction Overview Diagram(상호작용 개요 다이어그램)

- 상호작용의 제어 흐름에 대한 개요에 중점을 둠

- Activity Diagram의 노드가 상호작용 또는 상호작용 발생으로 변형된 형태

7) Timing Diagram(타이밍 다이어그램)

- 주어진 기간 동안 객체의 동작을 보여줌

- Sequence Diagram의 특수한 형태