패키지 다이어그램

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.