본문 바로가기
Category/정보처리기사

UML (Unified Modeling Language) 다이어그램이란?

by Corinee 2024. 10. 12.
728x90
반응형

UML (Unified Modeling Language) 다이어그램은 시스템을 시각적으로 모델링하는 표준화된 언어입니다. 객체 지향 소프트웨어 설계에서 많이 사용되며, 시스템의 구조와 행동을 표현하는 데 도움이 됩니다. UML 다이어그램은 주로 소프트웨어 개발 과정에서 설계와 분석을 명확히 하기 위해 사용됩니다.

UML 다이어그램은 크게 구조적 다이어그램행위 다이어그램으로 나눌 수 있습니다.

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

시스템의 정적인 구조를 보여주는 다이어그램입니다. 시스템의 개체들, 그들 간의 관계, 그리고 이들의 속성 및 기능을 나타냅니다.

주요 구조적 다이어그램:

  • 래스 다이어그램 (Class Diagram): 시스템의 클래스, 속성, 메서드 및 클래스 간의 관계를 나타냅니다. 객체지향 시스템에서 가장 많이 사용되는 다이어그램입니다.
  • 체 다이어그램 (Object Diagram): 특정 시점의 객체들 간의 관계를 나타내며, 클래스 다이어그램의 인스턴스를 보여줍니다.
  • 포넌트 다이어그램 (Component Diagram): 시스템을 구성하는 컴포넌트와 그들 간의 관계를 보여줍니다. 주로 소프트웨어의 모듈화를 설명할 때 사용됩니다.
  • 치 다이어그램 (Deployment Diagram): 소프트웨어가 실행되는 하드웨어 환경을 나타내며, 노드 간의 관계와 배치된 소프트웨어 컴포넌트를 보여줍니다.
  • 키지 다이어그램 (Package Diagram): 클래스나 컴포넌트들을 그룹으로 묶어 표현하며, 패키지 간의 의존성을 설명합니다.

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

시스템의 동작과 상호작용을 나타내며, 시스템이 특정 상황에서 어떻게 동작하는지를 설명합니다.

주요 행위 다이어그램:

  • 유스케이스 다이어그램 (Use Case Diagram): 사용자(액터)와 시스템 간의 상호작용을 나타내며, 시스템이 제공하는 기능(유스케이스)을 설명합니다.
  • 시퀀스 다이어그램 (Sequence Diagram): 객체 간의 메시지 전달 순서를 시간의 흐름에 따라 나타낸 다이어그램입니다. 객체 간의 상호작용을 시각적으로 설명할 때 유용합니다.
  • 활동 다이어그램 (Activity Diagram): 시스템이 수행하는 활동(작업)을 흐름도처럼 표현하며, 절차를 설명하는 데 적합합니다.
  • 상태 다이어그램 (State Diagram): 객체가 특정 상태에서 다른 상태로 전이되는 과정을 나타냅니다. 상태 기계(State Machine)의 동작을 설명할 때 사용됩니다.
  • 통신 다이어그램 (Communication Diagram): 객체 간의 상호작용을 네트워크 형태로 표현하며, 시퀀스 다이어그램과 유사하지만 메시지의 흐름을 강조합니다.

3. UML 다이어그램의 주요 목적

  • 소프트웨어 시스템의 시각적 모델링: 시스템의 구조와 동작을 시각적으로 표현하여 이해하기 쉽게 만듭니다.
  • 분석 및 설계 명세: 시스템 설계 시, 요구사항 분석 및 아키텍처를 정의하는 데 유용합니다.
  • 개발자 간 의사소통 수단: UML 다이어그램을 통해 개발자, 설계자, 비즈니스 분석가 간의 의사소통을 원활하게 합니다.
  • 문서화: 시스템의 다양한 측면을 문서화하여 유지보수 및 확장 시 참조할 수 있도록 합니다.

UML 다이어그램을 사용함으로써 얻을 수 있는 이점:

  • 명확한 설계와 분석: 복잡한 시스템을 시각적으로 표현하여 설계를 명확히 할 수 있습니다.
  • 협업의 용이성: 여러 팀이 공동으로 작업할 때 시스템의 개요를 쉽게 공유하고 논의할 수 있습니다.
  • 표준화된 표현 방식: UML은 표준화된 기호와 표기법을 사용하므로, 시스템을 표현하는 공통 언어 역할을 합니다.

UML은 객체 지향 분석 및 설계뿐만 아니라, 시스템을 직관적으로 이해하고 명확하게 문서화하는 데 중요한 역할을 합니다.