Questão de Engenharia de Software — UML — VUNESP 2023
Engenharia de Software›UML
Código
vu196689
Banca
VUNESP
Órgão
Pref Campinas
Ano
2023
Cargo
Ana TI ( )
Segundo a definição da UML 2.0, para a visibilidade de diagramas de classe, há os níveis de visibilidade privada, de pacote, pública e protegida, utilizando-se os seguintes símbolos para tais níveis de visibilidade:
Aprivada: $, pacote: &, pública: § e protegida: >.
Bprivada: \, pacote: [, pública: ] e protegida: $.
Cprivada: *, pacote: @, pública: % e protegida: <.
Dprivada: <, pacote: #, pública: % e protegida: /.
Eprivada: –, pacote: ~, pública: + e protegida: #.
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”.
Visibilidade em diagramas de classes UML
Gabarito: letra E. Na UML 2.0, os níveis de visibilidade de atributos e operações em diagramas de classes são representados por símbolos específicos: privada (-), pacote (~), pública (+) e protegida (#). A alternativa E é a única que apresenta corretamente todos os quatro símbolos.
A visibilidade em UML define o nível de acesso aos membros de uma classe (atributos e métodos). É um conceito fundamental da orientação a objetos, diretamente ligado ao encapsulamento. Os quatro níveis previstos na especificação UML são:
Pública (+): o membro é acessível por qualquer outra classe.
Privada (-): o membro é acessível apenas pela própria classe.
Protegida (#): o membro é acessível pela própria classe e por suas subclasses (herança).
Pacote (~): o membro é acessível por classes do mesmo pacote (também chamado de package).
Esses símbolos aparecem antes do nome do atributo ou método no diagrama. Por exemplo, - saldo: double indica um atributo privado, enquanto + depositar(valor: double): void indica um método público.
A banca explora a confusão entre os símbolos, especialmente entre # (protegida) e ~ (pacote), que são os menos intuitivos. É comum o candidato trocar # por - ou ~ por +. A memorização dos quatro símbolos é essencial, pois questões como esta são frequentes em provas de Engenharia de Software.
PEGA ESSA DICA!
Para fixar, associe: + é o sinal de "mais" acesso (público), - é o sinal de "menos" acesso (privado), # lembra "hashtag" de "herança" (protegida) e ~ é o "til" de "pacote" (package).
Visibilidade UML: Pública (+) (Acessível por qualquer classe); Privada (-) (Acessível apenas pela própria classe); Protegida (#) (Própria classe + subclasses (herança)); Pacote (~) (Classes do mesmo pacote)
Alternativa A — ❌ Incorreta
Os símbolos apresentados ($, &, §, >) não correspondem a nenhum nível de visibilidade da UML. A banca inventou símbolos para confundir. O correto seria -, ~, +, #.
Alternativa B — ❌ Incorreta
Os símbolos \, [, ], $ não são utilizados na UML para visibilidade. O $ às vezes é usado em linguagens de programação para indicar membros estáticos, mas não é um símbolo de visibilidade UML.
Alternativa C — ❌ Incorreta
Os símbolos *, @, %, < não são utilizados na UML para visibilidade. O * pode aparecer em multiplicidades, mas não em visibilidade.
Alternativa D — ❌ Incorreta
Os símbolos <, #, %, / não são utilizados na UML para visibilidade. O # é o símbolo correto para protegida, mas os demais estão errados.
Alternativa E — ✅ Correta ⟵ GABARITO
A alternativa apresenta exatamente os quatro símbolos definidos pela UML: privada (-), pacote (~), pública (+) e protegida (#). É a única que corresponde à especificação.