[소프트웨어공학] 컴포넌트 다이어그램(Component Diagram)
지난 포스팅에서 클래스 다이어그램을 알아봤습니다.
이번 포스팅에서는 컴포넌트 다이어그램에 대해 알아보도록 하겠습니다.
- 구조 다이어그램(Structure Diagram)
클래스 다이어그램(Class Diagram)- 컴포넌트 다이어그램(Component Diagram)
- 행위 다이어그램(Behavior Diagram)
- 유스케이스 다이어그램(Use-case Diagram)
- 시퀀스 다이어그램(Sequence Diagram)
- 콜라보레이션 다이어그램(Collaboration Diagram)
- 상태 다이어그램(State chart Diagram)
- 활동 다이어그램(Acticity Diagram)
컴포넌트란?
- Source code(.h, .cpp, ...)
- Run-time library(.dll)
- 실행 파일(.exe)
컴포넌트 다이어그램의 표현
- 컴포넌트와 인터페이스의 의존관계
- 컴포넌트와 인터페이스의 실체화관계
UML의 의존관계와 실체화관계 표기는 다음과 같습니다.
하지만 컴포넌트 다이어그램에서는 실체화관계를 간단하게 표현하기 위해 다음과 같이 표기합니다.
컴포넌트와 컴포넌트 사이는 의존관계로, 컴포넌트와 인터페이스 사이는 실체화관계로 나타냅니다.
- 컴포넌트와 컨포넌트의 의존관계 표현
- 컴포넌트와 인터페이스의 실체화 표현
- 컴포넌트와 클래스의 공통점
- 둘 다 이름이 있고, 정해진 인터페이스를 실현할 수 있음.
- 의존성이 있고 일반화가 가능함.
- 연관 관계와 교류에 참여할 수 있고 중첩이 가능하며 인스턴스를 가질 수 있음.
- 컴포넌트와 클래스의 차이점
- 클래스는 논리적인 추상화이지만 컴포넌트는 물리적인 요소
- 컴포넌트는 클래스나 통신과 같은 서로 다른 논리적 요소들을 물리적으로 패키지화한 것
- 클래스는 속성과 오퍼레이션을 직접 가질 수 있지만, 컴포넌트는 자신의 인터페이스를 통해 접근할 수 있는 오퍼레이션들만 가질 수 있음.
반응형
'[컴퓨터공학] > [소프트웨어공학]' 카테고리의 다른 글
[소프트웨어공학] SOLID - 단일 책임 원칙(Single Responsibility Principle) (0) | 2022.05.01 |
---|---|
[소프트웨어공학] 순차 다이어그램(Sequence Diagram) (0) | 2022.03.22 |
[소프트웨어공학] 유스케이스 다이어그램(Use-case Diagram) (0) | 2022.03.18 |
[소프트웨어공학] 클래스 다이어그램(Class Diagram) (0) | 2022.03.17 |
[소프트웨어공학] UML 정의와 종류 (0) | 2022.03.16 |