de_DEen_USes_ESfa_IRfr_FRid_IDjapl_PLpt_PTru_RUvizh_CNzh_TW

Diagrama de estructura compuesta de UML: modelado de arquitectura interna y colaboración

El diagrama de estructura compuesta de UML es un diagrama estructural potente utilizado para explorar elarquitectura interna de un clasificador estructurado, como una clase, componente o sistema. Se centra en cómo una entidad está compuesta por elementos interconectadosPartes y cómo interactúa con el mundo exterior a través de susPuertas.

UML Composite Structure Diagram for a Payment Processing Component

Este diagrama es esencial para definir las vistas de caja negra y caja blanca de un componente del sistema, asegurando límites claros y permitiendo la reutilización de componentes.

Estructura principal y contexto

El diagrama se dibuja dentro del contexto de unClasificador (la caja de límite), que define el sistema o componente general que se está analizando.

A. Rol de Clasificador (límite)

  • Notación: Una caja rectangular grande.
  • Propósito: Representa la clase, componente o sistema general cuya estructura interna se está definiendo. Todos los demás elementos del diagrama se encuentran contenidos dentro de esta frontera.

Elementos fundamentales de la vista interna

La estructura interna se define por tres elementos clave: Partes, Puertas y Conectores.

B. Partes

Una Parte representa un rol desempeñado por una instancia de un clasificador (como una clase o componente) dentro de la estructura compuesta general. Esencialmente, una Parte es un bloque de construcción interno.

  • Notación: Una caja rectangular dentro del límite, etiquetada con su nombre y tipo.
  • Sintaxis: nombreParte: TipoParte (por ejemplo,almacenamientoCache: MóduloCaché).
  • Diferencia clave: Una Parte no es el objeto en sí, sino el rol que ese objeto desempeña dentro del contexto del clasificador que lo contiene. Una Parte puede ser ella misma una estructura compuesta, lo que permite una anidación profunda.

C. Puertas

Una Puerta es un punto de interacción distinto entre la estructura compuesta (el límite) y su entorno, o entre sus partes internas. Las puertas formalizan las interfaces que el componente utiliza o proporciona.

  • Notación: Un pequeño cuadrado unido al borde del límite o al borde de una parte interna.
  • Tipos de Puertas:
    • Puerta Pública: Adjunta al borde exterior; expuesta al entorno.
    • Puerta Encapsulada: Adjunta a una parte interna; solo conecta esa parte con otras partes internas o con el límite del sistema.
  • Propósito: Las puertas definen explícitamente las interfaces requeridas y proporcionadas, permitiendo ocultar la estructura interna (visión de caja negra) mientras se definen sus puntos de interacción contractuales.

D. Conectores

Un Conector modela el enlace de comunicación o el flujo de información/señales entre dos elementos (ya sean dos Puertas, dos Partes o una Puerta y una Parte).

  • Notación: Una línea que conecta los dos elementos vinculados.
  • Propósito: Representa la implementación del enlace de comunicación, mostrando cómo se transfieren los datos o mensajes internamente.

Modelado de Interfaces: Proporcionadas y Requeridas

Las interfaces definen las obligaciones contractuales de las Puertas y son cruciales para la claridad arquitectónica.

A. Interfaz Proporcionada (notación de chupete)

  • Notación: Un círculo (o “chupete”) conectado a una Puerta.
  • Propósito: Muestra los servicios o operaciones que el clasificador (o Parte) ofrece a su entorno o a sus componentes internos.

B. Interfaz Requerida (notación de enchufe)

  • Notación: Un semicírculo (o “enchufe”) conectado a una Puerta.
  • Propósito: Muestra los servicios o operaciones que el clasificador (o Parte) necesita de su entorno o de otros componentes internos para funcionar correctamente.

Conector de ensamblaje: Una línea de conector a menudo conecta una Interfaz requerida (enchufe) de una Parte con la Interfaz proporcionada (caramelo) de otra Parte, ilustrando cómo los componentes internos están conectados para cumplir la función del sistema.

Modelado de colaboración: roles y colaboraciones

Los diagramas de estructura compuesta también pueden modelar dinámicas Colaboraciones—conjuntos específicos de roles y conexiones que trabajan juntos para realizar una tarea.

A. Uso de colaboración

  • Notación: Un óvalo punteado que contiene los nombres de los roles colaboradores.
  • Propósito: Representa una instancia de un patrón de colaboración (por ejemplo, una implementación específica del patrón Observador) que se utiliza dentro del componente más grande.

Ejemplo paso a paso de modelado: un controlador de casa inteligente

Vamos a modelar la estructura interna de un SistemaDeAutomatizaciónDeCasa componente.

  1. Límite del clasificador: Defina la caja exterior como SistemaDeAutomatizaciónDeCasa.
  2. Puertos externos: Agregue un puerto etiquetado como puertoApi al límite. Adjunte una Interfaz proporcionada (Lollipop) para ICommandReceiver (lo que el mundo exterior puede enviar) y un Interfaz requerida (Socket) para IExternalWeatherService (lo que necesita el sistema).
  3. Partes internas:
    • scheduler: TaskScheduler (Maneja eventos programados).
    • deviceManager: DeviceCoordinator (Comunica con el hardware).
  4. Conexiones internas:
    • Conecte el apiPort al deviceManager parte usando un conector.
    • Conecte el scheduler puerto de salida de la parte deviceManager puerto de entrada, mostrando que el scheduler le indica al gestor de dispositivos cuándo actuar.
  5. Estructura anidada (opcional): Muestre que el deviceManager en sí contiene partes como zigbeeAdapter y wifiAdapter.

Este diagrama muestra claramente que el SistemaDeAutomatizacionDeVivienda está compuesto por dos partes internas principales, utiliza una API específica y requiere un servicio meteorológico externo para funcionar.

Resumen

El Diagrama de estructura compuesta de UML va más allá de la vista de caja negra de una clase o componente para revelar su arquitectura de caja blanca. Al utilizar Partes para definir roles, Puertos para definir puntos de interacción, y Conectores para definir la comunicación interna, permite a arquitectos y desarrolladores comprender y diseñar con precisión componentes complejos, reutilizables y claramente encapsulados.

Puede encontrar más información sobre UML y visualización de IA en nuestro centro de recursos de UML.