Baixe o app para aproveitar ainda mais
Prévia do material em texto
Avaliação: CCT0152_AV_201002006538 » PADRÕES DE PROJETO DE SOFTWARE Tipo de Avaliação: AV Aluno: 201002006538 ANDRE DA SILVA BITENCOURT Professor: HORACIO DA CUNHA E SOUZA RIBEIRO Turma: 9001/AA Nota da Prova: 4,0 Nota de Partic.: 2 Data: 19/11/2014 08:09:30 1a Questão (Ref.: 201002108895) Pontos: 0,5 / 0,5 Analise as sentenças sobre padrões de projeto de software e, em seguida, assinale a alternativa correta: I. Permitem descrever fragmentos de projeto e reusar ideias de projeto; II. Dão nome e forma a procedimentos abstratos, regras e melhores práticas relativas às técnicas orientadas a objetos; III. Ajudam a escolher alternativas de projeto que tornam um sistema reutilizável. Todas as sentenças estão corretas Apenas as sentenças I e II estão corretas Apenas as sentenças I e III estão corretas Apenas as sentenças II e III estão corretas Apenas a sentença II está correta 2a Questão (Ref.: 201002084970) Pontos: 0,5 / 0,5 Para fazer a modelagem de um padrão de projeto (design pattern) utilizando a UML é DESNECESSÁRIO. fazer a modelagem do mecanismo como uma colaboração, fornecendo seus aspectos estruturais, assim como os aspectos comportamentais. identificar as soluções específicas e particulares para o problema básico e reificála como um mecanismo. entender o padrão de projeto como uma colaboração representada com suas partes estruturais e comportamentais. identificar as soluções comuns para o problema básico. identificar os elementos do padrão de projeto que devem ser vinculados aos elementos em um contexto específico e representálos como parâmetros para colaboração. 3a Questão (Ref.: 201002114984) Pontos: 0,5 / 0,5 O padrão Adpater é bastante utilizado para compatibilizar classes implementas por programadores diferentes, ou desenvolvidas em momentos diferentes, ou ainda para unir classes com interfaces diferentes em uma estrututura hierarquica única, sem precisar implementar novamente todas as funcionalidades e interfaces da classe já existente, considere as afirmativas: I A idéia é criar uma nova classe (Adapter) com a interface padrão que se deseja para fazer a conexão com a classe já existente (Adaptee) com interface diferente da estrutura de classes que se pretende utilizar no sistema. Ii Além de reaproveitar totalmente a classe antiga sem precisar alterar o código e entender a complexa implementação realizada, mantém a uniformidade do seu projeto original. Iii cria uma hierarquia de classes diferentes categorias de objetos sem relação de herança. As afirmativas I, III, estão corretas e II errada As afirmativas II, III estão corretas e a afirmativa I está errada. As afirmativas estão todas corretas As afirmativas I, II, III estão incorretas As afirmativas I, II, estão corretas e a afirmativa III está errada. 4a Questão (Ref.: 201002114977) Pontos: 0,5 / 0,5 Consideram as afirmativa abaixo sobre o padrão protype I Declara um método chamado clone na superclasse abstrata do modelo (Prototype). Em função desta declaração, cada classe concreta derivada deve ser capaz de gerar uma nova instância de si próprio. II , Entre as aplicações para este padrão de projeto está a facilidade de instanciar classes em tempo de execução. III Quando as instancias de uma classe apresentam poucas combinações de estados, pode ser mais conveniente definir previamente um conjunto de protótipos e clonálos, sempre que foi necessário. As afirmativas I, II, estão corretas e a afirmativa III está errada. As afirmativas estão todas corretas As afirmativas I, III, estão corretas e II errada As afirmativas I, II, III estão incorretas As afirmativas II, III estão corretas e a afirmativa I está errada. 5a Questão (Ref.: 201002126226) Pontos: 0,5 / 0,5 (CESGRANRIO 2010) Em um sistema de software para controlar pedidos para entrega em domicílio, deve haver uma funcionalidade que permita que o atendente solicite a repetição de um pedido anteriormente feito por um cliente. O gerente do restaurante informou que essa funcionalidade aumentaria a agilidade no atendimento aos clientes, visto que muitos deles tendem a fazer pedidos similares aos que já fizeram anteriormente. Ao usar essa funcionalidade, o atendente do restaurante seleciona um pedido cuja composição corresponde a produtos normalmente requisitados pelos clientes e solicita ao sistema a construção de um novo pedido igual ao selecionado. Esse novo pedido pode, então, ser alterado pelo atendente se o cliente solicitar a adição de novos produtos do cardápio, por exemplo. Portanto, a parte principal dessa funcionalidade corresponde a criar uma cópia de um pedido a partir de pedido preexistente. Na implementação dessa funcionalidade, seu desenvolvedor deve utilizar qual padrão de projeto do catálogo GoF (Gang of Four), dentre os listados abaixo? Factory Method. Command. Abstract Factory. Prototype. Builder. 6a Questão (Ref.: 201002122859) Pontos: 0,5 / 0,5 Iterator :Fornecer uma maneira de acessar seqüencialmente os elementos de um objeto agregado sem expor sua implementação. (Gamma et al., 2000). Sobre este padrão de projetos podemos afirma com certeza: Considerando objetos que implementam arrays, pode ser visto como uma classe intermediária de comunicação e gerenciamento, evitando que os objetos se comuniquem de forma direta É bastante utilizado em programação de sistemas para gerenciar a comunicação entre dois ou mais objetos É bastante utilizado em programação de sistemas para gerenciar a comunicação entre dois ou mais objetos, mas não deve ser usado quando associado a percorrer arrays ou tabelas. tem uma grande facilidade de mudança de comportamento, podese alterar seu funcionamento sem que seja necessário nenhuma mudança nas demais classes envolvidas, desde que envolvam coleções e matrizes. Oferece uma forma de percorrer este tipo de objeto agregado sem conhecer seus detalhes de implementação. 7a Questão (Ref.: 201002209774) Pontos: 1,0 / 1,5 Decorator tem como principal objetivo a decoração de classes em tempo de execução, isto é, adicionar novos produtos e/ou novas responsabilidades à objetos dinamicamente sem alterar o código das classes existentes. Descreva um exemplo que represente esse padrão. Resposta: A utilização de elementos de navegação e caixas de texto, fazendo uso de classes já criadas, adaptandoas as necessidades específicas do projeto. Gabarito: Em uma janela podese adicionar objetos como barras de rolagem, caixas de texto, labels, etc. Pode se criar uma classe JanelaDecorador que será estendida pelos decoradores que irão inserir propriedades na janela. Podendo incluir barra vertical, horizontal e para cada criar outra classe decorador, inserindo características novas. 8a Questão (Ref.: 201002123933) Pontos: 0,0 / 1,0 Considere a definição: State: Permitir a um objeto alterar o seu comportamento quando o seu estado interno mudar. O objeto parecerá ter mudado de classe (Gamma et al., 2000). Qual das alternativas é completamente verdadeira? O padrão de projeto acima deve ser utilizado não somente quando o comportamento de um objeto depende do seu estado, podendo ser alterado em tempo de execução, mas também quando a funcionalidade de um objeto possui condicionais grandes. O principal objetivo do padrão acima é conservar as funcionalidades em não se permita adicionar novas, E obriga que haja necessidade de alterar sua implementação O principal objetivo do padrão acima é permitir que sejam adicionadas novas funcionalidades a classes previamente concebidas, sem que haja necessidade de alterar sua implementação. A idéia principal do padrão acima é implementar diferentes algoritmos em uma hierarquia de classes, onde cada um deles pode ser substituído por outro, independente do cliente que o utiliza. O padrão de projeto acima é indicado para ser utilizado quando uma abstração tem dois aspectos,um dependente do outro. Encapsular tais aspectos em objetos separados permite que variem e sejam reusados separadamente; 9a Questão (Ref.: 201002132679) Pontos: 0,0 / 1,5 Uma classe com alto acoplamento faz com que o reuso fique comprometido. Apresente uma justificativa para esse problema. Resposta: Devido a grande relação da classe aos elementos do sistema é possível que outra aplicação não faça uso dos elementos acoplados a esta classe tornando inviável o reaproveitamento da mesma. Gabarito: O problema ocorre pois para reaproveitar métodos acoplados tornase necessária a presença adicional das classes relacionadas, dificultando o processo de reutilização. 10a Questão (Ref.: 201002126208) Pontos: 0,0 / 1,0 (COPEVEUFAL 2011) O diagrama de classes apresentado na figura não representa fielmente um buffer que passa por estados sucessivos de transformação. Em outras palavras, um buffer, que está inicialmente vazio, depois pode ficar parcialmente cheio e, possivelmente, pode ficar cheio. Dentre as opções apresentadas a seguir, qual o padrão de projetos que melhor se adequaria para modelar essa característica dinâmica do buffer? Mediator. Singleton. Composite. Dynamic behavior. State. Período de não visualização da prova: desde 06/11/2014 até 25/11/2014.
Compartilhar