Questão de Engenharia de Software — UML — VUNESP 2023
- Código
- vu196141
- Banca
- VUNESP
- Órgão
- TCM SP
- Ano
- 2023
- Cargo
- ATCE ( )
- A

- B

- C

- D

- E






GabaritoB — [imagem]
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.
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.
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.
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.
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".
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.
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!
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