배포 다이어그램: EXAMPLE이 포함된 UML 튜토리얼

배포 다이어그램이란 무엇입니까?

배포 다이어그램은 소프트웨어 시스템이 실행될 물리적 하드웨어를 지정하는 다이어그램 유형입니다. 또한 소프트웨어가 기본 하드웨어에 배포되는 방식도 결정합니다. 시스템의 소프트웨어 부분을 실행할 장치에 매핑합니다.

배포 다이어그램은 설계에서 생성된 소프트웨어 아키텍처를 이를 실행하는 물리적 시스템 아키텍처에 매핑합니다. 분산 시스템에서는 물리적 노드에 걸친 소프트웨어의 분산을 모델링합니다.

소프트웨어 시스템은 다양한 방식으로 표현됩니다. 유물, 다음과 같은 소프트웨어를 실행할 실행 환경에 매핑됩니다. 노드. 배포 다이어그램에는 많은 노드가 포함됩니다. 따라서 이들 사이의 관계는 통신 경로를 사용하여 표현됩니다.

배포 다이어그램에는 두 가지 형태가 있습니다.

  • Descript또는 양식
  • 여기에는 노드, 노드와 아티팩트 간의 관계가 포함됩니다.
  • 인스턴스 형태
  • 여기에는 노드 인스턴스, 노드 인스턴스와 아티팩트 인스턴스 간의 관계가 포함됩니다.
  • 밑줄 친 이름은 노드 인스턴스를 나타냅니다.

배포 다이어그램의 목적

배포 다이어그램은 소프트웨어가 하드웨어 시스템에 배포되는 방식을 설명하는 단일 목적으로 사용됩니다. 소프트웨어가 하드웨어와 상호 작용하여 전체 기능을 실행하는 방식을 시각화합니다. 소프트웨어와 하드웨어 간 상호 작용을 설명하는 데 사용되며 그 반대의 경우도 마찬가지입니다.

배포 다이어그램 기호 및 표기법

배포 다이어그램 표기법
배포 다이어그램 표기법

배포 다이어그램은 다음 표기법으로 구성됩니다.

  1. 노드
  2. 구성요소
  3. 유물
  4. 인터페이스

인공물이란 무엇입니까?

아티팩트는 소프트웨어 개발과 관련된 구체적인 실제 세계 엔터티의 사양을 나타냅니다. 아티팩트를 사용하여 소프트웨어 개발 프로세스 중에 사용되는 프레임워크나 실행 파일을 설명할 수 있습니다. 아티팩트는 노드에 배포됩니다. 가장 일반적인 아티팩트는 다음과 같습니다.

  1. 소스 파일
  2. 실행 파일
  3. 데이터베이스 테이블
  4. 스크립트
  5. DLL 파일
  6. 사용자 매뉴얼 또는 문서
  7. 출력 파일

아티팩트는 노드에 배치됩니다. 모든 UML 요소에 대한 물리적 표현을 제공할 수 있습니다. 일반적으로 구성 요소를 표현합니다. 아티팩트에는 스테레오타입 레이블이 지정됩니다. < >, 오른쪽 상단에 아티팩트 아이콘이 있을 수 있습니다.

각 아티팩트의 사양에는 아티팩트의 물리적 위치를 나타내는 파일 이름이 있습니다. 아티팩트는 다른 아티팩트를 포함할 수 있습니다. 서로 의존할 수도 있습니다.

아티팩트에는 이를 조작하는 속성과 동작이 있습니다.

일반적으로 통합모델링언어에서는 아티팩트를 다음과 같이 표현한다.

인공물
유물

아티팩트 인스턴스

아티팩트 인스턴스는 특정 아티팩트의 인스턴스를 나타냅니다. 아티팩트 인스턴스는 이름에 밑줄이 그어진 것을 제외하고는 아티팩트와 동일한 기호로 표시됩니다. UML 다이어그램 이를 통해 원본 아티팩트와 인스턴스를 구별할 수 있습니다. 각 실제 복사본이나 파일은 고유한 아티팩트의 인스턴스입니다.

일반적으로 아티팩트 인스턴스는 통합 모델링 언어에서 다음과 같이 표현됩니다.

아티팩트 인스턴스
아티팩트 인스턴스

노드 란 무엇입니까?

노드는 실행을 위해 아티팩트가 배포되는 계산 리소스입니다. 노드는 하나 이상의 아티팩트를 실행할 수 있는 물리적 사물입니다. 노드는 프로젝트 크기에 따라 크기가 다를 수 있습니다.

노드는 코드 실행과 시스템의 다양한 엔티티 간 통신을 설명하는 필수적인 UML 요소입니다. 노드 이름이 적힌 3D 상자로 표시됩니다. 노드는 소프트웨어를 배포하는 데 사용되는 하드웨어를 전달하는 데 도움이 됩니다.

노드 간의 연관은 정보가 어떤 방향으로든 교환되는 통신 경로를 나타냅니다.

일반적으로 노드에는 다음과 같은 두 가지 스테레오타입이 있습니다.

  • << 장치 >>계산을 수행할 수 있는 물리적 기계를 나타내는 노드입니다. 장치는 라우터일 수도 있고 서버 PC일 수도 있습니다. 이는 스테레오타입이 <인 노드를 사용하여 표현됩니다. >.

    UML 모델에서는 하나 이상의 장치를 서로 중첩할 수도 있습니다.

  • 다음은 UML로 표현된 장치입니다.

    장치 노드
    장치 노드
  • << 실행 환경 >>소프트웨어가 실행될 환경을 나타내는 노드이다. 예를 들어, Java 응용 프로그램은 다음에서 실행됩니다. 자바 가상 머신(JVM). JVM은 다음을 위한 실행 환경으로 간주됩니다. Java 응용 프로그램. 실행 환경을 장치 노드에 중첩할 수 있습니다. 단일 장치 노드에서 둘 이상의 실행 환경을 연결할 수 있습니다.

다음은 UML로 표현된 실행 환경입니다.

실행 환경 노드
실행 환경 노드

배포 다이어그램을 그리는 방법은 무엇입니까?

배포 다이어그램은 전체 시스템의 토폴로지 보기를 시각화합니다. 시스템의 배포를 나타냅니다.

배포 다이어그램은 시스템 내부에서 사용되는 물리적 장치를 설명하는 노드로 구성됩니다. 이러한 노드에서 아티팩트가 배포됩니다. 또한 아티팩트 인스턴스가 구현될 노드 인스턴스가 있을 수도 있습니다.

시스템의 노드와 아티팩트는 시스템의 최종 실행에 참여합니다.

배포 다이어그램은 관리 프로세스 중에 중요한 역할을 하며 다음 매개변수를 충족해야 합니다.

  • 고성능
  • 유지 보수성
  • 확장성
  • 이식성
  • 쉽게 이해할 수 있음

노드와 아티팩트는 배포의 필수 요소입니다. 배포 다이어그램을 실제로 그리기 전에 모든 노드와 시스템의 모든 노드 간의 관계를 식별해야 합니다.

시스템의 아키텍처를 알아야 합니다. 애플리케이션이 웹 애플리케이션, 클라우드 애플리케이션, 데스크톱 애플리케이션 또는 모바일 애플리케이션인지 여부입니다. 이러한 모든 것은 중요하며 배포 다이어그램 개발 중에 중요한 역할을 합니다.

모든 노드, 관계 및 아티팩트가 알려지면 배포 다이어그램을 개발하기가 쉬워집니다.

배포 다이어그램의 예

다음 배포 다이어그램은 브라우저에서 HTML5 비디오 플레이어가 작동하는 방식을 나타냅니다.

배포 다이어그램
배포 다이어그램

배포 다이어그램은 언제 사용합니까?

배포 다이어그램은 주로 시스템 관리자, 네트워크 엔지니어 등이 사용합니다. 이러한 다이어그램은 소프트웨어가 하드웨어 시스템에 배포되는 방식을 설명하는 단일 목적으로 사용됩니다. 소프트웨어가 하드웨어와 상호 작용하여 완전한 기능을 실행하는 방식을 시각화합니다.

소프트웨어가 효율적이고 더 빠른 속도로 작동하려면 하드웨어도 품질이 좋아야 합니다. 소프트웨어가 제대로 작동하고 빠른 시간 내에 정확한 결과를 생성하려면 효율적으로 설계되어야 합니다.

배포 다이어그램은 다음 용도로 사용할 수 있습니다.

  1. 시스템의 네트워크 토폴로지를 모델링합니다.
  2. 분산 시스템 및 네트워크 모델링.
  3. 순방향 및 역방향 엔지니어링 프로세스.

요약

  • 배포 다이어그램은 설계 시 생성된 소프트웨어 아키텍처를 이를 실행하는 물리적 시스템 아키텍처에 매핑합니다.
  • 이는 시스템의 소프트웨어 부분을 이를 실행할 하드웨어에 매핑합니다.
  • 배포 다이어그램은 전체 시스템의 토폴로지 보기를 시각화합니다.
  • 노드와 아티팩트는 배포의 필수 요소입니다.
  • 시스템의 노드와 아티팩트는 시스템의 최종 실행에 참여합니다.