CS

Diagram & UML

2026년 01월 29일 06:08

Diagram & UML

1. Diagram이란?

  • 설계 시 모두가 같은 의미로 이해하기 위해 사용하는 그림
  • 시스템을 시각적으로 표현하는 의사소통 도구

2. UML이란?

  • Diagram을 그리기 위한 객체지향 모델링 언어
  • Unified Modeling Language
  • 그림 기호와 의미를 표준화한 약속

3. UML의 구성요소 (사관다)

UML은 다음 3가지로 구성된다.

① 사물 (Things)

  • 관계의 대상이 되는 요소
  • 구·행·그·주
    • 구조: 시스템의 개념적, 물리적 요소 표현
    • 행동: 시간과 공간에 따른 요소들의 행위 표현
    • 그룹: 요소들을 그룹으로 묶어서 표현
    • 주해: 부가적인 설명이나 제약조건 표현

② 관계 (Relationships)

  • 사물과 사물 사이의 연결 방식
  • 연·집·포·일·의·실
    • 연관(—): 2개 이상의 사물이 서로 관련되어 있음
    • 집합(◇—): 하나의 사물이 다른 사물에 포함되어 있는 관계
    • 포함(◆—): 포함하는 사물의 변화가 포함되는 사물에게 영향 미침
    • 일반화(—▷): 하나의 사물이 다른 사물에 비해 더 일반적인지 구체적인지 표현
    • 의존(--→): 사물 사이에 연관이 있으나 필요에 의해 서로에게 영향을 주는 짧은 시간 동안만 연관 유지
    • 실체화(--▷) : 사물이 할 수 있거나 해야 하는 기능 (행위, 인터페이스) 로 서로를 그룹화 할 수 있는 관계

③ 다이어그램 (Diagram)

  • 사물 + 관계를 그림으로 표현한 결과물
  • 정적 다이어그램, 동적 다이어그램으로 구성

정적 다이어그램: 구조 표현

  • 클·객·컴·배·복·패
    • 클래스 (Class): 클래스 사이 관계 표현
    • 객체 (Object): 인스턴스를 특정 시점의 객체와 객체사이의 관계로 표현
    • 컴포넌트 (Component): 컴포넌트 간 관계 표현
    • 배치 (Deployment): 물리적 요소들의 위치
    • 복합체 구조 (Composite Structure): 복합 구조 가지는 경우 그 내부 구조 표현
    • 패키지 (Package): 모델 요소들을 그룹화한 패키지들의 관계

동적 다이어그램: 동작/순서 표현

  • 유·시·커·상·활·호·타
    • 유스케이스 (Use Case): 사용자의 요구 분석, 액터, 유스케이스로 구성
    • 시퀀스 (Sequence): 시스템, 객체들이 주고받는 메시지
    • 커뮤니케이션 (Communication): 메시지 뿐만이 아니라 객체들 관의 연관까지 표현
    • 상태 (State): 객체의 상태가 어떻게 변하는지 표현
    • 활동 (Activity): 시스템이 어떤 기능을 수행하는지
    • 상호작용 개요 (Interaction Overview): 상호작용 다이어그램 간의 제어흐름 표현
    • 타이밍 (Timing): 객체 상태 변화, 시간 제약을 명시적으로 표현

※ Use Case 다이어그램 전용 관계

  • 연관 (Association): 액터 ↔ 유스케이스 연결
  • 포함 (Include): 항상 수행되는 공통 기능
  • 확장 (Extend): 조건부로 수행되는 기능
  • 일반화 (Generalization): 액터 또는 유스케이스 간 상속 관계