O Diagrama de Estrutura Composta UML é um diagrama estrutural poderoso usado para explorar oarquitetura interna de um classificador estruturado, como uma classe, componente ou sistema. Foca-se em como uma entidade é composta por elementos interconectadosPartes e como interage com o mundo exterior por meio de seusPortas.

Este diagrama é essencial para definir as visões caixa-preta e caixa-branca de um componente de sistema, garantindo fronteiras claras e permitindo a reutilização de componentes.
Estrutura e Contexto Central
O diagrama é desenhado no contexto de umClassificador (a caixa de limite), que define o sistema ou componente geral sendo analisado.
A. Papel do Classificador (Limite)
- Notação: Uma caixa retangular grande.
- Propósito: Representa a classe, componente ou sistema geral cuja estrutura interna está sendo definida. Todos os outros elementos do diagrama estão contidos dentro deste limite.
Elementos Fundamentais da Visão Interna
A estrutura interna é definida por três elementos-chave: Partes, Portas e Conectores.
B. Partes
Uma Parte representa um papel desempenhado por uma instância de um classificador (como uma classe ou componente) dentro da estrutura composta geral. Essencialmente, uma Parte é um bloco de construção interno.
- Notação: Uma caixa retangular dentro do limite, rotulada com seu nome e tipo.
- Sintaxe:
nomeParte: TipoParte(por exemplo,cacheDados: MóduloCaching). - Distinção Chave: Uma Parte não é o objeto em si, mas o papel que esse objeto desempenha no contexto do classificador que o contém. Uma Parte pode, por si mesma, ser uma estrutura composta, permitindo aninhamento profundo.
C. Portas
Uma Porta é um ponto de interação distinto entre a estrutura composta (a fronteira) e seu ambiente, ou entre suas partes internas. As portas formalizam as interfaces que o componente utiliza ou fornece.
- Notação: Um pequeno quadrado fixado à aresta da fronteira ou à aresta de uma parte interna.
- Tipos de Portas:
- Porta Pública: Fixada à fronteira externa; exposta ao ambiente.
- Porta Encapsulada: Fixada a uma parte interna; conecta apenas essa parte a outras partes internas ou à fronteira do sistema.
- Propósito: As portas definem explicitamente as interfaces necessárias e fornecidas, permitindo que a estrutura interna seja oculta (visão de caixa preta) enquanto ainda define seus pontos de interação contratuais.
D. Conectores
Um Conector modela a ligação de comunicação ou fluxo de informações/sinais entre dois elementos (duas Portas, duas Partes ou uma Porta e uma Parte).
- Notação: Uma linha que conecta os dois elementos ligados.
- Propósito: Representa a implementação da ligação de comunicação, mostrando como os dados ou mensagens são transferidos internamente.
Modelagem de Interfaces: Fornecidas e Requeridas
As interfaces definem as obrigações contratuais das Portas e são cruciais para a clareza arquitetônica.
A. Interface Fornecida (Notação de Lollipop)
- Notação: Um círculo (ou “lollipop”) conectado a uma Porta.
- Propósito: Mostra os serviços ou operações que o classificador (ou Parte) oferece ao seu ambiente ou componentes internos.
B. Interface Requerida (Notação de Soquete)
- Notação: Um semicírculo (ou “soquete”) conectado a uma Porta.
- Propósito: Mostra os serviços ou operações que o classificador (ou Parte) necessita do seu ambiente ou de outros componentes internos para funcionar corretamente.
Conector de Montagem: Uma linha de conector geralmente liga uma Interface Requerida (Soquete) de uma Parte ao Interface Fornecida (Balão) de outra Parte, ilustrando como os componentes internos são conectados para cumprir a função do sistema.
Modelagem de Colaboração: Papéis e Colaborações
Diagramas de Estrutura Composta também podem modelar dinâmicas Colaborações—conjuntos específicos de papéis e conexões que trabalham juntos para realizar uma tarefa.
A. Uso de Colaboração
- Notação: Uma elipse tracejada contendo os nomes dos papéis colaborativos.
- Propósito: Representa uma instância de um padrão de colaboração (por exemplo, uma implementação específica do padrão Observador) sendo usada dentro do componente maior.
Exemplo de Modelagem Passo a Passo: Um Controlador de Casa Inteligente
Vamos modelar a estrutura interna de um SistemaDeAutomaçãoResidencial componente.
- Fronteira do Classificador: Defina a caixa externa como
SistemaDeAutomaçãoResidencial. - Portas Externas: Adicione uma Porta rotulada
portaApià fronteira. Anexe uma Interface Fornecida (Lollipop) paraICommandReceiver(o que o mundo exterior pode enviar) e um Interface Obrigatória (Socket) paraIExternalWeatherService(o que o sistema precisa). - Partes Internas:
scheduler: TaskScheduler(Gerencia eventos agendados).deviceManager: DeviceCoordinator(Comunica-se com o hardware).
- Conexões Internas:
- Conecte o
apiPortaodeviceManagerParte usando um Conector. - Conecte o
schedulerPorta de saída da Parte aodeviceManagerPorta de entrada da Parte, mostrando que o scheduler informa ao gerenciador de dispositivos quando agir.
- Conecte o
- Estrutura Aninhada (Opcional): Mostre que o
deviceManagerpor si só contém partes comozigbeeAdapterewifiAdapter.
Este diagrama mostra claramente que o SistemaDeAutomaçãoResidencial é composto por duas partes internas principais, utiliza uma API específica e exige um serviço meteorológico externo para funcionar.
Resumo
O Diagrama de Estrutura Composta UML vai além da visão em caixa preta de uma classe ou componente para revelar sua arquitetura em caixa branca. Ao usar Partes para definir papéis, Portas para definir pontos de interação, e Conectores para definir a comunicação interna, permite que arquitetos e desenvolvedores compreendam e projetem com precisão componentes complexos, reutilizáveis e claramente encapsulados.
Você pode encontrar mais informações sobre UML e visualização de IA em nosso centro de recursos UML.
This post is also available in Deutsch, English, Español, فارسی, Français, Bahasa Indonesia, 日本語, Polski, Ру́сский, Việt Nam, 简体中文 and 繁體中文.












