Questão de Engenharia de Software — UML — VUNESP 2023
- Código
- vu196191
- Banca
- VUNESP
- Órgão
- Pref Marília
- Ano
- 2023
- Cargo
- Ana ( )

- AProprietária.
- BGeneralizada.
- CTipada.
- DDependente.
- Ede Associação.

GabaritoE — de Associação.
Gabarito: letra E. A classe Conta, em um diagrama de classes UML, representa a chamada classe de associação — um elemento que modela atributos e operações pertencentes ao próprio relacionamento entre duas ou mais classes, e não a nenhuma delas individualmente. Essa é a definição canônica do conceito na UML 2.2, e é exatamente o que a alternativa E descreve.
Na UML, uma associação é um vínculo estrutural que indica que objetos de uma classe se relacionam com objetos de outra (ou da mesma). Quando esse relacionamento possui informações próprias — como data, quantidade, valor, ou qualquer atributo que não pertença a nenhuma das classes envolvidas —, a modelagem correta é criar uma classe de associação. Ela é desenhada como uma classe comum, conectada à associação por uma linha tracejada, e serve para "pendurar" os atributos e métodos do relacionamento. Por exemplo, em um sistema bancário, a relação entre Cliente e Conta poderia ter atributos como dataAbertura e saldo; em vez de colocar esses atributos em Cliente ou em Conta, cria-se uma classe de associação que os encapsula.
A confusão mais comum neste tema é achar que a classe Conta é uma classe "proprietária" (dona da associação) ou "generalizada" (superclasse). Nada disso: a classe de associação é um elemento de modelagem próprio, que existe justamente para representar o relacionamento em si. Ela não é uma classe comum que participa da associação — ela é a materialização da associação. A banca explora exatamente essa distinção: o candidato que não domina o conceito tende a escolher uma alternativa que soe plausível, como "proprietária" ou "dependente", mas a única tecnicamente correta é "de Associação".
Para fixar: quando você vê uma classe ligada a uma associação por uma linha tracejada, ou quando o enunciado fala de uma classe que representa o relacionamento entre outras duas, o nome desse elemento é classe de associação. É um dos conceitos mais cobrados em diagramas de classes, e a pegadinha clássica é trocar o nome por termos genéricos como "proprietária" ou "generalizada".
O termo "proprietária" não existe na UML como classificação de classe. A banca usa esse distrator para confundir com a ideia de que a classe Conta seria a "dona" da associação, mas na UML não há esse conceito. A classe de associação não é proprietária de nada — ela representa o próprio relacionamento.
"Generalizada" remete ao conceito de generalização (herança), em que uma classe é superclasse de outra. A classe Conta não é uma superclasse; ela é uma classe de associação, que não tem relação com herança. A banca troca o conceito de associação pelo de generalização para testar se o candidato conhece a diferença entre os relacionamentos da UML.
"Tipada" não é um termo da UML para classificar classes. Pode até lembrar o conceito de classe parametrizada (template), mas isso não se aplica aqui. A classe Conta não é um template nem uma classe genérica — é uma classe de associação, que modela o relacionamento entre outras classes.
"Dependente" remete ao relacionamento de dependência, que indica que uma classe usa outra (por exemplo, como parâmetro de método). A classe Conta não é uma dependência; ela é uma classe de associação, que representa o vínculo estrutural entre classes. A banca troca o conceito de associação pelo de dependência, que são relacionamentos distintos na UML.
A classe Conta é uma classe de associação, conforme a definição da UML 2.2. Ela modela atributos e operações do relacionamento entre outras classes, e não de uma classe específica. É exatamente o que o enunciado pede: a classe que representa a associação. A alternativa está correta e é a resposta oficial.
Gabarito: letra E
Link permanente: /questoes/vu196191