Pular para conteúdo

Exercícios: Aula 02 - Fundamentos da UML 📝

Estes exercícios focam na estrutura da linguagem UML e seu papel na modelagem profissional.


1. A Linguagem Franca do Software (Básico 1)

Contexto: UML não é um processo, mas sim uma linguagem.

Pergunta: Explique por que a UML é considerada a "Linguagem Universal" do desenvolvimento de software e cite dois diagramas que pertencem à categoria de Estrutura.

2. Ser ou Fazer (Básico 2)

Contexto: A UML divide os diagramas em duas grandes famílias: Estruturais e Comportamentais.

Pergunta: Qual a principal diferença entre um diagrama de Estrutura e um de Comportamento? Dê um exemplo de cada.

3. A Visão do Arquiteto (Intermediário 1)

Contexto: O modelo 4+1 de Kruchten organiza o caos da modelagem.

Pergunta: De forma resumida, o que o "1" (Cenários) representa nesse modelo e por que ele é o elo de ligação entre as outras visões?

4. Sintaxe Visual (Intermediário 2)

Contexto: Cada símbolo na UML tem um significado específico (Actor, Use Case, Class).

Pergunta: Imagine uma relação entre "Professor" e "Disciplina". Como você representaria essa associação estática em um rascunho de diagrama?

5. Desafio: O Equilíbrio da Modelagem (Desafio)

Contexto: No passado, alguns times tentavam modelar 100% do sistema antes de codar. Hoje, o foco é o "Pragmatismo".

Pergunta: Em que situações você recomendaria o uso extensivo de UML e em quais situações você usaria apenas rascunhos rápidos (UML as Sketch)? Justifique sua decisão como futuro analista.

---

📚 Gabarito e Soluções Comentadas

Gabarito Explicado Respostas e explicações para os exercícios da **Aula 02**. --- ### ✅ 1. O que é a UML? (Básico) **Resposta Sugerida:** A UML (Unified Modeling Language) é uma linguagem visual padronizada para modelar sistemas de software. Ela não é uma linguagem de programação, mas um conjunto de diagramas que ajudam a visualizar o design do sistema. **Vantagens:** 1. **Padronização:** Analistas de qualquer lugar do mundo entendem o mesmo símbolo. 2. **Abstração:** Permite focar na lógica sem se perder nos detalhes do código. --- ### ✅ 2. Categorias de Diagramas (Básico) **Resposta Sugerida:** * **Estruturais:** Focam na organização estática (ex: Diagrama de Classes). "O que o sistema tem". * **Comportamentais:** Focam na dinâmica e interações (ex: Diagrama de Sequência). "O que o sistema faz". --- ### ✅ 3. O Modelo 4+1 (Intermediário) **Explicação:** O modelo 4+1 organiza os diagramas UML em 5 visões: 1. **Lógica:** Design funcional. 2. **Processo:** Concorrência e performance. 3. **Desenvolvimento:** Organização dos módulos. 4. **Física:** Deploy no hardware. 5. **Cenários (+1):** Casos de Uso que ligam todas as visões. --- ### ✅ 4. Notação Básica (Intermediário) **Exemplo Mermaid:**
classDiagram
    class Motorista {
        +String nome
        +dirigir()
    }
    class Carro {
        +String placa
        +ligar()
    }
    Motorista --> Carro : dirige
--- ### ✅ 5. Desafio: A Evolução da UML (Desafio) **Resolução Sugerida:** A UML evoluiu para se tornar mais flexível. No desenvolvimento moderno, não modelamos *tudo*, mas sim os *pontos críticos*. O analista sênior sabe que "o mapa não é o território" e usa a UML para documentar o que o código não consegue explicar sozinho (ex: regras de negócio complexas). ---