패키지 다이어그램
IT 위키
SOLO (토론 | 기여)님의 2025년 4월 10일 (목) 12:23 판 (새 문서: 패키지 다이어그램(Package Diagram)은 UML(Unified Modeling Language)에서 시스템을 구성하는 클래스나 하위 패키지들을 논리적으로 그룹화한 구조를 표현하는 다이어그램이다. 시스템의 의존 관계와 모듈화를 시각화하는 데 유용하며, 주로 소프트웨어의 아키텍처 설계 초기 단계에서 사용된다. ==개요== 섬네일|패키지 다이어그램 예시 패...)
패키지 다이어그램(Package Diagram)은 UML(Unified Modeling Language)에서 시스템을 구성하는 클래스나 하위 패키지들을 논리적으로 그룹화한 구조를 표현하는 다이어그램이다. 시스템의 의존 관계와 모듈화를 시각화하는 데 유용하며, 주로 소프트웨어의 아키텍처 설계 초기 단계에서 사용된다.
1 개요[편집 | 원본 편집]
패키지는 클래스, 인터페이스, 다른 패키지 등을 포함할 수 있는 컨테이너로, 네임스페이스 단위의 관리와 의존성 파악에 효과적이다. 패키지 다이어그램은 이런 패키지들 사이의 의존 관계(dependency), 포함 관계(containment), 가시성 등을 시각적으로 표현한다.
2 표기법[편집 | 원본 편집]
- 패키지(Package)는 탭 달린 폴더 모양으로 표시되며, 이름은 상단에 위치함
- 패키지 안에는 하위 패키지, 클래스, 인터페이스 등을 포함 가능
- 의존 관계는 점선 화살표(----->)로 표현되며, 방향은 사용하는 쪽에서 사용되는 쪽으로
3 주요 구성 요소[편집 | 원본 편집]
- 패키지
- 시스템 내 논리적 구성 단위
- 의존 관계
- 한 패키지가 다른 패키지의 내부 요소를 사용하는 관계
- 포함 관계
- 특정 패키지 안에 다른 클래스나 패키지를 중첩시켜 표현
- 가시성(visibility)
- public, private 등을 패키지 수준에서 고려 가능
4 예시[편집 | 원본 편집]
예를 들어, 소프트웨어의 계층 구조를 다음과 같이 나눌 수 있다:
- 패키지: Controller
- 패키지: Service
- 패키지: Repository
+------------------+ +----------------+ +--------------------+
| Controller | -----> | Service | -----> | Repository |
+------------------+ +----------------+ +--------------------+
이 구조는 Controller가 Service에 의존하고, Service는 Repository에 의존함을 나타낸다.
5 활용[편집 | 원본 편집]
- 시스템 구조 설계의 모듈 분리와 계층화 표현
- 복잡한 클래스 다이어그램을 단순화
- 팀 간 모듈 분할 및 인터페이스 정의
- 레이어드 아키텍처, 도메인 기반 설계(DDD) 구조 표현
6 장점[편집 | 원본 편집]
- 의존성 관리와 구조적 설계에 유리
- 네임스페이스 및 모듈 단위 파악이 쉬움
- 시스템 구조의 고수준 이해 가능
7 단점[편집 | 원본 편집]
- 동작(행위)에 대한 정보를 제공하지 않음
- 복잡한 의존 관계가 많은 경우 가독성이 떨어질 수 있음
8 같이 보기[편집 | 원본 편집]
9 참고 문헌[편집 | 원본 편집]
- OMG. (2017). Unified Modeling Language (UML) Version 2.5.1
- Larman, C. (2004). Applying UML and Patterns (3rd ed.). Prentice Hall.