Na modelagem de classes da UML, as restrições que definem a ...

Próximas questões
Com base no mesmo assunto
Ano: 2009 Banca: FUNRIO Órgão: MPO
Q1235921 Engenharia de Software
Na modelagem de classes da UML, as restrições que definem a generalização das classes “Homem” e “Mulher” como subclasses de “Pessoa” caracterizam uma herança
Alternativas

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