O diagrama de componentes descreve as relações lógicas entre os componentes.
O diagrama de implantação vai além disso, descrevendo a topologia física do hardware do sistema e o software executado nessa estrutura.
O diagrama de componentes, também conhecido como diagrama de construção, é um modelo usado para representar as relações entre componentes e entre componentes e interfaces em um sistema. O diagrama de componentes é importante na modelagem de sistemas baseados em componentes e pode ajudar os usuários a entender a estrutura do sistema.
Funções do diagrama de componentes:
1. Permite que os testadores e desenvolvedores do sistema compreendam todos os componentes físicos do sistema de forma geral;
2. Descreve as principais funcionalidades de um sistema do ponto de vista da arquitetura de software;
3. Facilita o entendimento da estrutura e das funcionalidades do sistema pelos membros da equipe do projeto;
4. Favorece a reutilização de software.
Colaboração em tempo real multiutilizador com links partilháveis para transferência instantânea
Gera automaticamente gráficos a partir de texto com melhorias de estilo
Temas predefinidos com personalização completa
Suporta ícones, imagens, etiquetas, fórmulas LaTeX, blocos de código, links, anexos
Exportar: PNG, VISIO, PDF, SVG | Importar: VISIO, Mermaid
Armazenamento cloud em tempo real, sincronização multi-dispositivo, histórico de versões e segurança de dados
O diagrama de componentes descreve as relações lógicas entre os componentes.
O diagrama de implantação vai além disso, descrevendo a topologia física do hardware do sistema e o software executado nessa estrutura.
Componente: Um componente é uma unidade de implementação física substituível com uma interface bem definida, geralmente representando um objeto físico real, indicado por um retângulo com dois pequenos retângulos salientes à esquerda.
Interface: A interface fornecida, também conhecida como interface exportada, é o conjunto de serviços oferecidos por um componente, representado pela relação de implementação entre a interface e o componente; a interface requerida, também conhecida como interface importada, é a interface seguida por um componente ao solicitar serviços de outros componentes, representada por uma relação de dependência.
Relação: Entre componentes --> relação de dependência, se houver uma relação de generalização ou uso entre classes de dois componentes, uma dependência pode ser adicionada; entre componente e interface --> dependência ou implementação.
Diagrama de componentes simples: Organiza classes que colaboram entre si em um componente.
Diagrama de componentes aninhados: Usa diagramas de componentes aninhados para representar a estrutura interna de um componente.
Os componentes são conectados por portas, enquanto as portas são conectadas por conectores, mas geralmente não são muito usados.
Os conectores são divididos em três tipos: conector direto, conector de interface e conector de delegação.
1, Desenvolvimento colaborativo por múltiplas equipes
2, Arquitetura de microsserviços ou modular
3, Sistemas com restrições claras de interface
4, Componentes que precisam de implantação separada (como frontend, backend, banco de dados)
1, Foco na modularidade e desacoplamento, já que o principal valor do diagrama de componentes é mostrar camadas do sistema e dependências de forma clara;
2, Use símbolos padrão e anotações de interface para melhorar a legibilidade e consistência do diagrama;
3, Combine com diagramas de classes/implantação para fornecer uma visão completa de estrutura, comportamento e implantação;
4, Evite desenhar o diagrama de componentes como um diagrama de classes, o diagrama de componentes expressa a “estrutura” do sistema e não “detalhes de implementação”.
O diagrama de componentes responde 'quem faz o quê, quem depende de quem', enquanto o diagrama de classes responde 'como fazer'.
1. A classe representa uma abstração de uma entidade, enquanto o componente é uma abstração de um componente físico existente no computador.
2. Os componentes pertencem a módulos de software, não a módulos lógicos, e estão em níveis de abstração diferentes em comparação com as classes.
3. As classes podem ter operações e atributos diretamente, enquanto os componentes têm apenas operações acessíveis através de suas interfaces.
Os componentes são classificados de acordo com seu papel no sistema em 3 tipos:
1. Componentes de implantação: componentes necessários para formar um sistema executável.
Exemplos: Máquina Virtual Java, Sistema de Gerenciamento de Banco de Dados, arquivos EXE, arquivos DLL.
2. Componentes de produto de trabalho: produtos intermediários do processo de desenvolvimento, que não participam diretamente do sistema executável.
Exemplos: arquivos de código-fonte, arquivos de dados.
3. Componentes de execução: componentes criados em tempo de execução.
Exemplos: Servlets instanciados, objetos COM+, documentos XML.
Componente e componente: relação de dependência
Componente e interface: relação de dependência ou implementação
Para controlar a granularidade do componente de forma adequada, geralmente um módulo funcional pode ser configurado como um componente; não projete uma única classe como um componente.
Arraste 'interface' da área de símbolos à esquerda para a área de trabalho à direita, depois clique em uma extremidade do componente e mantenha pressionado o botão esquerdo do mouse até a interface correspondente, solte o mouse para designar a interface que o componente deve implementar.
Não, componentes simples podem não ter uma interface explícita.
Interface fornecida, representada por um círculo, indica as funcionalidades expostas pelo componente (podem ser chamadas).
Interface necessária, representada por um semicírculo, indica os serviços dos quais o componente depende de outros componentes.
Sim. Pode haver uma relação de dependência um-para-muitos entre componentes, dependência bidirecional ou desacoplamento através de um componente intermediário, usando múltiplas linhas tracejadas para representar múltiplas relações de dependência.