Questão de Engenharia de Software — UML — FGV 2024
Engenharia de Software›UML
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:
Assinale a opção que reflete uma interpretação correta da semântica de leitura do diagrama.
AA classe “Imagem” possui um total de seis atributos.
BExiste um relacionamento de composição entre as classes “Preparo” e “Imagem”.
CExiste uma classe associativa entre as classes “Paciente” e “Exame”.
DO modelo carece de multiplicidades entre as classes “Exame” e “Imagem”.
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.