UML(Unified Modeling Language) 다이어그램은 소프트웨어 시스템의 설계 및 구조를 시각적으로 표현하는데 사용되는 표준화된 모델링 언어이며, 특히 복잡한 시스템을 설계하고 문서화하는 데 유용하다.
UML 다이어그램은 '구조'와 '행위'라는 두 가지 범주로 나눌 수 있으며, 구조 다이어그램은 시스템의 정적 구조를 설명하는 데 사용되고, 행위 다이어그램은 시스템의 동적 동작을 설명하는 데 사용된다.
각각의 다이어그램은 아래와 같이 분류된다.
구조 다이어그램
- Class Diagram(클래스 다이어그램)
- Object Diagram(객체 다이어그램)
- Package Diagram(패키지 다이어그램)
- Component Diagram(컴포넌트 다이어그램)
- Deployment Diagram(배치 다이어그램)
행위 다이어그램
- Use Case Diagram(유스케이스 다이어그램)
- Activity Diagram(활동 다이어그램)
- State Diagram(상태 다이어그램)
- Sequence Diagram(순서 다이어그램)
- Communication Diagram(커뮤니케이션 다이어그램)
알기 쉽게 그림 예시와 함께 살펴보자.
구조 다이어그램 상세
Class Diagram(클래스 다이어그램): 클래스, 속성, 메소드, 클래스 간의 관계를 나타낸다.
Object Diagram(객체 다이어그램): 특정 시점의 객체와 그들의 상태를 나타낸다.
Package Diagram(패키지 다이어그램): 클래스를 패키지로 그룹화하여 더 큰 시스템을 관리할 수 있게 한다.
Component Diagram(컴포넌트 다이어그램): 컴포넌트끼리의 구조 관계를 나타낸다.
Deployment Diagram(배치 다이어그램): 소프트웨어, 하드웨어 등을 포함한 시스템의 물리적인 구조를 나타낸다.
행위 다이어그램 상세
Use Case Diagram(유스케이스 다이어그램): 사용자 관점에서 바라본 시스템을 나타낸다.
Activity Diagram(활동 다이어그램): 프로세스의 흐름이나 워크플로우를 나타낸다. 시스템 내부에 존재하는 여러 행위들과 각 행위의 분기, 분기가 생기기 위한 이벤트들을 포함한다.
State Diagram(상태 다이어그램): 하나의 객체에서 발생하는 활동 변화를 나타낸다.
Sequence Diagram(순서 다이어그램): 객체 간의 상호작용을 시간 순서에 따라 나타낸다.
Communication Diagram(커뮤니케이션 다이어그램): 동작에 참여하는 객체들이 주고받는 메시지를 표현하고, 메시지 뿐만 아니라 객체 간의 상호작용까지 나타낸다.
[인터넷 프로토콜] IPv4와 IPv6 (0) | 2024.07.04 |
---|---|
[DB] DDL, DML, DCL의 개념과 예시 (0) | 2024.07.04 |
[자료구조] 스택(Stack), 큐(Queue), 힙(Heap) (0) | 2024.05.13 |
[개발 방법론] 폭포수(Waterfall) 방법론 vs 애자일(Agile) 방법론 (0) | 2024.05.09 |
[개발 기법] TDD(Test-Driven Development, 테스트 주도 개발) (0) | 2024.05.06 |