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). ---