Pular para o conteúdo principal

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

Engenharia de SoftwareUML
Código
fg165478
Banca
FGV
Órgão
ALETO
Ano
2024
Cargo
Ana Leg ( )

A partir da análise do seguinte diagrama de classes da UML

 

Imagem associada para resolução da questão

é correto auferir que

  1. Aa classe B atua como classe associativa entre as classes A e C.
  2. Bo relacionamento entre as classes A e B é do tipo associação qualificada.
  3. Co relacionamento entre B e C é representado por uma dependência estereotipada.
  4. Dos objetos da classe B herdam as características da classe C.
  5. Eum objeto da classe B está vinculado a exatamente um objeto da classe A.
Revelar gabarito e comentário

GabaritoE — um objeto da classe B está vinculado a exatamente um objeto da classe A.

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: Multiplicidade e Relacionamentos

Gabarito: letra E. No diagrama de classes da UML, a notação de multiplicidade indica quantos objetos de uma classe podem se relacionar com um objeto da outra. A alternativa E afirma que "um objeto da classe B está vinculado a exatamente um objeto da classe A", o que corresponde à multiplicidade 1 representada na extremidade da associação próxima à classe A. Essa leitura é feita diretamente na notação do diagrama, que é o elemento central da questão.

O diagrama de classes é um dos diagramas estruturais da UML e tem como objetivo mostrar a estrutura estática do sistema: as classes, seus atributos, métodos e, principalmente, os relacionamentos entre elas. Os relacionamentos podem ser de associação (simples, qualificada, reflexiva), agregação, composição, dependência, generalização e realização. Cada um possui uma notação gráfica específica, e a banca FGV explora justamente a interpretação desses símbolos.

A multiplicidade é um dos conceitos mais cobrados nesse contexto. Ela define quantas instâncias de uma classe podem estar associadas a uma instância da outra classe. A notação é colocada nas extremidades da linha de associação, próxima à classe a que se refere. Por exemplo, 1 significa exatamente um, * significa zero ou muitos, 0..1 significa zero ou um, e 1..* significa um ou muitos. A leitura correta é sempre feita a partir da classe que está do lado oposto à notação.

Para fixar, imagine um sistema de biblioteca com as classes Livro e Empréstimo. Se a associação entre elas tiver a multiplicidade 1 do lado do Livro e * do lado do Empréstimo, isso significa que um livro pode estar associado a vários empréstimos, mas cada empréstimo está vinculado a exatamente um livro. Essa é a mesma lógica aplicada na questão: a multiplicidade 1 próxima à classe A indica que cada objeto de B está vinculado a exatamente um objeto de A.

A pegadinha da banca está em confundir os diferentes tipos de relacionamento e a notação de multiplicidade. É comum o candidato confundir associação com agregação ou composição, ou ainda interpretar a multiplicidade de forma invertida. A chave é sempre olhar para a notação gráfica e para a posição dos números na linha de associação.

Alternativa A — ❌ Incorreta

A classe associativa é uma classe que está ligada a uma associação entre outras duas classes, permitindo armazenar atributos e operações dessa associação. No diagrama, a classe B está diretamente associada a A e C, sem ser uma classe que representa a própria associação entre elas. A classe associativa seria representada por uma linha tracejada ligando a classe à linha de associação, o que não é o caso.

Alternativa B — ❌ Incorreta

A associação qualificada é representada por um retângulo (qualificador) na extremidade da associação, que contém um atributo que restringe a navegação. No diagrama, não há esse retângulo, apenas a multiplicidade 1 e *. Portanto, o relacionamento entre A e B é uma associação simples, não qualificada.

Alternativa C — ❌ Incorreta

A dependência é representada por uma linha tracejada com uma seta aberta, indicando que uma classe usa a outra. No diagrama, a relação entre B e C é uma associação, representada por uma linha contínua. Não há estereótipo de dependência (<<use>>) nem linha tracejada.

Alternativa D — ❌ Incorreta

Herança (generalização) é representada por uma linha com um triângulo vazio na extremidade da classe base. No diagrama, a relação entre B e C é uma associação, não uma generalização. Não há o símbolo de triângulo, portanto não há herança entre B e C.

Alternativa E — ✅ Correta ⟵ GABARITO

A multiplicidade 1 na extremidade da associação próxima à classe A indica que cada objeto da classe B está vinculado a exatamente um objeto da classe A. Essa é a leitura direta da notação de multiplicidade no diagrama de classes da UML.

Gabarito: letra E

Link permanente: /questoes/fg165478