Pular para o conteúdo principal

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

Engenharia de SoftwareUML
Código
fg165475
Banca
FGV
Órgão
ALEP
Ano
2024
Cargo
Ana Leg ( )

O modelo de classes de análise a seguir, especificado utilizando a UML, possui a seguinte configuração:

 

Imagem associada para resolução da questão

 

Assinale a opção que reflete uma interpretação correta da semântica de leitura do diagrama.

  1. AA classe “Imagem” possui um total de seis atributos.
  2. BExiste um relacionamento de composição entre as classes “Preparo” e “Imagem”.
  3. CExiste uma classe associativa entre as classes “Paciente” e “Exame”.
  4. DO modelo carece de multiplicidades entre as classes “Exame” e “Imagem”.
  5. EUm paciente pode não estar associado a um objeto “Exame”.
Revelar gabarito e comentário

GabaritoA — A classe “Imagem” possui um total de seis atributos.

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

UML – Diagrama de Classes: interpretação de modelo

Gabarito: letra A. A classe “Imagem” possui um total de seis atributos, conforme a contagem direta dos campos listados no compartimento de atributos do diagrama. As demais alternativas apresentam erros de interpretação: não há composição entre “Preparo” e “Imagem”, não há classe associativa entre “Paciente” e “Exame”, as multiplicidades entre “Exame” e “Imagem” estão presentes, e a multiplicidade mínima de “Exame” em relação a “Paciente” é 1 (um paciente deve estar associado a pelo menos um exame).

O diagrama de classes é um dos diagramas estruturais da UML, utilizado para representar a estrutura estática do sistema: classes, atributos, operações e os relacionamentos entre elas. A leitura correta de um diagrama de classes exige atenção a três elementos principais: (1) o compartimento de atributos de cada classe, (2) o tipo de relacionamento (associação, agregação, composição, dependência, generalização) e (3) as multiplicidades nas extremidades das associações.

Atributos: cada classe possui um compartimento com o nome, os atributos e as operações. A contagem de atributos é direta: basta listar os campos declarados. No caso da classe “Imagem”, o diagrama apresenta seis atributos, o que torna a alternativa A correta.

Relacionamentos: a UML distingue associação simples (linha contínua), agregação (losango vazio na extremidade do todo) e composição (losango preenchido). A composição é uma forma forte de agregação em que a parte não existe sem o todo — se o todo é destruído, a parte também é. No diagrama, o relacionamento entre “Preparo” e “Imagem” é uma associação simples, não uma composição, pois não há losango preenchido indicando esse vínculo.

Classe associativa: é uma classe que está associada a uma associação, representada por um retângulo ligado à linha de associação por uma linha tracejada. Ela armazena atributos que pertencem à própria associação, não a uma das classes. No diagrama, não há esse elemento entre “Paciente” e “Exame”.

Multiplicidades: indicam quantas instâncias de uma classe podem estar associadas a uma instância da outra. A ausência de multiplicidade explícita não significa que ela não exista — a UML assume o padrão 1 (um) quando não há indicação. No diagrama, as multiplicidades entre “Exame” e “Imagem” estão representadas, portanto o modelo não carece delas.

Multiplicidade mínima: a leitura da multiplicidade na extremidade de “Exame” em relação a “Paciente” define se um paciente pode ou não existir sem exame. Se a multiplicidade mínima é 1, todo paciente deve estar associado a pelo menos um exame; se é 0, o paciente pode não ter exame. No diagrama, a multiplicidade mínima é 1, o que torna a alternativa E incorreta.

A pegadinha central desta questão é a troca entre composição e associação simples, além da leitura incorreta das multiplicidades. A banca explora a confusão entre os símbolos de relacionamento e a interpretação das cardinalidades.

Alternativa A — ✅ Correta ⟵ GABARITO

A classe “Imagem” possui exatamente seis atributos, conforme a contagem direta dos campos listados no compartimento de atributos do diagrama. A leitura é objetiva: cada linha no compartimento de atributos representa um atributo da classe.

Alternativa B — ❌ Incorreta

Não existe relacionamento de composição entre “Preparo” e “Imagem”. A composição é representada por um losango preenchido na extremidade do todo, indicando que a parte não existe sem o todo. No diagrama, o vínculo entre essas classes é uma associação simples, sem o losango preenchido. A banca troca o símbolo de associação pelo de composição para induzir ao erro.

Alternativa C — ❌ Incorreta

Não existe classe associativa entre “Paciente” e “Exame”. Uma classe associativa é representada por um retângulo ligado à linha de associação por uma linha tracejada, armazenando atributos da própria associação. No diagrama, não há esse elemento entre as duas classes.

Alternativa D — ❌ Incorreta

O modelo não carece de multiplicidades entre “Exame” e “Imagem”. As multiplicidades estão representadas nas extremidades da associação, indicando quantas instâncias de cada classe podem estar associadas. A ausência de multiplicidade explícita não significa ausência de cardinalidade — a UML assume o padrão 1 quando não há indicação.

Alternativa E — ❌ Incorreta

Um paciente não pode estar associado a um objeto “Exame” com multiplicidade mínima 1. A leitura correta da multiplicidade na extremidade de “Exame” em relação a “Paciente” indica que todo paciente deve estar associado a pelo menos um exame. A alternativa inverte a cardinalidade mínima, afirmando que o paciente pode não ter exame, o que contraria o diagrama.

Gabarito: letra A

Link permanente: /questoes/fg165475