Resolução das Questões de Engenharia de Software
Questão 6
Alternativa D - Princípio da Responsabilidade Única.
Explicação Didática:
O enunciado descreve uma prática comum chamada "God Object" ou "Módulo Monolítico", onde um único componente tenta realizar tarefas muito diversas: lidar com a interface gráfica (UI), processar regras de negócio e acessar banco de dados simultaneamente.
Isso viola diretamente o SOLID, especificamente o SRP (Single Responsibility Principle).
- O que é SRP? Um módulo ou classe deve ter apenas uma razão para mudar. Se você altera algo na interface, não deveria precisar mexer na lógica de negócios ou no acesso ao banco de dados.
- Por que é ruim? Torna o código difícil de manter, testar e reutilizar.
- As outras alternativas:
- Open/Closed: Foca em estender comportamento sem modificar código existente.
- Inversão de Dependências: Foca em depender de abstrações, não de concretudes.
- Segregação de Interface: Foca em criar interfaces finas e específicas.
- Substituição de Liskov: Foca em herança e polimorfismo seguro.
Questão 7
Alternativa D - Numa associação, um valor de multiplicidade indica como os objetos se relacionam consigo mesmo.
Explicação Didática:
A pergunta pede a afirmação falsa sobre associações em Diagramas de Classes UML. Vamos analisar os conceitos:
| Afirmação | Correto/Incorreto | Explicação |
|---|
| A | ✅ Correta | Associações definem como objetos interagem e trocam mensagens. |
| B | ✅ Correta | Elas representam links estruturais entre instâncias de classes distintas. |
| C | ✅ Correta | Podem ter rótulos ou precondições definindo o significado da ligação. |
| D | ❌ Incorreta | A multiplicidade define quantos objetos de uma classe participam da associação (ex: 1..*, 0..1), não como o objeto se relaciona consigo mesmo (isso seria auto-referência, um caso específico de associação, mas não a definição geral). |
| E | ✅ Correta | Podem ter setas (unidirecional) ou serem linhas (bidirecional). |
Portanto, a alternativa D é a incorreta porque confunde o conceito de multiplicidade (cardinalidade da relação entre classes) com recursividade (relação do objeto com ele mesmo).