Na modelagem de classes da UML, as restrições que definem a ...
Gabarito comentado
Confira o gabarito comentado por um dos nossos professores
Alternativa correta: B - completa e disjunta
Vamos entender a modelagem de classes na UML com base na questão proposta.
Na UML (Unified Modeling Language), a generalização é uma relação entre uma classe genérica (superclasse) e uma classe mais específica (subclasse). No caso da questão, temos "Homem" e "Mulher" como subclasses de "Pessoa". As restrições de generalização definem como essas subclasses se relacionam com a superclasse.
Existem dois critérios principais para definir a generalização: completude e disjunção.
1. Completude:
- Completa: Todas as instâncias da superclasse (Pessoa) devem ser instâncias de pelo menos uma subclasse (Homem ou Mulher).
- Incompleta: Nem todas as instâncias da superclasse precisam ser instâncias de uma subclasse.
2. Disjunção:
- Disjunta: Uma instância da superclasse pode ser instância de uma e somente uma subclasse.
- Sobreposta: Uma instância da superclasse pode ser instância de mais de uma subclasse simultaneamente.
Agora, vamos justificar a alternativa correta e as incorretas:
Alternativa B - completa e disjunta
Correta porque todas as instâncias de "Pessoa" devem ser ou "Homem" ou "Mulher" (completa), e uma instância não pode ser simultaneamente "Homem" e "Mulher" (disjunta).
Alternativa A - incompleta e disjunta
Incorreta porque, embora "Homem" e "Mulher" sejam disjuntos, a generalização é completa, ou seja, todas as pessoas devem ser classificadas como "Homem" ou "Mulher".
Alternativa C - completa e parcial
Incorreta porque "parcial" sugere incompletude, mas a generalização é completa, abrangendo todas as instâncias de "Pessoa".
Alternativa D - incompleta e sobreposta
Incorreta porque a generalização é completa e disjunta, não incompleta e sobreposta.
Alternativa E - parcial e sobreposta
Incorreta por dois motivos: a generalização é completa (não parcial) e disjunta (não sobreposta).
Entender esses conceitos de completude e disjunção é essencial para resolver questões de UML em concursos públicos. Ao analisar as características das subclasses em relação à superclasse, é possível determinar a resposta correta.
Clique para visualizar este gabarito
Visualize o gabarito desta questão clicando no botão abaixo