🚀 Capítulo 01: Introdução à UML (Tema: Star Wars)

NOTE

Este capítulo utiliza a temática de Star Wars para explicar a UML. Para construir a Estrela da Morte ou planejar o ataque da Aliança, precisamos de plantas visuais que todos entendam!


1. 🎯 Objetivo da Aula

Compreender o que é a UML (Unified Modeling Language), sua importância no desenvolvimento de software e as duas grandes categorias de diagramas.

2. 🏢 O Cenário Prático (Seu Desafio)

Você é um engenheiro da Aliança Rebelde. Os espiões conseguiram os planos técnicos da nova arma do Império. No entanto, os planos estão cheios de códigos complexos e linhas de texto difíceis de entender. Sua missão é usar a UML para criar diagramas visuais que permitam aos pilotos e generais entenderem a estrutura da arma e como atacá-la!

3. 🧠 Fundamentos: A Teoria Traduzida

A UML (Unified Modeling Language) é uma linguagem gráfica padronizada para visualizar, especificar, construir e documentar os artefatos de um sistema de software.

Pense nela como a Planta Baixa de uma nave espacial:

  • Um engenheiro mecânico precisa ver a estrutura dos motores.
  • Um piloto precisa ver o painel de controle.
  • Um eletricista precisa ver a fiação.
  • A UML oferece diferentes diagramas para cada uma dessas visões!

Para que serve?

  1. Visualizar: Ver o sistema antes de construir.
  2. Comunicar: Uma linguagem comum entre desenvolvedores e clientes.
  3. Documentar: Guardar o mapa do sistema para o futuro.

As Duas Grandes Categorias de Diagramas:

  • Diagramas Estruturais: Mostram a estrutura estática (O que o sistema É). Como a carcaça da Estrela da Morte.
  • Diagramas Comportamentais: Mostram a dinâmica e interações (O que o sistema FAZ). Como o fluxo de energia do reator até o superlaser.

4. 📖 Exemplo Guiado: O Diagrama de Classes

O diagrama mais famoso da UML é o de Classes. Ele mostra as “coisas” do sistema e como elas se relacionam.

classDiagram
    class Nave {
    -nome: string
    -modelo: string
    +atacar()
    }
    class Piloto {
    -nome: string
    -raca: string
    +pilotar()
    }
    Piloto "1" -- "1..*" Nave : pilota

Este diagrama nos diz que um Piloto pode pilotar uma ou mais Naves.


5. 🛠️ Prática Obrigatória 1: Identificando Categorias

Com base no que você aprendeu, classifique os seguintes diagramas como Estrutural ou Comportamental:

  1. Um diagrama que mostra as pastas e arquivos do sistema.
  2. Um diagrama que mostra o passo a passo de como fazer um Pix.
  3. Um diagrama que mostra as tabelas do banco de dados.

6. 🛠️ Prática Obrigatória 2: Criando sua Primeira Classe

Imagine um sistema para gerenciar os Cavaleiros Jedi.

  1. Desenhe (ou digite em formato de texto) uma classe chamada Jedi.
  2. Adicione 2 atributos (características, ex: nome) e 2 métodos (ações, ex: usarForca()).

7. 📤 Instruções de Entrega (GitHub Desktop + Microsoft Teams)

  1. Faça o Commit: No GitHub Desktop, digite a mensagem (ex: Finaliza Capítulo 01 UML) e clique em Commit to main.
  2. Envie para a Nuvem (Push): Clique em Push origin.

8. 📂 Estrutura de Pastas

extra_guia_de_modelagem_uml/
├── capitulos/
│   ├── capitulo_01_introducao.md
│   └── codigos/
│       └── cap01/
│           └── jedi_classe.txt

9. 💡 Checkpoint de Lógica

Por que desenhar diagramas UML pode economizar tempo e dinheiro em um projeto de software? (Dica: Pense no custo de mudar uma parede na planta vs mudar a parede depois de construída).

10. 🔥 Desafio de Fixação

Pesquise o nome de pelo menos 3 outros diagramas da UML além do Diagrama de Classes.

11. 🔑 Gabarito de Código/Fórmulas

Gabarito da Prática 1:

  1. Pastas e arquivos Estrutural.
  2. Passo a passo do Pix Comportamental.
  3. Tabelas do banco Estrutural.

Capitulo Anterior | Proximo Capitulo