Pular para conteúdo

Aula 12 - Diagrama de Componentes 🗜️

Módulo

MÓDULO 4 – DIAGRAMAS AVANÇADOS E ARQUITETURA


1. Visão Física do Software 📚

O Diagrama de Componentes descreve como o sistema é dividido em módulos físicos (arquivos, DLLs, pacotes, microserviços) e como eles se conectam através de interfaces.

🧠 Anatomia do Componente

Interfaces Fornecidas (Lollipop)

Serviços que o componente oferece ao mundo exterior. Representado por um círculo.

Interfaces Requeridas (Socket)

Serviços que o componente precisa para funcionar. Representado por um semicírculo.


2. Orquestração de Microserviços 📊

A modelagem de componentes é vital para entender o acoplamento entre serviços.

graph LR
    UI[Frontend Web] -- IAuth --> Auth[Serviço Autenticação]
    UI -- IOrder --> Order[Serviço Pedidos]
    Order -- IPayment --> Pay[Gateway Pagamento]
    Order -- IStock --> Stock[Serviço Estoque]

    style UI fill:#e1f5fe
    style Pay fill:#f1f8e9

3. Inspeção de Dependências via CLI 💻

Em projetos modernos, os componentes são gerenciados por gerenciadores de pacotes (npm, pip, maven).

# Analisando árvore de dependências do projetodependency-tree list --depth 1├─ api-gateway (v2.1)
│ ├─ auth-module
│ └─ order-module
└─ shared-utils (v1.0)
[SUCCESS] Nenhuma vulnerabilidade detectada.

4. Camadas e Responsabilidades 📑

Camada Componentes Comuns Regra de Ouro
Apresentação Controllers, Views Nunca acessa o Banco diretamente
Negócio Services, Entities Contém a lógica de domínio
Dados Repositories, DAOs Foca apenas em persistência
Integração API Clients, Adapters Isola sistemas externos

Dica de Arquitetura

Sempre prefira depender de interfaces (abstrações) do que de implementações concretas. Isso facilita os testes e a manutenção.


5. Mini-Projeto Prático 🚀

Cenário: Arquitetura de um Aplicativo de Delivery.

Desafio: 1. Identifique 3 componentes principais (API, App Cliente, App Entregador). 2. Defina uma interface de comunicação (ex: INotifyOrder). 3. Desenhe o relacionamento de dependência entre eles.


🎯 Materiais e Prática

  • Slides Interativos --- Acesse a apresentação visual da aula. Ver Slides

  • Testar Conhecimento --- Responda ao Quiz da aula para fixar os conceitos. Responder Quiz

  • Exercícios Progressivos --- Pratique com 5 exercícios de fixação e desafio. Praticar

  • Mini-Projeto --- Aplique a análise no seu projeto de referência. Ver Projeto


Próxima Aula: Laboratório de Requisitos ➡️