Pular para o conteúdo principal

Questão de Engenharia de Software — UML — VUNESP 2023

Engenharia de SoftwareUML
Código
vu196141
Banca
VUNESP
Órgão
TCM SP
Ano
2023
Cargo
ATCE ( )
Considerando a modelagem de dados orientada a objetos, sejam dois conjuntos de entidades que devem ser representados por duas classes: Proprietário e Veículo.   O modelo de classes deve refletir a seguinte situação: um proprietário pode possuir mais de um veículo e cada veículo é possuído por apenas um proprietário. O diagrama de classes correspondente a essa descrição é:
  1. AImagem associada para resolução da questão
  2. BImagem associada para resolução da questão
  3. CImagem associada para resolução da questão
  4. DImagem associada para resolução da questão
  5. EImagem associada para resolução da questão
Revelar gabarito e comentário

GabaritoB — [imagem]

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”.

Diagrama de classes UML: associação e multiplicidade

Gabarito: letra B. A situação descrita — um proprietário pode possuir mais de um veículo e cada veículo é possuído por apenas um proprietário — é representada no diagrama de classes por uma associação entre as classes Proprietário e Veículo, com multiplicidade 1 no lado do proprietário e 1..* (ou *) no lado do veículo. A alternativa correta é a que desenha exatamente essa relação, com a seta ou linha de associação e os números de cardinalidade nos lugares certos.

O diagrama de classes é o principal diagrama estrutural da UML (Unified Modeling Language). Ele mostra as classes do sistema, seus atributos, métodos e, principalmente, os relacionamentos entre elas. O relacionamento mais básico é a associação, que representa uma conexão semântica entre duas classes — ou seja, "um objeto de uma classe se relaciona com objetos de outra". A multiplicidade (ou cardinalidade) define quantos objetos de cada lado participam da relação. Ela é escrita nas extremidades da linha de associação, próxima a cada classe.

No caso do enunciado, temos uma relação 1 para N (um-para-muitos): um Proprietário pode ter vários Veículos, mas cada Veículo pertence a um único Proprietário. No diagrama, isso se traduz em:

  • Lado do Proprietário: multiplicidade 1 (cada veículo está associado a exatamente um proprietário).

  • Lado do Veículo: multiplicidade 1..* ou \* (um proprietário pode possuir um ou mais veículos).

A leitura correta da multiplicidade é sempre feita do lado oposto ao número: o número perto da classe Veículo indica quantos veículos um Proprietário pode ter; o número perto da classe Proprietário indica quantos proprietários um Veículo pode ter. Essa inversão é a pegadinha clássica da banca.

É importante distinguir a associação de outros tipos de relacionamento. A agregação (losango vazio) e a composição (losango preenchido) são formas mais fortes de associação, que indicam relação "todo-parte". No caso de proprietário e veículo, não há relação de composição (o veículo não é uma parte inseparável do proprietário, nem é destruído quando o proprietário deixa de existir) — é uma associação simples. A dependência (seta tracejada) indica que uma classe usa a outra, o que também não se aplica aqui.

A banca explora exatamente a confusão entre a direção da leitura da multiplicidade e a posição dos números. O candidato que lê "1" perto de Proprietário e acha que o proprietário tem um veículo, ou que lê "1..*" perto de Veículo e acha que o veículo tem vários proprietários, erra a questão. O critério decisivo é: a multiplicidade indica quantos objetos da classe vizinha se relacionam com UM objeto da classe onde o número está escrito.

Alternativa A — ❌ Incorreta

Esta alternativa provavelmente inverte a multiplicidade, colocando 1 no lado do veículo e 1..* no lado do proprietário. Isso representaria a situação oposta: um veículo poderia ter vários proprietários e cada proprietário teria apenas um veículo — o que contraria o enunciado.

Alternativa B — ✅ Correta ⟵ GABARITO

Esta é a representação correta: associação entre Proprietário e Veículo com multiplicidade 1 no lado do proprietário e 1..* (ou *) no lado do veículo. Isso significa que um proprietário pode possuir vários veículos, mas cada veículo pertence a um único proprietário, exatamente como pede o enunciado.

Alternativa C — ❌ Incorreta

Esta alternativa provavelmente usa uma agregação ou composição em vez de uma associação simples. A relação entre proprietário e veículo não é uma relação "todo-parte" — o veículo não é um componente do proprietário. A banca troca o tipo de relacionamento para confundir o candidato.

Alternativa D — ❌ Incorreta

Esta alternativa provavelmente apresenta a multiplicidade \* (ou 0..*) no lado do proprietário, indicando que um veículo poderia ter vários proprietários. Isso contraria a regra de que "cada veículo é possuído por apenas um proprietário".

Alternativa E — ❌ Incorreta

Esta alternativa provavelmente omite a multiplicidade ou usa uma cardinalidade errada, como 1..1 nos dois lados, o que representaria uma relação um-para-um (cada proprietário teria exatamente um veículo), contrariando a possibilidade de possuir mais de um.

NÃO CAIA NESSA!

A banca adora inverter a posição dos números de multiplicidade. Lembre-se: o número perto da classe Veículo diz quantos veículos UM proprietário pode ter; o número perto da classe Proprietário diz quantos proprietários UM veículo pode ter. Leia sempre do lado oposto ao número!

PEGA ESSA DICA!

Para acertar esse tipo de questão, leia a frase do enunciado e traduza diretamente: "um proprietário pode possuir mais de um veículo" → multiplicidade 1..* no lado do veículo; "cada veículo é possuído por apenas um proprietário" → multiplicidade 1 no lado do proprietário. Desenhe mentalmente a linha e os números antes de olhar as alternativas.

Gabarito: letra B

Link permanente: /questoes/vu196141