본문 바로가기
Programming/PlantUML

UML이란?

by 느리게 걷는 즐거움 2024. 8. 5.
반응형

UML이란?

소프트웨어 개발에 있어서 설계와 문서화는 중요한 단계입니다. UML(통합 모델링 언어, Unified Modeling Language)은 소프트웨어 시스템을 시각적으로 모델링하는 표준화된 방법론입니다. UML은 다양한 시스템의 구조와 동작을 문서화하고, 이해하며, 소통하기 위해 사용됩니다. UML은 소프트웨어 설계뿐만 아니라 비즈니스 프로세스, 시스템 분석 등 여러 분야에 적용될 수 있습니다.

UML의 주요 목표는 시스템을 명확하고 일관되게 표현하여 이해를 돕고, 개발 과정에서의 의사소통을 원활하게 하는 것입니다. 각 다이어그램은 특정한 목적과 기능을 가지고 있습니다. 다이어그램은 크게 구조적 다이어그램과 행위 다이어그램으로 나눌 수 있습니다.

 

1. 구조적 다이어그램

구조적 다이어그램은 시스템의 정적 구조를 표현합니다. 주요 구조적 다이어그램에는 다음이 포함됩니다:

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

시스템의 클래스와 그 관계를 정의합니다. 클래스 다이어그램은 객체 지향 프로그래밍의 핵심인 클래스, 속성, 메서드, 관계(상속, 연관, 집합 등)을 시각화하는 데 사용됩니다.

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

시스템의 하드웨어 및 소프트웨어 컴포넌트와 이들 간의 관계를 정의합니다. 이 다이어그램은 시스템 아키텍처를 설계하거나 분석하는 데 도움을 주며, 시스템의 물리적 구성 요소가 어떻게 배치되고 연결되는지를 이해하는 데 유용합니다.

  • 시스템의 주요 구성 요소와 이들 간의 관계
  • 각 컴포넌트의 인터페이스와 의존성
  • 컴포넌트의 배치 및 연결

에 관련된 정보를 제공합니다. 

배치 다이어그램 (Deployment Diagram)

배치 다이어그램(Deployment Diagram)은 시스템의 물리적 배치와 하드웨어, 소프트웨어 구성 요소 간의 관계를 시각적으로 표현하는 UML(통합 모델링 언어) 다이어그램입니다. 이 다이어그램은 시스템의 구성 요소가 어떻게 배치되고 연결되는지를 보여주며, 

  • 시스템 아키텍처 설계
  • 소프트웨어 시스템의 배포 계획을 수립할 때
  • 물리적 배치와 연결을 분석하여 문제의 원인을 파악하고 해결책을 제시
  • 시스템의 물리적 아키텍처를 문서화

와 같은 목적을 위해 사용될 수 있습니다.

객체 다이어그램 (Object Diagram)

객체 다이어그램은 시스템 내의 객체들 간의 관계와 상태를 시각화합니다. 객체는 클래스의 인스턴스로서, 객체 다이어그램은 특정 시점에서 이러한 객체들의 상태와 이들 간의 상호작용을 표현합니다.

클래스 다이어그램의 인스턴스를 보여주는 역할을 하며 시스템의 특정시점의 동적 상태를 분석하는 데 유용합니다. 즉 클래스 다이어그램의 인스턴스의 특정시점을 시각화합니다.

 

2. 행위 다이어그램

행위 다이어그램행위 다이어그램은 시스템의 동적 동작을 모델링합니다. 주요 행위 다이어그램에는 다음이 포함됩니다.

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

유즈케이스 다이어그램(Use Case Diagram)은 시스템의 기능적 요구사항과 사용자의 상호작용을 시각적으로 표현하는 UML(통합 모델링 언어) 다이어그램입니다. 이 다이어그램은 시스템이 어떤 기능을 제공하는지, 사용자가 시스템과 어떻게 상호작용하는지를 명확하게 나타내며, 소프트웨어 요구사항 분석과 설계에 유용합니다.

이 다이어그램은 시스템의 유즈케이스(기능)와 액터(사용자 또는 외부 시스템) 간의 관계를 나타냅니다. 시스템의 기능을 정의하고, 사용자가 이 기능을 어떻게 사용하는지를 시각적으로 표현하여 시스템의 요구사항을 이해하는 데 도움을 줍니다.

  • 시스템의 기능과 사용자(액터) 간의 상호작용을 정의
  • 시스템의 요구 사항과 기능을 시각화

에 유용하게 사용됩니다.

시퀀스 다이어그램 (Sequence Diagram)

시퀀스 다이어그램(Sequence Diagram)은 UML(통합 모델링 언어)에서 시스템의 객체 간 상호작용을 시간 순서에 따라 시각적으로 표현하는 다이어그램입니다. 이 다이어그램은 객체들이 어떻게 서로 메시지를 주고받는지, 그리고 그 상호작용이 시간의 흐름에 따라 어떻게 이루어지는지를 명확히 보여줍니다.

시퀀스 다이어그램은 시스템의 동작을 이해하고, 프로세스나 시나리오를 분석하는 데 유용합니다. 시스템의 특정 시나리오나 프로세스의 동작을 이해하고 분석하는 데 도움을 줍니다. 이 다이어그램을 사용하면 객체 간의 상호작용을 시간 순서에 따라 보여주고 객체의 메서드 호출 순서를 명확히 합니다.

활동 다이어그램 (Activity Diagram)

활동 다이어그램(Activity Diagram)은 UML(통합 모델링 언어)에서 시스템의 프로세스나 작업 흐름을 시각적으로 표현하는 도구입니다. 이 다이어그램은 작업이나 활동의 순서와 흐름을 나타내며, 시스템의 비즈니스 로직이나 프로세스를 모델링하는 데 유용합니다.

시스템의 작업 흐름, 프로세스의 단계, 그리고 이들 간의 관계를 시각적으로 표현합니다. 활동 다이어그램은

  • 복잡한 비즈니스 프로세스나 작업 흐름을 명확히 하고
  • 프로세스의 각 단계에서 수행되는 작업을 이해

하는 데 도움을 줍니다.

 

상태 다이어그램 (State Diagram)

상태 다이어그램(State Diagram)은 UML(통합 모델링 언어)에서 객체의 상태와 상태 간의 전이를 시각적으로 표현하는 다이어그램입니다. 이 다이어그램은 객체가 시스템 내에서 어떻게 상태를 변경하는지, 그리고 상태 간의 전이가 어떤 조건이나 이벤트에 의해 발생하는지를 나타냅니다. 상태 다이어그램은 시스템의 동작을 이해하고, 복잡한 상태 기반 시스템을 설계하는 데 유용합니다.

상태 기반 시스템의 설계와 구현 시, 객체의 상태와 상태 간 전이를 명확히 하기 때문에 시스템의 객체가 상태 간에 어떻게 전이되는지를 분석하여 시스템의 동작을 이해할 수 있습니다.

결론

UML은 소프트웨어 설계와 시스템 분석에 강력한 도구입니다. 다양한 다이어그램을 통해 시스템의 구조와 동작을 명확하게 시각화할 수 있으며, 이는 개발 과정에서 중요한 의사소통 수단이 됩니다. UML을 잘 활용하면 더 나은 설계와 효율적인 프로젝트 관리를 이룰 수 있습니다. 다양한 UML 다이어그램을 이해하고 활용하여 소프트웨어 개발의 성공적인 결과를 만들어 보세요!

 

 

반응형

'Programming > PlantUML' 카테고리의 다른 글

Gantt 차트 작성하기  (0) 2024.08.05
UML - ER Diagram  (0) 2024.06.21
UML - Class Diagram  (0) 2024.06.21