logo
김희준
김희준

Feb 04, 2024업데이트

컴포넌트 다이어그램은 시스템을 구성하는 임의의 물리적인 요소를 의미합니다. 여기서 말하는 물리적인 요소는 가살의 모델을 실제로 구현해 나타내는 것을 말합니다. 다소 낯선 개념인 컴포넌트 다이어그램의 개념과 구성요소, 그리고 장점 등을 예시 다이어그램을 통해서 좀더 쉽게 설명해보려고 합니다. 또한 컴포넌트 다이어그램 그리기에 최적화된 툴도 함께 소개해보겠습니다. 

Part1:컴포넌트 다이어그램

1.개념

UML(통합 모델링 언어)에서 컴포넌트 다이어그램(Component Diagram)은 각각의 컴포넌트들이 어떻게 서로 연결되어 더 큰 컴포넌트나 소프트웨어 시스템을 구성하는지를 보여주는 것입니다.

그래서 컴포넌트는 복잡한 시스템의 구조를 설명할 때 자주 사용합니다. 더 높은 레벨의 소프트웨어 시스템을 모델링 하거나 더 낮은 패키지 레벨에서 컴포넌트를 표시하기도 합니다. 이를 통해 소프트웨어 시스템이 재사용 가능하고 바꿀 수 있는 컴포넌트 및 인터페이스로 분할되는 컴포넌트 기반 개발이 가능해집니다.

아래는 ATM 컴포넌트 다이어그램으로 복잡한 시스템을 이렇게 구조 기반으로 설명하면 좀더 쉽게 이해가 가능합니다.

컴포넌트 다이어그램1

사진출처: https://creately.com/

2.구성 요소

컴포넌트 다이어그램은 기본적인 구성요소로 컴포넌트, 인터페이스, 의존관계 등을 말하며 추가적인 요소로 컴포넌트와 인터페이스 간의 관계를 의미하는 지원관계 등이 있습니다.

컴포넌트 : 논리적 요소들을 물리적으로 패지키화한 것으로, 행동의 제공과 필요한 일터페이스에 의해 정의되는 시스템의 모듈 부분을 의미합니다.

인터페이스 : 컴포넌트가 구현해야 하는 오퍼레이션의 모임을 의미합니다.

의존관계 : 컴포넌트와 컴포넌트 간의 관계를 말합니다.

3.이점

다른 UML 다이어그램과 달리 컴포넌트 다이어그램은 시스템의 물리적 구성요소와 이러한 구성 요소가 어떻게 연결되는지를 보여줍니다. 그래서 컴포넌트 다이어그램을 사용하여 개발을 계획하고 복잡한 시스템이 배치되는 방식을 시각화하기 좋습니다.

또한 컴포넌트는 기존의 함수, 클래스 등에 비해 보다 큰 개념이라 재사용하는 경우에 효과가 크고 기존 컴포넌트를 수정하는 대신에 아예 새로운 컴포넌트로 기존 컴포넌트를 대체하는 것도 가능합니다.

Part2:컴포넌트 다이어그램 표현 방법

1) 컴포넌트

컴포넌트 다이어그램에서 컴포넌트는 일반적으로 탭이 달린 직사각형의 형태로 표현합니다. 이 때 모든 컴포넌트는 반드시 이름을 가지고 있어야 하며, 컴포넌트가 패키지에 포함되어 있다면 컴포넌트의 이름 앞에 패키지의 이름을 붙여서 나타낼 수 있습니다.

그리고 클래스처럼 컴포넌트에 꼬리표 값을 달아주거나 컴포넌트 내부의 오퍼레이션을 보여줄 수도 있습니다. 또한 컴포넌트 내부에는 클래스, 성과물, 컴포넌트를 정의할 수 있고, 컴포넌트에 <<file>>라고 하는 스테레오 타입을 붙여서 물리적인 파일을 표현하기도 합니다.

컴포넌트 다이어그램2

2)인터페이스

컴포넌트 다이어그램에서 컴포넌트와 인터페이스를 연결하는 화살표 끝의 모양이나 화살표 선의 디자인으로 나타낼 수 있습니다. 예를 들어 화살표의 선을 점선이나 실선 등으로 표현할 수 있습니다. 여기서 인터페이스를 실체화한다는 표현하는데 이는 실제로 동작하는 컴포넌트에 인터페이스를 적용한다는 의미입니다.

그리고 컴포넌트 다이어그램에서는 인터페이스의 실체화 관계뿐만 아니라 컴포넌트와 필수 인터페이스 사이의 의존관계도 표현이 가능합니다.

컴포넌트 다이어그램3

3)의존관계

컴포넌트 사이의 의존관계는 한 컴포넌트에 변경이 발생할 경우, 그 변경의 범위를 추적하고 파악하고 싶을 때 유용하게 사용할 수 있습니다.

컴포넌트 다이어그램4

Part3: 좋은 도구로 함께 컴포넌트 다이어그램 그리기

Boardmix는 위에서 설명한 컴포넌트 다이어그램 그리기에 활용하기 좋은 업무용 도구입니다. 보드믹스에서는 컴포넌트 다이어그램의 필수 구성요소들인 컴포넌트, 인터페이스, 화살표 등등을 sharp library에서 제공하고 있습니다. 때문에 컴포넌트 다이어그램 예제의 내용이 준비 되어 있다면 누구보다 빠르고 쉽게 완성할 수 있습니다.

또한 화이트보드 기반 협업툴인 보드믹스는 완성된 다이어그램을 팀원들과 빠르게 공유할 수 있을 뿐만 아니라 화상회의 기능을 활용해 팀원들과 실시간으로 동시 작업도 가능하도록 지원하고 있습니다.

1) 컴포넌트 다이어그램 구성요소 확인하기

보드믹스 캔버스 > 단축메뉴 중 5번째 sharp library를 클릭하면 다양한 다이어그램 요소들을 확인할 수 있습니다. 컴포넌트 다이어그램 요소들은 UML 카테고리에서 확인할 수 있습니다.

컴포넌트 다이어그램5

2) 컴포넌트 다이어그램 예시 정하기

구성요소를 확인하고 나서는 그리고 싶은 컴포넌트 다이어그램 예제를 정합니다. 예시 컴포넌트 다이어그램으로 정한 예제는 A솔루션이라는 곳에서 사용자가 검색 서비스를 사용하는 B응용 프로그램과 이를 위해 제공하는 C패키지입니다. 예제를 작성할 수 있도록 각 컴포넌트와 인터페이스, 의존관계 내용을 정의합니다.

컴포넌트 다이어그램6

3) 보드믹스를 활용해 빠르게 완성합니다.

정의한 내용을 바탕으로 라이브러리를 활용해 컴포넌트와 패키지 등을 빠르게 보드믹스 작업패널에 그립니다. 그리고 각 컴포넌트와 패키지의 관계를 선으로 연결해 의존관계를 나타내면 컴포넌트 다이어그램 그리기가 완성됩니다.

컴포넌트 다이어그램7

마무리

앞에서부터 컴포넌트 다이어그램의 개념을 정의하고 구성요소와 표현방법을 자세하게 알아 보았습니다. 마지막으로 컴포넌트 다이어그램은 그릴 때 주의할 점은 실현 가능성과 컴포넌트 간의 의존관계를 잘 정의하고 모델링 해야합니다. 이를 위해 물리적인 구성과 정의가 적합한지 확인하는 것입니다. 이러한 내용을 정리하는 것에 팀원들과 많은 시간을 할애해야 합니다.

그리고 컴포넌트 다이어그램 그리기는 다이어그램 그리기에 최적화된 Boardmix에게 맡기면 빠르고 간편하게 작업을 완성할 수 있습니다.

무료 이용 arrow

go to back
twitter share
facebook share