Uma universidade deseja implementar um sistema de controle d...
Comentários
Veja os comentários dos nossos alunos
"Apenas três categorias de pessoas terão acesso às salas: professores, estudantes e funcionários;"
- Precisamos de 1 pessoa e 3 categorias. Elimina A, B e E.
- O "Apenas" determina que minha generalização é completa, ou seja, não existe outra categoria além dessas 3. Elimina D
"Alguns funcionários podem ser alunos da universidade. Alguns alunos podem ser professores da universidade."
- Se pode ser mais de um ao mesmo tempo, então a generalização é sobreposta (overlapping), confirmando o gabarito
GAB C
::::::::::::Introdução::::::::::::
Vamos conversar sobre alguns conceitos que a questão nos trouxe.
Generalização/especialização
- Generalização: o que tem mais em comum. Exemplo: nas clases "homem" e "mulher" pode haver uma classe "pessoa" que reúne coisas em comum e a partir daí "homem" recebe o que precisa e a "mulher" também (isso poupa tempo, pois permite o reaproveitamento). O que o homem e a mulher recebem pode ser chamado de herança. Em suma: generalização é o mais geral, especialização o que herda do geral.
Só que aí tem um porém, na UML é possível definir o que vai receber. Por exemplo: pode-se receber exatamente o especificado ou pode-se mudar. As restrições entram nisso.
Restrições das heranças
- Imcompleta: a especialização é livre para herdar o que quiser;
- Completa: não pode ser outra coisa. Vamos supor em uma interpretação de um filme pode ser: ator ou atriz.
- Disjunta (disjunct): não tem herança multipla;
- Sobreposta (overplanning): há polimorfismo. Isso quer dizer que, se além de herdar, a classe se comportar de uma meneira diferente do que foi chamada, será considerado um método polimórfico. Exemplo: dentro da classe veículos que andam sobre rodas e sobre a água, posso ter um carro anfíbio (anfíbio é polimórfico).
::::::::::::Vamos analisar a questão::::::::::::
- Enunciado: "APENAS três categorias de pessoas terão acesso às salas". Comentário: ao analisar os desenhos, o que é hardado não tem, por assim dizer, liberdade para escolher o que quiser, por exemplo: não posso criar uma classe "Visitante" herdada de "pessoa". Logo, eliminamos as restrições "incompletas": E, D;
- Enunciado: "Alguns alunos podem ser professores da universidade". Comentário: veja que um aluno além de ser aluno, pode ser professor. Ele herda e faz outra coisa além de seguir sua "assinatura". Esse aluno tem muitas formas (bom bril). Logo, eliminamos as restrições "disjunct": D, E
- Fabiano, qual é o erro das letras A e B? Simples, lembra na primeira parte que dizemos "APENAS TRÊS CATEGORIAS". Se você fosse engenheiro de requisitos e fizesse o diagrama das letras A e B, estaria em mais lençóis, por quê? Está faltando uma classe. Na letra A, "Funcionário" e na letra B "Professor".
>>Em frente e enfrente>>
Pode sobrepor: Elimina C) e D)
{complete}: Elimina A) e B)
Gab. C
Sobreposição (overlapping): caso em que um objeto da superclasse pode pertencer simultaneamente a mais do que uma subclasse.
Disjuntiva (disjoint): superclasses podem se especializar em apenas uma subclasse.
Uma generalização está completa se já foram especificadas todas as sub classes até aquele ponto e está incompleta se existir a possibilidade de uma outra especialização, caso em que um objeto da superclasse pode não pertencer a nenhuma das subclasses
Não deveria ser Incomplete? A questão não diz que estes são os únicos tipos de pessoa do sistema, apenas diz que são os únicos que terão acesso às catracas. Acredito que caberia recurso.
Dito isso, por eliminação a única que dava pra marcar msm é a [C] pois ela é a única que tem 3 subclasses e é Overlapping.
Clique para visualizar este comentário
Visualize os comentários desta questão clicando no botão abaixo