Questão de Engenharia de Software — UML — FGV 2024
- Código
- fg165467
- Banca
- FGV
- Órgão
- TJ AP
- Ano
- 2024
- Cargo
- AJ ( )

- AAssociação;
- BComposição;
- CDependência;
- DAgregação;
- EGeneralização.

GabaritoE — Generalização.
Gabarito: letra E. O relacionamento representado no diagrama é a generalização (herança), identificada pela seta triangular vazia apontando da classe filha para a classe pai. Na UML 2.5.1, a generalização é o único relacionamento entre classes que usa essa notação de seta com triângulo oco — enquanto associação, agregação e composição usam linhas simples (com losango vazio ou preenchido, respectivamente) e dependência usa linha tracejada com seta.
O diagrama de classes é o principal diagrama estrutural da UML, usado para modelar a estrutura estática do sistema: classes, atributos, operações e os relacionamentos entre elas. Os relacionamentos entre classes na UML são de quatro tipos fundamentais: associação (incluindo agregação e composição como casos especiais), generalização (herança), dependência e realização. Cada um tem uma notação gráfica própria, e é exatamente essa notação que a banca explora — o candidato precisa reconhecer o símbolo e saber o que ele significa.
A generalização representa uma relação do tipo "é um" (é-um), em que uma classe filha (subclasse) herda atributos e operações de uma classe pai (superclasse). Na UML, é desenhada como uma linha sólida com uma seta triangular vazia (triângulo oco) na extremidade que aponta para a classe mais geral (a superclasse). Por exemplo, se temos as classes Animal e Cachorro, e Cachorro herda de Animal, a seta aponta de Cachorro para Animal. É o relacionamento mais forte semanticamente, pois estabelece uma hierarquia de especialização.
A associação é um relacionamento estrutural que indica que objetos de uma classe estão ligados a objetos de outra classe — uma relação "tem um" (tem-um) genérica. É representada por uma linha sólida simples, sem adornos, podendo ter multiplicidade (1, 1.., 0..) e navegabilidade (seta aberta). Por exemplo, Professor e Disciplina: um professor ministra uma disciplina. A agregação é um caso especial de associação do tipo todo-parte, em que a parte pode existir independentemente do todo — representada por uma linha com losango vazio do lado da classe "todo". Exemplo: Carro e Roda — as rodas existem mesmo sem o carro. A composição é uma agregação mais forte, em que a parte não existe sem o todo — representada por uma linha com losango preenchido (sólido) do lado da classe "todo". Exemplo: NotaFiscal e ItemNotaFiscal — se a nota é destruída, os itens também são.
A dependência é o relacionamento mais fraco, indicando que uma classe usa outra de alguma forma (por exemplo, como parâmetro de método ou variável local), mas não há vínculo estrutural permanente. É representada por uma linha tracejada com seta apontando para a classe da qual se depende. Já a realização (usada em interfaces) é representada por uma linha tracejada com seta triangular vazia — mas não aparece nas alternativas desta questão.
A pegadinha clássica da banca é confundir os símbolos: a seta triangular vazia da generalização com o losango da agregação/composição, ou trocar agregação por composição (losango vazio × preenchido). Nesta questão, o diagrama mostra claramente uma seta triangular vazia, o que só pode ser generalização. Guarde o mapa dos símbolos:
Relacionamento | Notação | Significado |
|---|---|---|
Associação | Linha sólida simples | "tem um" genérico |
Agregação | Linha sólida + losango vazio | todo-parte, parte independente |
Composição | Linha sólida + losango preenchido | todo-parte, parte dependente |
Dependência | Linha tracejada + seta | uso fraco |
Generalização | Linha sólida + seta triangular vazia | "é um" (herança) |
É exatamente esse critério — o formato da extremidade da linha — que separa as alternativas: se a extremidade é um triângulo vazio, é generalização; se é um losango, é agregação ou composição; se é uma seta comum, é associação ou dependência.
A associação é representada por uma linha sólida simples, sem losango ou triângulo na extremidade. O diagrama da questão mostra uma seta triangular vazia, que é o símbolo exclusivo da generalização. A associação indica um vínculo estrutural genérico entre classes ("tem um"), mas não é o que o diagrama representa.
A composição é representada por uma linha com losango preenchido (sólido) do lado da classe que contém a outra. O diagrama não apresenta losango algum — apresenta uma seta triangular vazia. Além disso, a composição é um relacionamento todo-parte com dependência existencial (a parte não existe sem o todo), o que não se confunde com herança.
A dependência é representada por uma linha tracejada com seta, indicando um uso fraco entre classes. O diagrama da questão usa linha sólida com seta triangular vazia, o que descarta a dependência. A dependência não estabelece hierarquia nem vínculo estrutural permanente — é apenas "usa".
A agregação é representada por uma linha com losango vazio do lado da classe "todo". O diagrama não tem losango — tem triângulo vazio. A agregação é um relacionamento todo-parte em que a parte pode existir independentemente (ex.: Carro e Roda), mas não é o caso do diagrama, que mostra herança.
A generalização (herança) é representada por uma linha sólida com seta triangular vazia apontando da classe filha para a classe pai. É exatamente o que o diagrama mostra: a seta triangular vazia indica que uma classe é especialização da outra, herdando seus atributos e operações. Esse é o único relacionamento entre classes que usa essa notação, tornando a identificação imediata.
A banca explora a semelhança visual entre os símbolos: a seta triangular vazia da generalização pode ser confundida com o losango da agregação/composição, ou com a seta comum da associação. A chave é olhar a extremidade da linha: triângulo vazio = herança; losango vazio = agregação; losango preenchido = composição; linha tracejada = dependência. Com esse mapa, você elimina as alternativas erradas sem hesitar.
Para fixar, associe cada símbolo a uma palavra-chave: triângulo = "é um" (herança); losango vazio = "parte de, mas sobrevive" (agregação); losango preenchido = "parte de, e morre junto" (composição); tracejado = "usa" (dependência). Na prova, desenhe mentalmente o símbolo e pergunte: "a parte existe sem o todo?" — se sim, agregação; se não, composição.
Gabarito: letra E — o relacionamento é a generalização.
Link permanente: /questoes/fg165467