UML
IT 위키
더 많은 작업
- Unified Modeling Language
- 통합 모델링 언어
- 시스템을 모델로 표현해주는 대표적인 모델링 언어
- 통합적: 방법론을 기반으로 한 표준화된 기법 제공
- 시각적: 풍부한 시각적 표현 모델 제공
- 독립적: 시스템의 종류나 규모에 관계 없이 적용 가능
| 구성요소 | 내용 |
|---|---|
| 사물(Things) | 구조, 행위, 그룹, 주석 등 |
| 관계(Relationships) | 의존 관계, 연관 관계, 일반화 관계 등 |
| 다이어그램(Diagrams) | 객체 다이어그램, 클래스 다이어그램, 시퀀스 다이어그램 등 |
- 구조 다이어그램(Structure Diagram)
- 클래스 다이어그램(Class Diagram)
- 객체 다이어그램(Object Diagram)
- 복합체 구조 다이어그램(Complex Structure Diagram)
- 배치 다이어그램(Deployment Diagram)
- 컴포넌트 다이어그램(Component Diagram)
- 패키지 다이어그램(Package Diagram)
- 행위 다이어그램(Behavior Diagram)
- 활동 다이어그램(Activity Diagram)
- 상태 머신 다이어그램(State Machine Diagram)
- 유스케이스 다이어그램(Use Case Diagram)
- 상호작용 다이어그램(Interaction Diagram)
- 커뮤니케이션 다이어그램(Communication Diagram)
- 시퀀스 다이어그램(Sequence Diagram)
| 명칭 | 표현 | 설명 |
|---|---|---|
| 연관 관계 | ────> | 객체간 개념적으로 연관 |
| 의존 관계 | - - - - - -> | 객체 변경 시 관계된 다른 객체도 변경 |
| 집합 관계 | ────◇ | 전체와 부분인 연관 관계 |
| 포함 관계 | ────◆ | 전체 소멸 시 부분도 소멸되는 집합 연관 관계 |
| 일반화 관계 | ────▷ | 일반화된 개념과 구체화된 객체의 관계 |
| 실체화 관계 | - - - - - -▷ | 인터페이스와 그것을 실체로 구현한 객체의 관계 |
UML 이 기본으로 제공하지 않는 의미를 표현하려고 요소를 확장하는 방법이다.
| 확장 방법 | 표기 | 설명 |
|---|---|---|
| 스테레오타입(Stereotype) | 《 》(길러멧, << >>) |
기존 요소에 새로운 종류·의미를 덧붙인다. 예: 《interface》, 《include》, 《extend》, 《entity》 |
| 제약 조건(Constraint) | { } | 요소가 지켜야 할 조건을 적는다. 예: {ordered}, {age >= 0} |
| 태그 값(Tagged Value) | {이름 = 값} | 요소에 속성 정보를 덧붙인다. 예: {version = 1.2} |
- 스테레오타입을 묶어 특정 분야용으로 UML 을 확장한 것을 프로파일(Profile)이라 한다. SysML 이 그런 예다.
- 유스케이스 다이어그램의 포함·확장 관계도 의존 관계 점선 위에 《include》, 《extend》 스테레오타입을 붙여 나타낸다.