Pular para o conteúdo principal

Questão de Engenharia de Software — UML — FGV 2024

Engenharia de SoftwareUML
Código
fg077006
Banca
FGV
Órgão
CGE-PB
Ano
2024
Nível
Superior
Cargo
Auditor de Contas Públicas - Auditoria de Tecnologia da Informação
Observe o seguinte Diagrama de Classes UML.Imagem associada para resolução da questãoA relação entre as Classes que está representada no diagrama é:
  1. ARealização;
  2. BAgregação;
  3. CComposição;
  4. DDependência;
  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 em Diagramas de Classes UML

Gabarito: letra E. A relação representada no diagrama é a Generalização, que na UML é desenhada como uma linha com uma seta triangular vazia apontando da classe filha para a classe mãe (superclasse). Essa notação é distinta das demais opções: agregação e composição usam losango, dependência usa seta tracejada e realização usa triângulo com linha tracejada.

A UML (Unified Modeling Language) define quatro tipos principais de relacionamentos entre classes: associação, dependência, generalização e realização. A associação ainda se subdivide em agregação e composição, que são formas mais fortes de associação. Cada um desses relacionamentos possui uma notação gráfica própria, e é justamente essa notação que a banca explora nas questões de diagrama de classes.

A generalização é o relacionamento que representa herança entre classes: uma classe filha (subclasse) herda atributos e métodos da classe mãe (superclasse). Na UML, a generalização é representada por uma linha contínua com uma seta triangular vazia (não preenchida) na extremidade que aponta para a superclasse. É o mesmo símbolo usado para representar herança em diagramas de classes, e também é usado entre atores e casos de uso em diagramas de casos de uso.

Para diferenciar visualmente os relacionamentos, é essencial memorizar a notação de cada um:

Relacionamento

Notação gráfica

Significado

Associação

Linha contínua simples

Conecta classes que se relacionam estruturalmente

Agregação

Linha com losango vazio na extremidade do todo

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

Composição

Linha com losango preenchido na extremidade do todo

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

Dependência

Linha tracejada com seta simples

Uma classe usa a outra de forma temporária (ex.: parâmetro de método)

Generalização

Linha contínua com seta triangular vazia

Herança: a classe filha é um tipo da classe mãe

Realização

Linha tracejada com seta triangular vazia

Implementação de interface

A pegadinha clássica da banca é confundir generalização com realização, pois ambas usam a seta triangular vazia — a diferença está na linha: contínua para generalização, tracejada para realização. Outra confusão comum é entre agregação e composição, que diferem apenas pelo preenchimento do losango.

No diagrama da questão, a seta triangular vazia com linha contínua indica claramente uma relação de herança entre as classes, ou seja, generalização. As demais alternativas apresentam notações diferentes: agregação e composição usam losango, dependência usa seta tracejada simples, e realização usa triângulo com linha tracejada.

Alternativa A — ❌ Incorreta

Realização é representada por uma linha tracejada com seta triangular vazia, indicando que uma classe implementa uma interface. No diagrama, a linha é contínua, o que descarta a realização. A banca troca a linha contínua pela tracejada para confundir o candidato.

Alternativa B — ❌ Incorreta

Agregação é representada por uma linha com losango vazio na extremidade da classe que representa o todo. O diagrama não apresenta losango, portanto não é agregação. A agregação indica uma relação "tem-um" em que a parte pode existir independentemente do todo.

Alternativa C — ❌ Incorreta

Composição é representada por uma linha com losango preenchido na extremidade do todo. O diagrama não apresenta losango preenchido, portanto não é composição. A composição é uma relação "tem-um" forte, em que a parte é destruída quando o todo é destruído.

Alternativa D — ❌ Incorreta

Dependência é representada por uma linha tracejada com seta simples (sem triângulo). O diagrama apresenta linha contínua com seta triangular, portanto não é dependência. A dependência indica um uso temporário, como uma classe que recebe outra como parâmetro de método.

Alternativa E — ✅ Correta ⟵ GABARITO

Generalização é representada por uma linha contínua com seta triangular vazia apontando para a superclasse. Essa é exatamente a notação presente no diagrama, indicando que uma classe é um tipo especializado da outra (herança). É o relacionamento que representa o conceito de herança na orientação a objetos.

NÃO CAIA NESSA!

A banca adora trocar a notação de generalização pela de realização, pois ambas usam a seta triangular vazia. A diferença está na linha: contínua para generalização, tracejada para realização. Fique atento a esse detalhe — ele decide a questão.

PEGA ESSA DICA!

Para memorizar as notações, associe: losango = todo-parte (vazio = fraco, preenchido = forte), seta triangular = herança (contínua = generalização, tracejada = realização), seta simples tracejada = dependência. Desenhe cada uma algumas vezes e resolva questões — o reconhecimento visual fica automático.

Gabarito: letra E

Link permanente: /questoes/fg077006