UML
UML (Unified Modeling Language)
UML (Unified Modeling Language)은 소프트웨어 시스템을 시각적으로 모델링하고 문서화하기 위한 표준화된 그래픽 언어입니다. 객체 지향 시스템의 분석, 설계, 구현 단계에서 사용되며, 다양한 다이어그램을 통해 시스템의 구조와 행위를 표현합니다.
UML은 특정 프로그래밍 언어나 개발 방법론에 종속되지 않는 범용적인 모델링 언어입니다.
📚 UML의 주요 다이어그램 종류
UML은 크게 시스템의 정적인 구조를 표현하는 '구조 다이어그램'과 동적인 행위를 표현하는 '행위 다이어그램'으로 나뉩니다.
- 구조 다이어그램 (Structural Diagrams) : 시스템의 구성 요소와 그들 간의 관계를 표현합니다.
> * `클래스 다이어그램 (Class Diagram)` : 시스템의 클래스, 속성, 메서드, 그리고 클래스 간의 관계(상속, 연관, 집합 등)를 표현합니다. > * `객체 다이어그램 (Object Diagram)` : 특정 시점에 클래스 다이어그램의 인스턴스(객체)와 그들 간의 관계를 표현합니다. > * `컴포넌트 다이어그램 (Component Diagram)` : 시스템의 물리적인 컴포넌트(모듈, 라이브러리 등)와 그들 간의 의존 관계를 표현합니다. > * `배치 다이어그램 (Deployment Diagram)` : 시스템의 하드웨어 노드와 그 위에 배포되는 소프트웨어 컴포넌트의 물리적 배치를 표현합니다.
- 행위 다이어그램 (Behavioral Diagrams) : 시스템의 동적인 동작과 흐름을 표현합니다.
> * `유스케이스 다이어그램 (Use Case Diagram)` : 사용자와 시스템 간의 상호작용을 통해 시스템이 제공하는 기능(유스케이스)을 표현합니다. > * `시퀀스 다이어그램 (Sequence Diagram)` : 객체 간의 메시지 교환 순서를 시간의 흐름에 따라 표현합니다. > * `활동 다이어그램 (Activity Diagram)` : 시스템의 특정 기능이나 프로세스의 흐름을 순서도처럼 표현합니다. > * `상태 머신 다이어그램 (State Machine Diagram)` : 객체의 상태 변화와 그 변화를 유발하는 이벤트를 표현합니다.
💡 정보처리기사 핵심 Point
- UML은 소프트웨어 개발 과정에서 이해관계자 간의 의사소통을 원활하게 하고, 시스템의 구조와 동작을 명확하게 문서화하는 데 사용됩니다.
- 정보처리기사 시험에서는 각 UML 다이어그램의 개념, 구성 요소, 그리고 어떤 상황에 어떤 다이어그램을 사용하는지를 묻는 문제가 자주 출제됩니다.
- 특히 유스케이스 다이어그램, 클래스 다이어그램, 시퀀스 다이어그램은 가장 기본적이고 중요하므로, 각 다이어그램의 표기법과 의미를 정확히 이해해야 합니다.