Considerando essa situação hipotética, julgue o item a segui...
Para apoiar a elicitação dos requisitos e o desenvolvimento de um novo sistema, foram construídos protótipos de alta fidelidade das funcionalidades do sistema. Requisitos não funcionais apontados como muito importantes pelo cliente estão ligados à característica de usabilidade. Para a garantia da qualidade do sistema, o gerente do projeto determinou que se utilizasse para a validação dos requisitos a técnica de Walkthrough. Finalmente, para o desenvolvimento do produto de software, foi escolhida a abordagem orientada a objetos e a metodologia proposta pelo Processo Unificado, de acordo com o modelo derivado da empresa Rational (RUP).
Considerando essa situação hipotética, julgue o item a seguir, acerca de engenharia de software.
No sistema em questão, caso fosse desenvolvida uma
funcionalidade para realizar reservas de quartos em um hotel,
deveria ser planejada, para aplicar o conceito de herança,
uma análise das reservas efetivadas como uma
especialização da primeira funcionalidade.
Gabarito comentado
Confira o gabarito comentado por um dos nossos professores
Alternativa correta: E - errado
Para compreender o porquê da alternativa ser incorreta, é importante entender o conceito de herança na orientação a objetos. Herança é um princípio que permite que uma classe herde campos e métodos de outra classe, promovendo reuso de código e estabelecendo uma relação hierárquica entre as classes.
Na questão, a funcionalidade de realizar reservas de quartos em um hotel não deveria necessariamente envolver herança apenas pela existência de outra funcionalidade que também lida com reservas. A herança deve ser aplicada quando temos uma relação de "é um" entre objetos, indicando que uma subclasse compartilha características ou comportamentos com a classe pai, mas também adiciona novos atributos ou comportamentos específicos. Apenas uma análise de reservas efetivadas não indica claramente essa relação.
Uma aplicação correta de herança poderia ser entre uma classe genérica "Reserva" e subclasses específicas como "ReservaVip" ou "ReservaPromocional", onde as subclasses herdam atributos e métodos da classe "Reserva", mas também possuem características específicas inerentes a seus tipos.
Portanto, a afirmação é errada, pois indica que a herança deve ser aplicada sem levar em conta o relacionamento apropriado entre as classes ou a necessidade de compartilhamento e especialização de comportamento, que são fundamentais para decidir sobre o uso da herança na engenharia de software orientada a objetos.
Clique para visualizar este gabarito
Visualize o gabarito desta questão clicando no botão abaixo
Comentários
Veja os comentários dos nossos alunos
Nao entendi. Help
Primeira funcionalidade? E onde que cita essa primeira funcionalidade no texto???
Achei a questão um pouco confusa, mas do que eu entendi é que existem as funcionalidades realizar reservas de quartos em um hotel e análise das reservas efetivadas.
Aí a questão pergunta: a funcionalidade análise das reservas efetivadas é uma especialização da realizar reservas de quartos em um hotel?
Eu entendi que não é uma especificação. Ela estaria incluída (ou include se estivessemos falando de um diagrama de casos de uso). Portanto, questão ERRADA.
Fonte interessante que encontrei que fala sobre a diferença entre Inclusão (Include), Extensão (Extend) e Generalização (Generalization): https://www.ateomomento.com.br/caso-de-uso-include-extend-e-generalizacao/
Caso esteja enganado, podem me mandar mensagem que eu corrigo.
Ao meu ver o método de efetivação deveria ser incluso na superclasse e não na subclasse. Por isso marquei como errada. Meio confusa a leitura. Me corrijam se estiver errado pois eu sou entusiasta de programação e não Engenheiro de Software, quando se refere a especialização em uma Herança, a banca está querendo dizer que precisaria de uma nova classe para fazer o método em questão, como se esta classe fosse uma ramificação da primeira e pudesse haver uma paralela para fazer outra função. Ao meu ver desnecessário! Mas como disse, não sou da área.
ERRADO
A Herança deve ser evitada, prefere-se a composição. Esse DEVE, matou tudo.
Clique para visualizar este comentário
Visualize os comentários desta questão clicando no botão abaixo