Pular para conteúdo

Aula 07 - Diagrama de Classes (Parte 2) 🔗

Módulo

MÓDULO 2 – ESPECIFICAÇÃO E ESTRUTURA


1. Relacionamentos Avançados 📚

Dificilmente uma classe vive sozinha. O poder da UML está em descrever como as classes se conectam para formar o sistema.

🧠 Tipos de Relacionamentos

Associação

Conexão estrutural básica. Pode ter nome e direção. (Ex: Professor ministra Disciplina).

Agregação (Todo/Parte Fraca)

O objeto parte pode existir sem o todo. (Ex: Time e Jogador. Se o time acabar, o jogador continua existindo).

Composição (Todo/Parte Forte)

O objeto parte morre com o todo. (Ex: Documento e Página. Se você rasgar o documento, a página não tem sentido sozinha).


2. Herança e Polimorfismo 📊

A generalização permite reaproveitar estrutura e comportamento, criando hierarquias ricas.

classDiagram
    class Veiculo {
        <<abstract>>
        +marca: String
        +acelerar()*
    }
    class Carro {
        +numeroPortas: Int
        +acelerar()
    }
    class Moto {
        +cilindrada: Int
        +acelerar()
    }
    Veiculo <|-- Carro
    Veiculo <|-- Moto

3. Validando Estruturas Complexas 💻

A multiplicidade define quantos objetos participam de um relacionamento.

# Analisando multiplicidade de um relacionamento 1..* (Um para Muitos)echo "Relacionamento: Pedido (1) <---* (Itens)"echo "Regra: Todo pedido deve ter ao menos 1 item."python -c "itens = []; print('Erro: Pedido vazio!') if not itens else print('Pedido OK')"Erro: Pedido vazio!

4. Multiplicidade e Navegabilidade 📑

Símbolo Significado Exemplo Prático
1 Exatamente um Um CPF pertence a 1 Pessoa
0..1 Zero ou um Uma Pessoa pode ter 0 ou 1 Carro
* Muitos (zero ou mais) Um Autor escreve * Livros
1..* Um ou muitos Uma NF possui 1..* Itens

Classes de Associação

Use quando o relacionamento em si possui atributos. Ex: Estudante e Disciplina se relacionam via Matrícula, que guarda a nota.


5. Mini-Projeto Prático 🚀

Cenário: Sistema de Gestão de Clínica Veterinária.

Desafio: 1. Identifique o relacionamento entre Dono e Pet (Agregação ou Composição?). 2. Desenhe uma classe de associação Consulta entre Veterinário e Pet. 3. Defina a multiplicidade entre Clínica e Sala.

Atenção

Cuidado com a Herança excessiva. Muitas vezes, uma Composição é mais flexível e evita o "Problema da Fragilidade da Classe Base".


🎯 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: Diagrama de Sequência ➡️