Pular para o conteúdo principal

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

Engenharia de SoftwareUML
Código
vu212235
Banca
VUNESP
Órgão
SAAE Aparecida
Ano
2024
Cargo
Ana ( )
Considere o seguinte recurso acessível por uma API RESTful, denotado em JSON, que representa uma fatura comercial de forma simplificada. Dentre as alternativas a seguir, assinale aquela que apresenta um diagrama de classes UML condizente como modelagem para esse recurso e outros do mesmo tipo.Imagem associada para resolução da questã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 para recurso RESTful

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.

Alternativa A — ❌ Incorreta

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.

Alternativa B — ✅ Correta ⟵ GABARITO

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.

Alternativa C — ❌ Incorreta

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.

Alternativa D — ❌ Incorreta

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.

Alternativa E — ❌ Incorreta

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