Baixe o app para aproveitar ainda mais
Prévia do material em texto
PRÁTICAS DE ENGENHARIA DE SOFTWARE ● Pergunta 1 ● 1 em 1 pontos ● Um diagrama de classe pode representar a forma como um sistema vai se comportar através de métodos, atributos e relacionamentos. A verificação de cada método ou atributo deve ser rigoroso para que estes não fiquem repetitivos, fazendo com que o intuito da orientação a objetos seja desconfigurado. Considere a figura a seguir. Fonte: Elaborada pelo autor. Considerando o exposto acima e os fundamentos da Orientação a Objetos, assinale a alternativa correta. ● Pergunta 2 ● 1 em 1 pontos ● Resposta Selecion ada: O método aplicarValor() é o mesmo na superclasse Conta e nas subclasses ContaCorrente e ContaPoupança, mas sua implementação e seu comportamento nas subclasses são diferentes. A diferença encontra-se no processo de cálculo dos juros e de rendimentos das respectivas aplicações. Resposta Correta: O método aplicarValor() é o mesmo na superclasse Conta e nas subclasses ContaCorrente e ContaPoupança, mas sua implementação e seu comportamento nas subclasses são diferentes. A diferença encontra-se no processo de cálculo dos juros e de rendimentos das respectivas aplicações. Feedback da respo sta: Resposta correta: A alternativa está correta, pois é verdadeira porque explica o comportamento polimórfico do método aplicarValor() relacionado à forma de calcular os juros. Deve-se analisar o formato da relação (setas ou não), juntamente de em que direção a relação é indicada. ● Pergunta 3 ● 0 em 1 pontos ● Um diagrama de classes possui diversos componentes que devem ser bem analisados, como classes, atributos, relacionamentos, associações e outros. Todos esses elementos são indicados através de símbolos específicos, que, de vez em quando, confundem diversos programadores. Dessa forma, analise a imagem com os símbolos a seguir: Fonte: Elaborado pelo autor. Considerando o exposto acima, a respeito do diagrama de classes, verifica-se que os símbolos representam, respectivamente: Resposta Selecionada: herança, agregação e composição. Resposta Correta: herança, agregação e composição. Feedback da respo sta: Resposta correta: A alternativa está incorreta, pois temos como representação gráfica da generalização a seta fechada sem preenchimento. Já para a agregação, a representação gráfica é o losango fechado sem preenchimento. Por fim, temos que a representação gráfica da composição é o losango fechado com preenchimento. ● Pergunta 4 ● 1 em 1 pontos ● A orientação a objetos possui alguns elementos-base que estabelecem critérios de composição da estrutura de softwares. Alguns desses elementos representam a forma de visibilidade de elementos. Assinale a alternativa correta sobre como são chamados, na orientação a objetos, esses quatro escopos de visibilidade: Resposta Selecionada: Privado, composição, realização e agregação. Resposta Correta: Público, protegido, privado e default. Feedback da respo sta: Sua resposta está incorreta: A alternativa está incorreta, pois herança, composição, polimorfismo e agregação não fazem parte da visibilidade. Especialidade e associação não fazem parte do escopo de visibilidade. E realização não é escopo de visibilidade. A orientação a objetos é um paradigma que possui diversas características, e uma delas é conhecida como polimorfismo. No polimorfismo, temos um grande envolvimento em relação à comunicação entre os objetos, o comportamento do método e algumas outras características. Dessa forma, analise o diagrama de classes a seguir: Fonte: Elaborada pelo autor. Considerando o exposto acima, assinale a opção correta acerca do método calcularSalario(). Resposta Selecion ada: O programador escolhe polimorficamente a forma de calcular o salário de um funcionário, de acordo com a forma de contratação deste. Resposta Correta: O programador escolhe polimorficamente a forma de calcular o salário de um funcionário, de acordo com a forma de contratação deste. Feedback da respo sta: Resposta correta. A alternativa está correta, pois verificamos a presença de polimorfismo e porque o método calcularSalario() é herdado pelas demais classes; na classe “filha” há um comportamento polimórfico, ou seja, diferente do comportamento do “pai”. É o mesmo método, porém com funcionalidades diferentes. ● Pergunta 5 ● 1 em 1 pontos ● ● Pergunta 6 ● 1 em 1 pontos A UML (Unified Modeling Language) possui diversos tipos de diagramas que visam definir pontos de um projeto de software. Cada diagrama possui características específicas e que devem ser compreendidas. Podemos citar o diagrama utilizado para representar a interação entre os objetos por meio dos seus métodos e sua ordem de execução. Considerando o exposto acima, podemos afirmar corretamente que esse diagrama é chamado de: Resposta Selecionada: Diagrama de Sequência. Resposta Correta: Diagrama de Sequência. Feedback da respo sta: Resposta correta: A alternativa está correta, pois, analisando as informações expostas, o diagrama que melhor se adequa é o diagrama de Sequência, que mostra interação temporal de objetos, ou seja, cada método pode conversar com outro seguindo uma lógica e uma ordem cronológica. ● ● Pergunta 7 ● 1 em 1 pontos Na UML existem diferentes tipos de diagramas na busca da definição de diferentes pontos de um projeto de software. Temos diagramas que demonstram a relação existente entre objetos e também os que demonstram o fluxo das atividades existentes. Sendo assim, analise o diagrama a seguir: Fonte: Elaborada pelo autor. Considerando o diagrama acima, assinale a alternativa correta que descreve seu tipo. Resposta Selecionada: Diagrama de sequência. Resposta Correta: Diagrama de sequência. Feedback da respo sta: Resposta correta. Diagrama de sequência, porque é um diagrama com organização temporal dos objetos e toda a comunicação e troca de mensagens. Esse diagrama apresenta a sequência de processos num programa de computador, representado essa informação de maneira simples e lógica, o que possibilita qualquer pessoa envolvida no projeto de entender o funcionamento. ● ● Pergunta 8 ● 0 em 1 pontos ● Entre os conceitos fundamentais existentes na Programação Orientada a Objetos (POO), temos a existência de elementos básicos, como o polimorfismo, a herança, o encapsulamento e a abstração. Um desses elementos da Orientação a Objetos é o polimorfismo. Considerando o exposto acima e relacionando ao conceito de polimorfismo, assinale a alternativa correta. Resposta Selecion ada: Permite que referências de tipos de classes mais abstratas representem o comportamento das classes concretas. Resposta Correta: Permite que referências de tipos de classes mais abstratas representem o comportamento das classes concretas. Feedback da respo sta: Resposta correta: A alternativa está correta, pois no polimorfismo a classe pai pode ser uma classe abstrata, que por herança nos filhos implementa de modo concreto diferentes comportamentos associados à classe pai (abstrata). É uma variação fenotípica separada em classes bem-definidas. ● Pergunta 9 ● 0 em 1 pontos ● Um diagrama de classes faz parte da linguagem de modelagem unificada, conhecida mais popularmente como UML. Esse diagrama possui diversas características importantes, como a indicação de atributos, métodos, relacionamentos e outros. Sobre diagrama de classes e o conceito de herança em orientação a objetos, analise a figura a seguir: Fonte: Elaborada pelo autor.Considerando o exposto acima, a respeito do diagrama apresentado, assinale a alternativa correta. Resposta Selecionad a: O atributo altura da classe Quadrilátero possui nível de acesso protegido. Resposta Correta: A classe Retângulo não possui um método getLargura. Feedback da respo sta: Sua resposta está incorreta: A alternativa está incorreta, pois o atributo altura na classe quadrilátero é protegido(# - protected). Área não é método, mas sim atributo, e a visibilidade é privada. Temos uma inversão de valores, assim, é o inverso, a classe retângulo deriva (é filha) da classe quadrilátero. O atributo área é privado (-), e não protegido(#). ● Pergunta 10 ● 0 em 1 pontos ● No diagrama de classes UML (Unified Modeling Language), ou linguagem de modelagem unificada, existem formas diferentes entre si de relacionar elementos como classes e objetos. Podemos citar formas de relacionamento como composição, herança e outros. Considerando o exposto acima, a composição se difere da agregação porque: Resposta Seleciona da: somente a composição permite associação opcional entre as classes. Resposta Correta: na agregação, o ciclo de vida dos objetos associados não depende do contêiner. Feedback da respo sta: Sua resposta está incorreta: A alternativa está incorreta, pois a composição não é uma associação opcional. A composição não diz respeito a classes distintas, mas relacionadas por características afins. Na composição, o objeto associado não forma um único objeto. Por fim, como característica da agregação, é permitida uma associação reflexiva sim. O Diagrama de Classes faz parte da linguagem de modelagem UML e está entre os mais utilizados e úteis, pois mapeiam de forma clara determinadas estruturas. Além disso, define a forma de relação entre as classes de um projeto. Sobre seu uso prático, analise o Diagrama de Classes a seguir e assinale a alternativa correta. Fonte: Elaborado pelo autor. Resposta Selecion ada: Existe um método chamado conectar que possui característica de ser público. Resposta Correta: Existe uma relação de composição entre a classe Pedido e a classe ItemPedido.
Compartilhar