정보처리기사

[정보처리기사] UML 다이어그램 (클래스, 컴포넌트, 객체, 패키지, 유즈케이스, 행동, 상태, 시퀀스 다이어그램)

dongkeonkim 2023. 5. 8. 15:54
반응형

UML(Unified Modeling Language, 통합 모델링 언어)는 시스템의 디자인을 시각화하는 언어이자 모델입니다.

UML은 구조 다이어그램행동 다이어그램, 이 두 가지로 나뉩니다.

 

하나씩 살펴보겠습니다.

 

1. 구조적 다이어그램 (Structure Diagrams)

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

클래스 다이어그램은 아래와 같이 세 가지 블럭으로 나뉘는 구조입니다.

첫 번째 블럭은 클래스의 이름입니다. 첫 글자는 대문자이며, 중앙정렬이고, 두꺼운 폰트를 사용합니다.

두 번째 블럭은 클래스의 속성들 입니다.

세 번째 블럭은 클래스의 실행할 수 있는 작업을 나타냅니다.

 

여기에 클래스 레벨 연관관계를 표현하면 다음과 같습니다.

출처: wikipedia

여기서 사용되는 화살표들은 클래스 다이어그램, 객체 다이어그램에서 함께 사용되고 있습니다.

다음과 같습니다.

출처: wikipedia

순서대로

연관 (Association)

상속 (Inheritance 혹은 Generalization 일반화)

실체화 (Realization 혹은 Implementation)

의존 (Dependency)

집합 (Aggregation)

합성 (Composition)

입니다.

 

 

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

클래스에 속한 사물(객체), 즉 인스턴스를 특정 시점의 객체와 객체 사이의 관계로 표현합니다.

 

출처: wikipedia

 

3) 컴포넌트 다이어그램, Component Diagram

컴포넌트들이 더 큰 구조를 만들기 위해 어떻게 연결되는지. 복잡한 시스템 구조를 설명하기 위해 사용합니다.

출처: wikipedia

 

4) 배치 다이어그램, Deployment Diagram

컴포넌트 사이의 종속성을 표현하며 결과물, 프로세스, 컴포넌트 등 물리적 요소들의 위치를 표현합니다.

출처: wikipedia

 

5) 복합체 구조 다이어그램, Composite Structure Diagram

클래스나 컴포넌트가 복합 구조를 갖는 경우 그 내부 구조를 표현합니다.

출처: wikipedia

 

6) 패키지 다이어그램, Package Diagram

유스케이스나 클래스 등의 모델 요소들을 그룹화한 패키지들의 관계를 표현합니다.

출처:  wikipedia

 

2. 행위적 다이어그램 (Behavioral Diagrams)

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

시스템의 기능적 요구 정의에 활용하며 사용자 관점에서 시스템의 활동을 표현합니다.

출처: wikipedia

 

2) 시퀀스 다이어그램, Sequence Diagram

객체 간 상호 작용을 메시지 흐름으로 표현하여 시간을 표현할 수 있습니다.

출처: wikipedia

 

3) 커뮤니케이션 다이어그램, Communication Diagram

시퀀스 다이어그램과 같이 동작에 참여하는 객체들이주고받는 메시지를 표현하는 데 메시지뿐만 아니라 객체 간의 연관까지 표현할 수 있습니다.

출처: wikipedia

 

4) 상태 다이어그램, State Diagram

하나의 객체가 자신이 속한 클래스의 상태 변화 혹은 다른 객체와의 상호 작용에 따라 상태가 어떻게 변화하는지 표현하며, 모든 가능한 상태와 전이를 표현할 수 있습니다. (진입 조건, 탈출 조건, 상태 전이 등)

출처: wikipedia

 

5) 활동 다이어그램, Activity Diagram

시스템이 어떤 기능을 수행하는지를 객체의 처리 로직이나 조건에 따른 처리의 흐름으로 순서대로 표현

활동의 순서대로 흐름을 표현

출처: wikipedia

 

6) 타이밍 다이어그램, Timing Diagram

객체 상태 변화와 시간 제약을 명시적으로 표현합니다.

반응형