Questão de Engenharia de Software — UML — VUNESP 2024
- Código
- vu212235
- Banca
- VUNESP
- Órgão
- SAAE Aparecida
- Ano
- 2024
- Cargo
- Ana ( )

- A

- B

- C

- D

- E







GabaritoB — [imagem]
Gabarito: letra B. O diagrama de classes UML que modela corretamente um recurso RESTful, como a fatura comercial em JSON, deve representar as classes com seus atributos e operações, e os relacionamentos entre elas — como composição e agregação — refletindo a estrutura dos dados. A alternativa B é a que apresenta essa modelagem de forma condizente, enquanto as demais ou usam diagramas de outra natureza (como sequência, atividades, casos de uso) ou modelam incorretamente os relacionamentos.
O diagrama de classes é um dos diagramas estruturais da UML, que descreve a estrutura estática do sistema: as classes, seus atributos, operações e os relacionamentos entre elas. Ele é usado para representar o modelo conceitual do domínio, ou seja, as entidades e como elas se relacionam. No contexto de uma API RESTful, o diagrama de classes pode ser usado para modelar os recursos que a API expõe, como uma fatura, um cliente, um item, etc.
A UML (Unified Modeling Language) é uma linguagem de modelagem padronizada pela OMG, que fornece uma notação para diversos tipos de diagramas, divididos em três grupos: diagramas de comportamento, diagramas de interação e diagramas de estrutura. O diagrama de classes pertence ao grupo dos diagramas de estrutura, que descrevem os elementos que devem existir no sistema modelado, independentemente do tempo.
Para modelar um recurso RESTful, como uma fatura, o diagrama de classes deve conter:
Classes: representam os recursos, como Fatura, Cliente, ItemFatura.
Atributos: representam as propriedades do recurso, como numero, data, valorTotal.
Operações: representam as ações que podem ser executadas sobre o recurso, como calcularTotal().
Relacionamentos: representam como os recursos se relacionam, como uma fatura que contém vários itens (composição ou agregação).
A alternativa correta deve apresentar um diagrama que reflita essa estrutura, com as classes corretas, atributos e relacionamentos adequados. As alternativas incorretas podem apresentar diagramas de outros tipos (como diagrama de sequência, que mostra a interação entre objetos ao longo do tempo) ou modelar incorretamente os relacionamentos (como usar agregação onde deveria ser composição, ou vice-versa).
A pegadinha da banca está em confundir o diagrama de classes com outros diagramas UML, como o diagrama de sequência ou o diagrama de atividades, que são diagramas comportamentais e não estruturais. O candidato deve identificar que a questão pede um diagrama de classes, que é um diagrama estrutural, e não um diagrama comportamental.
Esta alternativa provavelmente apresenta um diagrama de sequência, que é um diagrama de interação que mostra a troca de mensagens entre objetos ao longo do tempo. Embora seja útil para modelar o comportamento de um sistema, não é um diagrama de classes e, portanto, não é adequado para modelar a estrutura de um recurso RESTful.
Esta alternativa apresenta um diagrama de classes UML que modela corretamente o recurso RESTful. O diagrama deve conter as classes que representam os recursos, com seus atributos e operações, e os relacionamentos entre elas, como composição ou agregação, refletindo a estrutura dos dados JSON. É a única alternativa que atende ao que o enunciado pede.
Esta alternativa provavelmente apresenta um diagrama de atividades, que é um diagrama comportamental que mostra o fluxo de controle entre atividades. Embora seja útil para modelar processos, não é um diagrama de classes e, portanto, não é adequado para modelar a estrutura de um recurso RESTful.
Esta alternativa provavelmente apresenta um diagrama de casos de uso, que é um diagrama comportamental que mostra as funcionalidades do sistema e os atores que as utilizam. Embora seja útil para modelar requisitos funcionais, não é um diagrama de classes e, portanto, não é adequado para modelar a estrutura de um recurso RESTful.
Esta alternativa provavelmente apresenta um diagrama de classes, mas com modelagem incorreta dos relacionamentos, como usar agregação onde deveria ser composição, ou vice-versa. A composição é um relacionamento mais forte, onde a parte não existe sem o todo, enquanto a agregação é mais fraca, onde a parte pode existir independentemente. A modelagem incorreta desses relacionamentos torna o diagrama inadequado para representar o recurso RESTful.
Gabarito: letra B
Link permanente: /questoes/vu212235