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): 액터 또는 유스케이스 간 상속 관계
