Pular para o conteúdo principal

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

Engenharia de SoftwareUML
Código
fg165466
Banca
FGV
Órgão
TJ AP
Ano
2024
Cargo
AJ ( )
Observe o seguinte Diagrama de Classes UML 2.5.1.   O elemento ALOCAÇÃO com o atributo Gratificação representa um(a):Imagem associada para resolução da questão
  1. Adependência;
  2. Bgeneralização;
  3. Cclasse associativa;
  4. Dagregação;
  5. Erelacionamento de realização.
Revelar gabarito e comentário

GabaritoC — classe associativa;

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: Classe Associativa

Gabarito: letra C. O elemento ALOCAÇÃO, com o atributo Gratificação, representa uma classe associativa — uma classe que está associada a uma associação entre outras duas classes, permitindo armazenar atributos e operações próprios do relacionamento. Na UML, a classe associativa é representada por um retângulo conectado à linha de associação por uma linha tracejada, exatamente como descrito no diagrama.

A classe associativa é um conceito fundamental em modelagem orientada a objetos. Ela surge quando uma associação entre duas classes precisa carregar informações adicionais que não pertencem a nenhuma das classes envolvidas, mas sim ao próprio relacionamento. Por exemplo, na associação entre Funcionário e Projeto, a classe associativa Alocação pode conter o atributo Gratificação, que é uma informação específica da alocação de um funcionário em um projeto, não do funcionário nem do projeto isoladamente.

Na UML, a notação para classe associativa é um retângulo (como uma classe comum) conectado à linha de associação por uma linha tracejada. Essa linha tracejada é o elemento visual que a distingue de outros relacionamentos. No diagrama da questão, o retângulo ALOCAÇÃO com o atributo Gratificação está ligado por uma linha tracejada à associação entre as classes (provavelmente Funcionário e Projeto), caracterizando a classe associativa.

É importante diferenciar a classe associativa de outros elementos UML:

Elemento

Notação

Finalidade

Classe associativa

Retângulo + linha tracejada na associação

Armazenar atributos/operações do relacionamento

Dependência

Linha tracejada com seta

Relação de uso: uma classe depende da outra

Generalização

Linha sólida com triângulo vazio

Herança: classe filha é um tipo da classe pai

Agregação

Linha sólida com losango vazio

Relação todo-parte, com partes independentes

Realização

Linha tracejada com triângulo vazio

Implementação de interface

A pegadinha da banca está em confundir a linha tracejada da classe associativa com a linha tracejada da dependência ou da realização. Na dependência, a seta tracejada aponta para a classe da qual se depende; na realização, o triângulo vazio tracejado aponta para a interface. Na classe associativa, a linha tracejada conecta o retângulo da classe à linha de associação, sem seta ou triângulo.

Guarde o critério decisivo: a presença de um retângulo ligado por linha tracejada a uma associação indica classe associativa. É exatamente esse o caso do elemento ALOCAÇÃO.

1Notação
Retângulo ligado à associação
Linha tracejada
2Finalidade
Atributos do relacionamento
Operações do relacionamento
3Exemplo
Funcionário + Projeto → Alocação
Atributo: Gratificação
Classe associativa
LEVELsoulevel.com.br
Classe associativa: Notação (Retângulo ligado à associação, Linha tracejada); Finalidade (Atributos do relacionamento, Operações do relacionamento); Exemplo (Funcionário + Projeto → Alocação, Atributo: Gratificação)

Alternativa A — ❌ Incorreta

A dependência é representada por uma linha tracejada com uma seta aberta, indicando que uma classe usa outra (por exemplo, como parâmetro de método). No diagrama, ALOCAÇÃO não é uma dependência, pois não há seta apontando para outra classe; há um retângulo ligado à associação por linha tracejada, o que caracteriza classe associativa.

Alternativa B — ❌ Incorreta

A generalização (herança) é representada por uma linha sólida com um triângulo vazio na extremidade da classe pai. No diagrama, não há triângulo vazio; ALOCAÇÃO é um retângulo ligado à associação, não uma subclasse de outra classe.

Alternativa C — ✅ Correta ⟵ GABARITO

A classe associativa é exatamente o que o diagrama mostra: um retângulo (ALOCAÇÃO) com atributo (Gratificação) conectado por linha tracejada à associação entre duas classes. Essa notação permite modelar atributos do relacionamento, como a gratificação de uma alocação.

Alternativa D — ❌ Incorreta

A agregação é representada por uma linha sólida com um losango vazio na extremidade da classe "todo". No diagrama, não há losango vazio; ALOCAÇÃO não é uma parte de outra classe, mas uma classe que descreve o relacionamento.

Alternativa E — ❌ Incorreta

O relacionamento de realização é representado por uma linha tracejada com um triângulo vazio, indicando que uma classe implementa uma interface. No diagrama, não há triângulo vazio; ALOCAÇÃO não implementa uma interface, mas é uma classe associativa.

Gabarito: letra C — o elemento ALOCAÇÃO com o atributo Gratificação representa uma classe associativa.

Link permanente: /questoes/fg165466