Questão de Engenharia de Software — UML — FGV 2024
Engenharia de Software›UML
Código
fg165479
Banca
FGV
Órgão
TJ MS
Ano
2024
Cargo
Tec NS ( )
Considere o diagrama de classes UML a seguir. As relações Classe A-Classe B, Classe B-Classe C e Classe B-Classe D são chamadas, respectivamente, de:
Aagregação, composição e generalização;
Bagregação, generalização e composição;
Ccomposição, generalização e agregação;
Dgeneralização, agregação e composição;
Egeneralização, composição e agregação.
Revelar gabarito e comentário▾
GabaritoE — generalização, composição e agregação.
Comentário gerado por IA. É um apoio ao estudo, ancorado em fontes, mas pode conter imprecisões — confira sempre na fonte oficial (lei, súmula, edital e gabarito da banca). Encontrou um erro? Use “Reportar”.
UML – Diagrama de Classes: relacionamentos
Gabarito: letra E. As relações Classe A–Classe B, Classe B–Classe C e Classe B–Classe D são, respectivamente, generalização, composição e agregação — identificadas pelos símbolos de seta triangular vazia (herança), losango preenchido (composição) e losango vazio (agregação) na extremidade da linha. A questão testa exatamente o reconhecimento desses três símbolos, que são parecidos e frequentemente confundidos.
No diagrama de classes da UML, os relacionamentos entre classes são representados por linhas com notações específicas na ponta. Os três tipos cobrados aqui são:
Generalização (herança): representada por uma linha com uma seta triangular vazia apontando para a classe mais geral (superclasse). Indica que a subclasse herda atributos e métodos da superclasse, podendo especializá-los. É o relacionamento "é um" (ex.: Cachorro é um Animal).
Composição: representada por uma linha com um losango preenchido (sólido) do lado da classe "todo". É um relacionamento de contenção forte: a parte não existe sem o todo, e quando o todo é destruído, as partes também são. É o relacionamento "é parte de" com dependência existencial (ex.: uma Nota Fiscal contém Itens; sem a nota, os itens não fazem sentido).
Agregação: representada por uma linha com um losango vazio (sem preenchimento) do lado da classe "todo". Também é um relacionamento "todo-parte", mas fraco: a parte pode existir independentemente do todo (ex.: um Carro tem Rodas, mas as rodas existem mesmo sem o carro).
A diferença crucial entre composição e agregação está na dependência existencial: na composição, a parte é destruída junto com o todo; na agregação, a parte sobrevive. Essa é a pegadinha clássica da banca, que troca os dois símbolos.
Na prática, para identificar cada relação, basta olhar o símbolo na extremidade da linha:
Relação
Símbolo
Dependência existencial
Exemplo
Generalização
Seta triangular vazia
— (herança)
Cachorro → Animal
Composição
Losango preenchido
Forte (parte morre com o todo)
Nota Fiscal → Item
Agregação
Losango vazio
Fraca (parte sobrevive ao todo)
Carro → Roda
A banca FGV explora justamente a semelhança entre os losangos: o preenchido (composição) e o vazio (agregação) são facilmente confundidos, e a ordem em que aparecem no diagrama é o que decide a alternativa. Guarde o par símbolo × significado: é exatamente nele que as alternativas se dividem.
Relacionamentos UML: Generalização (seta triangular vazia, herança "é um"); Composição (losango preenchido, parte morre com o todo); Agregação (losango vazio, parte sobrevive ao todo)
Alternativa A — ❌ Incorreta
Afirma que a primeira relação é agregação, mas a seta triangular vazia indica generalização. A ordem correta começa com generalização, não com agregação.
Alternativa B — ❌ Incorreta
Erra ao colocar agregação na primeira relação (é generalização) e generalização na segunda (é composição, pelo losango preenchido). Apenas a terceira relação (agregação) está correta.
Alternativa C — ❌ Incorreta
Inverte completamente: coloca composição na primeira (é generalização), generalização na segunda (é composição) e agregação na terceira (correta). A ordem está toda trocada.
Alternativa D — ❌ Incorreta
Acerta a primeira relação (generalização), mas erra a segunda: coloca agregação onde há composição (losango preenchido). A terceira (composição) também está errada, pois o losango vazio indica agregação.
Alternativa E — ✅ Correta ⟵ GABARITO
Identifica corretamente as três relações: generalização (seta triangular vazia), composição (losango preenchido) e agregação (losango vazio), na ordem exata do diagrama.
NÃO CAIA NESSA!
A banca troca os símbolos de composição e agregação — losango preenchido × losango vazio — que são visualmente quase idênticos. Lembre: preenchido = composição (parte morre com o todo); vazio = agregação (parte sobrevive). Com treino, você reconhece esses símbolos de longe 💪