Pular para o conteúdo principal

Questão de Engenharia de Software — Geral — FGV 2025

Engenharia de SoftwareGeral
Código
fg169119
Banca
FGV
Órgão
MPU
Ano
2025
Cargo
Ana
Observe o diagrama abaixo modelado em UML 2.5.1.   Semanticamente, o diagrama indica que:Imagem associada para resolução da questão
  1. Aa associação de dependência entre as classes A e B é binária com duas extremidades nomeadas;
  2. Ba extremidade b da associação entre as classes A e B pode ser representada por um atributo da classe A;
  3. Co valor 5 do atributo a4 da classe A é atribuído a todas as instâncias da classe, tornando-se o valor fixo da propriedade;
  4. Da agregação composta entre as classes B e C exige que um objeto parte seja incluído em no mínimo um objeto composto por vez;
  5. Ena associação entre as classes A e B, a extremidade a é de propriedade da classe A e a extremidade b é de propriedade da classe B.
Revelar gabarito e comentário

GabaritoB — a extremidade b da associação entre as classes A e B pode ser representada por um atributo 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: Associação e Propriedade de Extremidade

Gabarito: letra B. A extremidade b da associação entre as classes A e B, quando navegável e de propriedade da classe A, pode ser representada como um atributo da classe A — é exatamente o que a alternativa B afirma. Essa é uma das equivalências fundamentais entre a notação de associação e a de atributo na UML 2.5.1.

A UML (Unified Modeling Language) é uma linguagem de modelagem padronizada que permite representar visualmente a estrutura e o comportamento de um sistema orientado a objetos. No diagrama de classes, um dos diagramas estruturais mais importantes, as associações representam relacionamentos estruturais entre classes. Uma associação binária conecta duas classes e possui duas extremidades, cada uma com propriedades como nome, multiplicidade, navegabilidade e propriedade (ownership).

A propriedade de uma extremidade (ownership) indica qual classe é a "dona" daquela extremidade. Quando uma extremidade é de propriedade de uma classe, ela pode ser implementada como um atributo dessa classe. Por exemplo, se a classe A possui uma associação com a classe B e a extremidade b é de propriedade de A, então a classe A pode ter um atributo do tipo B (ou uma coleção de B, dependendo da multiplicidade). Essa é uma das formas de implementar uma associação em código.

A alternativa B está correta porque reflete exatamente essa equivalência: a extremidade b da associação, sendo de propriedade da classe A, pode ser representada como um atributo da classe A. Isso é consistente com a semântica da UML, onde a propriedade de uma extremidade de associação é equivalente a um atributo da classe proprietária.

A alternativa A está incorreta porque afirma que a associação de dependência entre as classes A e B é binária com duas extremidades nomeadas. No diagrama, a relação entre A e B é uma associação, não uma dependência. Além disso, a dependência é um relacionamento mais fraco, que indica que uma classe usa outra, mas não possui uma extremidade nomeada como em uma associação.

A alternativa C está incorreta porque afirma que o valor 5 do atributo a4 da classe A é atribuído a todas as instâncias da classe, tornando-se o valor fixo da propriedade. Na UML, um valor fixo (default value) é um valor inicial para o atributo, mas não significa que todas as instâncias terão esse valor obrigatoriamente. O valor pode ser alterado durante a execução, a menos que seja declarado como imutável (readOnly).

A alternativa D está incorreta porque afirma que a agregação composta entre as classes B e C exige que um objeto parte seja incluído em no mínimo um objeto composto por vez. Na composição, a parte é fortemente ligada ao todo, mas a multiplicidade na extremidade do todo pode ser 0..1 ou 1..1, dependendo do modelo. A afirmação de que a parte deve estar em "no mínimo um" composto é uma generalização incorreta, pois a multiplicidade pode ser 0..1.

A alternativa E está incorreta porque afirma que na associação entre as classes A e B, a extremidade a é de propriedade da classe A e a extremidade b é de propriedade da classe B. No diagrama, a extremidade b é de propriedade da classe A, e a extremidade a é de propriedade da classe B. A alternativa inverte a propriedade das extremidades.

Critério

Extremidade b (propriedade de A)

Extremidade a (propriedade de B)

Representação em código

Atributo na classe A (tipo B ou coleção de B)

Atributo na classe B (tipo A ou coleção de A)

Navegabilidade

Navegável de A para B

Navegável de B para A

Alternativa correta (B)

✅ Pode ser representada como atributo da classe A

Alternativa incorreta (E)

❌ Não é propriedade de B

❌ Não é propriedade de A

NÃO CAIA NESSA!

A banca troca a propriedade das extremidades da associação. Na UML, a extremidade b é de propriedade da classe A, e a extremidade a é de propriedade da classe B. A alternativa E inverte essa relação, e o candidato desatento pode marcar essa opção por achar que a propriedade é sempre da classe que está mais próxima da extremidade.

PEGA ESSA DICA!

Para resolver questões sobre propriedade de extremidade, lembre-se: a extremidade é de propriedade da classe que está na ponta oposta. Se a extremidade b está na classe B, ela é de propriedade da classe A. Essa regra vale para qualquer associação binária.

Gabarito: letra B

Link permanente: /questoes/fg169119