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.

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.
- Límite del clasificador: Defina la caja exterior como
SistemaDeAutomatizaciónDeCasa. - Puertos externos: Agregue un puerto etiquetado como
puertoApial límite. Adjunte una Interfaz proporcionada (Lollipop) paraICommandReceiver(lo que el mundo exterior puede enviar) y un Interfaz requerida (Socket) paraIExternalWeatherService(lo que necesita el sistema). - Partes internas:
scheduler: TaskScheduler(Maneja eventos programados).deviceManager: DeviceCoordinator(Comunica con el hardware).
- Conexiones internas:
- Conecte el
apiPortaldeviceManagerparte usando un conector. - Conecte el
schedulerpuerto de salida de la partedeviceManagerpuerto de entrada, mostrando que el scheduler le indica al gestor de dispositivos cuándo actuar.
- Conecte el
- Estructura anidada (opcional): Muestre que el
deviceManageren sí contiene partes comozigbeeAdapterywifiAdapter.
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.












