Pular para o conteúdo principal

Questão de Engenharia de Software — Diagrama de Classes — FGV 2024

Engenharia de SoftwareDiagrama de Classes
Código
fg098205
Banca
FGV
Órgão
TJ-AP
Ano
2024
Nível
Superior
Cargo
Apoio Especializado - Tecnologia da Informação - Desenvolvimento de Sistemas
Observe o seguinte Diagrama de Classes da UML 2.5.1.Imagem associada para resolução da questãoO tipo de relacionamento entre as classes representado no diagrama é a:
  1. AAssociação;
  2. BComposição;
  3. CDependência;
  4. DAgregação;
  5. EGeneralização.
Revelar gabarito e comentário

GabaritoE — Generalizaçã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”.

Relacionamentos no Diagrama de Classes UML

Gabarito: letra E. O relacionamento representado no diagrama é a Generalização (herança), que na UML é desenhada como uma seta com ponta triangular vazada apontando da classe filha para a classe pai. As demais alternativas (associação, composição, dependência e agregação) possuem notações distintas, e a banca explora exatamente a confusão entre esses símbolos.

O Diagrama de Classes é um diagrama estrutural da UML que mostra as classes do sistema, seus atributos, operações e os relacionamentos entre elas. Os relacionamentos podem ser de associação (incluindo agregação e composição), dependência, generalização e realização. Cada um tem uma notação gráfica própria, e a questão pede que o candidato identifique o tipo de relacionamento a partir do desenho.

A generalização (também chamada de herança) é um relacionamento entre uma classe mais geral (superclasse) e uma classe mais específica (subclasse). A subclasse herda atributos e métodos da superclasse, podendo adicionar novos ou sobrescrever os existentes. Na UML, a generalização é representada por uma linha com uma seta triangular vazia (não preenchida) na ponta, apontando para a superclasse. Esse é o símbolo que aparece no diagrama da questão.

Para diferenciar os relacionamentos, é essencial conhecer as notações:

Relacionamento

Notação UML

Significado

Associação

Linha simples (com ou sem seta)

Conecta classes que se relacionam estruturalmente

Agregação

Linha com losango vazio na ponta

Relação "tem-um" em que a parte pode existir sem o todo

Composição

Linha com losango preenchido na ponta

Relação "tem-um" em que a parte não existe sem o todo

Dependência

Linha tracejada com seta

Uma classe usa os serviços de outra

Generalização

Linha com seta triangular vazia

Herança: subclasse é um tipo de superclasse

A pegadinha da banca está em confundir a seta triangular da generalização com o losango da agregação/composição ou com a seta simples da associação. No diagrama, a seta triangular vazia indica claramente generalização.

Alternativa A — ❌ Incorreta

A associação é representada por uma linha simples (sem losango e sem seta triangular). Ela indica que as classes estão conectadas, mas sem relação de herança ou contenção. No diagrama, a seta triangular vazia não corresponde à associação.

Alternativa B — ❌ Incorreta

A composição é representada por uma linha com losango preenchido na ponta, indicando que a parte não pode existir sem o todo (ex.: Pedido e ItemPedido). O diagrama não apresenta losango preenchido, portanto não é composição.

Alternativa C — ❌ Incorreta

A dependência é representada por uma linha tracejada com seta simples, indicando que uma classe usa os serviços de outra (ex.: uma classe que recebe um objeto como parâmetro). O diagrama apresenta linha contínua com seta triangular, não tracejada.

Alternativa D — ❌ Incorreta

A agregação é representada por uma linha com losango vazio na ponta, indicando que a parte pode existir sem o todo (ex.: Time e Jogador). O diagrama não apresenta losango vazio, portanto não é agregação.

Alternativa E — ✅ Correta ⟵ GABARITO

A generalização é representada por uma linha contínua com seta triangular vazia apontando para a superclasse. Esse é exatamente o símbolo presente no diagrama, indicando que uma classe é especialização da outra (herança).

NÃO CAIA NESSA!

A banca adora trocar os símbolos: a seta triangular da generalização é confundida com o losango da agregação/composição, e a linha tracejada da dependência é confundida com a linha contínua da associação. Decore a notação de cada um e você elimina as alternativas erradas rapidamente.

PEGA ESSA DICA!

Na prova, ao ver uma seta triangular vazia, lembre-se: é herança/generalização. Losango vazio = agregação; losango preenchido = composição; linha tracejada = dependência; linha simples = associação. Monte uma tabela mental com esses símbolos e resolva qualquer questão do tipo.

Gabarito: letra E

Link permanente: /questoes/fg098205